From 1d70a9f1781ec41d69110e58343a461c0677e65f Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Wed, 28 Feb 2018 14:20:22 +0630 Subject: [PATCH] update fixed issues for quickservice from sqa --- app/assets/javascripts/addorder.js | 69 +-- app/assets/stylesheets/addorder.scss | 2 +- .../origami/addorders_controller.rb | 2 +- .../origami/payments_controller.rb | 13 + .../origami/pending_order_controller.rb | 8 +- .../origami/quick_service_controller.rb | 3 +- .../origami/addorders/_add_order.html.erb | 584 ------------------ app/views/origami/addorders/detail.html.erb | 581 ++++++++++++++++- app/views/origami/addorders/index.html.erb | 111 ---- app/views/origami/payments/show.html.erb | 12 +- app/views/origami/pending_order/show.html.erb | 2 +- .../quick_service/_menu_item.json.jbuilder | 119 ---- .../get_all_product.json.jbuilder | 4 - .../quick_service/get_menu.json.jbuilder | 1 - .../get_menu_category.json.jbuilder | 8 - .../get_menu_sub_category.json.jbuilder | 9 - .../origami/quick_service/index.html.erb | 3 - 17 files changed, 641 insertions(+), 890 deletions(-) delete mode 100644 app/views/origami/addorders/_add_order.html.erb delete mode 100755 app/views/origami/addorders/index.html.erb delete mode 100755 app/views/origami/quick_service/_menu_item.json.jbuilder delete mode 100755 app/views/origami/quick_service/get_all_product.json.jbuilder delete mode 100644 app/views/origami/quick_service/get_menu.json.jbuilder delete mode 100755 app/views/origami/quick_service/get_menu_category.json.jbuilder delete mode 100644 app/views/origami/quick_service/get_menu_sub_category.json.jbuilder diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index 475652af..de1024ea 100755 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -1,7 +1,7 @@ $(function() { var role = $('#role').val(); - type = $('#type').val(); - modify_order = $('#modify_order').val(); + type = window.location.href.indexOf("quick_service"); + modify_order = window.location.href.indexOf("modify_order"); //click menu sidebar menu category $(".product").on("click", function(){ var url = $(this).attr('data-ref'); @@ -88,13 +88,16 @@ $(function() { function show_menu_item_list(url_item){ var menu_list = $('.menu_items_list'); menu_list.empty(); - - if (modify_order=="true" && type =="true") { - url_item = '../../../addorders/'+url_item; - }if(modify_order=="false" && type =="true"){ - url_item = 'addorders/'+url_item - }else{ - url_item = url_item; + + type = window.location.href.indexOf("quick_service"); + modify_order = window.location.href.indexOf("modify_order"); + if (type != -1 && modify_order != -1) { + url_item = '../../../addorders/'+url_item; + }if(modify_order == -1 && type != -1){ + url_item = 'addorders/'+url_item; + } + if (type ==-1 && modify_order == -1){ + url_item = url_item } //Start Ajax @@ -104,8 +107,6 @@ $(function() { data: {}, dataType: "json", success: function(data) { - console.log(data); - console.log("ememem") var menu_items_list = $('.menu_items_list'); menu_items_list.empty(); menu_items = data.menu_items; @@ -758,14 +759,10 @@ $(function() { e.preventDefault(); $("#oqs_loading_wrapper").show(); - type = $('#type').val(); - if (type == 'true') { - // if (role == 'waiter') { - type = 'quick_service' - // }else{ - // type = 'cashier' - // } + type = window.location.href.indexOf("quick_service"); + if (type != 'true') { + type = 'quick_service' var table_type = $('#table_type').text(); var table_id = $('#table_id').val(); var customer_id = $('#customer_id').val(); @@ -785,15 +782,15 @@ $(function() { var params = {'order_source': type, 'order_type': "dine_in", 'customer_id': customer_id, 'guest_info': "",'booking_id':booking_id, 'table_id': table_id, - 'order_items': order_items }; + 'order_items': order_items,'create_type' : "create_only" }; }else{ var params = {'order_source': type, 'order_type': "dine_in", 'customer_id': customer_id, 'guest_info': "", 'table_id': table_id, - 'order_items': order_items }; + 'order_items': order_items,'create_type' : "create_only" }; } - - if (table_id.length>0 || role == 'waiter') { + + // if (table_id.length>0 || role == 'waiter') { $.ajax({ type: "POST", url: ajax_url, @@ -812,12 +809,12 @@ $(function() { } } }); - }else{ - $(this).removeAttr('disabled', ''); - $("#oqs_loading_wrapper").hide(); + // }else{ + // $(this).removeAttr('disabled', ''); + // $("#oqs_loading_wrapper").hide(); - swal("Opps","Please Select Table or Room","warning"); - } + // swal("Opps","Please Select Table or Room","warning"); + // } }); @@ -826,9 +823,10 @@ $(function() { $(this).attr('disabled', 'disabled'); e.preventDefault(); type = "quick_service" + modify_order = window.location.href.indexOf("modify_order"); $("#oqs_loading_wrapper").show(); console.log(modify_order) - if (modify_order == "true") { + if (modify_order !=-1) { console.log($('#sale_id').text()) var ajax_url = '../../../quick_service/update_modify_order'; var table_type = $('#table_type').text(); @@ -850,12 +848,12 @@ $(function() { var params = {'order_source': type, 'order_type': "dine_in", 'customer_id': customer_id, 'guest_info': "",'booking_id':booking_id, 'table_id': table_id, - 'order_items': order_items,'sale_id': sale_id }; + 'order_items': order_items,'sale_id': sale_id,'create_type': "create_pay" }; }else{ var params = {'order_source': type, 'order_type': "dine_in", 'customer_id': customer_id, 'guest_info': "", 'table_id': table_id, - 'order_items': order_items,'sale_id': sale_id }; + 'order_items': order_items,'sale_id': sale_id,'create_type': "create_pay" }; } $.ajax({ @@ -987,7 +985,7 @@ $(function() { $("#back").on("click", function(){ var table_id = $('#table_id').text(); var table_type = $('#table_type').text(); - type = $('#type').val(); + type = window.location.href.indexOf("quick_service"); if (type == 'true') { var table_type = $('#table_id').find("option:selected").data('type'); var table_id = $('#table_id').val(); @@ -1113,11 +1111,12 @@ $(function() { //show menu item list when click menu category function show_sub_category_list(url,sub_category){ - if (modify_order == "true" && type =="true") { + if (type != -1 && modify_order != -1) { var url = "../../../addorders/"+url; - }if(modify_order=="false" && type =="true"){ + }if(modify_order== -1 && type != -1){ var url = 'addorders/'+url; - }else{ + } + if (type ==-1 && modify_order == -1){ var url = url; } @@ -1130,8 +1129,6 @@ $(function() { data: {}, dataType: "json", success: function(data) { - console.log(data) - console.log("ffffffffff") var sub_category_list = $('.sub_category_list'); sub_category_list.empty(); data = data.sub_category; diff --git a/app/assets/stylesheets/addorder.scss b/app/assets/stylesheets/addorder.scss index faff5850..d8adba16 100755 --- a/app/assets/stylesheets/addorder.scss +++ b/app/assets/stylesheets/addorder.scss @@ -175,7 +175,7 @@ section.content{ text-align: center; } -.add_icon{ +.menu_item_box{ cursor: pointer; } diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 9c19bbf2..c9b1bc44 100755 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -156,7 +156,7 @@ class Origami::AddordersController < ApplicationController#BaseOrigamiController end @status, @booking = @order.generate - if current_user.role != "waiter" + if current_user.role != "waiter" && params[:create_type] == "create_pay" if @status && @booking && @order.source == 'quick_service' @status, @sale = Sale.request_bill(@order,current_user,current_login_employee) diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index fa7e5914..970095e9 100755 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -403,6 +403,19 @@ class Origami::PaymentsController < BaseOrigamiController printer = Printer::ReceiptPrinter.new(print_settings) printer.print_receipt_bill(print_settings,cashier_terminal,saleObj.sale_items,saleObj,customer.name, item_price_by_accounts, discount_price_by_accounts, member_info,rebate_amount,shop_details, "FOC",nil,nil) + + if params[:type] == "quick_service" + booking = Booking.find_by_sale_id(sale_id) + if booking.dining_facility_id.to_i>0 + table_id = booking.dining_facility_id + else + table_id = 0 + end + + booking.booking_orders.each do |order| + Order.pay_process_order_queue(order.order_id,table_id) + end + end end end end diff --git a/app/controllers/origami/pending_order_controller.rb b/app/controllers/origami/pending_order_controller.rb index 4ed81121..d738a0a5 100644 --- a/app/controllers/origami/pending_order_controller.rb +++ b/app/controllers/origami/pending_order_controller.rb @@ -23,15 +23,15 @@ class Origami::PendingOrderController < BaseOrigamiController @order_items = Array.new @bookings.booking_orders.each do |booking_order| - order = Order.find(booking_order.order_id) - if (order.status == "new") - order.order_items.each do |item| + @order = Order.find(booking_order.order_id) + if (@order.status == "new") + @order.order_items.each do |item| @order_items.push(item) end end end end - + puts @status if @bookings.dining_facility_id.to_i > 0 @table_id = Booking.find(@bookings.booking_id).dining_facility_id @dining = DiningFacility.find(@table_id) diff --git a/app/controllers/origami/quick_service_controller.rb b/app/controllers/origami/quick_service_controller.rb index 8516c493..44dcfcb8 100644 --- a/app/controllers/origami/quick_service_controller.rb +++ b/app/controllers/origami/quick_service_controller.rb @@ -14,7 +14,7 @@ class Origami::QuickServiceController < ApplicationController # @rooms = Room.all.active.order('zone_id asc').group("zone_id") # @all_table = Table.all.active.order('status desc') # @all_room = Room.all.active.order('status desc') - # render "origami/addorders/detail" + render "origami/addorders/detail" end def modify_order @@ -51,6 +51,7 @@ class Origami::QuickServiceController < ApplicationController else @booking = nil end + render "origami/addorders/detail" end def update_modify_order diff --git a/app/views/origami/addorders/_add_order.html.erb b/app/views/origami/addorders/_add_order.html.erb deleted file mode 100644 index efe21d2a..00000000 --- a/app/views/origami/addorders/_add_order.html.erb +++ /dev/null @@ -1,584 +0,0 @@ - - - - -<% type = request.path_info.include?('quick_service')%> -<% modify_order = request.path_info.include?('modify_order')%> - - - - -
-
- -
  • - - - <%= @menus[0].name %> - - - -
  • - -
    - - - -
    -
    -
    -
    - -
    -
    -
    -
    - -
    - - <% if type && modify_order%> - - - - - <%elsif !modify_order && type%> - - - - - Select - - - <%else%> - - <%end%> -
    -
    - <% if type %> -
    -
    - ORDER DETAILS -
    - - <% if modify_order %> - <% if @table.nil? %> -
    Table :
    - - - <% else%> -
    Table : <%=@table.name%>
    - - - <% end%> - - - - - <% else%> - - <% end%> -
    - <% else %> -
    - ORDER DETAILS | Table-<%=@table.name%> - - - - -
    - <% end%> - -
    -
    -
    - - - - - - - - - - - - -
    #ItemsQTYPrice
    -
    - -
    -
    - - - - - - - - - - - - - <% if type && !modify_order%> - - <% end %> - \ No newline at end of file diff --git a/app/views/origami/addorders/detail.html.erb b/app/views/origami/addorders/detail.html.erb index 1e96edc7..9190ccf7 100755 --- a/app/views/origami/addorders/detail.html.erb +++ b/app/views/origami/addorders/detail.html.erb @@ -1,3 +1,582 @@ <%= stylesheet_link_tag 'addorder', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'addorder', 'data-turbolinks-track': 'reload' %> -<%= render 'add_order' %> \ No newline at end of file + + +<% type = request.path_info.include?('quick_service')%> +<% modify_order = request.path_info.include?('modify_order')%> + + +
    +
    + +
  • + + + <%= @menus[0].name %> + + + +
  • + +
    + + + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    + + <% if type && modify_order%> + + + + + <%elsif !modify_order && type%> + + + + + Select + + + <%else%> + + <%end%> +
    +
    + <% if type %> +
    +
    + ORDER DETAILS +
    + + <% if modify_order %> + <% if @table.nil? %> +
    Table :
    + + + <% else%> +
    Table : <%=@table.name%>
    + + + <% end%> + + + + + <% else%> + + <% end%> +
    + <% else %> +
    + ORDER DETAILS | Table-<%=@table.name%> + + + + +
    + <% end%> + +
    +
    +
    + + + + + + + + + + + + +
    #ItemsQTYPrice
    +
    + +
    +
    + + + + + + + + + + + + + <% if type && !modify_order%> + + <% end %> + \ No newline at end of file diff --git a/app/views/origami/addorders/index.html.erb b/app/views/origami/addorders/index.html.erb deleted file mode 100755 index c45339c2..00000000 --- a/app/views/origami/addorders/index.html.erb +++ /dev/null @@ -1,111 +0,0 @@ -
    -
    - -
    - -
    - <% @tables.each do |zone| %> -

    Zone : <%=zone.zone.name%>

    -
    - - <% @all_table.each do |table| %> - <% if zone.zone_id == table.zone_id %> -
    " data-id = "<%= table.id %>"> -
    - -

    <%= table.name %>

    -

    Seat : <%= table.seater %>

    -
    -
    - <% end %> <% end %> -
    - <% end %> -
    - -
    - <% @rooms.each do |zone| %> -

    Zone : <%=zone.zone.name%>

    -
    - - <% @all_room.each do |room| %> - <% if zone.zone_id == room.zone_id %> -
    " data-id = "<%= room.id %>"> -
    - -

    <%= room.name %>

    -

    Seat : <%= room.seater %>

    -
    -
    - <% end %> <% end %> -
    - <% end %> -
    - -
    -
    - -
    - -
    -
    - - diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index 60ea300a..cb213a38 100755 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -324,10 +324,6 @@ reply Back - <%end%> - <% if current_user.role != "waiter"%> + <% if current_user.role != "waiter" && @status != "order"%> <%end%> <% if @status != "sale"%> diff --git a/app/views/origami/quick_service/_menu_item.json.jbuilder b/app/views/origami/quick_service/_menu_item.json.jbuilder deleted file mode 100755 index a18645c8..00000000 --- a/app/views/origami/quick_service/_menu_item.json.jbuilder +++ /dev/null @@ -1,119 +0,0 @@ -# Format for attributes json -attr_format = [] -# Format for attributes json -if item.item_attributes.count > 0 - item.item_attributes.each do|attr_id| - menu_attr = MenuItemAttribute.find(attr_id) - if attr_format.count == 0 - attr_format.push({ type: menu_attr.attribute_type, values: [menu_attr.name] }) - next - end - - attr_format.each do |af| - if menu_attr.attribute_type.in? attr_format.map {|k| k[:type]} - if menu_attr.attribute_type == af[:type] - af[:values].push(menu_attr.name) - end - else - new_attr = {type: menu_attr.attribute_type, values: [ menu_attr.name ] } - attr_format.push(new_attr) - break - end - end - end -end - -# Format for option json -opt_format = [] -# Format for attributes json -if item.item_options.count > 0 - item.item_options.each do|opt| - menu_opt = MenuItemOption.find(opt) - if opt_format.count == 0 - opt_format.push({ type: menu_opt.option_type, values: [menu_opt.name] }) - next - end - - opt_format.each do |of| - if menu_opt.option_type.in? opt_format.map {|k| k[:type]} - if menu_opt.option_type == of[:type] - of[:values].push(menu_opt.name) - end - else - new_opt = {type: menu_opt.option_type, values: [ menu_opt.name ] } - opt_format.push(new_opt) - break - end - end - end -end - -#Menu Item Information -json.id item.id -json.code item.item_code -json.name item.name -json.alt_name item.alt_name -json.image item.image_path.url -json.description item.description -json.information item.information -json.type item.type -json.account_id item.account_id -json.min_qty item.min_qty -json.is_available item.is_available -json.is_sub_item item.is_sub_item -json.unit item.unit - -# Item Sets of Menu Item -json.item_sets item.item_sets do |its| - json.id its.id - json.name its.name - json.alt_name its.alt_name - json.min_selectable_qty its.min_selectable_qty - json.max_selectable_qty its.max_selectable_qty - json.instances its.menu_item_instances do |i| - json.id i.id - end -end - -json.attributes attr_format -json.options opt_format -# json.min_selectable_item item.min_selectable_item -# json.max_selectable_item item.max_selectable_item - -#Item instance -# if item.menu_item_instances.count == 1 then -# item_instance = item.menu_item_instances[0] -# json.price = item_instance.price -# json.is_available = item_instance.is_available -# json.is_on_promotion = item_instance.is_on_promotion -# json.promotion_price = item_instance.promotion_price -# json.item_attributes = item_instance.item_attributes - -json.instances item.menu_item_instances do |is| - if is.is_available - # Convert id to name for attributes - instance_attr = [] - is.item_attributes.each do |ia| - mItemAttr = MenuItemAttribute.find(ia).name - instance_attr.push(mItemAttr) - end - - json.id is.id - json.code is.item_instance_code - json.name is.item_instance_name - json.price is.price - json.is_available is.is_available - json.is_default is.is_default - json.is_on_promotion is.is_on_promotion - json.promotion_price is.promotion_price - json.values instance_attr - # json.item_sets is.item_sets - end -end - -#Child Menu items -# if (item.children) then -# json.set_items item.children.each do |item| -# json.partial! 'api/restaurant/menu/menu_item', item: item -# end -# end \ No newline at end of file diff --git a/app/views/origami/quick_service/get_all_product.json.jbuilder b/app/views/origami/quick_service/get_all_product.json.jbuilder deleted file mode 100755 index 01921c59..00000000 --- a/app/views/origami/quick_service/get_all_product.json.jbuilder +++ /dev/null @@ -1,4 +0,0 @@ - -json.array! @product, :id, :item_code, :name, :alt_name,:image_path, - :description,:information,:taxable,:unit_price, :created_at, - :updated_at, :created_by \ No newline at end of file diff --git a/app/views/origami/quick_service/get_menu.json.jbuilder b/app/views/origami/quick_service/get_menu.json.jbuilder deleted file mode 100644 index bbe18fff..00000000 --- a/app/views/origami/quick_service/get_menu.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.array! @menu_category \ No newline at end of file diff --git a/app/views/origami/quick_service/get_menu_category.json.jbuilder b/app/views/origami/quick_service/get_menu_category.json.jbuilder deleted file mode 100755 index 91f659e8..00000000 --- a/app/views/origami/quick_service/get_menu_category.json.jbuilder +++ /dev/null @@ -1,8 +0,0 @@ -if @menu.menu_items - json.menu_items @menu.menu_items do |item| - if item.is_available - json.partial! 'origami/addorders/menu_item', item: item - end - - end -end diff --git a/app/views/origami/quick_service/get_menu_sub_category.json.jbuilder b/app/views/origami/quick_service/get_menu_sub_category.json.jbuilder deleted file mode 100644 index d391e4c5..00000000 --- a/app/views/origami/quick_service/get_menu_sub_category.json.jbuilder +++ /dev/null @@ -1,9 +0,0 @@ -if @sub_menu - json.sub_category @sub_menu.each do |sub_cat| - json.id sub_cat.id - json.code sub_cat.code - json.name sub_cat.name - json.menu_id sub_cat.menu_id - json.menu_category_id sub_cat.menu_category_id - end -end diff --git a/app/views/origami/quick_service/index.html.erb b/app/views/origami/quick_service/index.html.erb index 7108125b..e69de29b 100644 --- a/app/views/origami/quick_service/index.html.erb +++ b/app/views/origami/quick_service/index.html.erb @@ -1,3 +0,0 @@ -<%= stylesheet_link_tag 'addorder', media: 'all', 'data-turbolinks-track': 'reload' %> -<%= javascript_include_tag 'addorder', 'data-turbolinks-track': 'reload' %> -<%= render 'origami/addorders/add_order' %> \ No newline at end of file