mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Show credit amount on new payment form
This commit is contained in:
parent
2330f07b4c
commit
9721491072
@ -89,16 +89,29 @@ class PaymentController extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function create(PaymentRequest $request)
|
public function create(PaymentRequest $request)
|
||||||
{
|
{
|
||||||
|
$user = auth()->user();
|
||||||
|
$account = $user->account;
|
||||||
|
|
||||||
$invoices = Invoice::scope()
|
$invoices = Invoice::scope()
|
||||||
->invoices()
|
->invoices()
|
||||||
->where('invoices.invoice_status_id', '!=', INVOICE_STATUS_PAID)
|
->where('invoices.invoice_status_id', '!=', INVOICE_STATUS_PAID)
|
||||||
->with('client', 'invoice_status')
|
->with('client', 'invoice_status')
|
||||||
->orderBy('invoice_number')->get();
|
->orderBy('invoice_number')->get();
|
||||||
|
|
||||||
|
$clientPublicId = Input::old('client') ? Input::old('client') : ($request->client_id ?: 0);
|
||||||
|
$invoicePublicId = Input::old('invoice') ? Input::old('invoice') : ($request->invoice_id ?: 0);
|
||||||
|
|
||||||
|
$totalCredit = false;
|
||||||
|
if ($clientPublicId && $client = Client::scope($clientPublicId)->first()) {
|
||||||
|
$totalCredit = $account->formatMoney($client->getTotalCredit(), $client);
|
||||||
|
} elseif ($invoicePublicId && $invoice = Invoice::scope($invoicePublicId)->first()) {
|
||||||
|
$totalCredit = $account->formatMoney($invoice->client->getTotalCredit(), $client);
|
||||||
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'account' => Auth::user()->account,
|
'account' => Auth::user()->account,
|
||||||
'clientPublicId' => Input::old('client') ? Input::old('client') : ($request->client_id ?: 0),
|
'clientPublicId' => $clientPublicId,
|
||||||
'invoicePublicId' => Input::old('invoice') ? Input::old('invoice') : ($request->invoice_id ?: 0),
|
'invoicePublicId' => $invoicePublicId,
|
||||||
'invoice' => null,
|
'invoice' => null,
|
||||||
'invoices' => $invoices,
|
'invoices' => $invoices,
|
||||||
'payment' => null,
|
'payment' => null,
|
||||||
@ -106,7 +119,9 @@ class PaymentController extends BaseController
|
|||||||
'url' => 'payments',
|
'url' => 'payments',
|
||||||
'title' => trans('texts.new_payment'),
|
'title' => trans('texts.new_payment'),
|
||||||
'paymentTypeId' => Input::get('paymentTypeId'),
|
'paymentTypeId' => Input::get('paymentTypeId'),
|
||||||
'clients' => Client::scope()->with('contacts')->orderBy('name')->get(), ];
|
'clients' => Client::scope()->with('contacts')->orderBy('name')->get(),
|
||||||
|
'totalCredit' => $totalCredit,
|
||||||
|
];
|
||||||
|
|
||||||
return View::make('payments.edit', $data);
|
return View::make('payments.edit', $data);
|
||||||
}
|
}
|
||||||
|
@ -162,6 +162,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
|
@if ($totalCredit)
|
||||||
|
$('#payment_type_id option:contains("{{ trans('texts.apply_credit') }}")').text("{{ trans('texts.apply_credit') }} | {{ $totalCredit}}");
|
||||||
|
@endif
|
||||||
|
|
||||||
@if (Input::old('data'))
|
@if (Input::old('data'))
|
||||||
// this means we failed so we'll reload the previous state
|
// this means we failed so we'll reload the previous state
|
||||||
@ -408,12 +411,14 @@
|
|||||||
|
|
||||||
if (invoiceId) {
|
if (invoiceId) {
|
||||||
var invoice = invoiceMap[invoiceId];
|
var invoice = invoiceMap[invoiceId];
|
||||||
var client = clientMap[invoice.client.public_id];
|
if (invoice) {
|
||||||
invoice.client = client;
|
var client = clientMap[invoice.client.public_id];
|
||||||
setComboboxValue($('.invoice-select'), invoice.public_id, (invoice.invoice_number + ' - ' +
|
invoice.client = client;
|
||||||
invoice.invoice_status.name + ' - ' + getClientDisplayName(client) + ' - ' +
|
setComboboxValue($('.invoice-select'), invoice.public_id, (invoice.invoice_number + ' - ' +
|
||||||
formatMoneyInvoice(invoice.amount, invoice) + ' | ' + formatMoneyInvoice(invoice.balance, invoice)));
|
invoice.invoice_status.name + ' - ' + getClientDisplayName(client) + ' - ' +
|
||||||
$invoiceSelect.trigger('change');
|
formatMoneyInvoice(invoice.amount, invoice) + ' | ' + formatMoneyInvoice(invoice.balance, invoice)));
|
||||||
|
$invoiceSelect.trigger('change');
|
||||||
|
}
|
||||||
} else if (clientId) {
|
} else if (clientId) {
|
||||||
var client = clientMap[clientId];
|
var client = clientMap[clientId];
|
||||||
setComboboxValue($('.client-select'), client.public_id, getClientDisplayName(client));
|
setComboboxValue($('.client-select'), client.public_id, getClientDisplayName(client));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user