Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant

This commit is contained in:
Yan
2017-07-11 11:04:17 +06:30
6 changed files with 494 additions and 10 deletions

View File

@@ -1,4 +1,7 @@
class MenuCategory < ApplicationRecord
before_create :generate_menu_category_code
belongs_to :menu
has_many :children, :class_name => "MenuCategory", foreign_key: "menu_category_id"
belongs_to :parent, :class_name => "MenuCategory", foreign_key: "menu_category_id", optional: true
@@ -12,7 +15,7 @@ class MenuCategory < ApplicationRecord
# find the sub menu item of current item
sub_menu_cat = MenuCategory.where("menu_category_id=?",menu_category.id)
if sub_menu_cat.length != 0
sub_menu_cat.each do |sub|
sub_menu_cat.each do |sub|
if destroyCategory(sub)
end
end
@@ -20,17 +23,22 @@ class MenuCategory < ApplicationRecord
items = MenuItem.where("menu_category_id=?",menu_category.id)
items.each do |item|
abc = MenuItem.deleteRecursive(item)
end
end
menu_category.destroy
return true
else
items = MenuItem.where("menu_category_id=?",menu_category.id)
items.each do |item|
abc = MenuItem.deleteRecursive(item)
end
end
menu_category.destroy
return false
end
end
private
def generate_menu_category_code
self.code = SeedGenerator.generate_id(self.class.name, "C")
end
end

View File

@@ -1,5 +1,7 @@
class MenuItem < ApplicationRecord
before_create :generate_menu_item_code
belongs_to :menu_category, :optional => true
has_many :menu_item_instances
belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true
@@ -11,7 +13,7 @@ class MenuItem < ApplicationRecord
default_scope { order('item_code asc') }
scope :simple_menu_item, -> { where(type: 'SimpleMenuItem') }
scope :set_menu_item, -> { where(type: 'SetMenuItem') }
scope :set_menu_item, -> { where(type: 'SetMenuItem') }
def self.collection
MenuItem.select("id, name").map { |e| [e.name, e.id] }
@@ -46,7 +48,7 @@ class MenuItem < ApplicationRecord
# find the sub menu item of current item
sub_menu_items = MenuItem.where("menu_item_id=?",menu_item.id)
if sub_menu_items.length != 0
sub_menu_items.each do |subitem|
sub_menu_items.each do |subitem|
if deleteRecursive(subitem)
end
end
@@ -54,17 +56,24 @@ class MenuItem < ApplicationRecord
instances = MenuItemInstance.where("menu_item_id=?",menu_item.id)
instances.each do |instance|
instance.destroy
end
end
menu_item.destroy
return true
else
instances = MenuItemInstance.where("menu_item_id=?",menu_item.id)
instances.each do |instance|
instance.destroy
end
end
menu_item.destroy
return false
end
end
end
private
def generate_menu_item_code
self.item_code = SeedGenerator.generate_id(self.class.name, "I")
end
end

View File

@@ -1,6 +1,7 @@
class MenuItemInstance < ApplicationRecord
belongs_to :menu_item
before_create :generate_menu_item_instance_code
def self.findParentCategory(item)
if item.menu_category_id
return item.menu_category_id
@@ -9,4 +10,10 @@ class MenuItemInstance < ApplicationRecord
findParentCategory(parentitem)
end
end
private
def generate_menu_item_instance_code
self.item_instance_code = SeedGenerator.generate_id(self.class.name, "II")
end
end