merged settings_backend

This commit is contained in:
Yan
2017-06-06 09:42:53 +06:30
15 changed files with 107 additions and 65 deletions

View File

@@ -22,4 +22,13 @@ class Menu < ApplicationRecord
return current_menu
end
def self.destroyMenu(menu)
cats = MenuCategory.where("menu_id=?",menu.id)
cats.each do |cat|
abc = MenuCategory.destroyCategory(cat)
end
menu.destroy
return false
end
end

View File

@@ -8,5 +8,29 @@ class MenuCategory < ApplicationRecord
default_scope { order('order_by asc') }
def self.destroyCategory(menu_category)
# 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|
if destroyCategory(sub)
end
end
# find the items of current menu item
items = MenuItem.where("menu_category_id=?",menu_category.id)
items.each do |item|
abc = MenuItem.deleteRecursive(item)
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
menu_category.destroy
return false
end
end
end

View File

@@ -1,7 +1,6 @@
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
@@ -40,4 +39,31 @@ class MenuItem < ApplicationRecord
return nil
end
def self.deleteRecursive(menu_item)
# 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|
if deleteRecursive(subitem)
end
end
# find the instances of current menu item
instances = MenuItemInstance.where("menu_item_id=?",menu_item.id)
instances.each do |instance|
instance.destroy
end
menu_item.destroy
return true
else
instances = MenuItemInstance.where("menu_item_id=?",menu_item.id)
instances.each do |instance|
instance.destroy
end
menu_item.destroy
return false
end
end
end

View File

@@ -1,4 +1,12 @@
class MenuItemInstance < ApplicationRecord
belongs_to :menu_item
def self.findParentCategory(item)
if item.menu_category_id
return item.menu_category_id
else
parentitem = MenuItem.find(item.menu_item_id)
findParentCategory(parentitem)
end
end
end