170 lines
5.8 KiB
HTML
170 lines
5.8 KiB
HTML
<vn-descriptor-content
|
|
module="invoiceOut"
|
|
description="$ctrl.invoiceOut.ref">
|
|
<slot-menu>
|
|
<vn-item class="dropdown"
|
|
vn-click-stop="showInvoiceMenu.show($event, 'left')"
|
|
name="showInvoicePdf"
|
|
translate>
|
|
Show invoice...
|
|
|
|
<vn-menu vn-id="showInvoiceMenu">
|
|
<vn-list>
|
|
<a class="vn-item"
|
|
href="api/InvoiceOuts/{{$ctrl.id}}/download?access_token={{$ctrl.vnToken.token}}"
|
|
target="_blank"
|
|
name="showInvoicePdf"
|
|
translate>
|
|
Show as PDF
|
|
</a>
|
|
<vn-item
|
|
ng-click="$ctrl.showCsvInvoice()"
|
|
translate>
|
|
Show as CSV
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
</vn-item>
|
|
<vn-item class="dropdown"
|
|
vn-click-stop="sendInvoiceMenu.show($event, 'left')"
|
|
name="sendInvoice"
|
|
translate>
|
|
Send invoice...
|
|
|
|
<vn-menu vn-id="sendInvoiceMenu">
|
|
<vn-list>
|
|
<vn-item
|
|
ng-click="sendPdfConfirmation.show({email: $ctrl.invoiceOut.client.email})"
|
|
translate>
|
|
Send PDF
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="sendCsvConfirmation.show({email: $ctrl.invoiceOut.client.email})"
|
|
translate>
|
|
Send CSV
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="deleteConfirmation.show()"
|
|
vn-acl="invoicing"
|
|
vn-acl-action="remove"
|
|
name="deleteInvoice"
|
|
translate>
|
|
Delete Invoice
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="bookConfirmation.show()"
|
|
vn-acl="invoicing"
|
|
vn-acl-action="remove"
|
|
name="bookInvoice"
|
|
translate>
|
|
Book invoice
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="createInvoicePdfConfirmation.show()"
|
|
ng-show="$ctrl.hasInvoicing || !$ctrl.invoiceOut.hasPdf"
|
|
name="regenerateInvoice"
|
|
translate>
|
|
{{!$ctrl.invoiceOut.hasPdf ? 'Generate PDF invoice': 'Regenerate PDF invoice'}}
|
|
</vn-item>
|
|
</slot-menu>
|
|
<slot-body>
|
|
<div class="attributes">
|
|
<vn-label-value
|
|
label="Date"
|
|
value="{{$ctrl.invoiceOut.issued | date: 'dd/MM/yyyy'}}">
|
|
</vn-label-value>
|
|
<vn-label-value
|
|
label="Import"
|
|
value="{{$ctrl.invoiceOut.amount | currency: 'EUR': 2}}">
|
|
</vn-label-value>
|
|
<vn-label-value
|
|
label="Client">
|
|
<span
|
|
ng-click="clientDescriptor.show($event, $ctrl.invoiceOut.client.id)"
|
|
class="link">
|
|
{{$ctrl.invoiceOut.client.name}}
|
|
</span>
|
|
</vn-label-value>
|
|
<vn-label-value
|
|
label="Company"
|
|
value="{{$ctrl.invoiceOut.company.code}}">
|
|
</vn-label-value>
|
|
</div>
|
|
<div class="quicklinks">
|
|
<div ng-transclude="btnOne">
|
|
<vn-quick-link
|
|
tooltip="Client card"
|
|
state="['client.card.summary', {id: $ctrl.invoiceOut.clientFk}]"
|
|
icon="person">
|
|
</vn-quick-link>
|
|
</div>
|
|
<div ng-transclude="btnTwo">
|
|
<vn-quick-link
|
|
tooltip="Invoice ticket list"
|
|
state="['ticket.index', {q: $ctrl.filter}]"
|
|
icon="icon-ticket">
|
|
</vn-quick-link>
|
|
</div>
|
|
<div ng-transclude="btnThree">
|
|
</div>
|
|
</div>
|
|
</slot-body>
|
|
</vn-descriptor-content>
|
|
<vn-confirm
|
|
vn-id="deleteConfirmation"
|
|
on-accept="$ctrl.deleteInvoiceOut()"
|
|
question="Are you sure you want to delete this invoice?">
|
|
</vn-confirm>
|
|
<vn-confirm
|
|
vn-id="bookConfirmation"
|
|
on-accept="$ctrl.bookInvoiceOut()"
|
|
question="Are you sure you want to book this invoice?">
|
|
</vn-confirm>
|
|
<vn-client-descriptor-popover
|
|
vn-id="clientDescriptor">
|
|
</vn-client-descriptor-popover>
|
|
|
|
<!-- Create invoice PDF confirmation dialog -->
|
|
<vn-confirm
|
|
vn-id="createInvoicePdfConfirmation"
|
|
on-accept="$ctrl.createPdfInvoice()"
|
|
question="Are you sure you want to generate/regenerate the PDF invoice?"
|
|
message="Generate PDF invoice document">
|
|
</vn-confirm>
|
|
|
|
<!-- Send PDF invoice confirmation popup -->
|
|
<vn-dialog
|
|
vn-id="sendPdfConfirmation"
|
|
on-accept="$ctrl.sendPdfInvoice($data)"
|
|
message="Send PDF invoice">
|
|
<tpl-body>
|
|
<span translate>Are you sure you want to send it?</span>
|
|
<vn-textfield vn-one
|
|
ng-model="sendPdfConfirmation.data.email">
|
|
</vn-textfield>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
|
|
<button response="accept" translate>Confirm</button>
|
|
</tpl-buttons>
|
|
</vn-dialog>
|
|
|
|
<!-- Send CSV invoice confirmation popup -->
|
|
<vn-dialog
|
|
vn-id="sendCsvConfirmation"
|
|
on-accept="$ctrl.sendCsvInvoice($data)"
|
|
message="Send CSV invoice">
|
|
<tpl-body>
|
|
<span translate>Are you sure you want to send it?</span>
|
|
<vn-textfield vn-one
|
|
ng-model="sendCsvConfirmation.data.email">
|
|
</vn-textfield>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
|
|
<button response="accept" translate>Confirm</button>
|
|
</tpl-buttons>
|
|
</vn-dialog> |