From faca7295f7d84bc1404c12df81d67ee9d488c2bb Mon Sep 17 00:00:00 2001 From: Nweni Date: Mon, 5 Jun 2017 17:14:07 +0630 Subject: [PATCH 1/4] added new image upload file --- app/assets/javascripts/origami/payment.js | 113 +++++++++++++++++ app/assets/stylesheets/orgiami.scss | 18 +++ app/controllers/api/bill_controller.rb | 2 +- app/controllers/origami/home_controller.rb | 9 +- .../origami/payments_controller.rb | 8 ++ .../origami/request_bills_controller.rb | 21 +++- app/models/booking.rb | 2 +- app/models/order.rb | 6 +- app/models/sale.rb | 3 +- app/views/origami/home/index.html.erb | 64 +++++----- app/views/origami/request_bills/show.html.erb | 116 +++++++++++++++++- config/routes.rb | 3 +- spec/models/print_setting_spec.rb~HEAD | 5 + spec/models/print_setting_spec.rb~crm | 5 + 14 files changed, 325 insertions(+), 50 deletions(-) create mode 100644 app/assets/javascripts/origami/payment.js create mode 100644 spec/models/print_setting_spec.rb~HEAD create mode 100644 spec/models/print_setting_spec.rb~crm diff --git a/app/assets/javascripts/origami/payment.js b/app/assets/javascripts/origami/payment.js new file mode 100644 index 00000000..e21a369e --- /dev/null +++ b/app/assets/javascripts/origami/payment.js @@ -0,0 +1,113 @@ +// $(document).on('touchstart click', '.keypad', function(event){ +// event.stopPropagation(); +// event.preventDefault(); +// if(event.handled !== true) { +// +// // Do your magic here. +// var input_value = $(this).attr("data-value"); +// switch (input_value) { +// +// case 'delete': +// process_delete_payment(); +// break; +// +// case 'foc': +// remove_input_action(); +// $(".foc").attr("data-action","true"); +// if(customerName.toString() != " "){ //if already chosen customer +// if($("#foc_reason_lists").attr("foc_reason") == ' '){ +// alert("Please! Choose or Add FOC reason"); +// foc_additional_form(); +// } +// else{ +// process_foc_payment(); +// } +// } +// else{ +// alert("Please! Choose or Save Customer"); +// foc_additional_form(); +// } +// break; +// +// case 'nett': +// remove_input_action(); +// $(".nett").attr("data-action","true"); +// if($(".credit_note_payment").hasClass("payment_selected")){ +// if(customerName == " "){ +// alert("Please! Choose or Save Customer"); +// showCustomer(); +// } +// else{ +// $("#accept_payment_btn").attr("data-payment","credit"); +// process_nett_payment(); +// } +// } +// else{ +// process_nett_payment(); +// } +// break; +// +// case 'edit': +// process_edit_invoice(); +// break; +// +// case 'cancel': +// remove_input_action(); +// var status = $("#label_amountdue").attr("data-status"); +// if (status != 'completed' && status != 'void'){ +// $(".cancel").attr("data-action","true"); +// var message = confirm("Are you sure to void? Please, add reason!"); +// if (message == true) { +// $(".additional_form").hide(); +// $("#void_sale_additional_form").show(); +// process_cancel_payment(); +// } +// } +// else{ +// $(".cancel").addClass("dim"); +// } +// break; +// +// case 'ent': +// amount_due = parseFloat($("#label_amountdue").attr("data-original")); +// other_amt = parseFloat($("#label_cash_amount").attr("data-value")); +// credit_amount = parseFloat($("#label_credit_note").text()); +// if ($(".credit_note_payment").hasClass("payment_selected") && credit_amount > 0){ +// if(customerName.toString() != " "){ +// if(credit_amount > (amount_due - other_amt)){ +// alert("You shouldn't exceed the amount due."); +// } +// else{ +// $("#accept_payment_btn").attr("data-payment","credit"); +// update_balance_due(); +// } +// } +// else{ +// alert("Please! Choose or Save Customer"); +// } +// } +// else{ +// update_balance_due(); +// } +// +// break; +// case 'clear': +// process_clear_payment(); +// break; +// +// default: +// +// var existing_value = $(".payment_selected span").text(); +// +// if (existing_value == "0" || existing_value == "0.00") { existing_value = ""; } +// existing_value = existing_value + input_value; +// $(".payment_selected span").text(existing_value); +// +// } +// +// +// event.handled = true; +// } else { +// return false; +// } +// }); diff --git a/app/assets/stylesheets/orgiami.scss b/app/assets/stylesheets/orgiami.scss index b0f802f1..70e1fe8b 100644 --- a/app/assets/stylesheets/orgiami.scss +++ b/app/assets/stylesheets/orgiami.scss @@ -7,3 +7,21 @@ // min-height: 75rem; // padding-top: 4.5rem; // } + +.cashier_number{ + height:76px; + line-height:80px; + text-align:center; + background:#54A5AF; + float:left; + margin:2px; + font-size:20px; + color:white; + cursor:pointer; +} +.cashier_number:hover{ + background:#A9F5F2; +} +.long{ + width:100% +} diff --git a/app/controllers/api/bill_controller.rb b/app/controllers/api/bill_controller.rb index d4940907..a98c8f3d 100644 --- a/app/controllers/api/bill_controller.rb +++ b/app/controllers/api/bill_controller.rb @@ -10,7 +10,7 @@ class Api::BillController < Api::ApiController if (params[:booking_id]) @sale = Sale.new @status = @sale.generate_invoice_from_booking(params[:booking_id], current_login_employee.name) - + elsif (params[:order_id]) @sale = Sale.new @status = @sale.generate_invoice_from_order(params[:order_id], current_login_employee.name) diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index cbca1424..be5045d9 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -4,12 +4,13 @@ class Origami::HomeController < BaseOrigamiController @order_rooms = Order.get_order_rooms() @orders = Order.get_orders() end + def show str = [] - @order_details = OrderItem.get_order_items_details(params[:order_id]) - @order_details.each do |ord_detail| + @order_details = OrderItem.get_order_items_details(params[:order_id]) + @order_details.each do |ord_detail| str.push(ord_detail) - end - render :json => str.to_json + end + render :json => str.to_json end end diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 447d1282..a09b81fe 100644 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -1,6 +1,14 @@ class Origami::PaymentsController < BaseOrigamiController + + def index + end + def create end + + def show + + end end diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb index 9f971289..40fc27f1 100644 --- a/app/controllers/origami/request_bills_controller.rb +++ b/app/controllers/origami/request_bills_controller.rb @@ -1,22 +1,33 @@ class Origami::RequestBillsController < BaseOrigamiController - def show + + def create @sale = Sale.new check_order = Order.find_by_id(params[:id]) + if check_order - @order_details = OrderItem.get_order_items_details(check_order.id) - @order_details = OrderItem.get_order_items_details(check_order.id) + @order_details = OrderItem.get_order_items_details(check_order.id) + @order_details = OrderItem.get_order_items_details(check_order.id) @status, @sale_id = @sale.generate_invoice_from_order(check_order.id, nil,current_login_employee.name) @sale_data = Sale.find_by_id(@sale_id) @sale_items = SaleItem.where("sale_id=?",@sale_id) - end + end + unique_code="ReceiptBillPdf" + print_settings=PrintSetting.find_by_unique_code(unique_code) printer = Printer::ReceiptPrinter.new(print_settings) printer.print_receipt_bill(print_settings,@sale_items,@sale) - + end + + + def show + sale_id = params[:sale_id] + if Sale.exists?(sale_id) + @sale_data = Sale.find_by_id(sale_id) + end end end diff --git a/app/models/booking.rb b/app/models/booking.rb index c34ecf42..fcd0c909 100644 --- a/app/models/booking.rb +++ b/app/models/booking.rb @@ -1,6 +1,6 @@ class Booking < ApplicationRecord #primary key - need to be unique - + belongs_to :dining_facility, :optional => true belongs_to :sale, :optional => true has_many :booking_orders diff --git a/app/models/order.rb b/app/models/order.rb index f571faa9..dc969187 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -223,8 +223,7 @@ class Order < ApplicationRecord left join dining_facilities on dining_facilities.id = bookings.dining_facility_id left join order_items on order_items.order_id = orders.id") .where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,"dine_in",true) - - .group("orders.id") + .group("orders.id, order_items.id,dining_facilities.name") end #Origami: Cashier : to view order type Room @@ -248,8 +247,7 @@ class Order < ApplicationRecord left join bookings on bookings.id = booking_orders.id left join dining_facilities on dining_facilities.id = bookings.dining_facility_id left join order_items on order_items.order_id = orders.id") - .where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to) - .group("orders.id") + .group("orders.id,order_items.id,dining_facilities.name") end end diff --git a/app/models/sale.rb b/app/models/sale.rb index ca3bd631..1a1c4b67 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -28,7 +28,8 @@ class Sale < ApplicationRecord end booking.sale_id = sale_id end - + order = booking.booking_orders.take.order + link_order_sale(order.id) return status end end diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index 7dcc1ba8..cb11da1d 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -24,7 +24,7 @@
<% if @order_table %> <% @order_table.each do |order_table| %> -
+

<%=order_table.table_name%>

<%=order_table.total_price%>

@@ -40,9 +40,9 @@
- <% @order_rooms.each do |order_room| %> + <% @order_rooms.each do |order_room| %>
- +
<% tablename = order_room.room_name%>

<%=order_room.room_name%>

@@ -60,9 +60,9 @@
- <% @orders.each do |order| %> + <% @orders.each do |order| %>
- +

<%=order.table_or_room_name%>

<%=order.total_price%>

@@ -110,8 +110,8 @@ - - + +
@@ -138,72 +138,80 @@ + Req.Bill + - +
- \ No newline at end of file + diff --git a/app/views/origami/request_bills/show.html.erb b/app/views/origami/request_bills/show.html.erb index 7fd5de39..c3f99980 100644 --- a/app/views/origami/request_bills/show.html.erb +++ b/app/views/origami/request_bills/show.html.erb @@ -1,3 +1,4 @@ +
@@ -23,8 +24,7 @@ <% sub_total = 0 %> - <% if @sale_items %> - <% @sale_items.each do |sale_item| %> + <% @sale_data.sale_items.each do |sale_item| %> <% sub_total += sale_item.qty*sale_item.unit_price%> - + <%end %> - <%end %>
@@ -36,9 +36,8 @@ <%=(sale_item.qty*sale_item.unit_price)%>
@@ -66,4 +65,111 @@
-
\ No newline at end of file +
+
+
AMOUNT DUE
+
<%= @sale_data.grand_total %>
+
+
+
+
CASH
+
0.0
+
+
+
+
CREDIT
+
0.0
+
+
+
+
CARD
+
0.0
+
+
+
+
BALANCE
+
0.0
+
+
+
+
+
+
+
+
1
+
2
+
3
+
+
+
+
1000
+
+
+
+
+
+
4
+
5
+
6
+
+
+
+
5000
+
+
+
+
+
+
7
+
8
+
9
+
+
+
+
10000
+
+
+
+
+
+
0
+
.
+
00
+
+
+
+
50000
+
+
+
+
+
+
+
DEL
+
CLR
+
+
+
+
ENTER
+
+
+
+
+
+
+ + diff --git a/config/routes.rb b/config/routes.rb index 7ba039b0..8951a571 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -72,7 +72,8 @@ Rails.application.routes.draw do resources :discounts, only: [:index,:new, :create ] #add discount type resources :customers, only: [:index,:new, :create ] #add customer type end - resources :request_bills, only: [:show] + resources :request_bills, only: [:show] + get 'sale/:sale_id/payment' => 'request_bills#show' end #--------- Waiter/Ordering Station ------------# diff --git a/spec/models/print_setting_spec.rb~HEAD b/spec/models/print_setting_spec.rb~HEAD new file mode 100644 index 00000000..d2ee515b --- /dev/null +++ b/spec/models/print_setting_spec.rb~HEAD @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe PrintSetting, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/print_setting_spec.rb~crm b/spec/models/print_setting_spec.rb~crm new file mode 100644 index 00000000..d2ee515b --- /dev/null +++ b/spec/models/print_setting_spec.rb~crm @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe PrintSetting, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end From 7b457400b2625f020b48435d81ff8c8c88552ca7 Mon Sep 17 00:00:00 2001 From: PhyoTheingi Date: Mon, 5 Jun 2017 18:31:56 +0630 Subject: [PATCH 2/4] Delete Fix for parent child process in Menu --- .../settings/menu_categories_controller.rb | 7 +++ .../menu_item_instances_controller.rb | 30 ++++++++---- app/controllers/settings/menus_controller.rb | 3 +- .../settings/set_menu_items_controller.rb | 2 +- .../settings/simple_menu_items_controller.rb | 2 +- app/models/menu.rb | 9 ++++ app/models/menu_category.rb | 24 +++++++++ app/models/menu_item.rb | 29 ++++++++++- app/models/menu_item_instance.rb | 8 +++ .../settings/menu_categories/index.html.erb | 2 +- .../menu_item_instances/_form.html.erb | 4 +- .../settings/menu_item_instances/new.html.erb | 3 +- .../menu_item_instances/show.html.erb | 49 +------------------ app/views/settings/menus/index.html.erb | 3 +- config/routes.rb | 2 +- 15 files changed, 110 insertions(+), 67 deletions(-) diff --git a/app/controllers/settings/menu_categories_controller.rb b/app/controllers/settings/menu_categories_controller.rb index d7f373aa..c2a521ae 100644 --- a/app/controllers/settings/menu_categories_controller.rb +++ b/app/controllers/settings/menu_categories_controller.rb @@ -63,7 +63,14 @@ class Settings::MenuCategoriesController < ApplicationController # DELETE /settings/menu_categories/1 # DELETE /settings/menu_categories/1.json def destroy + # instances = MenuItemInstance.where("menu_item_id=?",@settings_menu_item.id) + # instances.each do |instance| + # instance.destroy + # end + # @settings_menu_item.destroy + # @settings_menu_category.destroy + abc = MenuCategory.destroyCategory(@settings_menu_category) respond_to do |format| format.html { redirect_to settings_menu_categories_path, notice: 'Menu category was successfully destroyed.' } format.json { head :no_content } diff --git a/app/controllers/settings/menu_item_instances_controller.rb b/app/controllers/settings/menu_item_instances_controller.rb index 6bd00638..2b1fcecf 100644 --- a/app/controllers/settings/menu_item_instances_controller.rb +++ b/app/controllers/settings/menu_item_instances_controller.rb @@ -11,18 +11,21 @@ class Settings::MenuItemInstancesController < ApplicationController # GET /settings/menu_item_instances/1 # GET /settings/menu_item_instances/1.json def show - @category = MenuCategory.find(@item.menu_category_id) + id = MenuItemInstance.findParentCategory(@item) + @category = MenuCategory.find(id) end # GET /settings/menu_item_instances/new def new - @category = MenuCategory.find(@item.menu_category_id) + id = MenuItemInstance.findParentCategory(@item) + @category = MenuCategory.find(id) @settings_menu_item_instances = MenuItemInstance.new end # GET /settings/menu_item_instances/1/edit def edit - @category = MenuCategory.find(@item.menu_category_id) + id = MenuItemInstance.findParentCategory(@item) + @category = MenuCategory.find(id) end # POST /settings/menu_item_instances @@ -30,6 +33,7 @@ class Settings::MenuItemInstancesController < ApplicationController def create @settings_menu_item_instances = MenuItemInstance.new(settings_menu_item_instance_params) + #check if the menu item type is simple or not( not only the diff of status .. here is different routes) if params[:simple_menu_item_id] @settings_menu_item_instances.menu_item_id = params[:simple_menu_item_id] catID = MenuItem.find(params[:simple_menu_item_id]) @@ -38,10 +42,11 @@ class Settings::MenuItemInstancesController < ApplicationController catID = MenuItem.find(params[:set_menu_item_id]) end - category = MenuCategory.find(catID.menu_category_id) + id = MenuItemInstance.findParentCategory(catID) + category = MenuCategory.find(id) respond_to do |format| if @settings_menu_item_instances.save - @settings_menu_item_instances.item_attributes = params[:menu_item_instance][:item_attributes] + @settings_menu_item_instances.item_attributes = params[:menu_item_instance][:item_attributes].reject(&:blank?) @settings_menu_item_instances.save format.html { redirect_to settings_menu_category_simple_menu_item_path(category,catID), notice: 'Menu item instance was successfully created.' } format.json { render :show, status: :created, location: @settings_menu_item_instances } @@ -55,14 +60,15 @@ class Settings::MenuItemInstancesController < ApplicationController # PATCH/PUT /settings/menu_item_instances/1 # PATCH/PUT /settings/menu_item_instances/1.json def update - puts "params[:menu_item_instance][:item_attributes]" - puts params[:menu_item_instance][:item_attributes] + #check if the menu item type is simple or not( not only the diff of status .. here is different routes) if params[:simple_menu_item_id] catID = MenuItem.find(params[:simple_menu_item_id]) else catID = MenuItem.find(params[:set_menu_item_id]) end - category = MenuCategory.find(catID.menu_category_id) + + id = MenuItemInstance.findParentCategory(catID) + category = MenuCategory.find(id) respond_to do |format| if @settings_menu_item_instances.update(settings_menu_item_instance_params) @@ -86,7 +92,13 @@ class Settings::MenuItemInstancesController < ApplicationController else catID = MenuItem.find(params[:set_menu_item_id]) end - category = MenuCategory.find(catID.menu_category_id) + # check if the menu item is sub of another menu item + if catID.menu_category_id + category = MenuCategory.find(catID.menu_category_id) + else + item = MenuItem.find(catID.menu_item_id) + category = MenuCategory.find(item.menu_category_id) + end respond_to do |format| format.html { redirect_to settings_menu_category_simple_menu_item_path(category,catID), notice: 'Menu item instance was successfully destroyed.' } format.json { head :no_content } diff --git a/app/controllers/settings/menus_controller.rb b/app/controllers/settings/menus_controller.rb index e0ecde30..fa6ac158 100644 --- a/app/controllers/settings/menus_controller.rb +++ b/app/controllers/settings/menus_controller.rb @@ -55,7 +55,8 @@ class Settings::MenusController < ApplicationController # DELETE /settings/menus/1 # DELETE /settings/menus/1.json def destroy - @settings_menu.destroy + # @settings_menu.destroy + abc = Menu.destroyMenu(@settings_menu) respond_to do |format| format.html { redirect_to settings_menus_path, notice: 'Menu was successfully destroyed.' } format.json { head :no_content } diff --git a/app/controllers/settings/set_menu_items_controller.rb b/app/controllers/settings/set_menu_items_controller.rb index f6771548..1c3e2247 100644 --- a/app/controllers/settings/set_menu_items_controller.rb +++ b/app/controllers/settings/set_menu_items_controller.rb @@ -62,7 +62,7 @@ class Settings::SetMenuItemsController < ApplicationController # DELETE /settings/menu_items/1 # DELETE /settings/menu_items/1.json def destroy - # @settings_menu_item.destroy + abc = MenuItem.deleteRecursive(@settings_menu_item) respond_to do |format| format.html { redirect_to settings_menu_category_set_menu_items_path, notice: 'Menu item was successfully destroyed.' } format.json { head :no_content } diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb index e0d45fcb..b02310dc 100644 --- a/app/controllers/settings/simple_menu_items_controller.rb +++ b/app/controllers/settings/simple_menu_items_controller.rb @@ -59,7 +59,7 @@ class Settings::SimpleMenuItemsController < ApplicationController # DELETE /settings/menu_items/1 # DELETE /settings/menu_items/1.json def destroy - # @settings_menu_item.destroy + abc = MenuItem.deleteRecursive(@settings_menu_item) respond_to do |format| format.html { redirect_to settings_menu_category_simple_menu_items_path, notice: 'Menu item was successfully destroyed.' } format.json { head :no_content } diff --git a/app/models/menu.rb b/app/models/menu.rb index 0c956a1e..05adfac4 100644 --- a/app/models/menu.rb +++ b/app/models/menu.rb @@ -22,4 +22,13 @@ class Menu < ApplicationRecord return current_menu end + + def self.destroyMenu(menu) + cats = MenuCategory.where("menu_id=?",menu.id) + cats.each do |cat| + abc = MenuCategory.destroyCategory(cat) + end + menu.destroy + return false + end end diff --git a/app/models/menu_category.rb b/app/models/menu_category.rb index 474990f2..e660b4b5 100644 --- a/app/models/menu_category.rb +++ b/app/models/menu_category.rb @@ -8,5 +8,29 @@ class MenuCategory < ApplicationRecord default_scope { order('order_by asc') } + def self.destroyCategory(menu_category) + # find the sub menu item of current item + sub_menu_cat = MenuCategory.where("menu_category_id=?",menu_category.id) + if sub_menu_cat.length != 0 + sub_menu_cat.each do |sub| + if destroyCategory(sub) + end + end + # find the items of current menu item + items = MenuItem.where("menu_category_id=?",menu_category.id) + items.each do |item| + abc = MenuItem.deleteRecursive(item) + end + menu_category.destroy + return true + else + items = MenuItem.where("menu_category_id=?",menu_category.id) + items.each do |item| + abc = MenuItem.deleteRecursive(item) + end + menu_category.destroy + return false + end + end end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 2a4e86be..22ec36de 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -1,5 +1,5 @@ class MenuItem < ApplicationRecord - belongs_to :account + # belongs_to :account belongs_to :menu_category, :optional => true has_many :menu_item_instances belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true @@ -38,4 +38,31 @@ class MenuItem < ApplicationRecord return nil end + + def self.deleteRecursive(menu_item) + + # find the sub menu item of current item + sub_menu_items = MenuItem.where("menu_item_id=?",menu_item.id) + if sub_menu_items.length != 0 + sub_menu_items.each do |subitem| + if deleteRecursive(subitem) + end + end + # find the instances of current menu item + instances = MenuItemInstance.where("menu_item_id=?",menu_item.id) + instances.each do |instance| + instance.destroy + end + menu_item.destroy + return true + else + instances = MenuItemInstance.where("menu_item_id=?",menu_item.id) + instances.each do |instance| + instance.destroy + end + menu_item.destroy + return false + end + + end end diff --git a/app/models/menu_item_instance.rb b/app/models/menu_item_instance.rb index e7f7775e..09225a23 100644 --- a/app/models/menu_item_instance.rb +++ b/app/models/menu_item_instance.rb @@ -1,4 +1,12 @@ class MenuItemInstance < ApplicationRecord belongs_to :menu_item + def self.findParentCategory(item) + if item.menu_category_id + return item.menu_category_id + else + parentitem = MenuItem.find(item.menu_item_id) + findParentCategory(parentitem) + end + end end diff --git a/app/views/settings/menu_categories/index.html.erb b/app/views/settings/menu_categories/index.html.erb index 495addcc..8ac80a16 100644 --- a/app/views/settings/menu_categories/index.html.erb +++ b/app/views/settings/menu_categories/index.html.erb @@ -33,7 +33,7 @@ <%= settings_menu_category.alt_name rescue ''%> <%= settings_menu_category.order_by rescue ''%> <%= settings_menu_category.parent.name rescue ''%> - <%= link_to 'Edit', edit_settings_menu_category_path(settings_menu_category) %> | <%= link_to 'Destroy', settings_menu_categories_path(settings_menu_category), method: :delete, data: { confirm: 'Are you sure?' } %> + <%= link_to 'Edit', edit_settings_menu_category_path(settings_menu_category) %> | <%= link_to 'Destroy', settings_menu_category_path(settings_menu_category), method: :delete, data: { confirm: 'Are you sure?' } %> <% end %> diff --git a/app/views/settings/menu_item_instances/_form.html.erb b/app/views/settings/menu_item_instances/_form.html.erb index c0170245..54edfab4 100644 --- a/app/views/settings/menu_item_instances/_form.html.erb +++ b/app/views/settings/menu_item_instances/_form.html.erb @@ -1,5 +1,5 @@ -<%= simple_form_for([:settings,:menu_item, @settings_menu_item_instance]) do |f| %> +<%= simple_form_for([:settings,@item, @settings_menu_item_instances]) do |f| %> <%= f.error_notification %> @@ -20,3 +20,5 @@ <%= f.button :submit %>
<% end %> + + diff --git a/app/views/settings/menu_item_instances/new.html.erb b/app/views/settings/menu_item_instances/new.html.erb index c6d688ca..ccbc8fe8 100644 --- a/app/views/settings/menu_item_instances/new.html.erb +++ b/app/views/settings/menu_item_instances/new.html.erb @@ -10,8 +10,7 @@
diff --git a/app/views/settings/menu_item_instances/show.html.erb b/app/views/settings/menu_item_instances/show.html.erb index edd34a74..40383b51 100644 --- a/app/views/settings/menu_item_instances/show.html.erb +++ b/app/views/settings/menu_item_instances/show.html.erb @@ -3,8 +3,7 @@
-
-
-
-

Sub Menu Items

- - - - - - - - - - - - - - - - - <% @sub_menu.each do |settings_menu_item| %> - - - - - - - - - - <% if settings_menu_item.type == "SimpleMenuItem" %> - - - - <% else %> - - - - <% end %> - - <% end %> - -
Item codeNameAlt nameTypeParent ItemCreated byCreated at
<%= settings_menu_item.item_code %><%= settings_menu_item.name %><%= settings_menu_item.alt_name %><%= settings_menu_item.type %><%= settings_menu_item.parent.name rescue "-" %><%= settings_menu_item.created_by %><%=l settings_menu_item.created_at, :format => :short %><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
-
-
- <%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
diff --git a/app/views/settings/menus/index.html.erb b/app/views/settings/menus/index.html.erb index 1f1bf994..d8c9c1ab 100644 --- a/app/views/settings/menus/index.html.erb +++ b/app/views/settings/menus/index.html.erb @@ -36,7 +36,8 @@ <%= settings_menu.created_by %> <%= settings_menu.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> - <%= link_to 'Edit', edit_settings_menu_path(settings_menu) %> + <%= link_to 'Edit', edit_settings_menu_path(settings_menu) %> + <%= link_to 'Destroy', settings_menu_path(settings_menu), method: :delete, data: { confirm: 'Are you sure?' } %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 7ba039b0..06fec1dc 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -111,7 +111,7 @@ Rails.application.routes.draw do #menu resources :menus do #menu_categories - resources :menu_categories, only: [:new, :create, :edit] + resources :menu_categories, only: [:new, :create, :edit,:delete] end #accounts From f1877408be26913d3a8c12d9fc3d2c5b9b3de2ed Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 5 Jun 2017 18:52:19 +0630 Subject: [PATCH 3/4] fixed for pm key changed --- app/controllers/oqs/home_controller.rb | 2 +- app/jobs/order_queue_processor_job.rb | 3 ++- app/models/assigned_order_item.rb | 3 +++ app/models/booking.rb | 6 ++++-- app/models/booking_order.rb | 2 +- app/models/customer.rb | 2 ++ app/models/order.rb | 2 ++ app/models/order_item.rb | 2 ++ app/models/sale.rb | 3 +++ app/models/sale_audit.rb | 5 ++++- app/models/sale_item.rb | 2 ++ app/models/sale_order.rb | 4 +++- app/models/sale_payment.rb | 2 ++ app/models/sale_tax.rb | 4 +++- db/migrate/20170414090001_create_assigned_order_items.rb | 4 ++-- db/seeds.rb | 4 ++++ 16 files changed, 40 insertions(+), 10 deletions(-) diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index 0c680624..2b676f21 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -36,7 +36,7 @@ class Oqs::HomeController < BaseOqsController # Query for OQS with status def queue_items_query(status) AssignedOrderItem.select("assigned_order_items.assigned_order_item_id, oqs.station_name, oqs.is_active, df.name as zone, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, cus.name as customer_name, odt.created_at") - .joins("join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = assigned_order_items.order_queue_station_id + .joins(" left join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = assigned_order_items.order_queue_station_id left join dining_facilities as df on df.zone_id = oqpz.zone_id left join order_queue_stations as oqs ON oqs.id = assigned_order_items.order_queue_station_id left join orders as od ON od.order_id = assigned_order_items.order_id diff --git a/app/jobs/order_queue_processor_job.rb b/app/jobs/order_queue_processor_job.rb index e9a8c13f..e1f5a239 100644 --- a/app/jobs/order_queue_processor_job.rb +++ b/app/jobs/order_queue_processor_job.rb @@ -5,7 +5,8 @@ class OrderQueueProcessorJob < ApplicationJob # Do something later #Order ID order = Order.find(order_id) - +puts order_id +puts order #Loop through the order stations and process the items #Execute orders and send to order stations if order diff --git a/app/models/assigned_order_item.rb b/app/models/assigned_order_item.rb index ed8b0c82..3ac84077 100644 --- a/app/models/assigned_order_item.rb +++ b/app/models/assigned_order_item.rb @@ -1,6 +1,9 @@ class AssignedOrderItem < ApplicationRecord before_create :generate_custom_id + #primary key - need to be unique + self.primary_key = "assigned_order_item_id" + belongs_to :order belongs_to :order_queue_station diff --git a/app/models/booking.rb b/app/models/booking.rb index 64eefbad..12d7e04b 100644 --- a/app/models/booking.rb +++ b/app/models/booking.rb @@ -1,6 +1,8 @@ -class Booking < ApplicationRecord - before_create :generate_custom_id +class Booking < ApplicationRecord + self.primary_key = "booking_id" + #primary key - need to be unique + before_create :generate_custom_id belongs_to :dining_facility, :optional => true belongs_to :sale, :optional => true diff --git a/app/models/booking_order.rb b/app/models/booking_order.rb index c9f748f0..ddf5ed18 100644 --- a/app/models/booking_order.rb +++ b/app/models/booking_order.rb @@ -1,5 +1,5 @@ class BookingOrder < ApplicationRecord - #primary key - need to be unique + #primary key - need to be unique belongs_to :booking belongs_to :order diff --git a/app/models/customer.rb b/app/models/customer.rb index a9ffbfc5..86a638c7 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -1,4 +1,6 @@ class Customer < ApplicationRecord + self.primary_key = "customer_id" + before_create :generate_custom_id has_many :orders has_many :sales diff --git a/app/models/order.rb b/app/models/order.rb index 3b54315c..9f2a9ae0 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -1,4 +1,6 @@ class Order < ApplicationRecord + self.primary_key = "order_id" + #primary key - need to be unique before_create :generate_custom_id before_create :set_order_date diff --git a/app/models/order_item.rb b/app/models/order_item.rb index 92992f90..0e258ac4 100644 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -1,4 +1,6 @@ class OrderItem < ApplicationRecord + self.primary_key = "order_items_id" + #primary key - need to be unique before_create :generate_custom_id diff --git a/app/models/sale.rb b/app/models/sale.rb index ed3e4c96..47526d8d 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -1,5 +1,8 @@ class Sale < ApplicationRecord + self.primary_key = "sale_id" + #primary key - need to be unique generated for multiple shops + before_create :generate_custom_id #before_create :generate_receipt_no belongs_to :cashier, :optional => true diff --git a/app/models/sale_audit.rb b/app/models/sale_audit.rb index 4ace962d..c99d2dfc 100644 --- a/app/models/sale_audit.rb +++ b/app/models/sale_audit.rb @@ -1,5 +1,8 @@ class SaleAudit < ApplicationRecord - #primary key - need to be unique generated for multiple shops + self.primary_key = "sale_audit_id" + + #primary key - need to be unique generated for SaleAudit + before_create :generate_custom_id belongs_to :sale diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb index 622057ec..e202a53c 100644 --- a/app/models/sale_item.rb +++ b/app/models/sale_item.rb @@ -1,4 +1,6 @@ class SaleItem < ApplicationRecord + self.primary_key = "sale_item_id" + #primary key - need to be unique generated for multiple shops before_create :generate_custom_id diff --git a/app/models/sale_order.rb b/app/models/sale_order.rb index ba39234b..15da1386 100644 --- a/app/models/sale_order.rb +++ b/app/models/sale_order.rb @@ -1,5 +1,7 @@ class SaleOrder < ApplicationRecord -#primary key - need to be unique generated for multiple shops + self.primary_key = "sale_order_id" + + #primary key - need to be unique generated for multiple shops before_create :generate_custom_id belongs_to :sale diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 76d2869a..15fe4c74 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -1,4 +1,6 @@ class SalePayment < ApplicationRecord + self.primary_key = "sale_payment_id" + #primary key - need to be unique generated for multiple shops before_create :generate_custom_id diff --git a/app/models/sale_tax.rb b/app/models/sale_tax.rb index 2eb24312..79de9134 100644 --- a/app/models/sale_tax.rb +++ b/app/models/sale_tax.rb @@ -1,5 +1,7 @@ class SaleTax < ApplicationRecord -#primary key - need to be unique generated for multiple shops + self.primary_key = "sale_tax_id" + + #primary key - need to be unique generated for multiple shops before_create :generate_custom_id belongs_to :sale diff --git a/db/migrate/20170414090001_create_assigned_order_items.rb b/db/migrate/20170414090001_create_assigned_order_items.rb index a0f79262..02b95017 100644 --- a/db/migrate/20170414090001_create_assigned_order_items.rb +++ b/db/migrate/20170414090001_create_assigned_order_items.rb @@ -1,7 +1,7 @@ class CreateAssignedOrderItems < ActiveRecord::Migration[5.0] def change - create_table :assigned_order_items, :id => false, :primary_key => :assigned_order_item_id do |t| - t.string :assigned_order_item_id, :limit => 16, :null => false, :index => true, :unique => true #custom primary key - to ensure consistence for cloud syncing + create_table :assigned_order_items, :id => false do |t| + t.string :assigned_order_item_id, :limit => 16, :primary_key => true #custom primary key - to ensure consistence for cloud syncing t.string :item_code, :null => false, :index => true t.references :order_queue_station, foreign_key: true t.string :order_id, foreign_key: true, :limit => 16 diff --git a/db/seeds.rb b/db/seeds.rb index 5e4dd995..4d7799db 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -133,3 +133,7 @@ zone_queue_station = OrderQueueProcessByZone.create({order_queue_station: zone_o #Create Adminstrator employee admin_employee = Employee.create({name: "Administrator", role: "Administrator", password: "99999", emp_id:"999", created_by: "SYSTEM DEFAULT"}) + +#Account for Menu Item Type (eg: Food, Beverage) +food = Account.create({title: "Food", account_type: "0"}) +beverage = Account.create({title: "Beverage", account_type: "1"}) From d9f7b391ecd5178bfcfd4127c14ed99d6c345403 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 5 Jun 2017 18:54:17 +0630 Subject: [PATCH 4/4] del puts line in oqs --- app/jobs/order_queue_processor_job.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/jobs/order_queue_processor_job.rb b/app/jobs/order_queue_processor_job.rb index e1f5a239..e92faa36 100644 --- a/app/jobs/order_queue_processor_job.rb +++ b/app/jobs/order_queue_processor_job.rb @@ -5,8 +5,7 @@ class OrderQueueProcessorJob < ApplicationJob # Do something later #Order ID order = Order.find(order_id) -puts order_id -puts order + #Loop through the order stations and process the items #Execute orders and send to order stations if order