mirror of
https://github.com/frappe/books.git
synced 2025-02-02 12:08:27 +00:00
fix: readonly and hidden in TwoColumnForm
- make some fields readonly, hidden - formatting
This commit is contained in:
parent
dd6b7b6b14
commit
6197e78514
@ -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',
|
||||
],
|
||||
};
|
||||
|
@ -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',
|
||||
|
@ -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',
|
||||
|
@ -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');
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
size="small"
|
||||
:df="df"
|
||||
:value="doc[df.fieldname]"
|
||||
:read-only="submitted"
|
||||
:read-only="evaluateReadOnly(df)"
|
||||
@change="(value) => onChange(df, value)"
|
||||
/>
|
||||
<template v-else>
|
||||
@ -72,7 +72,7 @@
|
||||
: doc[df.fieldname]
|
||||
"
|
||||
:class="{ 'p-2': df.fieldtype === 'Check' }"
|
||||
:read-only="submitted"
|
||||
:read-only="evaluateReadOnly(df)"
|
||||
@change="(value) => onChange(df, value)"
|
||||
@focus="activateInlineEditing(df)"
|
||||
@new-doc="(newdoc) => onChange(df, newdoc.name)"
|
||||
@ -135,9 +135,29 @@ let TwoColumnForm = {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
evaluateBoolean(fieldProp, defaultValue) {
|
||||
const type = typeof fieldProp;
|
||||
switch (type) {
|
||||
case 'undefined':
|
||||
return defaultValue;
|
||||
case 'function':
|
||||
return fieldProp(this.doc);
|
||||
default:
|
||||
return !!fieldProp;
|
||||
}
|
||||
},
|
||||
evaluateReadOnly(df) {
|
||||
if (this.submitted) {
|
||||
return true;
|
||||
}
|
||||
return this.evaluateBoolean(df.readOnly, false);
|
||||
},
|
||||
evaluateHidden(df) {
|
||||
return this.evaluateBoolean(df.hidden, false);
|
||||
},
|
||||
onChange(df, value) {
|
||||
if (value == null) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
|
||||
let oldValue = this.doc.get(df.fieldname);
|
||||
@ -204,7 +224,9 @@ let TwoColumnForm = {
|
||||
},
|
||||
computed: {
|
||||
formFields() {
|
||||
return this.fields || this.doc.meta.getQuickEditFields();
|
||||
return (this.fields || this.doc.meta.getQuickEditFields()).filter(
|
||||
(df) => !this.evaluateHidden(df)
|
||||
);
|
||||
},
|
||||
style() {
|
||||
let templateColumns = (this.columnRatio || [1, 1])
|
||||
|
Loading…
x
Reference in New Issue
Block a user