From 6197e78514922bce823364b0da16b25b5d6c3bf1 Mon Sep 17 00:00:00 2001 From: 18alantom <2.alan.tom@gmail.com> Date: Thu, 2 Dec 2021 15:39:02 +0530 Subject: [PATCH] fix: readonly and hidden in TwoColumnForm - make some fields readonly, hidden - formatting --- .../AccountingSettings/AccountingSettings.js | 35 ++++++++++--------- models/doctype/Party/RegionalChanges.js | 4 +-- models/doctype/Payment/Payment.js | 1 + models/doctype/Payment/PaymentServer.js | 2 +- models/regionalModelUpdates.js | 3 +- src/components/TwoColumnForm.vue | 30 +++++++++++++--- 6 files changed, 49 insertions(+), 26 deletions(-) diff --git a/models/doctype/AccountingSettings/AccountingSettings.js b/models/doctype/AccountingSettings/AccountingSettings.js index e0c9b7f7..b3de548f 100644 --- a/models/doctype/AccountingSettings/AccountingSettings.js +++ b/models/doctype/AccountingSettings/AccountingSettings.js @@ -15,7 +15,7 @@ export default { label: 'Company Name', fieldname: 'companyName', fieldtype: 'Data', - required: 1 + required: 1, }, { @@ -27,9 +27,9 @@ export default { getFilters() { return { isGroup: 0, - rootType: 'Expense' + rootType: 'Expense', }; - } + }, }, { @@ -41,9 +41,9 @@ export default { getFilters() { return { isGroup: 0, - rootType: 'Expense' + rootType: 'Expense', }; - } + }, }, { @@ -51,22 +51,24 @@ export default { label: 'Country', fieldtype: 'AutoComplete', placeholder: 'Select Country', + readOnly: 1, required: 1, - getList: () => countryList + getList: () => countryList, }, { fieldname: 'currency', label: 'Currency', fieldtype: 'Data', - required: 0 + readOnly: 1, + required: 0, }, { fieldname: 'fullname', label: 'Name', fieldtype: 'Data', - required: 1 + required: 1, }, { @@ -75,38 +77,37 @@ export default { fieldtype: 'Data', required: 1, validate: { - type: 'email' - } + type: 'email', + }, }, { fieldname: 'bankName', label: 'Bank Name', fieldtype: 'Data', - required: 1 + required: 1, }, { fieldname: 'fiscalYearStart', label: 'Fiscal Year Start Date', fieldtype: 'Date', - required: 1 + required: 1, }, { fieldname: 'fiscalYearEnd', label: 'Fiscal Year End Date', fieldtype: 'Date', - required: 1 + required: 1, }, { fieldname: 'setupComplete', label: 'Setup Complete', fieldtype: 'Check', - default: 0 + default: 0, }, - ], quickEditFields: [ 'fullname', @@ -115,6 +116,6 @@ export default { 'country', 'currency', 'fiscalYearStart', - 'fiscalYearEnd' - ] + 'fiscalYearEnd', + ], }; diff --git a/models/doctype/Party/RegionalChanges.js b/models/doctype/Party/RegionalChanges.js index 6b11673e..e94d9e57 100644 --- a/models/doctype/Party/RegionalChanges.js +++ b/models/doctype/Party/RegionalChanges.js @@ -15,9 +15,7 @@ export default function getAugmentedParty({ country }) { fieldname: 'gstin', label: 'GSTIN No.', fieldtype: 'Data', - hidden: (form) => { - return form.gstType === 'Registered Regular' ? 0 : 1; - }, + hidden: (doc) => (doc.gstType === 'Registered Regular' ? 0 : 1), }, { fieldname: 'gstType', diff --git a/models/doctype/Payment/Payment.js b/models/doctype/Payment/Payment.js index 35cc16fb..ce9baec9 100644 --- a/models/doctype/Payment/Payment.js +++ b/models/doctype/Payment/Payment.js @@ -88,6 +88,7 @@ export default { placeholder: 'Ref. / Cheque No.', fieldtype: 'Data', required: (doc) => doc.paymentMethod !== 'Cash', // TODO: UNIQUE + hidden: (doc) => doc.paymentMethod === 'Cash', }, { fieldname: 'referenceDate', diff --git a/models/doctype/Payment/PaymentServer.js b/models/doctype/Payment/PaymentServer.js index 3b024144..7202a4c1 100644 --- a/models/doctype/Payment/PaymentServer.js +++ b/models/doctype/Payment/PaymentServer.js @@ -72,7 +72,7 @@ export default class PaymentServer extends BaseDocument { validateReferenceAmount() { const referenceAmountTotal = this.for .map(({ amount }) => amount) - .reduce((a, b) => a + b); + .reduce((a, b) => a + b, 0); if (this.amount + (this.writeoff ?? 0) < referenceAmountTotal) { const writeoff = frappe.format(this.writeoff, 'Currency'); diff --git a/models/regionalModelUpdates.js b/models/regionalModelUpdates.js index f74cd749..c526dc36 100644 --- a/models/regionalModelUpdates.js +++ b/models/regionalModelUpdates.js @@ -4,7 +4,8 @@ async function setAugmentedModel(model, regionalInfo) { const getAugmentedModel = ( await import('./doctype/' + model + '/RegionalChanges') ).default; - frappe.models[model] = getAugmentedModel(regionalInfo); + const augmentedModel = getAugmentedModel(regionalInfo); + frappe.models[model] = augmentedModel; frappe.models[model].augmented = 1; } diff --git a/src/components/TwoColumnForm.vue b/src/components/TwoColumnForm.vue index b10f2c2e..bb3ed9b6 100644 --- a/src/components/TwoColumnForm.vue +++ b/src/components/TwoColumnForm.vue @@ -8,7 +8,7 @@ size="small" :df="df" :value="doc[df.fieldname]" - :read-only="submitted" + :read-only="evaluateReadOnly(df)" @change="(value) => onChange(df, value)" />