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 (key === 'header') {
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') {
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;
}
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)
{
var account = invoice.account;

View File

@ -2439,6 +2439,7 @@ $LANG = array(
'fees_disabled_for_gateway' => 'Fees are disabled for this gateway.',
'logout_and_delete' => 'Log Out/Delete Account',
'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

@ -314,6 +314,7 @@
<div class="panel-body">
{!! Former::textarea('invoice_footer')
->label(trans('texts.default_invoice_footer'))
->help('invoice_footer_help')
->rows(4) !!}
</div>
</div>