Update menu function for sub menus
This commit is contained in:
parent
f27cf5378d
commit
bebd0c0ff9
@ -22,10 +22,27 @@ class ApplicationController < ActionController::Base
|
||||
@qi_menu_active = sym.to_sym
|
||||
else
|
||||
@qi_menus.each do |k, v|
|
||||
|
||||
|
||||
|
||||
if v[:elements] and v[:elements][sym.to_sym]
|
||||
@qi_menu_active = k
|
||||
@qi_menu_sub_menu_active = sym.to_sym
|
||||
break
|
||||
|
||||
elsif v[:elements]
|
||||
|
||||
v[:elements].each do |a,b|
|
||||
puts "TEST"
|
||||
puts b[0]
|
||||
puts "B"
|
||||
if b[:sub_elements] and b[:sub_elements][sym.to_sym]
|
||||
@qi_menu_active = k
|
||||
@qi_menu_sub_menu_active = sym.to_sym
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
@ -65,11 +82,14 @@ class ApplicationController < ActionController::Base
|
||||
|
||||
if current_admin.has_permission?("products")
|
||||
set_sub_menu :stocks, :p_products, "Produits", admin_p_products_path
|
||||
|
||||
set_sub_menu :stocks, :p_product_refs, "Références", admin_p_product_refs_path
|
||||
set_sub_menu :stocks, :p_articles, "Articles", admin_p_articles_path
|
||||
# set_sub_menu :stocks, :promos_p_products, "Offres spots", promos_admin_p_products_path
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
if current_admin.has_permission?("product-cats")
|
||||
set_sub_menu :stocks, :p_product_cats, "Catégories produits", admin_p_product_cats_path
|
||||
@ -77,35 +97,37 @@ class ApplicationController < ActionController::Base
|
||||
|
||||
end
|
||||
|
||||
|
||||
set_sub_menu :stocks, :p_preferences_products_menu, "Préférences", admin_p_products_path
|
||||
|
||||
|
||||
if current_admin.has_permission?("brands")
|
||||
set_sub_menu :stocks, :s_brands, "Marques", admin_s_brands_path
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :s_brands, "Marques", admin_s_brands_path
|
||||
|
||||
|
||||
end
|
||||
|
||||
if current_admin.has_permission?("fournisseurs")
|
||||
set_sub_menu :stocks, :p_fournisseurs, "Fournisseurs", admin_p_fournisseurs_path
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_fournisseurs, "Fournisseurs", admin_p_fournisseurs_path
|
||||
|
||||
|
||||
end
|
||||
|
||||
if current_admin.has_permission?("stocks")
|
||||
set_sub_menu :stocks, :stock_alias, "Stocks", admin_line_stocks_path
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :stock_alias, "Stocks", admin_line_stocks_path
|
||||
|
||||
|
||||
end
|
||||
|
||||
if current_admin.has_permission?("boutique")
|
||||
set_sub_menu :stocks, :p_product_colors, "Couleurs"
|
||||
set_sub_menu :stocks, :p_article_serial_nums, "Numeros série"
|
||||
set_sub_menu :stocks, :p_serial_num_types, "Types de Numero série"
|
||||
set_sub_menu :stocks, :p_product_ref_specs, "Specs"
|
||||
set_sub_menu :stocks, :p_spec_values, "Valeur de specs"
|
||||
set_sub_menu :stocks, :p_grades, "Grades" if PGrade::ACTIVATED
|
||||
set_sub_menu :stocks, :p_product_powers, "Types de chargeurs"
|
||||
set_sub_menu :stocks, :p_product_zones, "Zones produits"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_product_colors, "Couleurs"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_article_serial_nums, "Numeros série"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_serial_num_types, "Types de Numero série"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_product_ref_specs, "Specs"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_spec_values, "Valeur de specs"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_grades, "Grades" if PGrade::ACTIVATED
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_product_powers, "Types de chargeurs"
|
||||
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_product_zones, "Zones produits"
|
||||
|
||||
|
||||
end
|
||||
@ -196,6 +218,16 @@ class ApplicationController < ActionController::Base
|
||||
@qi_menus[big_menu.to_sym][:elements][sub_menu.to_sym] = {:name => name, :link => link}
|
||||
|
||||
end
|
||||
|
||||
|
||||
def set_sub_sub_menu(big_menu, sub_menu, sub_sub_menu, name, link=nil)
|
||||
|
||||
link = eval("admin_#{sub_sub_menu}_path") if !link
|
||||
@qi_menus[big_menu.to_sym][:elements][sub_menu.to_sym][:sub_elements] = @qi_menus[big_menu.to_sym][:elements][sub_menu.to_sym][:sub_elements] || {}
|
||||
|
||||
@qi_menus[big_menu.to_sym][:elements][sub_menu.to_sym][:sub_elements][sub_sub_menu.to_sym] = {:name => name, :link => link}
|
||||
|
||||
end
|
||||
|
||||
|
||||
before_action :set_product_display
|
||||
|
@ -9,18 +9,17 @@
|
||||
|
||||
-if qi_menu_active[:elements]
|
||||
-qi_menu_active[:elements].each do |k,v|
|
||||
-if !@dropdown_elements.include?(k)
|
||||
-if !v[:sub_elements]
|
||||
%li.nav-item{class: ("active" if @qi_menu_sub_menu_active and @qi_menu_sub_menu_active == k)}
|
||||
=link_to v[:name], v[:link], :class => "nav-link"
|
||||
-intersect = @dropdown_elements.&(qi_menu_active[:elements].keys)
|
||||
-if intersect.any?
|
||||
%li.nav-item.dropdown
|
||||
=link_to @dropdown_title, '#', class: "nav-link dropdown-toggle", id: "navbarDropdown", "role" => "button", "data-toggle" => "dropdown", "aria-haspopup" => "true", "aria-expanded" => "false"
|
||||
%ul.dropdown-menu{"aria-labelledby" => "navbarDropdown"}
|
||||
-qi_menu_active[:elements].each do |k,v|
|
||||
-if @dropdown_elements.include?(k)
|
||||
|
||||
-else
|
||||
%li.nav-item.dropdown
|
||||
=link_to v[:name], v[:link], class: "nav-link dropdown-toggle "+("active" if (@qi_menu_sub_menu_active and @qi_menu_sub_menu_active == k) or (v[:sub_elements] and v[:sub_elements][@qi_menu_sub_menu_active])).to_s , id: "navbarDropdown", "role" => "button", "data-toggle" => "dropdown", "aria-haspopup" => "true", "aria-expanded" => "false"
|
||||
%ul.dropdown-menu{"aria-labelledby" => "navbarDropdown"}
|
||||
-v[:sub_elements].each do |k,v|
|
||||
%li=link_to v[:name], v[:link], :class => "dropdown-item"+(" active" if (@qi_menu_sub_menu_active and @qi_menu_sub_menu_active == k)).to_s
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user