1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-10 13:12:50 +01:00

Fixes for "Pay now" with invoices (#3523)

* Fixes for invoice payments
- Changed the input from $hashed_ids to invoices[] as an array
- Fixes for payment.js

* Fix redirect back
This commit is contained in:
Benjamin Beganović 2020-03-24 23:13:47 +01:00 committed by GitHub
parent 4af34a186c
commit 2b85feedc0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 5 deletions

View File

@ -75,11 +75,11 @@ class PaymentController extends Controller
* The request will also contain the amount
* and invoice ids for reference.
*
* @return void
* @return \Illuminate\Http\RedirectResponse|mixed
*/
public function process()
{
$invoices = Invoice::whereIn('id', $this->transformKeys(explode(",", request()->input('hashed_ids'))))
$invoices = Invoice::whereIn('id', $this->transformKeys(request()->invoices))
->whereClientId(auth()->user()->client->id)
->get();
@ -90,7 +90,9 @@ class PaymentController extends Controller
});
if ($invoices->count() == 0) {
return back()->with(['warning' => 'No payable invoices selected']);
return redirect()
->route('client.invoices.index')
->with(['warning' => 'No payable invoices selected.']);
}
$invoices->map(function ($invoice) {
@ -99,6 +101,7 @@ class PaymentController extends Controller
return $invoice;
});
$payment_methods = auth()->user()->client->getPaymentMethods($amount);
//boot the payment gateway

View File

@ -16,6 +16,8 @@ class Payment {
}
handleMethodSelect(element) {
document.getElementById('company_gateway_id').value = element.dataset.companyGatewayId;
document.getElementById('payment_method_id').value = element.dataset.gatewayTypeId;
if (this.shouldDisplaySignature && !this.shouldDisplayTerms) {
this.displayTerms();

View File

@ -10,7 +10,9 @@
@section('body')
<form action="{{ route('client.payments.process') }}" method="post" id="payment-form">
@csrf
<input type="hidden" name="hashed_ids" value="{!! $hashed_ids !!}" id="hashed_ids">
@foreach($invoices as $invoice)
<input type="hidden" name="invoices[]" value="{{ $invoice->hashed_id }}">
@endforeach
<input type="hidden" name="company_gateway_id" id="company_gateway_id">
<input type="hidden" name="payment_method_id" id="payment_method_id">
</form>
@ -51,7 +53,7 @@
</div>
</div>
</div>
@foreach($invoices as $invoice)
<div class="bg-white shadow overflow-hidden sm:rounded-lg mb-4">
<div class="px-4 py-5 border-b border-gray-200 sm:px-6">