diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index 6d79ca2a..2611b491 100644 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -10,6 +10,7 @@ $(function(){ //show menu item list when click menu category function show_menu_item_list(url_item){ + var menu_list = $('.menu_items_list'); menu_list.empty(); //Start Ajax @@ -22,6 +23,7 @@ $(function(){ var menu_items_list = $('.menu_items_list'); menu_items_list.empty(); menu_items = data.menu_items; + console.log(url_item); for(var field in menu_items) { if (menu_items[field].is_sub_item == false) { instances = menu_items[field].instances ; @@ -110,6 +112,7 @@ $(function(){ for(var field in item_sets) { value = item_sets[field]["instances"]; $(value).each(function(i){ + console.log(value); $.ajax({ type: "GET", url: '../../api/restaurant/menu_item_instances/'+value[i]["id"], @@ -121,6 +124,8 @@ $(function(){ +"' data-code='"+result["code"] +"' data-price='"+result["price"] +"' data-option='"+JSON.stringify(result["options"]) + +"' data-min-qty='"+item_sets[field]["min_selectable_qty"] + +"' data-max-qty='"+item_sets[field]["max_selectable_qty"] +"'>" +'
' +''+result["name"]+'' @@ -157,6 +162,8 @@ $(function(){ $(".options-list").empty(); item_options = $(this).data('option'); + min_qty = $(this).data('min-qty'); + max_qty = $(this).data('max-qty'); code = $(this).data('code'); for(var field in item_options) { @@ -171,31 +178,35 @@ $(function(){ $(".options-list").append(row); } - if($(this).hasClass('selected-instance') == true){ - sub_total = $('#set_total_price').text(); - name = $(this).data('name'); - price = $(this).data('price'); - // qty = $('#set_change_qty').val(); - qty = document.getElementById("set_count").value; - total = qty*price; - var total_price = +sub_total - +total; - $(this).removeClass('selected-instance'); - $(".options-list").empty(); - $(this).removeAttr('data-options'); - $('#instance_option').text('') - }else { + console.log($('.selected-instance').length) - sub_total = $('#set_total_price').text(); - name = $(this).data('name'); - price = $(this).data('price'); - // qty = $('#set_change_qty').val(); - qty = document.getElementById("set_count").value; - total = qty*price; - var total_price = +sub_total + +total; - $(this).addClass('selected-instance'); - } - $('#set_unit_price').text(price); - $('#set_total_price').text(total_price); + if($(this).hasClass('selected-instance') == true){ + sub_total = $('#set_total_price').text(); + name = $(this).data('name'); + price = $(this).data('price'); + // qty = $('#set_change_qty').val(); + qty = document.getElementById("set_count").value; + total = qty*price; + var total_price = +sub_total - +total; + $(this).removeClass('selected-instance'); + $(".options-list").empty(); + $(this).removeAttr('data-options'); + $('#instance_option').text('') + }else { + if ($('.selected-instance').length+1 <= max_qty) { + sub_total = $('#set_total_price').text(); + name = $(this).data('name'); + price = $(this).data('price'); + // qty = $('#set_change_qty').val(); + qty = document.getElementById("set_count").value; + total = qty*price; + var total_price = +sub_total + +total; + $(this).addClass('selected-instance'); + } + } + $('#set_unit_price').text(price); + $('#set_total_price').text(total_price); + }); //End selecct attribute buttom // click add order diff --git a/app/assets/stylesheets/sx-sidebar.css b/app/assets/stylesheets/sx-sidebar.css new file mode 100644 index 00000000..6f8d5f04 --- /dev/null +++ b/app/assets/stylesheets/sx-sidebar.css @@ -0,0 +1,223 @@ +/*! + * Start Bootstrap - Simple Sidebar (http://startbootstrap.com/template-overviews/simple-sidebar) + * Copyright 2013-2017 Start Bootstrap + * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-simple-sidebar/blob/master/LICENSE) + */ + +/**/ +#wrapper { + padding-left: 0; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +#wrapper.toggled { + padding-left: 200px; +} + +#sidebar-wrapper { + /* z-index: 1000;*/ + /*position: fixed;*/ + z-index: 1; + position: ; + left: 200px; + width: 0; + height: 100%; + margin-left: -224px; + margin-top:-20px; + overflow-x: ; + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + -o-transition: all 0.5s ease; + transition: all 0.5s ease; +} + +#wrapper.toggled #sidebar-wrapper { + width: 216px; +} + +#page-content-wrapper { + width: 100%; + position: absolute; + padding: 0px; + +} + +#wrapper.toggled #page-content-wrapper { + position: absolute; + margin-right: -200px; +} + + +/* Sidebar Styles */ + +.sidebar-nav { + position: absolute; + background: #222d32; + top: 0; + width: 200px; + margin: 0; + padding: 0; + list-style: none; +} + +.sidebar-nav li { + text-indent: 20px; + line-height: 40px; +} +.sidebar-nav>li.header { + color: #4b646f; + background-color: #1a2226; + line-height: 35px !important; +} +.main-nav { + + /* background-color: #161926 !important;*/ +} +/*.main-nav a { + color: #fff !important; +} +*/ +.sidebar-nav li a { + display: block; + text-decoration: none; + color: #999999; +} + +.sidebar-nav li a:hover { + text-decoration: none; + color: #fff; + background: rgba(255, 255, 255, 0.2); +} + +.sidebar-nav li a:active, +.sidebar-nav li a:focus { + text-decoration: none; +} + +.sidebar-nav > .sidebar-brand { + height: 65px; + font-size: 18px; + line-height: 60px; +} + +.sidebar-nav > .sidebar-brand a { + color: #999999; +} + +.sidebar-nav > .sidebar-brand a:hover { + color: #fff; + background: none; +} + +@media(min-width:768px) { + #wrapper { + padding-left: 0; + } + #wrapper.toggled { + padding-left: 210px; + } + #sidebar-wrapper { + width: 0; + } + #wrapper.toggled #sidebar-wrapper { + width: 216px; + } + #page-content-wrapper { + padding: 0px; + position: relative; + } + #wrapper.toggled #page-content-wrapper { + position: relative; + margin-right: 0; + } +} +.accordion { + width: 200px; + list-style: none; + font-size: 14px; + color: #999999 ; + padding: 0px !important; + margin: 0px !important; +} + +.accordion .link { + cursor: pointer; + display: block; + /* padding: 15px 15px 15px 42px; + color: #4D4D4D;*/ + /* font-size: 14px; + font-weight: 700;*/ + /*border-bottom: 1px solid #CCC;*/ + position: relative; + -webkit-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + transition: all 0.4s ease; +} + +/*.accordion li:last-child .link { border-bottom: 0; }*/ + +.accordion li i { + position: absolute; + top: 13px; + left: 12px; + font-size: 16px; + color: #999999; + -webkit-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + transition: all 0.4s ease; +} + +.accordion li i.fa-chevron-down { + right: 12px; + left: auto; + font-size: 16px; +} +.accordion li .link:hover { + background: rgba(255, 255, 255, 0.2); + color: #FFF; +} +.accordion li.open .link { color: #fff; } + +.accordion li.open .link > .submenu { display: block;overflow: hidden;} + +.accordion li.open i { color: #fff; } + +.accordion li.open i.fa-chevron-down { + -webkit-transform: rotateX(180deg); + -ms-transform: rotateX(180deg); + -o-transform: rotateX(180deg); + transform: rotateX(180deg); +} + +.submenu { + display: none; + list-style: none; + margin-left: ; + background: #161926; + font-size: 14px; +} + +.submenu li { + margin-left: -38px; + } + +.submenu a { + display: block; + text-decoration: none; + color: #d9d9d9; + padding-left:20px; + -webkit-transition: all 0.25s ease; + -o-transition: all 0.25s ease; + transition: all 0.25s ease; +} + +.submenu a:hover { + background: #b63b4d; + color: #FFF; +} + + + diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 6c9127ae..b8fd5921 100644 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -9,7 +9,7 @@ class Origami::AddordersController < BaseOrigamiController end def detail - @menu = MenuCategory.all + @menu = MenuCategory.all.active @table_id = params[:id] @table = DiningFacility.find(@table_id) @booking = @table.get_booking diff --git a/app/models/menu_category.rb b/app/models/menu_category.rb index 29484bcc..e386a227 100644 --- a/app/models/menu_category.rb +++ b/app/models/menu_category.rb @@ -9,6 +9,7 @@ class MenuCategory < ApplicationRecord validates_presence_of :name, :menu, :order_by default_scope { order('order_by asc') } + scope :active, -> {where("is_available = 1")} def self.destroyCategory(menu_category) # find the sub menu item of current item diff --git a/app/views/origami/addorders/detail.html.erb b/app/views/origami/addorders/detail.html.erb index 34920a1d..425715f1 100644 --- a/app/views/origami/addorders/detail.html.erb +++ b/app/views/origami/addorders/detail.html.erb @@ -197,7 +197,7 @@

-



+
diff --git a/app/views/origami/addorders/get_menu_category.json.jbuilder b/app/views/origami/addorders/get_menu_category.json.jbuilder index 8c96a6c7..91f659e8 100644 --- a/app/views/origami/addorders/get_menu_category.json.jbuilder +++ b/app/views/origami/addorders/get_menu_category.json.jbuilder @@ -1,5 +1,8 @@ if @menu.menu_items json.menu_items @menu.menu_items do |item| - json.partial! 'origami/addorders/menu_item', item: item + if item.is_available + json.partial! 'origami/addorders/menu_item', item: item + end + end end