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
|
@qi_menu_active = sym.to_sym
|
||||||
else
|
else
|
||||||
@qi_menus.each do |k, v|
|
@qi_menus.each do |k, v|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if v[:elements] and v[:elements][sym.to_sym]
|
if v[:elements] and v[:elements][sym.to_sym]
|
||||||
@qi_menu_active = k
|
@qi_menu_active = k
|
||||||
@qi_menu_sub_menu_active = sym.to_sym
|
@qi_menu_sub_menu_active = sym.to_sym
|
||||||
break
|
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
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -65,11 +82,14 @@ class ApplicationController < ActionController::Base
|
|||||||
|
|
||||||
if current_admin.has_permission?("products")
|
if current_admin.has_permission?("products")
|
||||||
set_sub_menu :stocks, :p_products, "Produits", admin_p_products_path
|
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_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, :p_articles, "Articles", admin_p_articles_path
|
||||||
# set_sub_menu :stocks, :promos_p_products, "Offres spots", promos_admin_p_products_path
|
# set_sub_menu :stocks, :promos_p_products, "Offres spots", promos_admin_p_products_path
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if current_admin.has_permission?("product-cats")
|
if current_admin.has_permission?("product-cats")
|
||||||
set_sub_menu :stocks, :p_product_cats, "Catégories produits", admin_p_product_cats_path
|
set_sub_menu :stocks, :p_product_cats, "Catégories produits", admin_p_product_cats_path
|
||||||
@ -77,35 +97,37 @@ class ApplicationController < ActionController::Base
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
set_sub_menu :stocks, :p_preferences_products_menu, "Préférences", admin_p_products_path
|
||||||
|
|
||||||
|
|
||||||
if current_admin.has_permission?("brands")
|
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
|
end
|
||||||
|
|
||||||
if current_admin.has_permission?("fournisseurs")
|
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
|
end
|
||||||
|
|
||||||
if current_admin.has_permission?("stocks")
|
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
|
end
|
||||||
|
|
||||||
if current_admin.has_permission?("boutique")
|
if current_admin.has_permission?("boutique")
|
||||||
set_sub_menu :stocks, :p_product_colors, "Couleurs"
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_product_colors, "Couleurs"
|
||||||
set_sub_menu :stocks, :p_article_serial_nums, "Numeros série"
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_article_serial_nums, "Numeros série"
|
||||||
set_sub_menu :stocks, :p_serial_num_types, "Types de Numero série"
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_serial_num_types, "Types de Numero série"
|
||||||
set_sub_menu :stocks, :p_product_ref_specs, "Specs"
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_product_ref_specs, "Specs"
|
||||||
set_sub_menu :stocks, :p_spec_values, "Valeur de specs"
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_spec_values, "Valeur de specs"
|
||||||
set_sub_menu :stocks, :p_grades, "Grades" if PGrade::ACTIVATED
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_grades, "Grades" if PGrade::ACTIVATED
|
||||||
set_sub_menu :stocks, :p_product_powers, "Types de chargeurs"
|
set_sub_sub_menu :stocks, :p_preferences_products_menu, :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_zones, "Zones produits"
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -196,6 +218,16 @@ class ApplicationController < ActionController::Base
|
|||||||
@qi_menus[big_menu.to_sym][:elements][sub_menu.to_sym] = {:name => name, :link => link}
|
@qi_menus[big_menu.to_sym][:elements][sub_menu.to_sym] = {:name => name, :link => link}
|
||||||
|
|
||||||
end
|
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
|
before_action :set_product_display
|
||||||
|
@ -9,18 +9,17 @@
|
|||||||
|
|
||||||
-if qi_menu_active[:elements]
|
-if qi_menu_active[:elements]
|
||||||
-qi_menu_active[:elements].each do |k,v|
|
-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)}
|
%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"
|
=link_to v[:name], v[:link], :class => "nav-link"
|
||||||
-intersect = @dropdown_elements.&(qi_menu_active[:elements].keys)
|
|
||||||
-if intersect.any?
|
-else
|
||||||
%li.nav-item.dropdown
|
%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"
|
=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"}
|
%ul.dropdown-menu{"aria-labelledby" => "navbarDropdown"}
|
||||||
-qi_menu_active[:elements].each do |k,v|
|
-v[:sub_elements].each do |k,v|
|
||||||
-if @dropdown_elements.include?(k)
|
|
||||||
%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
|
%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