move to ajax function for every direct debit xml download
This commit is contained in:
parent
636aad0b3e
commit
f98d083647
23 changed files with 158 additions and 128 deletions
|
|
@ -86,10 +86,10 @@ class GroupOrderInvoicesController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def toggle_payed
|
||||
def toggle_paid
|
||||
@group_order_invoice = GroupOrderInvoice.find(params[:id])
|
||||
respond_to do |format|
|
||||
@group_order_invoice.payed = !@group_order_invoice.payed
|
||||
@group_order_invoice.paid = !@group_order_invoice.paid
|
||||
if @group_order_invoice.save!
|
||||
format.js
|
||||
else
|
||||
|
|
@ -111,11 +111,11 @@ class GroupOrderInvoicesController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def toggle_all_payed
|
||||
def toggle_all_paid
|
||||
@order = Order.find(params[:order_id])
|
||||
@group_order_invoices = @order.group_orders.map(&:group_order_invoice).compact
|
||||
@group_order_invoices.each do |goi|
|
||||
goi.payed = !ActiveRecord::Type::Boolean.new.deserialize(params[:payed])
|
||||
goi.paid = !ActiveRecord::Type::Boolean.new.deserialize(params[:paid])
|
||||
goi.save!
|
||||
end
|
||||
respond_to do |format|
|
||||
|
|
|
|||
|
|
@ -177,17 +177,21 @@ class OrdersController < ApplicationController
|
|||
export_allowed = !ordergroups.map(&:sepa_possible?).include?(false) && !group_orders.map { |go| go.group_order_invoice.present? }.include?(false)
|
||||
group_order_ids = group_orders.map { |go| go.id if go.group_order_invoice.present? }
|
||||
|
||||
sepa_possible_ordergroup_names = ordergroups.map { |ordergroup| ordergroup.name unless ordergroup.sepa_possible? }.compact_blank
|
||||
sepa_possible_ordergroup_names = ordergroups.map { |ordergroup| ordergroup.name if ordergroup.sepa_possible? }.compact_blank
|
||||
sepa_not_possible_ordergroup_names = ordergroups.map(&:name) - sepa_possible_ordergroup_names
|
||||
|
||||
if export_allowed && group_orders.present?
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
group_orders.map(&:group_order_invoice).each(&:mark_sepa_downloaded)
|
||||
collective_debit = OrderCollectiveDirectDebitXml.new(group_orders)
|
||||
send_data collective_debit.xml_string, filename: @order.name + '_Sammellastschrift' + '.xml', type: 'text/xml'
|
||||
group_orders.map(&:group_order_invoice).each(&:mark_sepa_downloaded)
|
||||
rescue SEPA::Error => e
|
||||
group_orders.map(&:group_order_invoice).each(&:unmark_sepa_downloaded)
|
||||
redirect_to finance_order_index_path, alert: e.message
|
||||
rescue StandardError => e
|
||||
group_orders.map(&:group_order_invoice).each(&:unmark_sepa_downloaded)
|
||||
redirect_to finance_order_index_path, alert: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_possible_ordergroup_names.join(', '))
|
||||
redirect_to finance_order_index_path, alert: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_not_possible_ordergroup_names.join(', '), error: e.message)
|
||||
end
|
||||
format.xml do
|
||||
group_orders.map(&:group_order_invoice).each(&:mark_sepa_downloaded)
|
||||
|
|
@ -195,17 +199,20 @@ class OrdersController < ApplicationController
|
|||
send_data collective_debit.xml_string, filename: @order.name + '_Sammellastschrift' + '.xml', type: 'text/xml'
|
||||
rescue SEPA::Error => e
|
||||
group_orders.map(&:group_order_invoice).each(&:unmark_sepa_downloaded)
|
||||
render json: { error: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_possible_ordergroup_names.join(', ')) }
|
||||
render json: { error: e.message }
|
||||
rescue StandardError => e
|
||||
group_orders.map(&:group_order_invoice).each(&:unmark_sepa_downloaded)
|
||||
render json: { error: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_not_possible_ordergroup_names.join(', '), error: e.message) }
|
||||
end
|
||||
format.js
|
||||
end
|
||||
else
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
redirect_to finance_order_index_path, alert: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_possible_ordergroup_names.join(', '))
|
||||
redirect_to finance_order_index_path, alert: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_not_possible_ordergroup_names.join(', '), error: '')
|
||||
end
|
||||
format.xml do
|
||||
render json: { error: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_possible_ordergroup_names.join(', ')) }
|
||||
render json: { error: I18n.t('orders.collective_direct_debit.alert', ordergroup_names: sepa_not_possible_ordergroup_names.join(', '), error: '') }
|
||||
end
|
||||
format.js
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue