229 lines
7.7 KiB
HTML
229 lines
7.7 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="You can use letters and spaces"
|
|
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-autocomplete vn-one
|
|
ng-model="$ctrl.client.transferorFk"
|
|
url="Clients/isActive"
|
|
search-function="$ctrl.transferorSearchFunction($search)"
|
|
where="{id: {neq: $ctrl.client.id}}"
|
|
show-field="name"
|
|
value-field="id"
|
|
label="Previous client"
|
|
info="In case of a company succession, specify the grantor company"
|
|
vn-acl="salesAssistant"
|
|
rule>
|
|
</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="salesAssistant">
|
|
</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> |