220 lines
7.5 KiB
HTML
220 lines
7.5 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="name">
|
|
</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-focus
|
|
label="Social name"
|
|
ng-model="$ctrl.client.socialName"
|
|
info="Only letters, numbers and spaces can be used"
|
|
required="true"
|
|
ng-keyup="$ctrl.client.socialName = $ctrl.client.socialName.toUpperCase()"
|
|
rule>
|
|
</vn-textfield>
|
|
<vn-textfield
|
|
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"
|
|
ng-keyup="$ctrl.client.street = $ctrl.client.street.toUpperCase()"
|
|
rule>
|
|
</vn-textfield>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-autocomplete
|
|
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
|
|
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
|
|
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.name}})
|
|
</tpl-item>
|
|
<append>
|
|
<vn-icon-button
|
|
icon="add_circle"
|
|
vn-tooltip="New postcode"
|
|
ng-click="postcode.open()"
|
|
vn-acl="deliveryAssistant"
|
|
vn-acl-action="remove">
|
|
</vn-icon-button>
|
|
</append>
|
|
</vn-datalist>
|
|
<vn-datalist
|
|
vn-id="town"
|
|
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.name}})
|
|
</tpl-item>
|
|
</vn-datalist>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-autocomplete
|
|
vn-one
|
|
vn-id="province"
|
|
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.name}})</tpl-item>
|
|
</vn-autocomplete>
|
|
<vn-autocomplete
|
|
vn-one
|
|
vn-id="country"
|
|
ng-model="$ctrl.client.countryFk"
|
|
data="countries"
|
|
show-field="name"
|
|
value-field="id"
|
|
label="Country"
|
|
rule>
|
|
</vn-autocomplete>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
label="Active"
|
|
ng-model="$ctrl.client.isActive">
|
|
</vn-check>
|
|
<vn-check
|
|
label="Frozen"
|
|
ng-model="$ctrl.client.isFreezed">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
label="Has to invoice"
|
|
ng-model="$ctrl.client.hasToInvoice">
|
|
</vn-check>
|
|
<vn-check
|
|
label="Vies"
|
|
info="When activating it, do not enter the country code in the ID field."
|
|
ng-model="$ctrl.client.isVies">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
label="Notify by email"
|
|
ng-model="$ctrl.client.isToBeMailed">
|
|
</vn-check>
|
|
<vn-check
|
|
label="Invoice by address"
|
|
ng-model="$ctrl.client.hasToInvoiceByAddress">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
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
|
|
label="Verified data"
|
|
ng-model="$ctrl.client.isTaxDataChecked"
|
|
vn-acl="salesAssistant">
|
|
</vn-check>
|
|
</vn-horizontal>
|
|
<vn-horizontal>
|
|
<vn-check
|
|
label="Electronic invoice"
|
|
ng-model="$ctrl.client.hasElectronicInvoice"
|
|
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>
|
|
<vn-geo-postcode
|
|
vn-id="postcode"
|
|
on-response="$ctrl.onResponse($response)">
|
|
</vn-geo-postcode>
|