diff --git a/app/controllers/settings/set_menu_items_controller.rb b/app/controllers/settings/set_menu_items_controller.rb index 1fbeb148..c460c362 100755 --- a/app/controllers/settings/set_menu_items_controller.rb +++ b/app/controllers/settings/set_menu_items_controller.rb @@ -141,6 +141,6 @@ class Settings::SetMenuItemsController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def settings_menu_item_params - params.require(:set_menu_item).permit(:item_code, :name, :alt_name, :type, :image_path, :menu_category_id,:account_id , :item_attributes, :item_options, :min_qty, :is_sub_item, :is_available, :created_by, :item_sets, :unit) + params.require(:set_menu_item).permit(:item_code, :name, :alt_name, :type, :image_path, :menu_category_id,:account_id , :item_attributes, :item_options, :min_qty, :is_sub_item, :is_available, :created_by, :item_sets, :unit, :taxable) end end diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb index 35af3b83..9a7c46db 100755 --- a/app/controllers/settings/simple_menu_items_controller.rb +++ b/app/controllers/settings/simple_menu_items_controller.rb @@ -157,6 +157,6 @@ class Settings::SimpleMenuItemsController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def settings_menu_item_params - params.require(:simple_menu_item).permit(:item_code, :name, :alt_name, :type, :image_path, :menu_category_id, :account_id, :item_attributes, :item_options, :min_qty, :is_sub_item, :is_available, :created_by, :item_sets, :unit) + params.require(:simple_menu_item).permit(:item_code, :name, :alt_name, :type, :image_path, :menu_category_id, :account_id, :item_attributes, :item_options, :min_qty, :is_sub_item, :is_available, :created_by, :item_sets, :unit, :taxable) end end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 9bfcdb85..67a3c823 100755 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -13,7 +13,7 @@ class MenuItem < ApplicationRecord has_many :menu_item_sets has_many :item_sets, through: :menu_item_sets - validates_presence_of :item_code, :name, :type, :min_qty, :taxable,:account_id + validates_presence_of :item_code, :name, :type, :min_qty,:account_id validates_uniqueness_of :item_code default_scope { order('item_code asc') } diff --git a/app/models/order.rb b/app/models/order.rb index dd6f6d66..ba8adc8f 100755 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -133,7 +133,7 @@ class Order < ApplicationRecord OrderItem.processs_item(menu_item[:item_code], item[:item_instance_code], menu_item[:name], menu_item[:alt_name], menu_item[:account_id], item[:quantity],menu_item[:price], item[:options], set_order_items, self.id, - self.employee_name) + self.employee_name, menu_item[:taxable]) #end end diff --git a/app/models/order_item.rb b/app/models/order_item.rb index 12c8c378..776bb94c 100755 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -20,7 +20,7 @@ class OrderItem < ApplicationRecord # option_values : [], # sub_order_items : [], # } - def self.processs_item (item_code, instance_code, menu_name, alt_name, account_id, qty,price, options, set_menu_items, order_id, item_order_by) + def self.processs_item (item_code, instance_code, menu_name, alt_name, account_id, qty,price, options, set_menu_items, order_id, item_order_by, taxable) orderitem = OrderItem.create do |oitem| oitem.order_id = order_id @@ -31,6 +31,7 @@ class OrderItem < ApplicationRecord oitem.account_id = account_id oitem.qty = qty oitem.price = price + oitem.taxable = taxable oitem.options = options oitem.set_menu_items = set_menu_items oitem.item_order_by = item_order_by #person who order this. * If emenu - it will be login user on the app diff --git a/app/models/sale.rb b/app/models/sale.rb index 306c37ad..2591dfe3 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -225,7 +225,11 @@ class Sale < ApplicationRecord puts "item.sales_item_id ddd" puts item.sale_item_id subtotal_price = subtotal_price + item.price - total_taxable = total_taxable + item.taxable_price + + # only calc tax when true + if(item.is_taxable) + total_taxable = total_taxable + item.taxable_price + end # total_taxable = total_taxable + (item.taxable_price * item.qty) end @@ -287,7 +291,11 @@ class Sale < ApplicationRecord if item.remark != 'void' && item.remark != 'foc' #compute each item and added to total subtotal_price = subtotal_price + item.price - total_taxable = total_taxable + item.price + + # only calc tax when true + if(item.is_taxable) + total_taxable = total_taxable + item.taxable_price + end end end diff --git a/app/views/settings/set_menu_items/_form.html.erb b/app/views/settings/set_menu_items/_form.html.erb index 31a31c15..0f8eed54 100755 --- a/app/views/settings/set_menu_items/_form.html.erb +++ b/app/views/settings/set_menu_items/_form.html.erb @@ -16,6 +16,8 @@ <%= f.input :is_available,:input_html => {:class => "col-md-9"} %> + <%= f.input :taxable,:input_html => {:class => "col-md-9"} %> + <%= f.input :is_sub_item,:input_html => {:class => "col-md-9"} %> <%= f.input :unit, :collection => Lookup.collection_of("unit") ,:input_html => {:class => "col-md-9"} %> diff --git a/app/views/settings/simple_menu_items/_form.html.erb b/app/views/settings/simple_menu_items/_form.html.erb index ff143e46..39932bdd 100755 --- a/app/views/settings/simple_menu_items/_form.html.erb +++ b/app/views/settings/simple_menu_items/_form.html.erb @@ -16,6 +16,8 @@ <%= f.input :is_available,:input_html => {:class => "col-md-9"} %> + <%= f.input :taxable,:input_html => {:class => "col-md-9"} %> + <%= f.input :is_sub_item,:input_html => {:class => "col-md-9"} %> <%= f.input :unit, :collection => Lookup.collection_of("unit") ,:input_html => {:class => "col-md-9"} %>