From a7b4ec4c1939a787d3cd32142bf6e0746db071f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A9?= Date: Fri, 15 Oct 2021 10:03:31 +0200 Subject: [PATCH] Dropdown ok --- .../admin/p_customer_sheets_controller.rb | 9 ++---- app/models/p_customer_sheet.rb | 3 +- app/views/admin/buy_lists/index.html.haml | 32 ++++++++----------- app/views/admin/buy_lists/update.js.erb | 2 -- .../admin/p_customer_sheets/update.js.erb | 6 ++-- 5 files changed, 22 insertions(+), 30 deletions(-) delete mode 100644 app/views/admin/buy_lists/update.js.erb diff --git a/app/controllers/admin/p_customer_sheets_controller.rb b/app/controllers/admin/p_customer_sheets_controller.rb index 8040166..8905ef1 100644 --- a/app/controllers/admin/p_customer_sheets_controller.rb +++ b/app/controllers/admin/p_customer_sheets_controller.rb @@ -192,16 +192,13 @@ class Admin::PCustomerSheetsController < ApplicationController def update @p_customer_sheet = PCustomerSheet.find(params[:id]) - if @p_customer_sheet.update_attributes(params.require(:p_customer_sheet).permit!) @p_customer = @p_customer_sheet.price_line_block.p_customer - if params[:no_redirect] == "true" - @price_line_id = params[:price_line_id] - render "admin/buy_lists/index" - else - redirect_to admin_p_customer_sheet_path(@p_customer_sheet) + respond_to do |format| + format.html{redirect_to admin_p_customer_sheet_path(@p_customer_sheet)} + format.js{} end else render action: "edit" diff --git a/app/models/p_customer_sheet.rb b/app/models/p_customer_sheet.rb index 158e723..3d98974 100644 --- a/app/models/p_customer_sheet.rb +++ b/app/models/p_customer_sheet.rb @@ -44,6 +44,8 @@ class PCustomerSheet < ApplicationRecord :actions => {:name => "Actions", :reorder => false}, } + # STATES = ["brouillon", "offre", "commande", "livrée","facturée", "annulée", "refusée"] + STATES = ["AV BPA", "PAS BPA","BPA", "Traitée"] def personalised_archive @@ -328,7 +330,6 @@ class PCustomerSheet < ApplicationRecord end - STATES = ["brouillon", "offre", "commande", "livrée","facturée", "annulée", "refusée"] def unblock_price diff --git a/app/views/admin/buy_lists/index.html.haml b/app/views/admin/buy_lists/index.html.haml index 36b8236..f561056 100644 --- a/app/views/admin/buy_lists/index.html.haml +++ b/app/views/admin/buy_lists/index.html.haml @@ -236,25 +236,19 @@ %td -@p_customer_sheet = price_line.price_line_block.price_lineable - -form = false - -if form - %form - =semantic_form_for [:admin, @p_customer_sheet], remote: true, authenticity_token: true do |f| - =f.inputs class: "form-inline d-flex flex-nowrap" do - =f.input :state, collection: ["AV BPA", "PAS BPA","BPA", "Traitée"], as: :select, :include_blank => false, label: false, selected: f.object.state, input_html: {class: "custom-select"}, remote: true - =hidden_field_tag :no_redirect, "true" - =hidden_field_tag :price_line_id, price_line.id - =f.button ic(:check), type: :submit, class: "btn btn-primary ml-1" - -if false - =f.actions class: "btn btn-primary ml-1" do - =f.action :submit, label: "#{ic(:check).html_safe}" - -if !form - %form - =form_with url: admin_buy_list_path(@p_customer_sheet), method: :patch, remote: true, authenticity_token: true, id: "p_customer_sheet_state_#{@p_customer_sheet.id}" do |f| - =hidden_field_tag :price_line_id, price_line.id - =f.select :state, ["AV BPA", "PAS BPA","BPA", "Traitée"] - =f.submit for: "p_customer_sheet_state_#{@p_customer_sheet.id}" - =#state_helper price_line.price_line_block.price_lineable.state + .dropdown + %button.btn.btn-default.dropdown-toggle{"aria-expanded" => "true", "aria-haspopup" => "true", "data-toggle" => "dropdown", :type => "button"} + %span.span_cat{'class' => "p_customer_sheet_#{@p_customer_sheet.id}"} + =#@p_customer_sheet.state + =state_helper @p_customer_sheet.state + %span.caret + %ul.dropdown-menu{"aria-labelledby" => "dropdownMenu1"} + -PCustomerSheet::STATES.each do |state| + %li + =link_to admin_p_customer_sheet_path(:id => @p_customer_sheet.id, :p_customer_sheet => {:state => state}), :method => :put, :remote => true, :onclick => "$('.dropdown-toggle').dropdown('hide');$(\".p_customer_sheet_#{@p_customer_sheet.id}\").html($(this).find('span').html());", :class => "dropdown-item" do + =ic :check if false + %span=state_helper state + %td =price_line.comment diff --git a/app/views/admin/buy_lists/update.js.erb b/app/views/admin/buy_lists/update.js.erb deleted file mode 100644 index 85ca3d0..0000000 --- a/app/views/admin/buy_lists/update.js.erb +++ /dev/null @@ -1,2 +0,0 @@ -console.log('coucou'); -$('#price_line_row_<%= @price_line_id %>').replaceWith("<%= escape_javascript(render(@p_customer_sheet))%>"); diff --git a/app/views/admin/p_customer_sheets/update.js.erb b/app/views/admin/p_customer_sheets/update.js.erb index 1d96e9f..572c4eb 100644 --- a/app/views/admin/p_customer_sheets/update.js.erb +++ b/app/views/admin/p_customer_sheets/update.js.erb @@ -1,2 +1,4 @@ -$('#p_customer_sheets_rows').html("<%= escape_javascript(render(@p_customer_sheets))%>"); -close_pane_hover(); \ No newline at end of file +<% if @p_customer_sheets %> + $('#p_customer_sheets_rows').html("<%= escape_javascript(render(@p_customer_sheets))%>"); +<% end %> +close_pane_hover();