diff --git a/frappe/core/doctype/doctype/doctype_list.js b/frappe/core/doctype/doctype/doctype_list.js index be9e6a130f..a3cf3c8142 100644 --- a/frappe/core/doctype/doctype/doctype_list.js +++ b/frappe/core/doctype/doctype/doctype_list.js @@ -12,6 +12,7 @@ frappe.listview_settings["DocType"] = { is_virtual = 0, is_single = 0, is_tree = 0, + is_custom = 0, editable_grid = 1, } = args || {}; @@ -81,7 +82,7 @@ frappe.listview_settings["DocType"] = { label: __("Custom?"), fieldname: "custom", fieldtype: "Check", - default: non_developer, + default: non_developer || is_custom, read_only: non_developer, }, ]; diff --git a/frappe/public/js/form_builder/components/Field.vue b/frappe/public/js/form_builder/components/Field.vue index 2c231193b3..7e5ab99fa3 100644 --- a/frappe/public/js/form_builder/components/Field.vue +++ b/frappe/public/js/form_builder/components/Field.vue @@ -204,6 +204,7 @@ onMounted(() => selected.value && label_input.value.focus_on_label()); diff --git a/frappe/public/js/form_builder/components/controls/TableControl.vue b/frappe/public/js/form_builder/components/controls/TableControl.vue index db1b2407d8..f132e023b7 100644 --- a/frappe/public/js/form_builder/components/controls/TableControl.vue +++ b/frappe/public/js/form_builder/components/controls/TableControl.vue @@ -2,7 +2,7 @@ import { get_table_columns, load_doctype_model } from "../../utils"; import { computedAsync } from "@vueuse/core"; -const props = defineProps(["df"]); +const props = defineProps(["df", "is-customize-form"]); let table_columns = computedAsync(async () => { let doctype = props.df.options; @@ -15,7 +15,10 @@ let table_columns = computedAsync(async () => { }, []); function open_new_child_doctype_dialog() { - frappe.listview_settings["DocType"].new_doctype_dialog({ is_child: 1 }); + let is_custom = props.isCustomizeForm; + frappe.model.with_doctype("DocType").then(() => { + frappe.listview_settings["DocType"].new_doctype_dialog({ is_child: 1, is_custom }); + }); }