mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-07 10:54:41 -04:00
Open document when clicked
This commit is contained in:
parent
4aa11be28f
commit
05903d413a
@ -14,7 +14,7 @@
|
|||||||
@stop
|
@stop
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
{!! Former::open($url)->addClass('warn-on-exit main-form')->method($method) !!}
|
{!! Former::open($url)->addClass('warn-on-exit main-form')->method($method) !!}
|
||||||
<div style="display:none">
|
<div style="display:none">
|
||||||
{!! Former::text('action') !!}
|
{!! Former::text('action') !!}
|
||||||
@ -216,13 +216,13 @@
|
|||||||
@else
|
@else
|
||||||
$('#amount').focus();
|
$('#amount').focus();
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if (Auth::user()->account->isPro())
|
@if (Auth::user()->account->isPro())
|
||||||
$('.main-form').submit(function(){
|
$('.main-form').submit(function(){
|
||||||
if($('#document-upload .fallback input').val())$(this).attr('enctype', 'multipart/form-data')
|
if($('#document-upload .fallback input').val())$(this).attr('enctype', 'multipart/form-data')
|
||||||
else $(this).removeAttr('enctype')
|
else $(this).removeAttr('enctype')
|
||||||
})
|
})
|
||||||
|
|
||||||
// Initialize document upload
|
// Initialize document upload
|
||||||
dropzone = new Dropzone('#document-upload', {
|
dropzone = new Dropzone('#document-upload', {
|
||||||
url:{!! json_encode(url('document')) !!},
|
url:{!! json_encode(url('document')) !!},
|
||||||
@ -286,7 +286,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
ko.mapping.fromJS(data, self.mapping, this);
|
ko.mapping.fromJS(data, self.mapping, this);
|
||||||
}
|
}
|
||||||
@ -327,11 +327,11 @@
|
|||||||
}
|
}
|
||||||
var expenseCurrencyId = self.expense_currency_id() || self.account_currency_id();
|
var expenseCurrencyId = self.expense_currency_id() || self.account_currency_id();
|
||||||
var invoiceCurrencyId = self.invoice_currency_id() || self.account_currency_id();
|
var invoiceCurrencyId = self.invoice_currency_id() || self.account_currency_id();
|
||||||
return expenseCurrencyId != invoiceCurrencyId
|
return expenseCurrencyId != invoiceCurrencyId
|
||||||
|| invoiceCurrencyId != self.account_currency_id()
|
|| invoiceCurrencyId != self.account_currency_id()
|
||||||
|| expenseCurrencyId != self.account_currency_id();
|
|| expenseCurrencyId != self.account_currency_id();
|
||||||
})
|
})
|
||||||
|
|
||||||
self.addDocument = function() {
|
self.addDocument = function() {
|
||||||
var documentModel = new DocumentModel();
|
var documentModel = new DocumentModel();
|
||||||
self.documents.push(documentModel);
|
self.documents.push(documentModel);
|
||||||
@ -359,11 +359,17 @@
|
|||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
self.update(data);
|
self.update(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@if (Auth::user()->account->hasFeature(FEATURE_DOCUMENTS))
|
@if (Auth::user()->account->hasFeature(FEATURE_DOCUMENTS))
|
||||||
function handleDocumentAdded(file){
|
function handleDocumentAdded(file){
|
||||||
|
// open document when clicked
|
||||||
|
if (file.url) {
|
||||||
|
file.previewElement.addEventListener("click", function() {
|
||||||
|
window.open(file.url, '_blank');
|
||||||
|
});
|
||||||
|
}
|
||||||
if(file.mock)return;
|
if(file.mock)return;
|
||||||
file.index = model.documents().length;
|
file.index = model.documents().length;
|
||||||
model.addDocument({name:file.name, size:file.size, type:file.type});
|
model.addDocument({name:file.name, size:file.size, type:file.type});
|
||||||
@ -384,4 +390,4 @@
|
|||||||
@endif
|
@endif
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@stop
|
@stop
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
label.control-label[for=invoice_number] {
|
label.control-label[for=invoice_number] {
|
||||||
font-weight: normal !important;
|
font-weight: normal !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
select.tax-select {
|
select.tax-select {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
float: left;
|
float: left;
|
||||||
@ -79,7 +79,7 @@
|
|||||||
<div class="label label-danger">{{ trans('texts.deleted') }}</div>
|
<div class="label label-danger">{{ trans('texts.deleted') }}</div>
|
||||||
@endif
|
@endif
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
@can('view', $invoice->client)
|
@can('view', $invoice->client)
|
||||||
@can('edit', $invoice->client)
|
@can('edit', $invoice->client)
|
||||||
<a id="editClientLink" class="pointer" data-bind="click: $root.showClientForm">{{ trans('texts.edit_client') }}</a> |
|
<a id="editClientLink" class="pointer" data-bind="click: $root.showClientForm">{{ trans('texts.edit_client') }}</a> |
|
||||||
@ -90,7 +90,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="display:none">
|
<div style="display:none">
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
{!! Former::select('client')->addOption('', '')->data_bind("dropdown: client")->addClass('client-input')->addGroupClass('client_select closer-row') !!}
|
{!! Former::select('client')->addOption('', '')->data_bind("dropdown: client")->addClass('client-input')->addGroupClass('client_select closer-row') !!}
|
||||||
|
|
||||||
<div class="form-group" style="margin-bottom: 8px">
|
<div class="form-group" style="margin-bottom: 8px">
|
||||||
@ -419,7 +419,7 @@
|
|||||||
->options($taxRateOptions)
|
->options($taxRateOptions)
|
||||||
->addClass('tax-select')
|
->addClass('tax-select')
|
||||||
->data_bind('value: tax1')
|
->data_bind('value: tax1')
|
||||||
->raw() !!}
|
->raw() !!}
|
||||||
<input type="text" name="tax_name1" data-bind="value: tax_name1" style="display:none">
|
<input type="text" name="tax_name1" data-bind="value: tax_name1" style="display:none">
|
||||||
<input type="text" name="tax_rate1" data-bind="value: tax_rate1" style="display:none">
|
<input type="text" name="tax_rate1" data-bind="value: tax_rate1" style="display:none">
|
||||||
{!! Former::select('')
|
{!! Former::select('')
|
||||||
@ -427,7 +427,7 @@
|
|||||||
->options($taxRateOptions)
|
->options($taxRateOptions)
|
||||||
->addClass('tax-select')
|
->addClass('tax-select')
|
||||||
->data_bind('value: tax2')
|
->data_bind('value: tax2')
|
||||||
->raw() !!}
|
->raw() !!}
|
||||||
<input type="text" name="tax_name2" data-bind="value: tax_name2" style="display:none">
|
<input type="text" name="tax_name2" data-bind="value: tax_name2" style="display:none">
|
||||||
<input type="text" name="tax_rate2" data-bind="value: tax_rate2" style="display:none">
|
<input type="text" name="tax_rate2" data-bind="value: tax_rate2" style="display:none">
|
||||||
</td>
|
</td>
|
||||||
@ -569,7 +569,7 @@
|
|||||||
{!! Former::text('client[work_phone]')
|
{!! Former::text('client[work_phone]')
|
||||||
->label('work_phone')
|
->label('work_phone')
|
||||||
->data_bind("value: work_phone, valueUpdate: 'afterkeydown'") !!}
|
->data_bind("value: work_phone, valueUpdate: 'afterkeydown'") !!}
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
@if (Auth::user()->hasFeature(FEATURE_INVOICE_SETTINGS))
|
@if (Auth::user()->hasFeature(FEATURE_INVOICE_SETTINGS))
|
||||||
@ -756,7 +756,7 @@
|
|||||||
var $clientSelect = $('select#client');
|
var $clientSelect = $('select#client');
|
||||||
var invoiceDesigns = {!! $invoiceDesigns !!};
|
var invoiceDesigns = {!! $invoiceDesigns !!};
|
||||||
var invoiceFonts = {!! $invoiceFonts !!};
|
var invoiceFonts = {!! $invoiceFonts !!};
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
// create client dictionary
|
// create client dictionary
|
||||||
for (var i=0; i<clients.length; i++) {
|
for (var i=0; i<clients.length; i++) {
|
||||||
@ -844,7 +844,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
// display blank instead of '0'
|
// display blank instead of '0'
|
||||||
if (!NINJA.parseFloat(model.invoice().discount())) model.invoice().discount('');
|
if (!NINJA.parseFloat(model.invoice().discount())) model.invoice().discount('');
|
||||||
if (!NINJA.parseFloat(model.invoice().partial())) model.invoice().partial('');
|
if (!NINJA.parseFloat(model.invoice().partial())) model.invoice().partial('');
|
||||||
@ -966,13 +966,13 @@
|
|||||||
@endif
|
@endif
|
||||||
|
|
||||||
applyComboboxListeners();
|
applyComboboxListeners();
|
||||||
|
|
||||||
@if (Auth::user()->account->hasFeature(FEATURE_DOCUMENTS))
|
@if (Auth::user()->account->hasFeature(FEATURE_DOCUMENTS))
|
||||||
$('.main-form').submit(function(){
|
$('.main-form').submit(function(){
|
||||||
if($('#document-upload .dropzone .fallback input').val())$(this).attr('enctype', 'multipart/form-data')
|
if($('#document-upload .dropzone .fallback input').val())$(this).attr('enctype', 'multipart/form-data')
|
||||||
else $(this).removeAttr('enctype')
|
else $(this).removeAttr('enctype')
|
||||||
})
|
})
|
||||||
|
|
||||||
// Initialize document upload
|
// Initialize document upload
|
||||||
dropzone = new Dropzone('#document-upload .dropzone', {
|
dropzone = new Dropzone('#document-upload .dropzone', {
|
||||||
url:{!! json_encode(url('document')) !!},
|
url:{!! json_encode(url('document')) !!},
|
||||||
@ -1224,7 +1224,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
onPartialChange(true);
|
onPartialChange(true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1379,24 +1379,30 @@
|
|||||||
number = number.replace('{$custom2}', client.custom_value2 ? client.custom_value1 : '');
|
number = number.replace('{$custom2}', client.custom_value2 ? client.custom_value1 : '');
|
||||||
model.invoice().invoice_number(number);
|
model.invoice().invoice_number(number);
|
||||||
}
|
}
|
||||||
|
|
||||||
@if ($account->hasFeature(FEATURE_DOCUMENTS))
|
@if ($account->hasFeature(FEATURE_DOCUMENTS))
|
||||||
function handleDocumentAdded(file){
|
function handleDocumentAdded(file){
|
||||||
|
// open document when clicked
|
||||||
|
if (file.url) {
|
||||||
|
file.previewElement.addEventListener("click", function() {
|
||||||
|
window.open(file.url, '_blank');
|
||||||
|
});
|
||||||
|
}
|
||||||
if(file.mock)return;
|
if(file.mock)return;
|
||||||
file.index = model.invoice().documents().length;
|
file.index = model.invoice().documents().length;
|
||||||
model.invoice().addDocument({name:file.name, size:file.size, type:file.type});
|
model.invoice().addDocument({name:file.name, size:file.size, type:file.type});
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDocumentRemoved(file){
|
function handleDocumentRemoved(file){
|
||||||
model.invoice().removeDocument(file.public_id);
|
model.invoice().removeDocument(file.public_id);
|
||||||
refreshPDF(true);
|
refreshPDF(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDocumentUploaded(file, response){
|
function handleDocumentUploaded(file, response){
|
||||||
file.public_id = response.document.public_id
|
file.public_id = response.document.public_id
|
||||||
model.invoice().documents()[file.index].update(response.document);
|
model.invoice().documents()[file.index].update(response.document);
|
||||||
refreshPDF(true);
|
refreshPDF(true);
|
||||||
|
|
||||||
if(response.document.preview_url){
|
if(response.document.preview_url){
|
||||||
dropzone.emit('thumbnail', file, response.document.preview_url);
|
dropzone.emit('thumbnail', file, response.document.preview_url);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user