mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-09-20 00:11:35 +02:00
Show paid invoice backup separately
This commit is contained in:
parent
1e8f5b5e7b
commit
fba3a9c3d5
@ -562,17 +562,21 @@ class InvoiceController extends BaseController
|
|||||||
];
|
];
|
||||||
$invoice->invoice_type_id = intval($invoice->invoice_type_id);
|
$invoice->invoice_type_id = intval($invoice->invoice_type_id);
|
||||||
|
|
||||||
$activities = Activity::scope(false, $invoice->account_id)
|
$activities = Activity::scope(false, $invoice->account_id);
|
||||||
->whereIn('activity_type_id', [ACTIVITY_TYPE_UPDATE_INVOICE, ACTIVITY_TYPE_UPDATE_QUOTE, ACTIVITY_TYPE_CREATE_PAYMENT])
|
if ($paymentId) {
|
||||||
->where('invoice_id', '=', $invoice->id)
|
$activities->whereIn('activity_type_id', [ACTIVITY_TYPE_CREATE_PAYMENT])
|
||||||
->orderBy('id', 'desc')
|
->where('payment_id', '=', $paymentId);
|
||||||
|
} else {
|
||||||
|
$activities->whereIn('activity_type_id', [ACTIVITY_TYPE_UPDATE_INVOICE, ACTIVITY_TYPE_UPDATE_QUOTE])
|
||||||
|
->where('invoice_id', '=', $invoice->id);
|
||||||
|
}
|
||||||
|
$activities = $activities->orderBy('id', 'desc')
|
||||||
->get(['id', 'created_at', 'user_id', 'json_backup', 'activity_type_id', 'payment_id']);
|
->get(['id', 'created_at', 'user_id', 'json_backup', 'activity_type_id', 'payment_id']);
|
||||||
|
|
||||||
$versionsJson = [];
|
$versionsJson = [];
|
||||||
$versionsSelect = [];
|
$versionsSelect = [];
|
||||||
$lastId = false;
|
$lastId = false;
|
||||||
$selectedId = false;
|
//dd($activities->toArray());
|
||||||
|
|
||||||
foreach ($activities as $activity) {
|
foreach ($activities as $activity) {
|
||||||
if ($backup = json_decode($activity->json_backup)) {
|
if ($backup = json_decode($activity->json_backup)) {
|
||||||
$backup->invoice_date = Utils::fromSqlDate($backup->invoice_date);
|
$backup->invoice_date = Utils::fromSqlDate($backup->invoice_date);
|
||||||
@ -585,19 +589,17 @@ class InvoiceController extends BaseController
|
|||||||
$backup->invoice_type_id = isset($backup->invoice_type_id) && intval($backup->invoice_type_id) == INVOICE_TYPE_QUOTE;
|
$backup->invoice_type_id = isset($backup->invoice_type_id) && intval($backup->invoice_type_id) == INVOICE_TYPE_QUOTE;
|
||||||
$backup->account = $invoice->account->toArray();
|
$backup->account = $invoice->account->toArray();
|
||||||
|
|
||||||
$versionsJson[$activity->id] = $backup;
|
$versionsJson[$paymentId ? 0 : $activity->id] = $backup;
|
||||||
$key = Utils::timestampToDateTimeString(strtotime($activity->created_at)) . ' - ' . $activity->user->getDisplayName();
|
$key = Utils::timestampToDateTimeString(strtotime($activity->created_at)) . ' - ' . $activity->user->getDisplayName();
|
||||||
$versionsSelect[$lastId ?: 0] = $key;
|
$versionsSelect[$lastId ?: 0] = $key;
|
||||||
$lastId = $activity->id;
|
$lastId = $activity->id;
|
||||||
if ($activity->payment_id == $paymentId && $activity->activity_type_id == ACTIVITY_TYPE_CREATE_PAYMENT) {
|
|
||||||
$selectedId = $lastId;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
Utils::logError('Failed to parse invoice backup');
|
Utils::logError('Failed to parse invoice backup');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($lastId) {
|
// Show the current version as the last in the history
|
||||||
|
if ( ! $paymentId) {
|
||||||
$versionsSelect[$lastId] = Utils::timestampToDateTimeString(strtotime($invoice->created_at)) . ' - ' . $invoice->user->getDisplayName();
|
$versionsSelect[$lastId] = Utils::timestampToDateTimeString(strtotime($invoice->created_at)) . ' - ' . $invoice->user->getDisplayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -607,7 +609,7 @@ class InvoiceController extends BaseController
|
|||||||
'versionsSelect' => $versionsSelect,
|
'versionsSelect' => $versionsSelect,
|
||||||
'invoiceDesigns' => InvoiceDesign::getDesigns(),
|
'invoiceDesigns' => InvoiceDesign::getDesigns(),
|
||||||
'invoiceFonts' => Cache::get('fonts'),
|
'invoiceFonts' => Cache::get('fonts'),
|
||||||
'selectedId' => $selectedId,
|
'paymentId' => $paymentId,
|
||||||
];
|
];
|
||||||
|
|
||||||
return View::make('invoices.history', $data);
|
return View::make('invoices.history', $data);
|
||||||
|
@ -128,8 +128,9 @@ class PaymentController extends BaseController
|
|||||||
$actions = [];
|
$actions = [];
|
||||||
if ($payment->invoiceJsonBackup()) {
|
if ($payment->invoiceJsonBackup()) {
|
||||||
$actions[] = ['url' => url("/invoices/invoice_history/{$payment->invoice->public_id}?payment_id={$payment->public_id}"), 'label' => trans('texts.view_invoice')];
|
$actions[] = ['url' => url("/invoices/invoice_history/{$payment->invoice->public_id}?payment_id={$payment->public_id}"), 'label' => trans('texts.view_invoice')];
|
||||||
$actions[] = DropdownButton::DIVIDER;
|
|
||||||
}
|
}
|
||||||
|
$actions[] = ['url' => url("/invoices/{$payment->invoice->public_id}/edit"), 'label' => trans('texts.edit_invoice')];
|
||||||
|
$actions[] = DropdownButton::DIVIDER;
|
||||||
if ( ! $payment->trashed()) {
|
if ( ! $payment->trashed()) {
|
||||||
$actions[] = ['url' => 'javascript:submitAction("archive")', 'label' => trans('texts.archive_payment')];
|
$actions[] = ['url' => 'javascript:submitAction("archive")', 'label' => trans('texts.archive_payment')];
|
||||||
$actions[] = ['url' => 'javascript:onDeleteClick()', 'label' => trans('texts.delete_payment')];
|
$actions[] = ['url' => 'javascript:onDeleteClick()', 'label' => trans('texts.delete_payment')];
|
||||||
|
@ -21,11 +21,15 @@
|
|||||||
var version = $('#version').val();
|
var version = $('#version').val();
|
||||||
var invoice;
|
var invoice;
|
||||||
|
|
||||||
|
@if ($paymentId)
|
||||||
|
invoice = versionsJson[0];
|
||||||
|
@else
|
||||||
if (parseInt(version)) {
|
if (parseInt(version)) {
|
||||||
invoice = versionsJson[version];
|
invoice = versionsJson[version];
|
||||||
} else {
|
} else {
|
||||||
invoice = currentInvoice;
|
invoice = currentInvoice;
|
||||||
}
|
}
|
||||||
|
@endif
|
||||||
|
|
||||||
invoice.image = window.accountLogo;
|
invoice.image = window.accountLogo;
|
||||||
|
|
||||||
@ -49,9 +53,8 @@
|
|||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
{!! Former::open()->addClass('form-inline')->onchange('refreshPDF()') !!}
|
{!! Former::open()->addClass('form-inline')->onchange('refreshPDF()') !!}
|
||||||
{!! Former::populateField('version', $selectedId) !!}
|
|
||||||
|
|
||||||
@if (count($versionsSelect))
|
@if (count($versionsSelect) > 1)
|
||||||
{!! Former::select('version')
|
{!! Former::select('version')
|
||||||
->options($versionsSelect)
|
->options($versionsSelect)
|
||||||
->label(trans('select_version'))
|
->label(trans('select_version'))
|
||||||
@ -63,7 +66,7 @@
|
|||||||
|
|
||||||
<br/> <br/>
|
<br/> <br/>
|
||||||
|
|
||||||
@if ( ! count($versionsSelect))
|
@if (count($versionsSelect) <= 1)
|
||||||
<br/> <br/>
|
<br/> <br/>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user