217 lines
7.2 KiB
HTML
217 lines
7.2 KiB
HTML
<mg-ajax path="Clients/{{patch.params.id}}/updateFiscalData" options="vnPatch"></mg-ajax>
|
|
<vn-watcher
|
|
vn-id="watcher"
|
|
data="$ctrl.client"
|
|
id-field="id"
|
|
form="form"
|
|
save="patch">
|
|
</vn-watcher>
|
|
<vn-crud-model
|
|
auto-load="true"
|
|
url="Provinces/location"
|
|
data="provincesLocation"
|
|
order="name">
|
|
</vn-crud-model>
|
|
<vn-crud-model
|
|
auto-load="true"
|
|
url="Countries"
|
|
data="countries"
|
|
order="country">
|
|
</vn-crud-model>
|
|
<vn-crud-model
|
|
auto-load="true"
|
|
url="SageTaxTypes"
|
|
data="sageTaxTypes"
|
|
order="vat">
|
|
</vn-crud-model>
|
|
<form name="form" ng-submit="$ctrl.onSubmit()" class="vn-w-md">
|
|
<vn-card class="vn-pa-lg">
|
|
<vn-horizontal>
|
|
<vn-textfield
|
|
vn-two
|
|
vn-focus
|
|
label="Social name"
|
|
ng-model="$ctrl.client.socialName"
|
|
rule
|
|
info="Only letters, numbers and spaces can be used"
|
|
required="true">
|
|
</vn-textfield>
|
|
<vn-textfield
|
|
vn-one
|
|
label="Tax number"
|
|
ng-model="$ctrl.client.fi"
|
|
rule>
|
|
</vn-textfield>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-textfield
|
|
vn-two
|
|
label="Street"
|
|
ng-model="$ctrl.client.street"
|
|
rule>
|
|
</vn-textfield>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-autocomplete vn-one
|
|
ng-model="$ctrl.client.sageTaxTypeFk"
|
|
data="sageTaxTypes"
|
|
show-field="vat"
|
|
value-field="id"
|
|
label="Sage tax type"
|
|
vn-acl="salesAssistant"
|
|
rule>
|
|
</vn-autocomplete>
|
|
<vn-autocomplete vn-one
|
|
ng-model="$ctrl.client.sageTransactionTypeFk"
|
|
url="SageTransactionTypes"
|
|
show-field="transaction"
|
|
value-field="id"
|
|
label="Sage transaction type"
|
|
search-function="{or: [{id: $search}, {transaction: {like: '%'+ $search +'%'}}]}"
|
|
vn-acl="salesAssistant"
|
|
order="transaction"
|
|
rule>
|
|
<tpl-item>{{id}}: {{transaction}}</tpl-item>
|
|
</vn-autocomplete>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-datalist vn-one
|
|
label="Postcode"
|
|
ng-model="$ctrl.client.postcode"
|
|
selection="$ctrl.postcode"
|
|
url="Postcodes/location"
|
|
fields="['code','townFk']"
|
|
order="code, townFk"
|
|
value-field="code"
|
|
show-field="code"
|
|
rule>
|
|
<tpl-item>
|
|
{{code}} - {{town.name}} ({{town.province.name}},
|
|
{{town.province.country.country}})
|
|
</tpl-item>
|
|
<append>
|
|
<vn-icon-button
|
|
icon="add_circle"
|
|
vn-tooltip="New postcode"
|
|
ng-click="postcode.open()"
|
|
vn-acl="deliveryBoss"
|
|
vn-acl-action="remove">
|
|
</vn-icon-button>
|
|
</append>
|
|
</vn-datalist>
|
|
<vn-datalist vn-id="town" vn-one
|
|
label="City"
|
|
ng-model="$ctrl.client.city"
|
|
selection="$ctrl.town"
|
|
url="Towns/location"
|
|
fields="['id', 'name', 'provinceFk']"
|
|
show-field="name"
|
|
value-field="name">
|
|
<tpl-item>
|
|
{{name}}, {{province.name}}
|
|
({{province.country.country}})
|
|
</tpl-item>
|
|
</vn-datalist>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-autocomplete vn-id="province" vn-one
|
|
label="Province"
|
|
ng-model="$ctrl.client.provinceFk"
|
|
selection="$ctrl.province"
|
|
data="provincesLocation"
|
|
fields="['id', 'name', 'countryFk']"
|
|
show-field="name"
|
|
value-field="id"
|
|
rule>
|
|
<tpl-item>{{name}} ({{country.country}})</tpl-item>
|
|
</vn-autocomplete>
|
|
<vn-autocomplete vn-id="country" vn-one
|
|
ng-model="$ctrl.client.countryFk"
|
|
data="countries"
|
|
show-field="country"
|
|
value-field="id"
|
|
label="Country"
|
|
rule>
|
|
</vn-autocomplete>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
vn-one
|
|
label="Active"
|
|
ng-model="$ctrl.client.isActive">
|
|
</vn-check>
|
|
<vn-check
|
|
vn-one
|
|
label="Frozen"
|
|
ng-model="$ctrl.client.isFreezed">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
vn-one
|
|
label="Has to invoice"
|
|
ng-model="$ctrl.client.hasToInvoice">
|
|
</vn-check>
|
|
<vn-check
|
|
vn-one
|
|
label="Vies"
|
|
ng-model="$ctrl.client.isVies">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
vn-one
|
|
label="Notify by email"
|
|
ng-model="$ctrl.client.isToBeMailed">
|
|
</vn-check>
|
|
<vn-check
|
|
vn-one
|
|
label="Invoice by address"
|
|
ng-model="$ctrl.client.hasToInvoiceByAddress">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
vn-one
|
|
label="Is equalizated"
|
|
ng-model="$ctrl.client.isEqualizated"
|
|
info="In order to invoice, this field is not consulted, but the consignee's ET. When modifying this field if the invoice by address option is not checked, the change will be automatically propagated to all addresses, otherwise the user will be asked if he wants to propagate it or not."
|
|
on-change="$ctrl.onChangeEqualizated(value)">
|
|
</vn-check>
|
|
<vn-check
|
|
vn-one
|
|
label="Verified data"
|
|
ng-model="$ctrl.client.isTaxDataChecked"
|
|
vn-acl="administrative">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
</vn-card>
|
|
<vn-button-bar>
|
|
<vn-submit
|
|
disabled="!watcher.dataChanged()"
|
|
label="Save">
|
|
</vn-submit>
|
|
<vn-button
|
|
class="cancel"
|
|
label="Undo changes"
|
|
disabled="!watcher.dataChanged()"
|
|
ng-click="watcher.loadOriginalData()">
|
|
</vn-button>
|
|
</vn-button-bar>
|
|
</form>
|
|
<vn-confirm
|
|
vn-id="propagate-isEqualizated"
|
|
question="You changed the equalization tax"
|
|
message="Do you want to spread the change?"
|
|
on-accept="$ctrl.onAcceptEt()">
|
|
</vn-confirm>
|
|
<vn-confirm
|
|
vn-id="confirm-duplicatedClient"
|
|
message="Found a client with this data"
|
|
on-accept="$ctrl.onAcceptDuplication()">
|
|
</vn-confirm>
|
|
<!-- New postcode dialog -->
|
|
<vn-geo-postcode
|
|
vn-id="postcode"
|
|
on-response="$ctrl.onResponse($response)">
|
|
</vn-geo-postcode> |