mirror of
https://github.com/internetee/registry.git
synced 2025-07-25 03:58:27 +02:00
Merge pull request #1939 from internetee/1937-lhv-connect-check-invoices-marked-paid-by-admin
added test for transaction with binded invoice which already paid
This commit is contained in:
commit
f7455008c1
9 changed files with 131 additions and 12 deletions
|
@ -20,6 +20,18 @@ module Admin
|
|||
end
|
||||
end
|
||||
|
||||
def cancel_paid
|
||||
invoice_id = params[:invoice_id]
|
||||
invoice = Invoice.find(invoice_id)
|
||||
|
||||
if account_activity_with_negative_sum(invoice)
|
||||
flash[:notice] = t(:payment_was_cancelled)
|
||||
else
|
||||
flash[:alert] = t(:failed_to_payment_cancel)
|
||||
end
|
||||
redirect_to admin_invoices_path
|
||||
end
|
||||
|
||||
def index
|
||||
@q = Invoice.includes(:account_activity).search(params[:q])
|
||||
@q.sorts = 'number desc' if @q.sorts.empty?
|
||||
|
@ -43,5 +55,21 @@ module Admin
|
|||
def deposit_params
|
||||
params.require(:deposit).permit(:amount, :description, :registrar_id)
|
||||
end
|
||||
|
||||
def account_activity_with_negative_sum(invoice)
|
||||
account_activity = AccountActivity.find_by(invoice_id: invoice.id)
|
||||
account_activity_dup = account_activity.dup
|
||||
account_activity_dup.sum = -account_activity.sum.to_i
|
||||
account_activity_dup.save
|
||||
account_activity.update(invoice_id: nil)
|
||||
account_activity_dup.update(invoice_id: nil)
|
||||
mark_cancelled_payment_order(invoice)
|
||||
account_activity.save && account_activity_dup.save
|
||||
end
|
||||
|
||||
def mark_cancelled_payment_order(invoice)
|
||||
payment_order = invoice.payment_orders.last
|
||||
payment_order.update(notes: 'Cancelled')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue