diff --git a/app/controllers/settings/set_menu_items_controller.rb b/app/controllers/settings/set_menu_items_controller.rb
index 1c3e2247..5946ff49 100644
--- a/app/controllers/settings/set_menu_items_controller.rb
+++ b/app/controllers/settings/set_menu_items_controller.rb
@@ -81,6 +81,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, :menu_category_id, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by)
+ params.require(:set_menu_item).permit(:item_code, :name, :alt_name, :type, :menu_category_id,:account_id , :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by)
end
end
diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb
index b02310dc..05952d0d 100644
--- a/app/controllers/settings/simple_menu_items_controller.rb
+++ b/app/controllers/settings/simple_menu_items_controller.rb
@@ -78,6 +78,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, :menu_category_id,:item_attributes, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by)
+ params.require(:simple_menu_item).permit(:item_code, :name, :alt_name, :type, :menu_category_id,:account_id,:item_attributes, :menu_item_id, :min_qty, :min_selectable_item, :max_selectable_item, :created_by)
end
end
diff --git a/app/models/account.rb b/app/models/account.rb
index e1cdc6d3..a950865c 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -3,5 +3,7 @@ class Account < ApplicationRecord
has_many :menu_items
# belongs_to :lookup , :class_name => "Lookup"
-
+ def self.collection
+ Account.select("id, title").map { |e| [e.title, e.id] }
+ end
end
diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb
index 9c5a75ac..89967e2e 100644
--- a/app/models/menu_item.rb
+++ b/app/models/menu_item.rb
@@ -1,10 +1,10 @@
class MenuItem < ApplicationRecord
- #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
has_many :children, :class_name => "MenuItem", foreign_key: "menu_item_id"
+ belongs_to :account
validates_presence_of :item_code, :name, :type, :min_qty, :taxable, :min_selectable_item, :max_selectable_item
diff --git a/app/views/settings/menu_item_options/show.html.erb b/app/views/settings/menu_item_options/show.html.erb
index fdcb9d09..611f3165 100644
--- a/app/views/settings/menu_item_options/show.html.erb
+++ b/app/views/settings/menu_item_options/show.html.erb
@@ -2,8 +2,7 @@
diff --git a/app/views/settings/set_menu_items/_form.html.erb b/app/views/settings/set_menu_items/_form.html.erb
index bdf0e97e..aeae0f5c 100644
--- a/app/views/settings/set_menu_items/_form.html.erb
+++ b/app/views/settings/set_menu_items/_form.html.erb
@@ -6,6 +6,7 @@
<%= f.input :name %>
<%= f.input :alt_name %>
<%= f.input :type %>
+ <%= f.input :account_id, :label => "Account type", :collection => Account.collection %>
<%= f.input :menu_item_id, :label => "Parent Menu Item", :collection => MenuItem.collection %>
<%= f.input :min_qty %>
diff --git a/app/views/settings/set_menu_items/show.html.erb b/app/views/settings/set_menu_items/show.html.erb
index 0082c819..ba23771f 100644
--- a/app/views/settings/set_menu_items/show.html.erb
+++ b/app/views/settings/set_menu_items/show.html.erb
@@ -19,6 +19,7 @@
Name |
Alt name |
Type |
+ Account Type |
Menu category |
Menu item |
Min qty |
@@ -35,6 +36,7 @@
<%= @settings_menu_item.name rescue "-" %> |
<%= @settings_menu_item.alt_name %> |
<%= @settings_menu_item.type %> |
+ <%= @settings_menu_item.account.title %> |
<%= @settings_menu_item.menu_category_id %> |
<%= @settings_menu_item.menu_item_id %> |
<%= @settings_menu_item.min_qty %> |
diff --git a/app/views/settings/simple_menu_items/_form.html.erb b/app/views/settings/simple_menu_items/_form.html.erb
index 885f725e..01c5b482 100644
--- a/app/views/settings/simple_menu_items/_form.html.erb
+++ b/app/views/settings/simple_menu_items/_form.html.erb
@@ -6,6 +6,7 @@
<%= f.input :name %>
<%= f.input :alt_name %>
<%= f.input :type %>
+ <%= f.input :account_id, :label => "Account type", :collection => Account.collection %>
<%= f.input :menu_item_id, :label => "Parent Menu Item", :collection => MenuItem.collection %>
<%= f.input :min_qty %>
<%= f.input :min_selectable_item %>
diff --git a/app/views/settings/simple_menu_items/show.html.erb b/app/views/settings/simple_menu_items/show.html.erb
index d2d93e0e..11620acd 100644
--- a/app/views/settings/simple_menu_items/show.html.erb
+++ b/app/views/settings/simple_menu_items/show.html.erb
@@ -21,6 +21,7 @@
Name |
Alt name |
Type |
+ Accout |
Menu category |
Menu item |
Min qty |
@@ -37,6 +38,7 @@
<%= @settings_menu_item.name rescue "-" %> |
<%= @settings_menu_item.alt_name %> |
<%= @settings_menu_item.type %> |
+ <%= @settings_menu_item.account.title %> |
<%= @settings_menu_item.menu_category_id %> |
<%= @settings_menu_item.menu_item_id %> |
<%= @settings_menu_item.min_qty %> |
diff --git a/db/migrate/20170602101727_create_accounts.rb b/db/migrate/20170331024747_create_accounts.rb
similarity index 100%
rename from db/migrate/20170602101727_create_accounts.rb
rename to db/migrate/20170331024747_create_accounts.rb
diff --git a/db/migrate/20170331024749_create_menu_items.rb b/db/migrate/20170331024749_create_menu_items.rb
index f61a9172..81baa5ab 100644
--- a/db/migrate/20170331024749_create_menu_items.rb
+++ b/db/migrate/20170331024749_create_menu_items.rb
@@ -10,6 +10,7 @@ class CreateMenuItems < ActiveRecord::Migration[5.0]
t.string :type, :null => false, :default => "SimpleMenuItem"
t.references :menu_category, foreign_key: true
t.references :menu_item, foreign_key: true
+ t.references :account, foreign_key: true
t.integer :min_qty, :null => false, :default => 1
t.boolean :taxable, :null => false, :default => true
t.integer :min_selectable_item, :null => false, :default => 1
diff --git a/db/seeds.rb b/db/seeds.rb
index 4d7799db..02fa39fb 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -90,6 +90,9 @@ room = Room.create({name:"Default Room", zone: zone2, status:"available", seater
#Tax Profile
tax_profiles = TaxProfile.create({id:1, name: "Commerical Tax", rate:5.0, order_by:1, 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"})
#Default menu
menu = Menu.create({name: "Default Menu", is_active: true, created_by: "SYSTEM DEFAULT"})
@@ -104,17 +107,17 @@ menu_category3 = MenuCategory.create({menu: menu, code:"C006", name: "Sample Men
menu_category4 = MenuCategory.create({menu: menu, code:"C006", name: "Sample Menu Category 4", alt_name: "Sample Alternate Category 4", order_by: 1, menu_category_id: menu_category3.id, created_by: "SYSTEM DEFAULT"})
#Default Menu items
-menu_category1_menu_item0 = SimpleMenuItem.create({item_code:"01001", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 })
+menu_category1_menu_item0 = SimpleMenuItem.create({item_code:"01001", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1, account: food })
menu_item0_instance = MenuItemInstance.create([{item_instance_name:"half portion",item_instance_code:"01001-1", menu_item: menu_category1_menu_item0, price:12.00, is_on_promotion:false}])
menu_item0_instance = MenuItemInstance.create([{item_instance_name:"full portion",item_instance_code:"01001-2", menu_item: menu_category1_menu_item0, price:18.00, is_on_promotion:false}])
-menu_category1_menu_item1 = SetMenuItem.create({item_code:"I004", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 })
-menu_category1_menu_item2 = SetMenuItem.create({item_code:"I005", name: "Default Menu Item Name 2",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 2", min_selectable_item: 1, max_selectable_item:1 })
-menu_category1_menu_item3 = SetMenuItem.create({item_code:"I006", name: "Default Menu Item Name 3",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 3", min_selectable_item: 1, max_selectable_item:1 })
+menu_category1_menu_item1 = SetMenuItem.create({item_code:"I004", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category1 , min_selectable_item: 1, max_selectable_item:1 , account: food})
+menu_category1_menu_item2 = SetMenuItem.create({item_code:"I005", name: "Default Menu Item Name 2",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 2", min_selectable_item: 1, max_selectable_item:1 , account: food})
+menu_category1_menu_item3 = SetMenuItem.create({item_code:"I006", name: "Default Menu Item Name 3",parent: menu_category1_menu_item1, alt_name: "Alternate Menu Item Name 3", min_selectable_item: 1, max_selectable_item:1 , account: food})
-menu_category2_menu_item0 = SimpleMenuItem.create({item_code:"I007", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 })
-menu_category2_menu_item1 = SimpleMenuItem.create({item_code:"I008", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 })
-menu_category2_menu_item2 = SimpleMenuItem.create({item_code:"I009", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 3 })
+menu_category2_menu_item0 = SimpleMenuItem.create({item_code:"I007", name: "Default Menu Item Name 0", alt_name: "Alternate Menu Item Name 0",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 , account: food})
+menu_category2_menu_item1 = SimpleMenuItem.create({item_code:"I008", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 , account: food})
+menu_category2_menu_item2 = SimpleMenuItem.create({item_code:"I009", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 3 , account: food})
menu_item_attribute_size_small = MenuItemAttribute.create({attribute_type:"size", name: "Small", value: "small"})
menu_item_attribute_size_medium = MenuItemAttribute.create({attribute_type:"size",name: "Medium", value: "medium"})
@@ -133,7 +136,3 @@ 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"})