enable actions for multi (group) orders and ordergroup invoices
This commit is contained in:
parent
f676497e43
commit
e902aa0d5a
44 changed files with 550 additions and 324 deletions
|
|
@ -0,0 +1,8 @@
|
|||
- if foodsoft_sepa_ready?
|
||||
= link_to 'Sammellastschrift für alle (.xml)', collective_direct_debit_multi_order_path(id: multi_order.id, mode: 'all'), class: 'btn btn-block', data: { turbolinks: false, multi_order_id: multi_order.id, supplier: FoodsoftConfig[:name] }, id: "collective-direct-debit-link-all-#{multi_order.id}"
|
||||
= link_to 'Sammellastschrift für ausgewählt (.xml)', collective_direct_debit_multi_order_path(id: multi_order.id, mode: 'selected'), class: 'btn btn-block', data: { turbolinks: false, multi_order_id: multi_order.id, supplier: FoodsoftConfig[:name] }, id: "collective-direct-debit-link-selected-#{multi_order.id}"
|
||||
- else
|
||||
%i
|
||||
= t('activerecord.attributes.group_order_invoice.links.sepa_not_ready')
|
||||
|
||||
-# solve hotfix: multi_order.orders.first.supplier&.name
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
- if mgo.ordergroup_invoice.present?
|
||||
- show_generate_with_date = false
|
||||
- if show_generate_with_date
|
||||
= form_for :ordergroup_invoice, url: url_for('ordergroup_invoice#create_multiple'), remote: true do |f|
|
||||
= form_for :ordergroup_invoice, url: finance_ordergroup_invoice_path(foodcoop: FoodsoftConfig[:default_scope], protocol: :https), remote: true do |f|
|
||||
= f.label :invoice_date, I18n.t('activerecord.attributes.group_order_invoice.links.invoice_date')
|
||||
= f.date_field :invoice_date, {value: Date.today, max: Date.today, required: true}
|
||||
= f.hidden_field :multi_order_id, value: multi_order.id
|
||||
|
|
@ -20,52 +20,55 @@
|
|||
%th=I18n.t('activerecord.attributes.group_order_invoice.links.sepa_downloaded')
|
||||
%th=I18n.t('activerecord.attributes.group_order_invoice.links.sepa_sequence_type')
|
||||
%th=I18n.t('activerecord.attributes.group_order_invoice.links.sepa_select')
|
||||
%th=I18n.t('activerecord.attributes.group_order_invoice.links.invoice_number')
|
||||
%th
|
||||
%tbody
|
||||
- multi_order.multi_group_orders.each do |mgo|
|
||||
-if mgo.ordergroup_invoice.present?
|
||||
- if mgo.ordergroup_invoice
|
||||
= mgo.ordergroup_invoice.invoice_number
|
||||
%tr.order-row{id: "multi_group_order_#{mgo.id}"}
|
||||
%td= link_to mgo.ordergroup&.name, edit_admin_ordergroup_path(mgo.ordergroup)
|
||||
%td
|
||||
= link_to mgo.ordergroup&.name, edit_admin_ordergroup_path(mgo.ordergroup)
|
||||
%td
|
||||
.div{id: "paid_multi_#{mgo.ordergroup_invoice.id}"}
|
||||
= render :partial => "ordergroup_invoices/toggle_paid", locals: { ordergroup_invoice: mgo.ordergroup_invoice }
|
||||
%td
|
||||
.div{id: "sepa_downloaded_multi_#{mgo.ordergroup_invoice.id}"}
|
||||
= render :partial => "ordergroup_invoices/toggle_sepa_downloaded", locals: { ordergroup_invoice: mgo.ordergroup_invoice }
|
||||
%td
|
||||
.div{id: "select_sepa_sequence_type_multi_#{mgo.ordergroup_invoice.id}"}
|
||||
=render :partial => 'ordergroup_invoices/select_sepa_sequence_type', locals:{ ordergroup_invoice: mgo.ordergroup_invoice, multi_group_order: mgo }
|
||||
%td
|
||||
= check_box_tag "group_order_ids_for_multi_order_#{multi_order.id}", mgo.id, false, class: "group-order-checkbox", id: "group_order_#{mgo.id}_included_in_sepa", data: { multi_group_order_id: mgo.id }
|
||||
%td
|
||||
%b= mgo.ordergroup_invoice.invoice_number
|
||||
%td
|
||||
= link_to I18n.t('activerecord.attributes.group_order_invoice.links.delete'), mgo.ordergroup_invoice, method: :delete, class: 'btn btn-block btn-danger', remote: true, data: { confirm: I18n.t('ui.confirm_delete', name: "Bestellgruppenrechnung für #{mgo.ordergroup.name}" ) }
|
||||
= link_to I18n.t('activerecord.attributes.group_order_invoice.links.download'), ordergroup_invoice_path(mgo.ordergroup_invoice, :format => 'pdf'), class: 'btn btn-block'
|
||||
-# .div{id: "paid_#{mgo.ordergroup_invoice.id}"}
|
||||
-# = render :partial => "group_order_invoices/toggle_paid", locals: { group_order_invoice: go.group_order_invoice }
|
||||
-# %td
|
||||
-# .div{id: "sepa_downloaded_#{go.group_order_invoice.id}"}
|
||||
-# = render :partial => "group_order_invoices/toggle_sepa_downloaded", locals: { group_order_invoice: go.group_order_invoice }
|
||||
-# %td
|
||||
-# .div{id: "select_sepa_sequence_type_#{go.group_order_invoice.id}"}
|
||||
-# =render :partial => 'group_order_invoices/select_sepa_sequence_type', locals:{ group_order_invoice: go.group_order_invoice, group_order: go }
|
||||
-# %td
|
||||
-# = check_box_tag "group_order_ids_for_order_#{multi_order.id}", go.id, false, class: "group-order-checkbox", id: "group_order_#{go.id}_included_in_sepa", data: { order_id: go.id }
|
||||
-# = link_to I18n.t('activerecord.attributes.group_order_invoice.links.delete'), go.group_order_invoice, method: :delete, class: 'btn btn-block btn-danger', remote: true, data: { confirm: I18n.t('ui.confirm_delete', name: "Bestellgruppenrechnung für #{go.ordergroup.name}" ) }
|
||||
-# - else
|
||||
-# %tr
|
||||
-# %td
|
||||
-# = go.ordergroup&.name
|
||||
-# = button_to I18n.t('activerecord.attributes.group_order_invoice.links.generate'), group_order_invoices_path(:method => :post, group_order: go) ,class: 'btn btn-small', params: {id: multi_order.id}, remote: true
|
||||
-# %td
|
||||
-# %td
|
||||
-# %td
|
||||
-# %td
|
||||
-# %td
|
||||
|
||||
-# - if multi_order.group_orders.map(&:group_order_invoice).compact.present?
|
||||
-# %tr.order-row
|
||||
-# %td= I18n.t('activerecord.attributes.group_order_invoice.links.actions_for_all')
|
||||
-# %td
|
||||
-# .div{id: "toggle_all_paid_#{multi_order.id}"}
|
||||
-# = render :partial => 'group_order_invoices/toggle_all_paid', locals: { order: order }
|
||||
-# %td
|
||||
-# .div{id: "toggle_all_sepa_downloaded_#{multi_order.id}"}
|
||||
-# = render :partial => 'group_order_invoices/toggle_all_sepa_downloaded', locals: { order: order }
|
||||
-# %td
|
||||
-# .div{id: "select_all_sepa_sequence_type_#{multi_order.id}"}
|
||||
-# = render :partial => 'group_order_invoices/select_all_sepa_sequence_type', locals: { order: multi_order }
|
||||
-# %td
|
||||
-# .div{id: "select_all_sepa_#{multi_order.id}"}
|
||||
-# = render :partial => 'group_order_invoices/collective_direct_debit', locals: { order: multi_order }
|
||||
-# %td
|
||||
-# = link_to I18n.t('activerecord.attributes.group_order_invoice.links.download_all_zip'), download_all_group_order_invoices_path(multi_order), class: 'btn btn-block'
|
||||
- else
|
||||
%tr
|
||||
%td
|
||||
= mgo.group_orders.first.ordergroup&.name
|
||||
= button_to I18n.t('activerecord.attributes.group_order_invoice.links.generate'), ordergroup_invoices_path(:method => :post, multi_group_order_id: mgo) ,class: 'btn btn-small', remote: true
|
||||
%td
|
||||
%td
|
||||
%td
|
||||
%td
|
||||
%td
|
||||
- if multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.present?
|
||||
%tr.order-row
|
||||
%td= I18n.t('activerecord.attributes.group_order_invoice.links.actions_for_all')
|
||||
%td
|
||||
.div{id: "toggle_all_paid_multi_#{multi_order.id}"}
|
||||
= render :partial => 'ordergroup_invoices/toggle_all_paid', locals: { multi_order: multi_order }
|
||||
%td
|
||||
.div{id: "toggle_all_sepa_downloaded_multi_#{multi_order.id}"}
|
||||
= render :partial => 'ordergroup_invoices/toggle_all_sepa_downloaded', locals: { multi_order: multi_order }
|
||||
%td
|
||||
.div{id: "select_all_sepa_sequence_type_multi_#{multi_order.id}"}
|
||||
= render :partial => 'ordergroup_invoices/select_all_sepa_sequence_type', locals: { multi_order: multi_order }
|
||||
%td
|
||||
.div{id: "select_all_sepa_#{multi_order.id}"}
|
||||
= render :partial => 'ordergroup_invoices/collective_direct_debit', locals: { multi_order: multi_order }
|
||||
%td
|
||||
= link_to I18n.t('activerecord.attributes.group_order_invoice.links.download_all_zip'), download_all_ordergroup_invoices_path(multi_order), class: 'btn btn-block'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
= link_to select_all_sepa_sequence_type_ordergroup_invoices_path(multi_order_id: multi_order.id), remote: true, method: :patch, class: "ajax-update-all-link-#{multi_order.id}" , data: { turbolinks: false } do
|
||||
= select_tag 'sepa_sequence_type', options_for_select(OrdergroupInvoice.sequence_types.keys.map { |st| [I18n.t("activerecord.attributes.group_order_invoice.sequence_type.#{st}"), st] }, selected: @sequence_type || multi_order.multi_group_orders.map(&:ordergroup_invoice)&.compact&.first&.sepa_sequence_type), class: 'form-control', id: "all_sepa_sequence_type_multi_#{multi_order.id}"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
= link_to select_sepa_sequence_type_ordergroup_invoice_path(ordergroup_invoice), remote: true, method: :patch, class: "ajax-update-link-#{multi_group_order.id}", data: { turbolinks: false } do
|
||||
= select_tag 'sepa_sequence_type', options_for_select(OrdergroupInvoice.sequence_types.keys.map { |st| [I18n.t("activerecord.attributes.group_order_invoice.sequence_type.#{st}"), st] }, selected: ordergroup_invoice.sepa_sequence_type ), class: 'form-control', id: "sepa_sequence_type_multi_#{multi_group_order.id}"
|
||||
2
app/views/ordergroup_invoices/_toggle_all_paid.html.haml
Normal file
2
app/views/ordergroup_invoices/_toggle_all_paid.html.haml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
= link_to toggle_all_paid_ordergroup_invoices_path(multi_order_id: multi_order.id, paid: multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.map(&:paid)&.all? ), remote: true, method: :patch, data: { confirm: I18n.t('ui.confirm_mark_all', name: multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.map(&:paid)&.all? ? I18n.t('activerecord.attributes.group_order_invoice.links.not_paid'): I18n.t('activerecord.attributes.group_order_invoice.links.paid') ) } do
|
||||
= check_box_tag :paid, '1', multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.map(&:paid)&.all? , class: 'form-check-input', id: "paid_all_multi_#{multi_order.id}"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
= link_to toggle_all_sepa_downloaded_ordergroup_invoices_path(multi_order_id: multi_order.id, sepa_downloaded: multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.map(&:sepa_downloaded)&.all? ), remote: true, method: :patch, data: { confirm: I18n.t('ui.confirm_mark_all', name: multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.map(&:sepa_downloaded)&.all? ? I18n.t('activerecord.attributes.group_order_invoice.links.sepa_not_downloaded') : I18n.t('activerecord.attributes.group_order_invoice.links.sepa_downloaded')) } do
|
||||
= check_box_tag :sepa_downloaded, '1', multi_order.multi_group_orders.map(&:ordergroup_invoice).compact.map(&:sepa_downloaded)&.all? , class: 'form-check-input', id: "sepa_downloaded_all_multi_#{multi_order.id}"
|
||||
2
app/views/ordergroup_invoices/_toggle_paid.html.haml
Normal file
2
app/views/ordergroup_invoices/_toggle_paid.html.haml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
= link_to toggle_paid_ordergroup_invoice_path(ordergroup_invoice), remote: true, method: :patch, data: { turbolinks: false } do
|
||||
= check_box_tag 'paid', '1', ordergroup_invoice.paid , class: 'form-check-input', id: "paid_multi_#{ordergroup_invoice.id}"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
= link_to toggle_sepa_downloaded_ordergroup_invoice_path(ordergroup_invoice), remote: true, method: :patch do
|
||||
= check_box_tag 'sepa_downloaded', '1', ordergroup_invoice.sepa_downloaded , class: 'form-check-input', id: "sepa_downloaded_multii_#{ordergroup_invoice.id}"
|
||||
1
app/views/ordergroup_invoices/create.js.erb
Normal file
1
app/views/ordergroup_invoices/create.js.erb
Normal file
|
|
@ -0,0 +1 @@
|
|||
$("#multi_order_<%= @multi_order.id %>_modal").html("<%= escape_javascript(render partial: 'links', locals: {multi_order: @multi_order}) %>");
|
||||
1
app/views/ordergroup_invoices/create_multiple.js.erb
Normal file
1
app/views/ordergroup_invoices/create_multiple.js.erb
Normal file
|
|
@ -0,0 +1 @@
|
|||
$("#multi_order_<%= @multi_order.id %>_modal").html("<%= escape_javascript(render partial: 'links', locals: {multi_order: @multi_order}) %>");
|
||||
1
app/views/ordergroup_invoices/destroy.js.erb
Normal file
1
app/views/ordergroup_invoices/destroy.js.erb
Normal file
|
|
@ -0,0 +1 @@
|
|||
$("#multi_order_<%= @multi_order.id %>_modal").html("<%= escape_javascript(render partial: 'links', locals: {multi_order: @multi_order}) %>");
|
||||
|
|
@ -0,0 +1 @@
|
|||
$("#multi_order_<%= @multi_order.id %>_modal").html("<%= escape_javascript(render partial: 'modal', locals: { multi_order: @multi_order, sequence_type: @sequence_type }) %>");
|
||||
|
|
@ -0,0 +1 @@
|
|||
$("#select_sepa_sequence_type_multi_<%= @ordergroup_invoice.id %>").html("<%= j(render partial: 'select_sepa_sequence_type', locals: {ordergroup_invoice: @ordergroup_invoice, multi_group_order: @multi_group_order}) %>");
|
||||
4
app/views/ordergroup_invoices/toggle_all_paid.js.erb
Normal file
4
app/views/ordergroup_invoices/toggle_all_paid.js.erb
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<% @ordergroup_invoices.each do |ordergroup_invoice| %>
|
||||
$("#paid_multi_<%= ordergroup_invoice.id %>").html("<%= escape_javascript(render partial: 'toggle_paid', locals: { ordergroup_invoice: ordergroup_invoice }) %>");
|
||||
<% end %>
|
||||
$("#toggle_all_paid_multi_<%= @multi_order.id %>").html("<%= escape_javascript(render partial: 'toggle_all_paid', locals: { multi_order: @multi_order }) %>");
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<% @ordergroup_invoices.each do |ordergroup_invoice| %>
|
||||
$("#sepa_downloaded_multi_<%= ordergroup_invoice.id %>").html("<%= escape_javascript(render partial: 'toggle_sepa_downloaded', locals: { ordergroup_invoice: ordergroup_invoice }) %>");
|
||||
<% end %>
|
||||
$("#toggle_all_sepa_downloaded_multi_<%= @multi_order.id %>").html("<%= escape_javascript(render partial: 'toggle_all_sepa_downloaded', locals: { multi_order: @multi_order }) %>");
|
||||
1
app/views/ordergroup_invoices/toggle_paid.js.erb
Normal file
1
app/views/ordergroup_invoices/toggle_paid.js.erb
Normal file
|
|
@ -0,0 +1 @@
|
|||
$("#paid_multi_<%= @ordergroup_invoice.id %>").html("<%= escape_javascript(render partial: 'toggle_paid', locals: {ordergroup_invoice: @ordergroup_invoice}) %>");
|
||||
|
|
@ -0,0 +1 @@
|
|||
$("#sepa_downloaded_multi_<%= @ordergroup_invoice.id %>").html("<%= escape_javascript(render partial: 'toggle_sepa_downloaded', locals: {ordergroup_invoice: @ordergroup_invoice}) %>");
|
||||
Loading…
Add table
Add a link
Reference in a new issue