diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php
index 93db77a26903..9199cb3a95ac 100755
--- a/app/controllers/AccountController.php
+++ b/app/controllers/AccountController.php
@@ -498,12 +498,14 @@ class AccountController extends \BaseController {
{
$account = Account::findOrFail(Auth::user()->account_id);
$account->name = trim(Input::get('name'));
+ $account->work_email = trim(Input::get('work_email'));
+ $account->work_phone = trim(Input::get('work_phone'));
$account->address1 = trim(Input::get('address1'));
$account->address2 = trim(Input::get('address2'));
$account->city = trim(Input::get('city'));
$account->state = trim(Input::get('state'));
$account->postal_code = trim(Input::get('postal_code'));
- $account->country_id = Input::get('country_id') ? Input::get('country_id') : null;
+ $account->country_id = Input::get('country_id') ? Input::get('country_id') : null;
$account->size_id = Input::get('size_id') ? Input::get('size_id') : null;
$account->industry_id = Input::get('industry_id') ? Input::get('industry_id') : null;
$account->timezone_id = Input::get('timezone_id') ? Input::get('timezone_id') : null;
diff --git a/app/database/migrations/2014_03_03_155556_add_phone_to_account.php b/app/database/migrations/2014_03_03_155556_add_phone_to_account.php
new file mode 100644
index 000000000000..1de12fb34e3b
--- /dev/null
+++ b/app/database/migrations/2014_03_03_155556_add_phone_to_account.php
@@ -0,0 +1,36 @@
+string('work_phone');
+ $table->string('work_email');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('accounts', function($table)
+ {
+ $table->dropColumn('work_phone');
+ $table->dropColumn('work_email');
+ });
+ }
+
+}
\ No newline at end of file
diff --git a/app/views/accounts/details.blade.php b/app/views/accounts/details.blade.php
index a82dedcdf656..839e718ae54f 100755
--- a/app/views/accounts/details.blade.php
+++ b/app/views/accounts/details.blade.php
@@ -27,6 +27,8 @@
{{ Former::legend('Details') }}
{{ Former::text('name') }}
+ {{ Former::text('work_email')->label('Email') }}
+ {{ Former::text('work_phone')->label('Phone') }}
{{ Former::file('logo')->max(2, 'MB')->accept('image')->inlineHelp('Supported: JPEG, GIF and PNG. Recommnded size: 120px width, 80px height') }}
@if (file_exists($account->getLogoPath()))
@@ -75,7 +77,7 @@
- {{ Button::lg_primary_submit('Save')->append_with_icon('floppy-disk') }}
+ {{ Button::lg_success_submit('Save')->append_with_icon('floppy-disk') }}
{{ Former::close() }}
diff --git a/app/views/accounts/notifications.blade.php b/app/views/accounts/notifications.blade.php
index 1759187d446c..4a0e8a41be79 100755
--- a/app/views/accounts/notifications.blade.php
+++ b/app/views/accounts/notifications.blade.php
@@ -18,7 +18,7 @@
{{ Former::textarea('invoice_terms')->label('Set default invoice terms') }}
{{ Former::textarea('email_footer')->label('Set default email signature') }}
- {{ Former::actions( Button::lg_primary_submit('Save')->append_with_icon('floppy-disk') ) }}
+ {{ Former::actions( Button::lg_success_submit('Save')->append_with_icon('floppy-disk') ) }}
{{ Former::close() }}
@stop
\ No newline at end of file
diff --git a/app/views/accounts/payments.blade.php b/app/views/accounts/payments.blade.php
index 9075f9034579..ce8a149d8507 100755
--- a/app/views/accounts/payments.blade.php
+++ b/app/views/accounts/payments.blade.php
@@ -45,7 +45,7 @@
@endforeach
- {{ Former::actions( Button::lg_primary_submit('Save')->append_with_icon('floppy-disk') ) }}
+ {{ Former::actions( Button::lg_success_submit('Save')->append_with_icon('floppy-disk') ) }}
{{ Former::close() }}
diff --git a/app/views/clients/edit.blade.php b/app/views/clients/edit.blade.php
index e59b79d8b44a..84fab15a0758 100755
--- a/app/views/clients/edit.blade.php
+++ b/app/views/clients/edit.blade.php
@@ -148,10 +148,8 @@
-
-
- {{ Button::lg_primary_submit('Save')->append_with_icon('floppy-disk') }}
+ {{ Button::lg_primary_submit_success('Save')->append_with_icon('floppy-disk') }}
{{ Button::lg_default_link('clients/' . ($client ? $client->public_id : ''), 'Cancel')->append_with_icon('remove-circle'); }}
diff --git a/app/views/credits/edit.blade.php b/app/views/credits/edit.blade.php
index b55a2038b191..047f792dfd68 100755
--- a/app/views/credits/edit.blade.php
+++ b/app/views/credits/edit.blade.php
@@ -28,10 +28,9 @@
-
-
- {{ Button::lg_primary_submit('Save') }} |
- {{ link_to('credits/' . ($credit ? $credit->public_id : ''), 'Cancel') }}
+
+ {{ Button::lg_primary_submit_success('Save')->append_with_icon('floppy-disk') }}
+ {{ Button::lg_default_link('credits/' . ($credit ? $credit->public_id : ''), 'Cancel')->append_with_icon('remove-circle'); }}
{{ Former::close() }}
diff --git a/app/views/dashboard.blade.php b/app/views/dashboard.blade.php
index b23c040375fc..eaa27672e9a1 100644
--- a/app/views/dashboard.blade.php
+++ b/app/views/dashboard.blade.php
@@ -98,8 +98,8 @@
-
-
+
+
Upcoming invoices
diff --git a/app/views/invoices/edit.blade.php b/app/views/invoices/edit.blade.php
index b28396570d5c..f4ea5e0b6868 100755
--- a/app/views/invoices/edit.blade.php
+++ b/app/views/invoices/edit.blade.php
@@ -571,6 +571,10 @@
invoice.imageLogoWidth2 =325/2;
invoice.imageLogoHeight2 = 81/2;
+ invoice.imageLogo3 = "{{ HTML::image_data('images/report_logo3.jpg') }}";
+ invoice.imageLogoWidth3 =325/2;
+ invoice.imageLogoHeight3 = 81/2;
+
return invoice;
}
@@ -1393,7 +1397,7 @@
}
$('.word-wrap').each(function(index, input) {
- $(input).height($(input).val().split('\n').length * 22);
+ $(input).height($(input).val().split('\n').length * 20);
});
}
@@ -1464,7 +1468,7 @@
if (!model.invoice().discount()) model.invoice().discount('');
ko.applyBindings(model);
-
+ onItemChange();
diff --git a/app/views/payments/edit.blade.php b/app/views/payments/edit.blade.php
index e8f446fed65e..580e48ff3000 100755
--- a/app/views/payments/edit.blade.php
+++ b/app/views/payments/edit.blade.php
@@ -32,9 +32,9 @@
-
- {{ Button::lg_primary_submit_success('Save') }} |
- {{ link_to('payments/' . ($payment ? $payment->public_id : ''), 'Cancel') }}
+
+ {{ Button::lg_primary_submit_success('Save')->append_with_icon('floppy-disk') }}
+ {{ Button::lg_default_link('payments/' . ($payment ? $payment->public_id : ''), 'Cancel')->append_with_icon('remove-circle'); }}
{{ Former::close() }}
diff --git a/public/css/style.css b/public/css/style.css
index fc5937eb2a90..3a8481632091 100755
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -53,7 +53,8 @@ margin-bottom: 0;
padding-top: 10px;
}
textarea.form-control {
-height: auto !important;
+/*height: auto !important;*/
+min-height: 40px;
}
/*tables*/
table.dataTable { border-radius: 3px; border-collapse: collapse;
@@ -73,7 +74,7 @@ th:last-child {
tr {border: none;}
th {border-left: 1px solid #d26b26; }
.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td {
-vertical-align: middle;
+vertical-align: top;
border-top: none;
border-bottom: 1px solid #dfe0e1;
}
@@ -448,6 +449,8 @@ background-clip: padding-box;
}
.panel-body {padding: 25px;}
+.dashboard .panel-heading { margin: -1px; }
+
.dashboard .panel-body {padding: 0;}
.dashboard .table-striped>tbody>tr>td, .table-striped>tbody>tr>th { background-color: #fbfbfb;}
diff --git a/public/images/report_logo3.jpg b/public/images/report_logo3.jpg
new file mode 100644
index 000000000000..8696d0535fa2
Binary files /dev/null and b/public/images/report_logo3.jpg differ
diff --git a/public/js/script.js b/public/js/script.js
index 92d5941c8e05..15f444966d4d 100644
--- a/public/js/script.js
+++ b/public/js/script.js
@@ -20,10 +20,10 @@ function generatePDF(invoice, checkMath) {
/* Handle converting variables in the invoices (ie, MONTH+1) */
function processVariables(str) {
- if (!str) return '';
- var variables = ['MONTH','QUARTER','YEAR'];
- for (var i=0; i<'span6'p>>",
- //"sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
- "sPaginationType": "bootstrap",
- //"bProcessing": true,
- //"iDisplayLength": 50,
- "bInfo": true,
- "oLanguage": {
- //"sLengthMenu": "_MENU_ records per page"
- "sLengthMenu": "_MENU_",
- "sSearch": ""
- }
- //"sScrollY": "500px",
+ "sDom": "t<'row-fluid'<'span6'i><'span6'p>>",
+ //"sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
+ "sPaginationType": "bootstrap",
+ //"bProcessing": true,
+ //"iDisplayLength": 50,
+ "bInfo": true,
+ "oLanguage": {
+ //"sLengthMenu": "_MENU_ records per page"
+ "sLengthMenu": "_MENU_",
+ "sSearch": ""
+ }
+ //"sScrollY": "500px",
} );
/* Default class modification */
$.extend( $.fn.dataTableExt.oStdClasses, {
- "sWrapper": "dataTables_wrapper form-inline"
+ "sWrapper": "dataTables_wrapper form-inline"
} );
/* API method to get paging information */
$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
{
- return {
- "iStart": oSettings._iDisplayStart,
- "iEnd": oSettings.fnDisplayEnd(),
- "iLength": oSettings._iDisplayLength,
- "iTotal": oSettings.fnRecordsTotal(),
- "iFilteredTotal": oSettings.fnRecordsDisplay(),
- "iPage": oSettings._iDisplayLength === -1 ?
- 0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
- "iTotalPages": oSettings._iDisplayLength === -1 ?
- 0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
- };
+ return {
+ "iStart": oSettings._iDisplayStart,
+ "iEnd": oSettings.fnDisplayEnd(),
+ "iLength": oSettings._iDisplayLength,
+ "iTotal": oSettings.fnRecordsTotal(),
+ "iFilteredTotal": oSettings.fnRecordsDisplay(),
+ "iPage": oSettings._iDisplayLength === -1 ?
+ 0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
+ "iTotalPages": oSettings._iDisplayLength === -1 ?
+ 0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
+ };
};
/* Bootstrap style pagination control */
$.extend( $.fn.dataTableExt.oPagination, {
- "bootstrap": {
- "fnInit": function( oSettings, nPaging, fnDraw ) {
- var oLang = oSettings.oLanguage.oPaginate;
- var fnClickHandler = function ( e ) {
- e.preventDefault();
- if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
- fnDraw( oSettings );
- }
- };
+ "bootstrap": {
+ "fnInit": function( oSettings, nPaging, fnDraw ) {
+ var oLang = oSettings.oLanguage.oPaginate;
+ var fnClickHandler = function ( e ) {
+ e.preventDefault();
+ if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
+ fnDraw( oSettings );
+ }
+ };
- $(nPaging).addClass('pagination').append(
- ''
- );
- var els = $('a', nPaging);
- $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
- $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
- },
+ $(nPaging).addClass('pagination').append(
+ ''
+ );
+ var els = $('a', nPaging);
+ $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
+ $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
+ },
- "fnUpdate": function ( oSettings, fnDraw ) {
- var iListLength = 5;
- var oPaging = oSettings.oInstance.fnPagingInfo();
- var an = oSettings.aanFeatures.p;
- var i, ien, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
+ "fnUpdate": function ( oSettings, fnDraw ) {
+ var iListLength = 5;
+ var oPaging = oSettings.oInstance.fnPagingInfo();
+ var an = oSettings.aanFeatures.p;
+ var i, ien, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
- if ( oPaging.iTotalPages < iListLength) {
- iStart = 1;
- iEnd = oPaging.iTotalPages;
- }
- else if ( oPaging.iPage <= iHalf ) {
- iStart = 1;
- iEnd = iListLength;
- } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
- iStart = oPaging.iTotalPages - iListLength + 1;
- iEnd = oPaging.iTotalPages;
- } else {
- iStart = oPaging.iPage - iHalf + 1;
- iEnd = iStart + iListLength - 1;
- }
+ if ( oPaging.iTotalPages < iListLength) {
+ iStart = 1;
+ iEnd = oPaging.iTotalPages;
+ }
+ else if ( oPaging.iPage <= iHalf ) {
+ iStart = 1;
+ iEnd = iListLength;
+ } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
+ iStart = oPaging.iTotalPages - iListLength + 1;
+ iEnd = oPaging.iTotalPages;
+ } else {
+ iStart = oPaging.iPage - iHalf + 1;
+ iEnd = iStart + iListLength - 1;
+ }
- for ( i=0, ien=an.length ; i'+j+'')
- .insertBefore( $('li:last', an[i])[0] )
- .bind('click', function (e) {
- e.preventDefault();
- oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
- fnDraw( oSettings );
- } );
- }
+ // Add the new list items and their event handlers
+ for ( j=iStart ; j<=iEnd ; j++ ) {
+ sClass = (j==oPaging.iPage+1) ? 'class="active"' : '';
+ $(''+j+'')
+ .insertBefore( $('li:last', an[i])[0] )
+ .bind('click', function (e) {
+ e.preventDefault();
+ oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
+ fnDraw( oSettings );
+ } );
+ }
- // Add / remove disabled classes from the static elements
- if ( oPaging.iPage === 0 ) {
- $('li:first', an[i]).addClass('disabled');
- } else {
- $('li:first', an[i]).removeClass('disabled');
- }
+ // Add / remove disabled classes from the static elements
+ if ( oPaging.iPage === 0 ) {
+ $('li:first', an[i]).addClass('disabled');
+ } else {
+ $('li:first', an[i]).removeClass('disabled');
+ }
- if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
- $('li:last', an[i]).addClass('disabled');
- } else {
- $('li:last', an[i]).removeClass('disabled');
- }
- }
- }
- }
+ if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
+ $('li:last', an[i]).addClass('disabled');
+ } else {
+ $('li:last', an[i]).removeClass('disabled');
+ }
+ }
+ }
+ }
} );
@@ -211,47 +211,47 @@ $.extend( $.fn.dataTableExt.oPagination, {
* Required TableTools 2.1+
*/
if ( $.fn.DataTable.TableTools ) {
- // Set the classes that TableTools uses to something suitable for Bootstrap
- $.extend( true, $.fn.DataTable.TableTools.classes, {
- "container": "DTTT btn-group",
- "buttons": {
- "normal": "btn",
- "disabled": "disabled"
- },
- "collection": {
- "container": "DTTT_dropdown dropdown-menu",
- "buttons": {
- "normal": "",
- "disabled": "disabled"
- }
- },
- "print": {
- "info": "DTTT_print_info modal"
- },
- "select": {
- "row": "active"
- }
- } );
+ // Set the classes that TableTools uses to something suitable for Bootstrap
+ $.extend( true, $.fn.DataTable.TableTools.classes, {
+ "container": "DTTT btn-group",
+ "buttons": {
+ "normal": "btn",
+ "disabled": "disabled"
+ },
+ "collection": {
+ "container": "DTTT_dropdown dropdown-menu",
+ "buttons": {
+ "normal": "",
+ "disabled": "disabled"
+ }
+ },
+ "print": {
+ "info": "DTTT_print_info modal"
+ },
+ "select": {
+ "row": "active"
+ }
+ } );
- // Have the collection use a bootstrap compatible dropdown
- $.extend( true, $.fn.DataTable.TableTools.DEFAULTS.oTags, {
- "collection": {
- "container": "ul",
- "button": "li",
- "liner": "a"
- }
- } );
+ // Have the collection use a bootstrap compatible dropdown
+ $.extend( true, $.fn.DataTable.TableTools.DEFAULTS.oTags, {
+ "collection": {
+ "container": "ul",
+ "button": "li",
+ "liner": "a"
+ }
+ } );
}
/*
$(document).ready(function() {
- $('#example').dataTable( {
- "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
- "sPaginationType": "bootstrap",
- "oLanguage": {
- "sLengthMenu": "_MENU_ records per page"
- }
- } );
+ $('#example').dataTable( {
+ "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
+ "sPaginationType": "bootstrap",
+ "oLanguage": {
+ "sLengthMenu": "_MENU_ records per page"
+ }
+ } );
} );
*/
@@ -278,45 +278,45 @@ $(function() {
function enableHoverClick($combobox, $entityId, url) {
- /*
- $combobox.mouseleave(function() {
- $combobox.css('text-decoration','none');
- }).on('mouseenter', function(e) {
- setAsLink($combobox, $combobox.closest('.combobox-container').hasClass('combobox-selected'));
- }).on('focusout mouseleave', function(e) {
- setAsLink($combobox, false);
- }).on('click', function() {
- var clientId = $entityId.val();
- if ($(combobox).closest('.combobox-container').hasClass('combobox-selected')) {
- if (parseInt(clientId) > 0) {
- window.open(url + '/' + clientId, '_blank');
- } else {
- $('#myModal').modal('show');
- }
- };
- });
+ /*
+ $combobox.mouseleave(function() {
+ $combobox.css('text-decoration','none');
+ }).on('mouseenter', function(e) {
+ setAsLink($combobox, $combobox.closest('.combobox-container').hasClass('combobox-selected'));
+ }).on('focusout mouseleave', function(e) {
+ setAsLink($combobox, false);
+ }).on('click', function() {
+ var clientId = $entityId.val();
+ if ($(combobox).closest('.combobox-container').hasClass('combobox-selected')) {
+ if (parseInt(clientId) > 0) {
+ window.open(url + '/' + clientId, '_blank');
+ } else {
+ $('#myModal').modal('show');
+ }
+ };
+ });
*/
}
function setAsLink($input, enable) {
- if (enable) {
- $input.css('text-decoration','underline');
- $input.css('cursor','pointer');
- } else {
- $input.css('text-decoration','none');
- $input.css('cursor','text');
- }
+ if (enable) {
+ $input.css('text-decoration','underline');
+ $input.css('cursor','pointer');
+ } else {
+ $input.css('text-decoration','none');
+ $input.css('cursor','text');
+ }
}
function setComboboxValue($combobox, id, name) {
- $combobox.find('input').val(id);
- $combobox.find('input.form-control').val(name);
- if (id && name) {
- $combobox.find('select').combobox('setSelected');
- $combobox.find('.combobox-container').addClass('combobox-selected');
- } else {
- $combobox.find('.combobox-container').removeClass('combobox-selected');
- }
+ $combobox.find('input').val(id);
+ $combobox.find('input.form-control').val(name);
+ if (id && name) {
+ $combobox.find('select').combobox('setSelected');
+ $combobox.find('.combobox-container').addClass('combobox-selected');
+ } else {
+ $combobox.find('.combobox-container').removeClass('combobox-selected');
+ }
}
@@ -346,24 +346,24 @@ ko.bindingHandlers.dropdown = {
/*
ko.utils.registerEventHandler(element, "change", function () {
- console.log("change: %s", $(element).val());
- var
- valueAccessor($(element).val());
+ console.log("change: %s", $(element).val());
+ var
+ valueAccessor($(element).val());
//$(element).combobox('refresh');
});
- */
+ */
},
- update: function (element, valueAccessor) {
- var value = ko.utils.unwrapObservable(valueAccessor());
- var id = (value && value.public_id) ? value.public_id() : (value && value.id) ? value.id() : value ? value : false;
- //console.log("combo-update: %s", id);
- if (id) {
- $(element).val(id);
- $(element).combobox('refresh');
- } else {
- $(element).combobox('clearTarget');
- $(element).combobox('clearElement');
- }
+ update: function (element, valueAccessor) {
+ var value = ko.utils.unwrapObservable(valueAccessor());
+ var id = (value && value.public_id) ? value.public_id() : (value && value.id) ? value.id() : value ? value : false;
+ //console.log("combo-update: %s", id);
+ if (id) {
+ $(element).val(id);
+ $(element).combobox('refresh');
+ } else {
+ $(element).combobox('clearTarget');
+ $(element).combobox('clearElement');
+ }
}
};
@@ -373,11 +373,11 @@ ko.bindingHandlers.datePicker = {
var value = ko.utils.unwrapObservable(valueAccessor());
if (value) $(element).datepicker('update', value);
$(element).change(function() {
- var value = valueAccessor();
+ var value = valueAccessor();
value($(element).val());
})
},
- update: function (element, valueAccessor) {
+ update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
if (value) $(element).datepicker('update', value);
}
@@ -386,14 +386,14 @@ ko.bindingHandlers.datePicker = {
function wordWrapText(value, width)
{
- if (!width) width = 200;
- var doc = new jsPDF('p', 'pt');
- doc.setFont('Helvetica','');
- doc.setFontSize(10);
+ if (!width) width = 200;
+ var doc = new jsPDF('p', 'pt');
+ doc.setFont('Helvetica','');
+ doc.setFontSize(10);
- var lines = value.split("\n");
+ var lines = value.split("\n");
for (var i = 0; i < lines.length; i++) {
- var numLines = doc.splitTextToSize(lines[i], width).length;
+ var numLines = doc.splitTextToSize(lines[i], width).length;
if (numLines <= 1) continue;
var j = 0; space = lines[i].length;
while (j++ < lines[i].length) {
@@ -406,9 +406,9 @@ function wordWrapText(value, width)
var newValue = (lines.join("\n")).trim();
if (value == newValue) {
- return newValue;
+ return newValue;
} else {
- return wordWrapText(newValue, width);
+ return wordWrapText(newValue, width);
}
}
@@ -416,105 +416,105 @@ function wordWrapText(value, width)
function getClientDisplayName(client)
{
- var contact = client.contacts[0];
- if (client.name) {
- return client.name;
- } else if (contact.first_name || contact.last_name) {
- return contact.first_name + ' ' + contact.last_name;
- } else {
- return contact.email;
- }
+ var contact = client.contacts[0];
+ if (client.name) {
+ return client.name;
+ } else if (contact.first_name || contact.last_name) {
+ return contact.first_name + ' ' + contact.last_name;
+ } else {
+ return contact.email;
+ }
}
function populateInvoiceComboboxes(clientId, invoiceId) {
- var clientMap = {};
- var invoiceMap = {};
- var invoicesForClientMap = {};
- var $clientSelect = $('select#client');
-
- for (var i=0; i MaxGlobalY) {
- tableTop = 40;
- GlobalY=tableTop;
+ //tableTop = 40;
+ //GlobalY=tableTop;
//var MaxLinesPerPage=70;
+ GlobalY=Report1AddNewPage(invoice,account,doc);
+ /*
doc.addPage();
if (invoice.imageLogo1)
{
@@ -981,21 +982,21 @@ function GetReportTemplate2 (invoice,checkMath)
doc.addImage(invoice.imageLogo1, 'JPEG', left, y, invoice.imageLogoWidth1, invoice.imageLogoHeight1);
- }
+ }*/
}
if ((i%2)===0){
doc.setLineWidth(0.5);
- doc.setDrawColor(200,200,200);
+ doc.setDrawColor(230,230,230);
doc.setFillColor(230,230,230);
var x1 = tableLeft-tablePadding ;
- var y1 = GlobalY-FontSize;
+ var y1 = GlobalY-FontSize-5;
var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
- var h2 = doc.internal.getFontSize()*length+length*1.1;//+h;//+tablePadding;
+ var h2 = doc.internal.getFontSize()*length+length*1.1+10;//+h;//+tablePadding;
@@ -1035,8 +1036,20 @@ function GetReportTemplate2 (invoice,checkMath)
+
+
+
//-------------------------------Publishing Document balance------------------------------------------
+//check do we need to go to next page
+ MinHeight=700;
+
+ if (GlobalY > MinHeight) {
+
+
+ GlobalY=Report1AddNewPage(invoice,account,doc);
+ }
+
@@ -1048,22 +1061,25 @@ function GetReportTemplate2 (invoice,checkMath)
- GlobalY=x;
+ // GlobalY=x;
+
+ GlobalY=GlobalY+25;
doc.setLineWidth(0.3);
- doc.setDrawColor(200,200,200);
+ doc.setDrawColor(251,251,251);
doc.setFillColor(251,251,251);
- var x1 = tableLeft-tablePadding*2 ;
+ var x1 = tableLeft-tablePadding*2+14 ;
var y1 = GlobalY-FontSize-tablePadding;
+
var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
var h2 = doc.internal.getFontSize()*3+tablePadding*2;
doc.rect(x1, y1, w2, h2, 'FD');
+ x=y1+FontSize+tablePadding;
-
- Msg='Total';
+ Msg='Subtotal';
var TmpMsgX = MsgRightAlign-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
doc.text(TmpMsgX, x, Msg);
@@ -1081,7 +1097,7 @@ function GetReportTemplate2 (invoice,checkMath)
x += doc.internal.getFontSize()*2;
//doc.text(footerLeft, x, '');
- Msg='Amount Payed';
+ Msg='Paid to Date';
var TmpMsgX = MsgRightAlign-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
doc.text(TmpMsgX, x, Msg);
@@ -1100,7 +1116,7 @@ function GetReportTemplate2 (invoice,checkMath)
doc.setFontSize(10);
x += doc.internal.getFontSize()*4;
//doc.text(footerLeft, x, '');
- Msg='Amount Due';
+ Msg='Balance Due';
var TmpMsgX = MsgRightAlign-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
@@ -1123,7 +1139,20 @@ function GetReportTemplate2 (invoice,checkMath)
}
-function GetReportTemplate1 (invoice,checkMath)
+
+
+
+
+
+
+
+
+
+
+
+
+
+function GetReportTemplate2 (invoice,checkMath)
{
var doc=false;
@@ -1140,7 +1169,7 @@ function GetReportTemplate1 (invoice,checkMath)
var invoiceDate = invoice.invoice_date ? invoice.invoice_date : '';
var dueDate = invoice.due_date ? invoice.due_date : '';
- var paid_to_date=client.paid_to_date;
+ var paid_to_date = invoice.amount - invoice.balance;
var headerRight = 150;
var accountTop = 30;
@@ -1160,7 +1189,7 @@ function GetReportTemplate1 (invoice,checkMath)
//var tableTop = 240+100;
//var tableRowHeight = 18;
- var tablePadding = 6;
+ var tablePadding = 14;
@@ -1553,7 +1582,6 @@ function GetReportTemplate1 (invoice,checkMath)
var MaxLinesPerPage=40;
-
for (var i=0; i MaxGlobalY) {
tableTop = 40;
@@ -1615,9 +1643,9 @@ function GetReportTemplate1 (invoice,checkMath)
var x1 = tableLeft-tablePadding ;
- var y1 = GlobalY-FontSize;
+ var y1 = GlobalY-FontSize-5;
var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
- var h2 = doc.internal.getFontSize()*length+length*1.1;//+h;//+tablePadding;
+ var h2 = doc.internal.getFontSize()*length+length*1.1+10;//+h;//+tablePadding;
doc.rect(x1, y1, w2, h2, 'FD');
}
else
@@ -1628,9 +1656,9 @@ function GetReportTemplate1 (invoice,checkMath)
var x1 = tableLeft-tablePadding ;
- var y1 = GlobalY-FontSize;
+ var y1 = GlobalY-FontSize-5;
var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
- var h2 = doc.internal.getFontSize()*length+length*1.1;//+h;//+tablePadding;
+ var h2 = doc.internal.getFontSize()*length+length*1.1+10;//+h;//+tablePadding;
doc.rect(x1, y1, w2, h2, 'FD');
}
@@ -1672,7 +1700,7 @@ function GetReportTemplate1 (invoice,checkMath)
doc.setDrawColor(251,251,251);
doc.setFillColor(251,251,251);
- var x1 = tableLeft-tablePadding*2 ;
+ var x1 = tableLeft-tablePadding*2 +14;
var y1 = GlobalY-FontSize-tablePadding;
var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
var h2 = doc.internal.getFontSize()*3+tablePadding*2;
@@ -1720,7 +1748,7 @@ function GetReportTemplate1 (invoice,checkMath)
doc.text(TmpMsgX, x, Msg);
- SetPdfColor('LightBlue',doc);
+ //SetPdfColor('LightBlue',doc);
AmountText = formatMoney(balance , currencyId);
headerLeft=headerRight+400;
var AmountX = headerLeft - (doc.getStringUnitWidth(AmountText) * doc.internal.getFontSize());
@@ -1736,6 +1764,10 @@ function GetReportTemplate1 (invoice,checkMath)
+
+
+
+
function SetPdfColor(color,doc)
{
@@ -1792,13 +1824,6 @@ function SetPdfColor(color,doc)
}
-
-
-
-function Report1AddFooter (doc)
-{
-}
-
function Report2AddFooter (invoice,doc)
{
@@ -1829,7 +1854,7 @@ function Report2AddFooter (invoice,doc)
pageHeight=820;
var left = 250;//headerRight ;
y=pageHeight-invoice.imageLogoHeight2;
- var headerRight=350;
+ var headerRight=370;
var left = headerRight - invoice.imageLogoWidth2;
doc.addImage(invoice.imageLogo2, 'JPEG', left, y, invoice.imageLogoWidth2, invoice.imageLogoHeight2);
@@ -1841,3 +1866,834 @@ function Report2AddFooter (invoice,doc)
}
+function Report3AddFooter (invoice,account,doc)
+{
+
+ doc.setLineWidth(0.5);
+ doc.setDrawColor(242,101,34);
+ doc.setFillColor(242,101,34);
+
+ // return doc.setTextColor(240,240,240);//select color Custom Report GRAY Colour
+
+
+
+
+ var x1 = 0;//tableLeft-tablePadding ;
+
+ var y1 = 750;
+
+ var w2 = 596;
+ var h2 = 94;//doc.internal.getFontSize()*length+length*1.1;//+h;//+tablePadding;
+
+
+
+ doc.rect(x1, y1, w2, h2, 'FD');
+
+
+ if (invoice.imageLogo3)
+ {
+ pageHeight=820;
+ // var left = 25;//250;//headerRight ;
+ y=pageHeight-invoice.imageLogoHeight3;
+ //var headerRight=370;
+
+ //var left = headerRight - invoice.imageLogoWidth3;
+ doc.addImage(invoice.imageLogo3, 'JPEG', 40, y, invoice.imageLogoWidth3, invoice.imageLogoHeight3);
+
+
+ }
+
+
+
+
+
+
+
+ var LineOne= account.name;
+
+ MaxWidth=440;
+ var AlignLine = MaxWidth-30- (doc.getStringUnitWidth(LineOne) * doc.internal.getFontSize());
+
+ if (account.name) {
+
+ y =780;
+
+ doc.setFontSize(12);
+ //doc.setFontType("normal");
+ doc.setFontType("bold");
+ SetPdfColor('White',doc);
+
+
+ doc.text(AlignLine, y, LineOne);
+
+ doc.setFontSize(7);
+ }
+
+
+var y =780;
+
+ var AlignLine2=AlignLine+110;
+ if (account.address1) {
+
+ doc.setFontSize(12);
+ doc.setFontType("normal");
+ SetPdfColor('White',doc);
+ doc.text(AlignLine2, y,account.address1);
+ doc.setFontSize(7);
+
+ y=y+18;
+ }
+
+
+
+ if (account.address2) {
+
+ doc.setFontSize(12);
+ doc.setFontType("normal");
+ SetPdfColor('White',doc);
+ doc.text(AlignLine2, y,account.address2);
+ doc.setFontSize(7);
+
+ y=y+18;
+ }
+
+
+
+ doc.setFontSize(12);
+ doc.setFontType("normal");
+ SetPdfColor('White',doc);
+
+
+ var LineTwo= account.city+' '+(account.country ? account.country.name : '');
+
+ doc.text(AlignLine2, y,LineTwo);
+ doc.setFontSize(7);
+
+
+
+
+}
+
+
+
+
+
+
+function GetReportTemplate3 (invoice,checkMath)
+{
+ var doc=false;
+
+ var GlobalY=0;//Y position of line at current page
+
+
+
+ var client = invoice.client;
+ var account = invoice.account;
+
+
+ var currencyId = client.currency_id;
+ var invoiceNumber = invoice.invoice_number;
+ var invoiceDate = invoice.invoice_date ? invoice.invoice_date : '';
+ var dueDate = invoice.due_date ? invoice.due_date : '';
+
+ var paid_to_date = invoice.amount - invoice.balance;
+
+ var headerRight = 150;
+ var accountTop = 30;
+ var marginLeft = 180;
+ var rowHeight = 10;
+ var headerTop = 125; //height of HEADER //should be dynamic !
+
+
+ var descriptionLeft = 162;
+ var unitCostRight = 410;
+ var qtyRight = 480;
+ var taxRight = 480;
+ var lineTotalRight = 550;
+ var tableLeft = 50;
+
+
+ //var tableTop = 240+100;
+
+ //var tableRowHeight = 18;
+ var tablePadding = 14;
+
+
+
+//------------------------------ move to functions !
+ var total = 0;
+ for (var i=0; i 0) {
+
+ var discount = total * (invoice.discount/100);
+ total -= discount;
+ }
+
+ var tax = 0;
+ if (invoice.tax && parseFloat(invoice.tax.rate)) {
+ tax = parseFloat(invoice.tax.rate);
+ } else if (invoice.tax_rate && parseFloat(invoice.tax_rate)) {
+ tax = parseFloat(invoice.tax_rate);
+ }
+
+ if (tax) {
+ var tax = total * (tax/100);
+ total = parseFloat(total) + parseFloat(tax);
+ }
+
+ total = formatMoney(total - (invoice.amount - invoice.balance), currencyId);
+
+ var balance = formatMoney(total, currencyId);
+
+ /*
+ @param orientation One of "portrait" or "landscape" (or shortcuts "p" (Default), "l")
+ @param unit Measurement unit to be used when coordinates are specified. One of "pt" (points), "mm" (Default), "cm", "in"
+ @param format One of 'a3', 'a4' (Default),'a5' ,'letter' ,'legal'
+ @returns {jsPDF}
+ */
+ var doc = new jsPDF('portrait', 'pt','a4');
+
+
+
+ //Set PDF properities
+ doc.setProperties({
+ title: '',
+ subject: 'Report',
+ author: 'Ninja',
+ keywords: 'pdf, javascript,geenerated',
+ creator: 'Ninja'
+ });
+
+
+ //set default style for report
+ doc.setFont('Helvetica','');
+ doc.setFontSize(7);
+
+
+
+
+ Report3AddHeader (invoice,account,doc);
+
+
+
+//----------------------------------------------------------------------------------------------------
+ if (invoice.image)
+ {
+
+ y=170;
+ var left = headerRight - invoice.imageWidth;
+ doc.addImage(invoice.image, 'JPEG', left, y, invoice.imageWidth, invoice.imageHeight);
+ }
+
+ Report3AddFooter (invoice,account,doc);
+
+ var invoiceNumberX = headerRight - (doc.getStringUnitWidth(invoiceNumber, false) * doc.internal.getFontSize());
+ var invoiceDateX = headerRight - (doc.getStringUnitWidth(invoiceDate) * doc.internal.getFontSize());
+ var dueDateX = headerRight - (doc.getStringUnitWidth(dueDate) * doc.internal.getFontSize());
+ var poNumberX = headerRight - (doc.getStringUnitWidth(invoice.po_number) * doc.internal.getFontSize());
+
+
+
+ var y = accountTop;
+ var left = marginLeft;
+
+
+ doc.setFontSize(7);
+ SetPdfColor('White',doc);
+
+
+
+//TODO:NOT AVAILEABLE FROM DATAMODEL
+ //account.email='email N/A';
+ if (account.email) {
+ y += rowHeight;
+ doc.text(left, y, account.email);
+ }
+ else
+ {
+ //console.log('account.email NOT DEFINED !');
+ }
+
+//TODO:NOT AVAILEABLE FROM DATAMODEL
+ if (account.phone) {
+ y += rowHeight;
+ doc.text(left, y, account.phone);
+ }
+ else
+ {
+ //console.log('account.phone NOT DEFINED !');
+ }
+
+
+ var HeaderMarginThirdColumn=70;
+
+
+
+
+//-----------------------------Publish Client Details block--------------------------------------------
+
+ var y = accountTop;
+ var left = marginLeft;
+
+ var headerY = headerTop;
+
+
+
+ SetPdfColor('GrayLogo',doc); //set black color
+
+
+ var line1=headerTop+16;
+ var line2=headerTop+16*2;
+ var line21=headerTop+16*1.6;
+ var line22=headerTop+16*2.2;
+
+ var line3=headerTop+16*3;
+ var line31=headerTop+16*3.6;
+
+ var marginLeft1=394;
+
+
+ SetPdfColor('Black',doc); //set black color
+
+ doc.setFontSize(7);
+
+
+ ClientCompanyName=client.name;
+ ClientCompanyEmail='';//client.email;//'22222222';
+ ClientCompanyPhone=client.work_phone;
+
+ ClientCompanyAddress1=client.address1;
+ ClientCompanyAddress2=client.address2+' '+client.postal_code;
+
+ if(client)
+ {
+ ClientCompanyName=getClientDisplayName(client);
+ ClientCompanyPhone=client.work_phone;
+ ClientCompanyEmail=client.contacts[0].email;
+
+ }
+
+ //show left column
+ SetPdfColor('Black',doc); //set black color
+ doc.setFontType("normal");
+
+ GlobalY=170;
+
+ var z=GlobalY;
+
+
+
+ SetPdfColor('Black',doc);
+
+ if (ClientCompanyName)
+ {
+ doc.setFontSize('8');
+ doc.setFontType("bold");
+ doc.text(marginLeft1, z, ClientCompanyName);
+ z=z+15;//doc.internal.getFontSize();
+ }
+
+ if (ClientCompanyAddress1)
+ {
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft1, z, ClientCompanyAddress1);
+ z=z+15;////z=z+doc.internal.getFontSize();
+ }
+ if (ClientCompanyAddress2)
+ {
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft1, z, ClientCompanyAddress2);
+ z=z+15;////z=z+doc.internal.getFontSize();
+ }
+
+ if (ClientCompanyEmail)
+ {
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft1, z, ClientCompanyEmail);
+ z=z+15;///z=z+doc.internal.getFontSize();
+ }
+ if (ClientCompanyPhone)
+ {
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft1, z, ClientCompanyPhone);
+ z=z+15;////z=z+doc.internal.getFontSize();
+ }
+
+
+
+
+
+
+
+
+ marginLeft2=395;
+
+ //publish left side information
+
+ SetPdfColor('White',doc);
+ z=30;//GlobalY+15;
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft2, z,'Invoice Number');
+ z=z+15;//doc.internal.getFontSize();
+
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft2, z,'Invoice date');
+ z=z+15;//doc.internal.getFontSize();
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft2, z,'Payment Date');
+ z=z+15;//doc.internal.getFontSize();
+
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft2, z,'Amount Due');
+ z=z+15;//doc.internal.getFontSize();
+
+
+ marginLeft3=marginLeft2+65;
+
+ z=30;//GlobalY+15;
+
+
+ var invoiceNumber = invoice.invoice_number;
+ var invoiceDate = invoice.invoice_date ? invoice.invoice_date : '';
+ var dueDate = invoice.due_date ? invoice.due_date : '';
+
+
+ doc.setFontSize('7');
+ doc.setFontType("bold");
+ doc.text(marginLeft3, z,invoiceNumber);
+ z=z+15;//doc.internal.getFontSize();
+
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft3, z,invoiceDate);
+ z=z+15;//doc.internal.getFontSize();
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft3, z,dueDate);
+ z=z+15;//doc.internal.getFontSize();
+
+
+
+ doc.setFontSize('8');
+ doc.setFontType("normal");
+ doc.text(marginLeft3, z,total);
+ z=z+15;//doc.internal.getFontSize();
+
+
+
+
+
+ y=z+60;
+//--------------------------------Publishing Table--------------------------------------------------
+ GlobalY=y+130;
+ GlobalY=GlobalY+30;//y+30;
+ SetPdfColor('Black',doc);
+ doc.setFontSize(7);
+ var hasTaxes = false;
+ for (var i=0; i 0) || (item.tax_rate && parseFloat(item.tax_rate) > 0)) {
+ hasTaxes = true;
+ break;
+ }
+ }
+ if (hasTaxes)
+ {
+ descriptionLeft -= 20;
+ unitCostRight -= 40;
+ qtyRight -= 40;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var costX = unitCostRight - (doc.getStringUnitWidth('Unit Cost') * doc.internal.getFontSize());
+ var qtyX = qtyRight - (doc.getStringUnitWidth('Quantity') * doc.internal.getFontSize());
+ var taxX = taxRight - (doc.getStringUnitWidth('Tax') * doc.internal.getFontSize());
+ var totalX = lineTotalRight - (doc.getStringUnitWidth('Line Total') * doc.internal.getFontSize()) -15;
+
+ tableTop=GlobalY;//redefine this to dynamic value
+
+
+ doc.setFontSize(12);
+ doc.setFontType("bold");
+
+
+
+
+
+
+
+
+
+
+ doc.setLineWidth(0.3);
+
+ doc.setDrawColor(63,60,60);
+ doc.setFillColor(63,60,60);
+ var x1 = tableLeft-tablePadding*2+5 ;
+ var y1 = GlobalY-doc.internal.getFontSize()-15;
+ var w2 = 515+tablePadding*2-3;//lineTotalRight-tablePadding*5;
+ var h2 = doc.internal.getFontSize()+15*2;
+ doc.rect(x1, y1, w2, h2, 'FD');
+
+
+ SetPdfColor('White',doc);
+
+
+
+ doc.text(tableLeft, tableTop, 'Item');
+ doc.text(descriptionLeft, tableTop, 'Description');
+ doc.text(costX, tableTop, 'Unit Cost');
+ doc.text(qtyX, tableTop, 'Quantity');
+ doc.text(totalX, tableTop, 'Line Total');
+
+ if (hasTaxes)
+ {
+ doc.text(taxX, tableTop, 'Tax');
+ }
+
+ SetPdfColor('Black',doc);
+ doc.setFontSize(7);
+
+ /* line items */
+
+ var line = 1;
+ var total = 0;
+ var shownItem = false;
+
+
+ GlobalY=GlobalY+24+10; //padding from top
+
+ var FontSize=7;
+ doc.setFontSize(FontSize);
+ doc.setFontType("normal");
+
+ var MaxLinesPerPage=40;
+
+
+
+ for (var i=0; i MaxGlobalY) {
+
+ tableTop = 180;
+ GlobalY=tableTop;
+
+ doc.addPage();
+ Report3AddHeader(invoice,account,doc);
+ Report3AddFooter(invoice,account,doc);
+ NewPageFlag=1;
+ }
+ else NewPageFlag=0;
+
+
+if (i!=0&NewPageFlag==0)
+{
+ doc.setDrawColor(0,0,0); // draw red lines
+ doc.setLineWidth(0.1);
+
+ var x1 = tableLeft-tablePadding ;
+ var y1 = GlobalY-FontSize;
+ var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
+ doc.line(x1, y1-10,x1+w2, y1-10); // horizontal line
+}
+
+
+
+ x=GlobalY;
+
+ GlobalY=GlobalY+h+tablePadding*2;
+
+
+// SetPdfColor('SomeGreen',doc);
+
+ doc.setFontType("bold");
+ doc.text(tableLeft, x, productKey);
+
+ doc.setFontType("normal");
+ SetPdfColor('Black',doc);
+ doc.text(descriptionLeft, x, notes);
+
+
+
+ doc.text(costX, x, cost);
+ doc.text(qtyX, x, qty);
+ doc.text(totalX, x, lineTotal);
+
+ if (tax) {
+ doc.text(taxX, x, tax+'%');
+ }
+
+
+
+ line=line+length;
+ }
+
+
+ if (GlobalY>600)
+ {
+ GlobalY=150;
+ x=150;
+ doc.addPage();
+ Report3AddHeader(invoice,account,doc);
+ Report3AddFooter(invoice,account,doc);
+ }
+
+
+ else
+
+ {
+
+ //put line separator
+
+ doc.setDrawColor(0,0,0); // draw red lines
+ doc.setLineWidth(0.1);
+
+ var x1 = tableLeft-tablePadding ;
+ var y1 = GlobalY-FontSize;
+ var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
+ doc.line(x1, y1,x1+w2, y1); // horizontal line
+
+ }
+
+
+
+//-------------------------------Publishing Document balance------------------------------------------
+
+
+ x += 16+50;
+
+ doc.setFontType("bold");
+ MsgRightAlign=400;
+
+
+
+ GlobalY=x;
+
+
+ SetPdfColor('Black',doc);
+ Msg='Total';
+ var TmpMsgX = MsgRightAlign-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
+ doc.text(TmpMsgX, x, Msg);
+
+ doc.setFontType("normal");
+ AmountText = formatMoney(total , currencyId);
+ headerLeft=headerRight+400;
+ var AmountX = headerLeft - (doc.getStringUnitWidth(AmountText) * doc.internal.getFontSize());
+ doc.text(AmountX, x, AmountText);
+
+
+
+
+ x += doc.internal.getFontSize()*2;
+
+ Msg='Amount Payed';
+ var TmpMsgX = MsgRightAlign-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
+ doc.text(TmpMsgX, x, Msg);
+
+
+
+ AmountText = formatMoney(paid_to_date , currencyId);
+ headerLeft=headerRight+400;
+ var AmountX = headerLeft - (doc.getStringUnitWidth(AmountText) * doc.internal.getFontSize());
+ doc.text(AmountX, x, AmountText);
+
+
+
+
+
+
+
+
+
+
+ doc.setLineWidth(0.3);
+
+ doc.setDrawColor(63,60,60);
+ doc.setFillColor(63,60,60);
+ var x1 = tableLeft-tablePadding*2 +14;
+ var y1 = x+ doc.internal.getFontSize()*4;
+ var w2 = 510+tablePadding*2;//lineTotalRight-tablePadding*5;
+ var h2 = doc.internal.getFontSize()*3+tablePadding*2;
+ doc.rect(x1, y1, w2, h2, 'FD');
+
+
+
+
+
+
+
+
+
+
+ doc.setFontType("bold");
+ SetPdfColor('White',doc);
+ doc.setFontSize(12);
+ x += doc.internal.getFontSize()*4;
+ Msg='Amount Due';
+ var TmpMsgX = MsgRightAlign-(doc.getStringUnitWidth(Msg) * doc.internal.getFontSize());
+
+
+
+ doc.text(TmpMsgX, x, Msg);
+
+
+ doc.setFontType("normal");
+ AmountText = formatMoney(balance , currencyId);
+ headerLeft=headerRight+400;
+ var AmountX = headerLeft - (doc.getStringUnitWidth(AmountText) * doc.internal.getFontSize());
+ doc.text(AmountX, x, AmountText);
+
+
+
+
+
+
+ return doc;
+}
+
+
+
+
+function Report3AddHeader (invoice,account,doc)
+{
+ doc.setLineWidth(0.5);
+ //doc.setFillColor( 46,43,43);
+ //doc.setFillColor( 46,43,43);
+ doc.setDrawColor(242,101,34);
+ doc.setFillColor(242,101,34);
+ var x1 =0;
+ var y1 = 0;
+ var w2 = 595;
+ var h2 = 140;
+ doc.rect(x1, y1, w2, h2, 'FD');
+
+ SetPdfColor('White',doc);
+ //second column
+ doc.setFontType("bold");
+ var MaxWidth=594;
+ var LineOne= account.name;
+ var AlignLine = MaxWidth-30- (doc.getStringUnitWidth(LineOne) * doc.internal.getFontSize());
+ if (account.name) {
+
+ //SetPdfColor('SomeGreen',doc);
+ doc.setFontSize('36');
+ doc.setFontType("bold");
+ doc.text(40,50, LineOne);
+
+ doc.setFontType("normal");
+ doc.setFontSize('7');
+ }
+
+
+}
+
+
+function Report1AddNewPage(invoice,account,doc)
+{
+ doc.addPage();
+ if (invoice.imageLogo1)
+ {
+ pageHeight=820;
+ y=pageHeight-invoice.imageLogoHeight1;
+ var left = 20;//headerRight - invoice.imageLogoWidth1;
+ doc.addImage(invoice.imageLogo1, 'JPEG', left, y, invoice.imageLogoWidth1, invoice.imageLogoHeight1);
+
+ }
+
+ GlobalY = 40;
+ return GlobalY;
+}