merged settings_backend
This commit is contained in:
@@ -63,7 +63,14 @@ class Settings::MenuCategoriesController < ApplicationController
|
||||
# DELETE /settings/menu_categories/1
|
||||
# DELETE /settings/menu_categories/1.json
|
||||
def destroy
|
||||
# instances = MenuItemInstance.where("menu_item_id=?",@settings_menu_item.id)
|
||||
# instances.each do |instance|
|
||||
# instance.destroy
|
||||
# end
|
||||
# @settings_menu_item.destroy
|
||||
|
||||
# @settings_menu_category.destroy
|
||||
abc = MenuCategory.destroyCategory(@settings_menu_category)
|
||||
respond_to do |format|
|
||||
format.html { redirect_to settings_menu_categories_path, notice: 'Menu category was successfully destroyed.' }
|
||||
format.json { head :no_content }
|
||||
|
||||
@@ -11,18 +11,21 @@ class Settings::MenuItemInstancesController < ApplicationController
|
||||
# GET /settings/menu_item_instances/1
|
||||
# GET /settings/menu_item_instances/1.json
|
||||
def show
|
||||
@category = MenuCategory.find(@item.menu_category_id)
|
||||
id = MenuItemInstance.findParentCategory(@item)
|
||||
@category = MenuCategory.find(id)
|
||||
end
|
||||
|
||||
# GET /settings/menu_item_instances/new
|
||||
def new
|
||||
@category = MenuCategory.find(@item.menu_category_id)
|
||||
id = MenuItemInstance.findParentCategory(@item)
|
||||
@category = MenuCategory.find(id)
|
||||
@settings_menu_item_instances = MenuItemInstance.new
|
||||
end
|
||||
|
||||
# GET /settings/menu_item_instances/1/edit
|
||||
def edit
|
||||
@category = MenuCategory.find(@item.menu_category_id)
|
||||
id = MenuItemInstance.findParentCategory(@item)
|
||||
@category = MenuCategory.find(id)
|
||||
end
|
||||
|
||||
# POST /settings/menu_item_instances
|
||||
@@ -30,6 +33,7 @@ class Settings::MenuItemInstancesController < ApplicationController
|
||||
def create
|
||||
@settings_menu_item_instances = MenuItemInstance.new(settings_menu_item_instance_params)
|
||||
|
||||
#check if the menu item type is simple or not( not only the diff of status .. here is different routes)
|
||||
if params[:simple_menu_item_id]
|
||||
@settings_menu_item_instances.menu_item_id = params[:simple_menu_item_id]
|
||||
catID = MenuItem.find(params[:simple_menu_item_id])
|
||||
@@ -38,7 +42,8 @@ class Settings::MenuItemInstancesController < ApplicationController
|
||||
catID = MenuItem.find(params[:set_menu_item_id])
|
||||
end
|
||||
|
||||
category = MenuCategory.find(catID.menu_category_id)
|
||||
id = MenuItemInstance.findParentCategory(catID)
|
||||
category = MenuCategory.find(id)
|
||||
respond_to do |format|
|
||||
if @settings_menu_item_instances.save
|
||||
@settings_menu_item_instances.item_attributes = params[:menu_item_instance][:item_attributes].reject(&:blank?)
|
||||
@@ -55,14 +60,15 @@ class Settings::MenuItemInstancesController < ApplicationController
|
||||
# PATCH/PUT /settings/menu_item_instances/1
|
||||
# PATCH/PUT /settings/menu_item_instances/1.json
|
||||
def update
|
||||
puts "params[:menu_item_instance][:item_attributes]"
|
||||
puts params[:menu_item_instance][:item_attributes]
|
||||
#check if the menu item type is simple or not( not only the diff of status .. here is different routes)
|
||||
if params[:simple_menu_item_id]
|
||||
catID = MenuItem.find(params[:simple_menu_item_id])
|
||||
else
|
||||
catID = MenuItem.find(params[:set_menu_item_id])
|
||||
end
|
||||
category = MenuCategory.find(catID.menu_category_id)
|
||||
|
||||
id = MenuItemInstance.findParentCategory(catID)
|
||||
category = MenuCategory.find(id)
|
||||
respond_to do |format|
|
||||
|
||||
if @settings_menu_item_instances.update(settings_menu_item_instance_params)
|
||||
@@ -86,7 +92,13 @@ class Settings::MenuItemInstancesController < ApplicationController
|
||||
else
|
||||
catID = MenuItem.find(params[:set_menu_item_id])
|
||||
end
|
||||
category = MenuCategory.find(catID.menu_category_id)
|
||||
# check if the menu item is sub of another menu item
|
||||
if catID.menu_category_id
|
||||
category = MenuCategory.find(catID.menu_category_id)
|
||||
else
|
||||
item = MenuItem.find(catID.menu_item_id)
|
||||
category = MenuCategory.find(item.menu_category_id)
|
||||
end
|
||||
respond_to do |format|
|
||||
format.html { redirect_to settings_menu_category_simple_menu_item_path(category,catID), notice: 'Menu item instance was successfully destroyed.' }
|
||||
format.json { head :no_content }
|
||||
|
||||
@@ -55,7 +55,8 @@ class Settings::MenusController < ApplicationController
|
||||
# DELETE /settings/menus/1
|
||||
# DELETE /settings/menus/1.json
|
||||
def destroy
|
||||
@settings_menu.destroy
|
||||
# @settings_menu.destroy
|
||||
abc = Menu.destroyMenu(@settings_menu)
|
||||
respond_to do |format|
|
||||
format.html { redirect_to settings_menus_path, notice: 'Menu was successfully destroyed.' }
|
||||
format.json { head :no_content }
|
||||
|
||||
@@ -62,7 +62,7 @@ class Settings::SetMenuItemsController < ApplicationController
|
||||
# DELETE /settings/menu_items/1
|
||||
# DELETE /settings/menu_items/1.json
|
||||
def destroy
|
||||
# @settings_menu_item.destroy
|
||||
abc = MenuItem.deleteRecursive(@settings_menu_item)
|
||||
respond_to do |format|
|
||||
format.html { redirect_to settings_menu_category_set_menu_items_path, notice: 'Menu item was successfully destroyed.' }
|
||||
format.json { head :no_content }
|
||||
|
||||
@@ -59,7 +59,7 @@ class Settings::SimpleMenuItemsController < ApplicationController
|
||||
# DELETE /settings/menu_items/1
|
||||
# DELETE /settings/menu_items/1.json
|
||||
def destroy
|
||||
# @settings_menu_item.destroy
|
||||
abc = MenuItem.deleteRecursive(@settings_menu_item)
|
||||
respond_to do |format|
|
||||
format.html { redirect_to settings_menu_category_simple_menu_items_path, notice: 'Menu item was successfully destroyed.' }
|
||||
format.json { head :no_content }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<td><%= settings_menu_category.alt_name rescue ''%></td>
|
||||
<td><%= settings_menu_category.order_by rescue ''%></td>
|
||||
<td><%= settings_menu_category.parent.name rescue ''%></td>
|
||||
<td><%= link_to 'Edit', edit_settings_menu_category_path(settings_menu_category) %> | <%= link_to 'Destroy', settings_menu_categories_path(settings_menu_category), method: :delete, data: { confirm: 'Are you sure?' } %></td></td>
|
||||
<td><%= link_to 'Edit', edit_settings_menu_category_path(settings_menu_category) %> | <%= link_to 'Destroy', settings_menu_category_path(settings_menu_category), method: :delete, data: { confirm: 'Are you sure?' } %></td></td>
|
||||
|
||||
</tr>
|
||||
<% end %>
|
||||
|
||||
@@ -20,3 +20,5 @@
|
||||
<%= f.button :submit %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="<%= root_path %>">Home</a></li>
|
||||
|
||||
<li><a href="<%= settings_menu_category_simple_menu_item_path(@category,@item) %>">Menu Category</a></li>
|
||||
<li>Menu Item</li>
|
||||
<li><a href="<%= settings_menu_category_simple_menu_item_path(@category,@item) %>">Menu Item</a></li>
|
||||
<li>New Menu Item Instance</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
<ul class="breadcrumb">
|
||||
|
||||
<li><a href="<%= root_path %>">Home</a></li>
|
||||
<li><a href="<%= settings_menu_category_simple_menu_item_path(@category,@item) %>">Menu Category</a></li>
|
||||
<li>Menu Item</li>
|
||||
<li><a href="<%= settings_menu_category_simple_menu_item_path(@category,@item) %>">Menu Item</a></li>
|
||||
<li>Menu Item Instances</li>
|
||||
|
||||
<span style="float: right">
|
||||
@@ -52,50 +51,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="card">
|
||||
<div class="card-block">
|
||||
<h4 class="card-title">Sub Menu Items </h4>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Item code</th>
|
||||
<th>Name</th>
|
||||
<th>Alt name</th>
|
||||
<th>Type</th>
|
||||
<th>Parent Item</th>
|
||||
<th>Created by</th>
|
||||
<th>Created at</th>
|
||||
|
||||
<th colspan="3"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<% @sub_menu.each do |settings_menu_item| %>
|
||||
<tr>
|
||||
<td><%= settings_menu_item.item_code %></td>
|
||||
<td><%= settings_menu_item.name %></td>
|
||||
<td><%= settings_menu_item.alt_name %></td>
|
||||
<td><%= settings_menu_item.type %></td>
|
||||
<td><%= settings_menu_item.parent.name rescue "-" %></td>
|
||||
<td><%= settings_menu_item.created_by %></td>
|
||||
<td><%=l settings_menu_item.created_at, :format => :short %></td>
|
||||
|
||||
<% if settings_menu_item.type == "SimpleMenuItem" %>
|
||||
<td><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %></td>
|
||||
<td><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %></td>
|
||||
<td><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
<% else %>
|
||||
<td><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %></td>
|
||||
<td><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %></td>
|
||||
<td><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
<% end %>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
|
||||
</div>
|
||||
|
||||
@@ -36,7 +36,8 @@
|
||||
<td><%= settings_menu.created_by %></td>
|
||||
<!-- <td><%=l settings_menu.created_at, format: :short %></td> -->
|
||||
<td><%= settings_menu.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %></td>
|
||||
<td><%= link_to 'Edit', edit_settings_menu_path(settings_menu) %></td>
|
||||
<td><%= link_to 'Edit', edit_settings_menu_path(settings_menu) %></td>
|
||||
<td><%= link_to 'Destroy', settings_menu_path(settings_menu), method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user