mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-07 19:04:41 -04:00
bug fixes
This commit is contained in:
parent
388ca323c8
commit
78be769c8d
@ -217,7 +217,7 @@
|
|||||||
<h4 class="modal-title" id="myModalLabel">Sign up</h4>
|
<h4 class="modal-title" id="myModalLabel">Sign up</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="background-color: #fff; padding-right:20px" id="signUpDiv" onkeyup="validateSignUp()" onkeydown="checkForEnter(event)">
|
<div style="background-color: #fff; padding-right:20px" id="signUpDiv" onkeyup="validateSignUp()" onclick="validateSignUp()" onkeydown="checkForEnter(event)">
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
{{ Former::open('signup/submit')->addClass('signUpForm') }}
|
{{ Former::open('signup/submit')->addClass('signUpForm') }}
|
||||||
@ -232,11 +232,16 @@
|
|||||||
{{ Former::text('new_first_name')->label('First name') }}
|
{{ Former::text('new_first_name')->label('First name') }}
|
||||||
{{ Former::text('new_last_name')->label('Last name') }}
|
{{ Former::text('new_last_name')->label('Last name') }}
|
||||||
{{ Former::text('new_email')->label('Email') }}
|
{{ Former::text('new_email')->label('Email') }}
|
||||||
{{ Former::password('new_password')->label('Password') }}
|
{{ Former::password('new_password')->label('Password') }}
|
||||||
|
{{ Former::checkbox('terms_checkbox')->label(' ')->text('I agree to the Invoice Ninja <a href="#" target="_blank">Terms of Service</a>') }}
|
||||||
{{ Former::close() }}
|
{{ Former::close() }}
|
||||||
|
|
||||||
<center><div id="errorTaken" style="display:none"> <br/>The email address is already regiestered</div></center>
|
<center><div id="errorTaken" style="display:none"> <br/>The email address is already regiestered</div></center>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="padding-left:40px;padding-right:40px;display:none;min-height:130px" id="working">
|
<div style="padding-left:40px;padding-right:40px;display:none;min-height:130px" id="working">
|
||||||
@ -255,8 +260,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="modal-footer" id="signUpFooter" style="margin-top: 0px">
|
<div class="modal-footer" id="signUpFooter" style="margin-top: 0px">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close <i class="glyphicon glyphicon-remove-circle"></i></button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close <i class="glyphicon glyphicon-remove-circle"></i></button>
|
||||||
<button type="button" class="btn btn-primary" id="saveSignUpButton" onclick="validateServerSignUp()">Save <i class="glyphicon glyphicon-floppy-disk"></i></button>
|
<button type="button" class="btn btn-primary" id="saveSignUpButton" onclick="validateServerSignUp()" disabled>Save <i class="glyphicon glyphicon-floppy-disk"></i></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -285,7 +290,7 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if (App::environment() != ENV_PRODUCTION)
|
@if ($_SERVER['SERVER_NAME'] != 'www.invoiceninja.com')
|
||||||
<div class="container">Powered by <a href="https://www.invoiceninja.com/" target="_blank">InvoiceNinja.com</a></div>
|
<div class="container">Powered by <a href="https://www.invoiceninja.com/" target="_blank">InvoiceNinja.com</a></div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@ -323,6 +328,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!$('#terms_checkbox').is(':checked')) {
|
||||||
|
isFormValid = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#saveSignUpButton').prop('disabled', !isFormValid);
|
||||||
|
|
||||||
return isFormValid;
|
return isFormValid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,16 +63,16 @@
|
|||||||
<div class="col-md-4" id="col_2">
|
<div class="col-md-4" id="col_2">
|
||||||
<div data-bind="visible: !is_recurring()">
|
<div data-bind="visible: !is_recurring()">
|
||||||
{{ Former::text('invoice_date')->data_bind("datePicker: invoice_date, valueUpdate: 'afterkeydown'")
|
{{ Former::text('invoice_date')->data_bind("datePicker: invoice_date, valueUpdate: 'afterkeydown'")
|
||||||
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar"></i>') }}
|
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar" onclick="toggleDatePicker(\'invoice_date\')"></i>') }}
|
||||||
{{ Former::text('due_date')->data_bind("datePicker: due_date, valueUpdate: 'afterkeydown'")
|
{{ Former::text('due_date')->data_bind("datePicker: due_date, valueUpdate: 'afterkeydown'")
|
||||||
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar"></i>') }}
|
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar" onclick="toggleDatePicker(\'due_date\')"></i>') }}
|
||||||
</div>
|
</div>
|
||||||
<div data-bind="visible: is_recurring" style="display: none">
|
<div data-bind="visible: is_recurring" style="display: none">
|
||||||
{{ Former::select('frequency_id')->label('How often')->options($frequencies)->data_bind("value: frequency_id") }}
|
{{ Former::select('frequency_id')->label('How often')->options($frequencies)->data_bind("value: frequency_id") }}
|
||||||
{{ Former::text('start_date')->data_bind("datePicker: start_date, valueUpdate: 'afterkeydown'")
|
{{ Former::text('start_date')->data_bind("datePicker: start_date, valueUpdate: 'afterkeydown'")
|
||||||
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar"></i>') }}
|
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar" onclick="toggleDatePicker(\'start_date\')"></i>') }}
|
||||||
{{ Former::text('end_date')->data_bind("datePicker: end_date, valueUpdate: 'afterkeydown'")
|
{{ Former::text('end_date')->data_bind("datePicker: end_date, valueUpdate: 'afterkeydown'")
|
||||||
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar"></i>') }}
|
->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar" onclick="toggleDatePicker(\'end_date\')"></i>') }}
|
||||||
</div>
|
</div>
|
||||||
@if ($invoice && $invoice->recurring_invoice_id)
|
@if ($invoice && $invoice->recurring_invoice_id)
|
||||||
<div class="pull-right" style="padding-top: 6px">
|
<div class="pull-right" style="padding-top: 6px">
|
||||||
@ -138,7 +138,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<input onkeyup="onItemChange()" data-bind="value: prettyQty, valueUpdate: 'afterkeydown'" style="text-align: right" class="form-control"//>
|
<input onkeyup="onItemChange()" data-bind="value: prettyQty, valueUpdate: 'afterkeydown'" style="text-align: right" class="form-control"//>
|
||||||
</td>
|
</td>
|
||||||
<td style="display:none;vertical-align:middle" data-bind="visible: $root.invoice_item_taxes.show">
|
<td style="display:none;" data-bind="visible: $root.invoice_item_taxes.show">
|
||||||
<select class="form-control" style="width:100%" data-bind="value: tax, options: $root.tax_rates, optionsText: 'displayName'"></select>
|
<select class="form-control" style="width:100%" data-bind="value: tax, options: $root.tax_rates, optionsText: 'displayName'"></select>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align:right;padding-top:9px !important">
|
<td style="text-align:right;padding-top:9px !important">
|
||||||
@ -176,9 +176,9 @@
|
|||||||
<tr style="display:none" data-bind="visible: $root.invoice_taxes.show">
|
<tr style="display:none" data-bind="visible: $root.invoice_taxes.show">
|
||||||
<td class="hide-border" colspan="3"/>
|
<td class="hide-border" colspan="3"/>
|
||||||
<td style="display:none" class="hide-border" data-bind="visible: $root.invoice_item_taxes.show"/>
|
<td style="display:none" class="hide-border" data-bind="visible: $root.invoice_item_taxes.show"/>
|
||||||
<td style="vertical-align: middle">Tax</td>
|
<td>Tax</td>
|
||||||
<td style="min-width:120px"><select class="form-control" style="width:100%" data-bind="value: tax, options: $root.tax_rates, optionsText: 'displayName'"></select></td>
|
<td style="min-width:120px"><select class="form-control" style="width:100%" data-bind="value: tax, options: $root.tax_rates, optionsText: 'displayName'"></select></td>
|
||||||
<td style="vertical-align: middle; text-align: right"><span data-bind="text: totals.taxAmount"/></td>
|
<td style="text-align: right"><span data-bind="text: totals.taxAmount"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="hide-border" colspan="3"/>
|
<td class="hide-border" colspan="3"/>
|
||||||
@ -579,6 +579,10 @@
|
|||||||
return invoice;
|
return invoice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleDatePicker(field) {
|
||||||
|
$('#'+field).datepicker('show');
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
function refreshPDF() {
|
function refreshPDF() {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
@ -589,13 +593,15 @@
|
|||||||
|
|
||||||
var isRefreshing = false;
|
var isRefreshing = false;
|
||||||
var needsRefresh = false;
|
var needsRefresh = false;
|
||||||
function refreshPDF() {
|
function getPDFString() {
|
||||||
var invoice = createInvoiceModel();
|
var invoice = createInvoiceModel();
|
||||||
var doc = generatePDF(invoice);
|
var doc = generatePDF(invoice);
|
||||||
if (!doc) return;
|
if (!doc) return;
|
||||||
var string = doc.output('datauristring');
|
return doc.output('datauristring');
|
||||||
|
}
|
||||||
|
function refreshPDF() {
|
||||||
if (isFirefox || (isChrome && !isChromium)) {
|
if (isFirefox || (isChrome && !isChromium)) {
|
||||||
|
var string = getPDFString();
|
||||||
$('#theFrame').attr('src', string).show();
|
$('#theFrame').attr('src', string).show();
|
||||||
} else {
|
} else {
|
||||||
if (isRefreshing) {
|
if (isRefreshing) {
|
||||||
@ -603,7 +609,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
isRefreshing = true;
|
isRefreshing = true;
|
||||||
|
var string = getPDFString();
|
||||||
var pdfAsArray = convertDataURIToBinary(string);
|
var pdfAsArray = convertDataURIToBinary(string);
|
||||||
PDFJS.getDocument(pdfAsArray).then(function getPdfHelloWorld(pdf) {
|
PDFJS.getDocument(pdfAsArray).then(function getPdfHelloWorld(pdf) {
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ min-height: 40px;
|
|||||||
table.dataTable { border-radius: 3px; border-collapse: collapse;
|
table.dataTable { border-radius: 3px; border-collapse: collapse;
|
||||||
/*border-spacing: 0;*/}
|
/*border-spacing: 0;*/}
|
||||||
table.dataTable thead > tr > th, table.invoice-table thead > tr > th {
|
table.dataTable thead > tr > th, table.invoice-table thead > tr > th {
|
||||||
background: #e37329 !important;
|
background-color: #e37329 !important;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
}
|
}
|
||||||
th:first-child {
|
th:first-child {
|
||||||
@ -223,7 +223,7 @@ margin-left: 10px !important;
|
|||||||
/*new*/
|
/*new*/
|
||||||
|
|
||||||
div {
|
div {
|
||||||
word-break: break-word;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.required > label {
|
div.required > label {
|
||||||
|
@ -625,7 +625,6 @@ $.fn.datepicker.defaults.todayHighlight = true;
|
|||||||
//====================================================================================================================
|
//====================================================================================================================
|
||||||
|
|
||||||
function GetPdf(invoice,checkMath,report_id){
|
function GetPdf(invoice,checkMath,report_id){
|
||||||
|
|
||||||
var layout = {
|
var layout = {
|
||||||
accountTop: 30,
|
accountTop: 30,
|
||||||
marginLeft: 50,
|
marginLeft: 50,
|
||||||
@ -1534,7 +1533,7 @@ function displayInvoiceItems(doc, invoice, layout) {
|
|||||||
for (var i=0; i<invoice.invoice_items.length; i++) {
|
for (var i=0; i<invoice.invoice_items.length; i++) {
|
||||||
var item = invoice.invoice_items[i];
|
var item = invoice.invoice_items[i];
|
||||||
var numLines = doc.splitTextToSize(item.notes, 200).length + 2;
|
var numLines = doc.splitTextToSize(item.notes, 200).length + 2;
|
||||||
console.log('num lines %s', numLines);
|
//console.log('num lines %s', numLines);
|
||||||
|
|
||||||
var y = tableTop + (line * layout.tableRowHeight) + (2 * layout.tablePadding);
|
var y = tableTop + (line * layout.tableRowHeight) + (2 * layout.tablePadding);
|
||||||
var top = y - layout.tablePadding;
|
var top = y - layout.tablePadding;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user