added menu osaka
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user