From 581b20c92ca8742fa669feeee5defa067e1d70e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A9?= Date: Wed, 17 Nov 2021 14:13:16 +0100 Subject: [PATCH] breadcrumb bugfix + reorder menus + adding commercials --- .../admin/price_documents_controller.rb | 23 ++-- app/controllers/application_controller.rb | 118 +++++++++--------- app/models/price_document.rb | 2 +- .../admin/price_documents/index.html.haml | 3 + 4 files changed, 74 insertions(+), 72 deletions(-) diff --git a/app/controllers/admin/price_documents_controller.rb b/app/controllers/admin/price_documents_controller.rb index ca35b64..cef886c 100644 --- a/app/controllers/admin/price_documents_controller.rb +++ b/app/controllers/admin/price_documents_controller.rb @@ -44,21 +44,26 @@ class Admin::PriceDocumentsController < ApplicationController def admin_space - if (params[:document_type] and (params[:document_type] == "Facture d'achat" or params[:document_type] == "Commande achat")) or [6,7].include?(params[:price_document_type_id].to_i) or (params[:price_document_type_ids] and (params[:price_document_type_ids].include?("6") or params[:price_document_type_ids].include?("7"))) or (params[:id] and d = PriceDocument.where(:id => params[:id]).first and [6,7].include?(d.price_document_type_id)) - @admin_space = "documents" - - qi_menu(:documents) - - else + # if (params[:document_type] and (params[:document_type] == "Facture d'achat" or params[:document_type] == "Commande achat")) or [6,7].include?(params[:price_document_type_id].to_i) or (params[:price_document_type_ids] and (params[:price_document_type_ids].include?("6") or params[:price_document_type_ids].include?("7"))) or (params[:id] and d = PriceDocument.where(:id => params[:id]).first and [6,7].include?(d.price_document_type_id)) + if PriceDocument::PURCHASES.include?(params[:document_type]) or (params[:price_document_type_id].present? and PriceDocument::PURCHASES.include?(PriceDocumentType.find(params[:price_document_type_id].to_i).label)) or (params[:id] and d = PriceDocument.where(:id => params[:id]).first and PriceDocument::PURCHASES.include?(d.price_document_type.label)) or (params[:price_document_type_ids].present? and params[:price_document_type_ids] == PriceDocumentType.where(label: PriceDocument::PURCHASES).ids.map{|id| id.to_s}) + + @admin_space = "achats" + + qi_menu(:achats) + + elsif PriceDocument::SALES.include?(params[:document_type]) or (params[:price_document_type_id].present? and PriceDocument::SALES.include?(PriceDocumentType.find(params[:price_document_type_id].to_i).label)) or (params[:id] and d = PriceDocument.where(:id => params[:id]).first and PriceDocument::SALES.include?(d.price_document_type.label)) or (params[:price_document_type_ids].present? and params[:price_document_type_ids] == PriceDocumentType.where(label: PriceDocument::SALES).ids.map{|id| id.to_s}) @admin_space = "ventes" qi_menu(:ventes) - + else + @admin_space = "documents" + + qi_menu(:documents) end - @admin_space = "documents" + # @admin_space = "documents" - qi_menu(:documents) + # qi_menu(:documents) end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 05e0c17..5ada2fe 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -66,68 +66,52 @@ class ApplicationController < ActionController::Base def set_admin_menu - + # CLient set_big_menu :clients, "Clients", admin_p_customers_path, "address-book-o", "#016699" set_sub_menu :clients, :p_customers, "Clients", admin_p_customers_path if current_admin.has_permission?("customers") - set_sub_menu :clients, :p_customer_cats, "Catégories clients", admin_p_customer_cats_path if current_admin.has_permission?("p_customer_cats") - - + set_sub_menu :clients, :p_commercials, "Commerciaux", admin_p_commercials_path if current_admin.has_permission?("commercials") + set_sub_menu :clients, :p_commercial_cats, "Catégories de commerciaux", admin_p_commercial_cats_path if current_admin.has_permission?("commercial-cats") - set_big_menu :stocks, "Produits", admin_p_products_path, "cubes", "#718197" + + # Produit + set_big_menu :products, "Produits", admin_p_products_path, "cubes", "#718197" 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 - # set_sub_menu :stocks, :p_product_sub_cats, "Sous catégories produits", admin_p_product_sub_cats_path + set_sub_menu :products, :p_products, "Produits", admin_p_products_path + set_sub_menu :products, :p_product_refs, "Références", admin_p_product_refs_path + set_sub_menu :products, :p_articles, "Articles", admin_p_articles_path + if current_admin.has_permission?("product-cats") + set_sub_menu :products, :p_product_cats, "Catégories produits", admin_p_product_cats_path + # set_sub_menu :products, :p_product_sub_cats, "Sous catégories produits", admin_p_product_sub_cats_path + end + set_sub_menu :products, :p_preferences_products_menu, "Préférences", admin_p_products_path + # set_sub_menu :products, :promos_p_products, "Offres spots", promos_admin_p_products_path end - set_sub_menu :stocks, :p_preferences_products_menu, "Préférences", admin_p_products_path - - if current_admin.has_permission?("brands") - set_sub_sub_menu :stocks, :p_preferences_products_menu, :s_brands, "Marques", admin_s_brands_path - - + set_sub_sub_menu :products, :p_preferences_products_menu, :s_brands, "Marques", admin_s_brands_path end if current_admin.has_permission?("fournisseurs") - 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_sub_menu :stocks, :p_preferences_products_menu, :stock_alias, "Stocks", admin_line_stocks_path - - + set_sub_sub_menu :products, :p_preferences_products_menu, :p_fournisseurs, "Fournisseurs", admin_p_fournisseurs_path end if current_admin.has_permission?("boutique") # 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_types, "Types de specs" - set_sub_sub_menu :stocks, :p_preferences_products_menu, :p_spec_values, "Valeurs 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" - set_sub_sub_menu :stocks, :p_preferences_products_menu, :import_csvs, "Import Excel" + set_sub_sub_menu :products, :p_preferences_products_menu, :p_serial_num_types, "Types de Numero série" + set_sub_sub_menu :products, :p_preferences_products_menu, :p_product_ref_specs, "Specs" + set_sub_sub_menu :products, :p_preferences_products_menu, :p_spec_types, "Types de specs" + set_sub_sub_menu :products, :p_preferences_products_menu, :p_spec_values, "Valeurs de specs" + set_sub_sub_menu :products, :p_preferences_products_menu, :p_grades, "Grades" if PGrade::ACTIVATED + set_sub_sub_menu :products, :p_preferences_products_menu, :p_product_powers, "Types de chargeurs" + set_sub_sub_menu :products, :p_preferences_products_menu, :p_product_zones, "Zones produits" + set_sub_sub_menu :products, :p_preferences_products_menu, :import_csvs, "Import Excel" # set_sub_sub_menu :stocks, :p_preferences_products_menu, :import_csv_match_refs, "Rapprochement références", match_refs_admin_import_csvs_path # set_sub_sub_menu :stocks, :p_preferences_products_menu, :sorecop_cats, "Catégories SORECOP" # set_sub_sub_menu :stocks, :p_preferences_products_menu, :sorecop_taxes, "taxe SORECOP" @@ -135,46 +119,56 @@ class ApplicationController < ActionController::Base end - - - - + # Vente set_big_menu :ventes, "Commandes", admin_p_customer_sheets_path, "shopping-cart", "#518889" - set_sub_menu :ventes, :p_customer_sheets, "Demande de commande", admin_p_customer_sheets_path - #if false - PriceDocumentType.where(:label => PriceDocument::SALES).order("id DESC").all.each do |p_document_type| + PriceDocumentType.where(:label => PriceDocument::SALES).order("id DESC").all.each do |p_document_type| + set_sub_menu :ventes, :"p_document_type_#{p_document_type.label.to_s.to_slug}", p_document_type.label, admin_price_documents_path(:price_document_type_id => p_document_type.id) + end + set_sub_menu :ventes, :price_documents_all, "Tous documents", admin_price_documents_path(:price_document_type_ids => PriceDocumentType.where(:label => PriceDocument::SALES).ids) - set_sub_menu :ventes, :"p_document_type_#{p_document_type.label.to_s.to_slug}", p_document_type.label, admin_price_documents_path(:price_document_type_id => p_document_type.id) - end + # Achat + set_big_menu :achats, "Achats", admin_price_documents_path(:price_document_type_ids => PriceDocumentType.where(:label => PriceDocument::PURCHASES).ids), "file-text-o", "#d97941" + PriceDocumentType.where(:label => PriceDocument::PURCHASES).order("id DESC").all.each do |p_document_type| + set_sub_menu :achats, :"p_document_type_#{p_document_type.label.to_s.to_slug}", p_document_type.label, admin_price_documents_path(:price_document_type_id => p_document_type.id) + end + set_sub_menu :achats, :price_documents_all, "Tous documents", admin_price_documents_path(:price_document_type_ids => PriceDocumentType.where(:label => PriceDocument::PURCHASES).ids) + + if current_admin.has_permission?("stocks") + set_sub_menu :achats, :line_stocks, "Lignes de stock", admin_line_stocks_path + set_sub_menu :achats, :stock_movements, "Mouvements de stock manuel", admin_stock_movements_path + end + + # Stock + # set_big_menu :stocks, "Stocks", admin_line_stocks_path, "cubes", "#d97941" + # TODO Corriger le path + + + # set_sub_sub_menu :stocks, :p_preferences_products_menu, :stock_alias, "Stocks", admin_line_stocks_path + + + + # Documents + # set_big_menu :documents, "Documents", admin_price_documents_path, "file-text-o", "#d97941" + # PriceDocumentType.all.order("id DESC").each do |p_document_type| + # set_sub_menu :documents, :"p_document_type_#{p_document_type.label.to_s.to_slug}", p_document_type.label, admin_price_documents_path(:price_document_type_id => p_document_type.id) + # end - set_sub_menu :ventes, :price_documents_all, "Tous documents", admin_price_documents_path - #end if current_admin.has_permission?("bills") - set_big_menu :documents, "Achats", admin_price_documents_path(:price_document_type_id =>6, :purchase => true), "file-text-o", "#d97941" #set_sub_menu :documents, :buy_lists, "TdB achats" - set_sub_menu :documents, :line_stocks, "Lignes de stock", admin_line_stocks_path - set_sub_menu :documents, :stock_movements, "Mouvements de stock manuel", admin_stock_movements_path - PriceDocumentType.where(:label => PriceDocument::PURCHASES).order("id DESC").all.each do |p_document_type| - set_sub_menu :documents, :"p_document_type_#{p_document_type.label.to_s.to_slug}", p_document_type.label, admin_price_documents_path(:price_document_type_id => p_document_type.id) - end # set_sub_menu :documents, :"p_document_type_reponse_fournisseur", "Réponses fournisseurs", admin_price_documents_path(:price_document_type_id => PriceDocumentType.find_by(label: "Réponse fournisseur").id) - - - - end diff --git a/app/models/price_document.rb b/app/models/price_document.rb index 2505167..3076daf 100644 --- a/app/models/price_document.rb +++ b/app/models/price_document.rb @@ -26,7 +26,7 @@ class PriceDocument < ApplicationRecord #PURCHASES = ["Demande prix", "Réponse fournisseur", "Commande achat", "Facture achat", "Consultation fournisseur"] PURCHASES = ["Facture achat", "Bon de réception achat"] - SALES = ["Devis", "Avoir", "Facture", "Bon de livraison", "Bon de commande"] + SALES = ["Devis", "Avoir", "Facture", "Bon de livraison", "Bon de commande client"] # AVANCEMENT = ["0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%"] AVANCEMENT = ["0%", "25%", "50%", "75%", "100"] diff --git a/app/views/admin/price_documents/index.html.haml b/app/views/admin/price_documents/index.html.haml index 6ad976f..65869ab 100644 --- a/app/views/admin/price_documents/index.html.haml +++ b/app/views/admin/price_documents/index.html.haml @@ -8,8 +8,11 @@ -else =link_to ic(:plus)+" Demande de commande", admin_p_customers_path(:offre => true), :class => "btn btn-primary bgbd-ventes" + -if params[:price_document_type_id] =breadcrumb second_title: PriceDocumentType.find(params[:price_document_type_id]).label + -else + =breadcrumb second_title: "Tous les documents" .qi_search_row =form_tag "", :method => "get", :onsubmit => "" do