update menu category

This commit is contained in:
Aung Myo
2018-02-19 09:12:51 +06:30
parent 4743ab6558
commit 0504a9505b
7 changed files with 168 additions and 36 deletions

View File

@@ -9,7 +9,10 @@ class Origami::AddordersController < ApplicationController#BaseOrigamiController
end
def detail
@menu = MenuCategory.all.active
today = DateTime.now
day = Date.today.wday
@menus = Menu.all
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
@table_id = params[:id]
@table = DiningFacility.find(@table_id)
@booking = @table.get_booking
@@ -44,6 +47,18 @@ class Origami::AddordersController < ApplicationController#BaseOrigamiController
end
end
def get_menu()
if (params[:id])
puts params[:id]
#Pull this menu
@menu = Menu.find_by_id(params[:id])
@menu_category = MenuCategory.where("menu_id='#{@menu.id}'").order("order_by asc")
# puts @menu.menu_items[1].item_attributes.to_json
return @menu
else
Menu.current_menu
end
end
def get_menu_sub_category ()
id = params[:id]

View File

@@ -27,37 +27,37 @@ class Origami::HomeController < BaseOrigamiController
@membership = MembershipSetting::MembershipSetting
@payment_methods = PaymentMethodSetting.all
bookings = Booking.all
if !bookings.nil?
@order_items_count = Hash.new
bookings.each do |booking|
if booking.sale_id.nil? && booking.booking_status != 'moved'
if !booking.booking_orders.empty?
booking.booking_orders.each do |booking_order|
order = Order.find(booking_order.order_id)
if !order.order_items.empty?
if !@order_items_count.key?(booking.dining_facility_id)
@order_items_count.store(booking.dining_facility_id, order.order_items.count)
else
@order_items_count[booking.dining_facility_id] += order.order_items.count
end
end
end
end
else
if !booking.sale_id.nil?
sale = Sale.find(booking.sale_id)
if sale.sale_status !='completed'
if !@order_items_count.key?(booking.dining_facility_id)
@order_items_count.store(booking.dining_facility_id, sale.sale_items.count)
else
@order_items_count[booking.dining_facility_id] = sale.sale_items.count
end
end
end
end
end
end
# bookings = Booking.all
# if !bookings.nil?
# @order_items_count = Hash.new
# bookings.each do |booking|
# if booking.sale_id.nil? && booking.booking_status != 'moved'
# if !booking.booking_orders.empty?
# booking.booking_orders.each do |booking_order|
# order = Order.find(booking_order.order_id)
# if !order.order_items.empty?
# if !@order_items_count.key?(booking.dining_facility_id)
# @order_items_count.store(booking.dining_facility_id, order.order_items.count)
# else
# @order_items_count[booking.dining_facility_id] += order.order_items.count
# end
# end
# end
# end
# else
# if !booking.sale_id.nil?
# sale = Sale.find(booking.sale_id)
# if sale.sale_status !='completed'
# if !@order_items_count.key?(booking.dining_facility_id)
# @order_items_count.store(booking.dining_facility_id, sale.sale_items.count)
# else
# @order_items_count[booking.dining_facility_id] = sale.sale_items.count
# end
# end
# end
# end
# end
# end
puts "@order_items_count"
puts @order_items_count.to_json

View File

@@ -2,7 +2,10 @@ class Origami::QuickServiceController < ApplicationController
# before_action :set_dining, only: [:detail]
def index
@menu = MenuCategory.all.active
today = DateTime.now
day = Date.today.wday
@menus = Menu.all
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
@zone = Zone.all
@customer = Customer.all
@tables = Table.all.active.order('status desc')
@@ -15,7 +18,10 @@ class Origami::QuickServiceController < ApplicationController
end
def modify_order
@menu = MenuCategory.all.active
today = DateTime.now
day = Date.today.wday
@menus = Menu.all
@menu = MenuCategory.active.where("menu_id =#{@menus[0].id}").order('order_by asc')
if(params[:id][0,3] == "BKI")
@table_id = nil
@table = nil

View File

@@ -4,7 +4,7 @@ class Menu < ApplicationRecord
validates_presence_of :name, :valid_days, :valid_time_from, :valid_time_to
# validates_format_of :valid_days, :with => /\A([0-7]{1}(,[0-7]{1})*)?\Z/i
#Default Scope to pull the active version only
default_scope { where(is_active: true).order("created_at desc") }
default_scope { where(is_active: true).order("created_at asc") }
def self.current_menu
today = DateTime.now

View File

@@ -10,7 +10,16 @@
<input type="hidden" name="type" id="modify_order" value="<%=modify_order%>">
<div class="row m-t--20">
<div class="col-lg-2 col-md-2 col-sm-2">
<a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="main_menu p-l-15 p-t-20" id="main_menu"><%= @menus[0].name %></span>
</a>
<ul class="dropdown-menu menu_list" style="width:90%">
<% @menus.each do |menu| %>
<li class="nav-item menu_click" data-name="<%=menu.name%>" data-id="<%=menu.id%>">
<a class="nav-link" data-toggle="tab" href="" role="tab"><%=menu.name%></a>
</li>
<%end%>
</ul>
<ul class="nav nav-tabs flex-column category_list" role="tablist" id="ul-navbar">
<li class="nav-item product" data-ref="<%= origami_get_all_product_path %>">
<a class="nav-link" data-toggle="tab" href="" role="tab">Products</a>
@@ -60,6 +69,43 @@
<div class="col-md-7 col-lg-7 col-sm-7 m-t-10">
<div class="card-columns custom-card-columns menu_items_list" style="column-gap: 10px;">
<!-- append data -->
<% @menu.each do |menu| %>
<% if !menu.valid_time.nil? %>
<% if menu.menu_category_id.nil? %>
<!--if type quick_service or cashier for table -->
<% if type %>
<% if !menu.code.include? "SPL" %>
<div class="card custom-card testimonial-card animated fadeInRight menu_category sub_click" data-id="<%=menu.id%>">
<div class='card-block custom-card-block'>
<p><%=menu.name%> <p>
<p><%=menu.code%> <p>
</div>
</div>
<% end%>
<!-- else quick_service or cashier for table -->
<% else %>
<% if @table.get_current_checkout_booking.nil? %>
<% if !menu.code.include? "SPL" %>
<div class="card custom-card testimonial-card animated fadeInRight menu_category sub_click" data-id="<%=menu.id%>">
<div class='card-block custom-card-block'>
<p><%=menu.name%> <p>
<p><%=menu.code%> <p>
</div>
</div>
<% end%>
<% else %>
<div class="card custom-card testimonial-card animated fadeInRight menu_category sub_click" data-id="<%=menu.id%>">
<div class='card-block custom-card-block'>
<p><%=menu.name%> <p>
<p><%=menu.code%> <p>
</div>
</div>
<% end%>
<!-- end quick_service or cashier for table -->
<% end %>
<% end%>
<% end %>
<%end %>
</div>
</div>
@@ -428,8 +474,71 @@
console.log(type)
});
$('#pending_order').on('click', function () {
window.location.href = '/origami/quick_service/pending_order';
});
$(document).on('click', '.menu_click', function(event){
var menu_id = $(this).attr("data-id");
var name = $(this).attr("data-name");
var url = "get_menu/"+menu_id;
show_menu_cat_list(name, url);
});
//End menu category Click
//show menu item list when click menu category
function show_menu_cat_list(name, url_item){
var menu_list = $('.menu_items_list');
menu_list.empty();
var menu_cat = $('.category_list');
menu_cat.empty();
$(".main_menu").text(name)
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;
}
//Start Ajax
$.ajax({
type: "GET",
url: url_item,
data: {},
dataType: "json",
success: function(data) {
for(var i in data) {
if (data[i].is_available == true) {
row = '<div class="card custom-card testimonial-card animated fadeInRight menu_category sub_click" data-id="'+ data[i].id +'">'
+' <div class="card-block custom-card-block">'
+' <p>'+ data[i].name +'<p>'
+' <p>'+ data[i].code +' <p>'
+' </div>'
+' </div>';
$('.menu_items_list').append(row);
list = '<li class="nav-item menu_category sub_click" data-id="'+ data[i].id +'">'
+'<p class="hidden menu-id">'+ data[i].id +'</p> '
+'<a class="nav-link" data-toggle="tab" href="" role="tab"> '+ data[i].name +''
+'<ul class=" sub_category_list hidden fadeInTop animated"'
+'id="sub_category_list">'
+'</ul>'
+'</a>'
+'</li>';
$('.category_list').append(list);
}
}
}
});
//end Ajax
}
//end show list function
});
</script>

View File

@@ -0,0 +1 @@
json.array! @menu_category

View File

@@ -207,6 +207,7 @@ scope "(:locale)", locale: /en|mm/ do
get '/:id/:type/surveys', to: "surveys#new"
post '/:id/create_survey' => "surveys#create", :as => "create_surveys"
get '/addorders/get_menu/:id' => "addorders#get_menu",:as => "get_menu", :defaults => { :format => 'json' }
get '/addorders/get_menu_category/:id' => "addorders#get_menu_category",:as => "get_menu_category", :defaults => { :format => 'json' }
get '/addorders/get_menu_sub_category/:id' => "addorders#get_menu_sub_category",:as => "get_menu_sub_category", :defaults => { :format => 'json' }
get '/addorders/products/list' => "addorders#get_all_product",:as => "get_all_product", :defaults => { :format => 'json' }