Adding page number in pdf footer #1182

This commit is contained in:
Hillel Coren 2017-03-26 00:35:08 +03:00
parent 8bc6b026be
commit 7278b34ad3
5 changed files with 47 additions and 23 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -58,11 +58,11 @@ function GetPdfMake(invoice, javascript, callback) {
if (invoice.features.customize_invoice_design) { if (invoice.features.customize_invoice_design) {
if (key === 'header') { if (key === 'header') {
return function(page, pages) { return function(page, pages) {
return page === 1 || invoice.account.all_pages_header == '1' ? val : ''; return page === 1 || invoice.account.all_pages_header == '1' ? NINJA.updatePageCount(JSON.parse(JSON.stringify(val)), page, pages) : '';
} }
} else if (key === 'footer') { } else if (key === 'footer') {
return function(page, pages) { return function(page, pages) {
return page === pages || invoice.account.all_pages_footer == '1' ? val : ''; return page === pages || invoice.account.all_pages_footer == '1' ? NINJA.updatePageCount(JSON.parse(JSON.stringify(val)), page, pages) : '';
} }
} }
} }
@ -148,6 +148,28 @@ function GetPdfMake(invoice, javascript, callback) {
return doc; return doc;
} }
NINJA.updatePageCount = function(obj, pageNumber, pageCount)
{
var pageNumberRegExp = new RegExp('\\$pageNumber', 'g');
var pageCountRegExp = new RegExp('\\$pageCount', 'g');
for (key in obj) {
if (!obj.hasOwnProperty(key)) {
continue;
}
var val = obj[key];
if (typeof val === 'string') {
val = val.replace(pageNumberRegExp, pageNumber);
val = val.replace(pageCountRegExp, pageCount);
obj[key] = val;
} else if (typeof val === 'object') {
obj[key] = NINJA.updatePageCount(val, pageNumber, pageCount);
}
}
return obj;
}
NINJA.decodeJavascript = function(invoice, javascript) NINJA.decodeJavascript = function(invoice, javascript)
{ {
var account = invoice.account; var account = invoice.account;

View File

@ -2439,6 +2439,7 @@ $LANG = array(
'fees_disabled_for_gateway' => 'Fees are disabled for this gateway.', 'fees_disabled_for_gateway' => 'Fees are disabled for this gateway.',
'logout_and_delete' => 'Log Out/Delete Account', 'logout_and_delete' => 'Log Out/Delete Account',
'tax_rate_type_help' => 'Inclusive taxes adjust the line item cost when selected.', 'tax_rate_type_help' => 'Inclusive taxes adjust the line item cost when selected.',
'invoice_footer_help' => 'Use $pageNumber and $pageCount to display the page information.',
); );

View File

@ -159,7 +159,7 @@
->onchange('onResetFrequencyChange()') ->onchange('onResetFrequencyChange()')
->label('frequency') ->label('frequency')
->addOption(trans('texts.never'), '') ->addOption(trans('texts.never'), '')
->options(\App\Models\Frequency::selectOptions()) ->options(\App\Models\Frequency::selectOptions())
->help('reset_counter_help') !!} ->help('reset_counter_help') !!}
{!! Former::text('reset_counter_date') {!! Former::text('reset_counter_date')
@ -314,6 +314,7 @@
<div class="panel-body"> <div class="panel-body">
{!! Former::textarea('invoice_footer') {!! Former::textarea('invoice_footer')
->label(trans('texts.default_invoice_footer')) ->label(trans('texts.default_invoice_footer'))
->help('invoice_footer_help')
->rows(4) !!} ->rows(4) !!}
</div> </div>
</div> </div>