diff --git a/app/controllers/admin/price_documents_controller.rb b/app/controllers/admin/price_documents_controller.rb index 542942d..6fa1ad2 100644 --- a/app/controllers/admin/price_documents_controller.rb +++ b/app/controllers/admin/price_documents_controller.rb @@ -612,35 +612,32 @@ class Admin::PriceDocumentsController < ApplicationController def analyse_reponses @price_document = PriceDocument.find(params[:id]) @price_document_responses = PriceDocument.where(:doc_ref_id => @price_document.id, :price_document_type_id => PriceDocumentType.find_by_label("Réponse fournisseur").id ) - end + def analyse_reponses_save + @price_document = PriceDocument.find(params[:id]) + if @price_document.update_attributes(params.require(:price_document).permit!) + redirect_to :analyse_reponses_admin_price_document + else + render :edit + end + end + + def generate_final_consult - # price_line_to_add ={id_fournisseur {price_line_resp_id: id, ||||| id priceline resp => id price line selectionné, prix} } - price_lines_to_add = {} @price_document_demand = PriceDocument.find(params[:id]) - #@price_document_responses = PriceDocument.where(doc_ref_id: price_document_demand) - #@result = [] @price_document_demand.price_line_block.price_lines.each do |pl_demand| pl_demand.price_line_resps.all.each do |price_line_resp| - price_lines_to_add[price_line_resp.p_fournisseur.id] = price_lines_to_add[price_line_resp.p_fournisseur.id] || {:p_fournisseur => price_line_resp.p_fournisseur, :price_lines => [] } - - price_lines_to_add[price_line_resp.p_fournisseur.id][:price_lines] << price_line_resp - - end - + end - - - price_lines_to_add.each do |k,v| new_final_consult = PriceDocument.new(:doc_ref_id => @price_document_demand.id,:date => Date.today, :price_document_type => PriceDocumentType.find_by_label("Consultation fournisseur")) new_final_consult.price_line_block = PriceLineBlock.new(:p_fournisseur => v[:p_fournisseur]) @@ -648,43 +645,12 @@ class Admin::PriceDocumentsController < ApplicationController v[:price_lines].each do |price_line_resp| new_final_consult.price_line_block.price_lines << PriceLine.new(:p_product_ref => price_line_resp.p_product_ref, :qte => price_line_resp.qte_available, :ct_u_price_ht => price_line_resp.price_u_ht ) end - + new_final_consult.save - + end - - - #pl_response = pl_demand.price_line_resps.first - #@p_fournisseur = PFournisseur.find(pl_response) - #@final_consult.price_line_block.new(params.require[:price_document][:price_line_block_attributes].permit!) - #@price_document = PriceDocument.new(:p_fournisseur_id => params[:p_fournisseur_id]) - #PriceDocument.new() - #@result << pl_demand - - #end - - - render :consult_index - - - # @price_document = PriceDocument.new(:p_customer_id => params[:p_customer_id], :p_fournisseur_id => params[:p_fournisseur_id]) - # @price_document.price_document_type = PriceDocumentType.where(:label => "Réponse fournisseur").first - # @price_document.price_line_block = PriceLineBlock.new(:p_customer_id => params[:p_customer_id], :p_fournisseur_id => params[:p_fournisseur_id]) - # @price_document.doc_ref_id = @demande.id - - # @ref_price_lines = @demande.price_line_block.price_lines - - # @ref_price_lines.group(:p_product_ref_id).each do |plr| - # @price_document.price_line_block.price_lines << PriceLine.new(:price_line_ref_id => plr.id, :p_product_ref_id => plr.p_product_ref_id, :qte => @ref_price_lines.where(:p_product_ref_id => plr.p_product_ref_id).sum(:qte)) - # end - end - - def final_consult - @price_document = PriceDocument.find(params[:id]) - if @price_document.update_attributes(params.require(:price_document).permit!) - else - render :edit - end + @final_consult = PriceDocument.where(price_document_type: PriceDocumentType.find_by_label("Consultation fournisseur")).last + redirect_to :analyse_reponses_admin_price_document end end diff --git a/app/views/admin/price_documents/analyse_reponses.html.haml b/app/views/admin/price_documents/analyse_reponses.html.haml index 67ae51e..f0adeb4 100644 --- a/app/views/admin/price_documents/analyse_reponses.html.haml +++ b/app/views/admin/price_documents/analyse_reponses.html.haml @@ -8,7 +8,7 @@ = @price_document.list_designaton -unmatched_fournisseur = 0 -=semantic_form_for [:admin, @price_document],url: final_consult_admin_price_document_path, method: :post, :html => {:class => "qi_price_form"}, :remote => false do |form| +=semantic_form_for [:admin, @price_document],url: analyse_reponses_save_admin_price_document_path, method: :post, :html => {:class => "qi_price_form"}, :remote => false do |form| =form.semantic_fields_for :price_line_block do |f| - price_line_block = f.object .qi_pannel.padding.new_table_container diff --git a/app/views/admin/price_documents/consult_index.html.haml b/app/views/admin/price_documents/consult_index.html.haml deleted file mode 100644 index 4ffa515..0000000 --- a/app/views/admin/price_documents/consult_index.html.haml +++ /dev/null @@ -1,2 +0,0 @@ -%h1 Hello -=debug @result diff --git a/config/routes.rb b/config/routes.rb index dbbb448..83c02a0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -629,7 +629,7 @@ Rails.application.routes.draw do get :match_p_fournisseur patch :match_p_fournisseur_save get :analyse_reponses - post :final_consult + post :analyse_reponses_save get :generate_final_consult end collection do