diff --git a/frappe/cli.py b/frappe/cli.py
index b42e887a98..d654b2eff7 100755
--- a/frappe/cli.py
+++ b/frappe/cli.py
@@ -531,7 +531,7 @@ def make_conf(db_name=None, db_password=None, site_config=None):
@cmd
def make_custom_server_script(doctype):
- from frappe.core.doctype.custom_script.custom_script import make_custom_server_script_file
+ from frappe.custom.doctype.custom_script.custom_script import make_custom_server_script_file
frappe.connect()
make_custom_server_script_file(doctype)
frappe.destroy()
diff --git a/frappe/core/doctype/custom_field/custom_field.json b/frappe/core/doctype/custom_field/custom_field.json
deleted file mode 100644
index 712ba856f7..0000000000
--- a/frappe/core/doctype/custom_field/custom_field.json
+++ /dev/null
@@ -1,304 +0,0 @@
-{
- "creation": "2013-01-10 16:34:01",
- "description": "Adds a custom field to a DocType",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
- {
- "fieldname": "dt",
- "fieldtype": "Link",
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Document",
- "no_copy": 0,
- "oldfieldname": "dt",
- "oldfieldtype": "Link",
- "options": "DocType",
- "permlevel": 0,
- "reqd": 1,
- "search_index": 1
- },
- {
- "fieldname": "label",
- "fieldtype": "Data",
- "in_filter": 1,
- "label": "Label",
- "no_copy": 1,
- "oldfieldname": "label",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "reqd": 0,
- "search_index": 0
- },
- {
- "fieldname": "label_help",
- "fieldtype": "HTML",
- "label": "Label Help",
- "oldfieldtype": "HTML",
- "permlevel": 0
- },
- {
- "description": "Select the label after which you want to insert new field.",
- "fieldname": "insert_after",
- "fieldtype": "Select",
- "label": "Insert After",
- "no_copy": 1,
- "oldfieldname": "insert_after",
- "oldfieldtype": "Select",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "fieldtype",
- "fieldtype": "Select",
- "in_filter": 1,
- "in_list_view": 1,
- "label": "Field Type",
- "no_copy": 0,
- "oldfieldname": "fieldtype",
- "oldfieldtype": "Select",
- "options": "Button\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime",
- "permlevel": 0,
- "reqd": 1,
- "search_index": 0
- },
- {
- "depends_on": "eval:in_list([\"Float\", \"Currency\", \"Percent\"], doc.fieldtype)",
- "description": "Set non-standard precision for a Float or Currency field",
- "fieldname": "precision",
- "fieldtype": "Select",
- "label": "Precision",
- "options": "\n1\n2\n3\n4\n5\n6",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "options_help",
- "fieldtype": "HTML",
- "label": "Options Help",
- "oldfieldtype": "HTML",
- "permlevel": 0
- },
- {
- "fieldname": "options",
- "fieldtype": "Text",
- "in_list_view": 1,
- "label": "Options",
- "no_copy": 0,
- "oldfieldname": "options",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "description",
- "fieldtype": "Text",
- "label": "Field Description",
- "no_copy": 0,
- "oldfieldname": "description",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_width": "300px",
- "search_index": 0,
- "width": "300px"
- },
- {
- "fieldname": "fieldname",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Fieldname",
- "no_copy": 1,
- "oldfieldname": "fieldname",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "read_only": 1,
- "search_index": 0
- },
- {
- "fieldname": "properties",
- "fieldtype": "Column Break",
- "label": "Properties",
- "oldfieldtype": "Column Break",
- "permlevel": 0,
- "print_width": "50%",
- "width": "50%"
- },
- {
- "default": "0",
- "fieldname": "permlevel",
- "fieldtype": "Int",
- "label": "Permission Level",
- "no_copy": 0,
- "oldfieldname": "permlevel",
- "oldfieldtype": "Int",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "reqd",
- "fieldtype": "Check",
- "in_list_view": 1,
- "label": "Is Mandatory Field",
- "no_copy": 0,
- "oldfieldname": "reqd",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "read_only",
- "fieldtype": "Check",
- "label": "Read Only",
- "permlevel": 0
- },
- {
- "depends_on": "eval:doc.fieldtype===\"Link\"",
- "fieldname": "ignore_user_permissions",
- "fieldtype": "Check",
- "label": "Ignore User Permissions",
- "permlevel": 0
- },
- {
- "fieldname": "width",
- "fieldtype": "Data",
- "label": "Width",
- "no_copy": 0,
- "oldfieldname": "width",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "default",
- "fieldtype": "Text",
- "label": "Default Value",
- "no_copy": 0,
- "oldfieldname": "default",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "hidden",
- "fieldtype": "Check",
- "label": "Hidden",
- "permlevel": 0
- },
- {
- "fieldname": "depends_on",
- "fieldtype": "Data",
- "label": "Depends On",
- "permlevel": 0
- },
- {
- "fieldname": "print_hide",
- "fieldtype": "Check",
- "label": "Print Hide",
- "no_copy": 0,
- "oldfieldname": "print_hide",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "print_width",
- "fieldtype": "Data",
- "hidden": 1,
- "label": "Print Width",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1
- },
- {
- "fieldname": "no_copy",
- "fieldtype": "Check",
- "label": "No Copy",
- "no_copy": 0,
- "oldfieldname": "no_copy",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "allow_on_submit",
- "fieldtype": "Check",
- "label": "Allow on Submit",
- "no_copy": 0,
- "oldfieldname": "allow_on_submit",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "in_filter",
- "fieldtype": "Check",
- "label": "In Report Filter",
- "no_copy": 0,
- "oldfieldname": "in_filter",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "in_list_view",
- "fieldtype": "Check",
- "label": "In List View",
- "permlevel": 0
- },
- {
- "fieldname": "report_hide",
- "fieldtype": "Check",
- "label": "Report Hide",
- "no_copy": 0,
- "oldfieldname": "report_hide",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "search_index",
- "fieldtype": "Check",
- "hidden": 1,
- "label": "Index",
- "no_copy": 1,
- "permlevel": 0,
- "print_hide": 1
- }
- ],
- "icon": "icon-glass",
- "idx": 1,
- "modified": "2014-09-05 07:41:13.076820",
- "modified_by": "Administrator",
- "module": "Core",
- "name": "Custom Field",
- "owner": "Administrator",
- "permissions": [
- {
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Administrator",
- "submit": 0,
- "write": 1
- },
- {
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "submit": 0,
- "write": 1
- }
- ],
- "search_fields": "dt,label,fieldtype,options"
-}
\ No newline at end of file
diff --git a/frappe/core/doctype/customize_form/customize_form.json b/frappe/core/doctype/customize_form/customize_form.json
deleted file mode 100644
index af2df37574..0000000000
--- a/frappe/core/doctype/customize_form/customize_form.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "autoname": "DL.####",
- "creation": "2013-01-29 17:55:08",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
- {
- "fieldname": "doc_type",
- "fieldtype": "Link",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Enter Form Type",
- "no_copy": 0,
- "options": "DocType",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "properties",
- "fieldtype": "Section Break",
- "label": "Properties",
- "permlevel": 0
- },
- {
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "permlevel": 0
- },
- {
- "fieldname": "default_print_format",
- "fieldtype": "Link",
- "in_list_view": 1,
- "label": "Default Print Format",
- "no_copy": 0,
- "options": "Print Format",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "description": "Fields separated by comma (,) will be included in the
Search By list of Search dialog box",
- "fieldname": "search_fields",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Search Fields",
- "no_copy": 0,
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "sort_field",
- "fieldtype": "Data",
- "label": "Sort Field",
- "permlevel": 0
- },
- {
- "fieldname": "sort_order",
- "fieldtype": "Data",
- "label": "Sort Order",
- "permlevel": 0
- },
- {
- "fieldname": "column_break1",
- "fieldtype": "Column Break",
- "permlevel": 0
- },
- {
- "fieldname": "allow_copy",
- "fieldtype": "Check",
- "label": "Hide Copy",
- "no_copy": 0,
- "permlevel": 0,
- "search_index": 0
- },
- {
- "depends_on": "",
- "fieldname": "max_attachments",
- "fieldtype": "Int",
- "label": "Max Attachments",
- "no_copy": 0,
- "permlevel": 0,
- "search_index": 0
- },
- {
- "description": "Customize Label, Print Hide, Default etc.",
- "fieldname": "fields_section_break",
- "fieldtype": "Section Break",
- "label": "Fields",
- "permlevel": 0
- },
- {
- "fieldname": "customize_form_fields",
- "fieldtype": "Table",
- "label": "Fields",
- "no_copy": 0,
- "options": "Customize Form Field",
- "permlevel": 0,
- "search_index": 0
- }
- ],
- "hide_toolbar": 1,
- "icon": "icon-glass",
- "idx": 1,
- "issingle": 1,
- "modified": "2014-08-22 05:42:45.083260",
- "modified_by": "Administrator",
- "module": "Core",
- "name": "Customize Form",
- "owner": "Administrator",
- "permissions": [
- {
- "create": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 0,
- "role": "System Manager",
- "submit": 0,
- "write": 1
- }
- ],
- "search_fields": "doc_type"
-}
\ No newline at end of file
diff --git a/frappe/core/doctype/customize_form_field/customize_form_field.json b/frappe/core/doctype/customize_form_field/customize_form_field.json
deleted file mode 100644
index 0c540044bc..0000000000
--- a/frappe/core/doctype/customize_form_field/customize_form_field.json
+++ /dev/null
@@ -1,288 +0,0 @@
-{
- "allow_copy": 0,
- "autoname": "DLF.#####",
- "creation": "2013-02-22 01:27:32",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
- {
- "fieldname": "label_and_type",
- "fieldtype": "Section Break",
- "label": "Label and Type",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "label",
- "fieldtype": "Data",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Label",
- "oldfieldname": "label",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0,
- "search_index": 1
- },
- {
- "default": "Data",
- "fieldname": "fieldtype",
- "fieldtype": "Select",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Type",
- "oldfieldname": "fieldtype",
- "oldfieldtype": "Select",
- "options": "Attach\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 1,
- "search_index": 1
- },
- {
- "fieldname": "fieldname",
- "fieldtype": "Data",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Name",
- "oldfieldname": "fieldname",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "read_only": 1,
- "reqd": 0,
- "search_index": 1
- },
- {
- "fieldname": "reqd",
- "fieldtype": "Check",
- "hidden": 0,
- "label": "Mandatory",
- "oldfieldname": "reqd",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "50px",
- "reqd": 0,
- "search_index": 0,
- "width": "50px"
- },
- {
- "fieldname": "in_list_view",
- "fieldtype": "Check",
- "label": "In List View",
- "permlevel": 0
- },
- {
- "fieldname": "column_break_7",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "depends_on": "eval:in_list([\"Float\", \"Currency\", \"Percent\"], doc.fieldtype)",
- "description": "Set non-standard precision for a Float or Currency field",
- "fieldname": "precision",
- "fieldtype": "Select",
- "label": "Precision",
- "options": "\n1\n2\n3\n4\n5\n6",
- "permlevel": 0,
- "precision": ""
- },
- {
- "description": "For Links, enter the DocType as range\nFor Select, enter list of Options separated by comma",
- "fieldname": "options",
- "fieldtype": "Text",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Options",
- "oldfieldname": "options",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0,
- "search_index": 0
- },
- {
- "fieldname": "permissions",
- "fieldtype": "Section Break",
- "label": "Permissions",
- "permlevel": 0,
- "precision": ""
- },
- {
- "description": "This field will appear only if the fieldname defined here has value OR the rules are true (examples):
\nmyfield\neval:doc.myfield=='My Value'
\neval:doc.age>18",
- "fieldname": "depends_on",
- "fieldtype": "Data",
- "hidden": 0,
- "label": "Depends On",
- "oldfieldname": "depends_on",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0
- },
- {
- "default": "0",
- "fieldname": "permlevel",
- "fieldtype": "Int",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Perm Level",
- "oldfieldname": "permlevel",
- "oldfieldtype": "Int",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0,
- "search_index": 0
- },
- {
- "fieldname": "hidden",
- "fieldtype": "Check",
- "hidden": 0,
- "label": "Hidden",
- "oldfieldname": "hidden",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "50px",
- "reqd": 0,
- "search_index": 0,
- "width": "50px"
- },
- {
- "fieldname": "column_break_14",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "ignore_user_permissions",
- "fieldtype": "Check",
- "label": "Ignore User Permissions",
- "permlevel": 0
- },
- {
- "fieldname": "allow_on_submit",
- "fieldtype": "Check",
- "hidden": 0,
- "label": "Allow on Submit",
- "oldfieldname": "allow_on_submit",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0
- },
- {
- "fieldname": "report_hide",
- "fieldtype": "Check",
- "hidden": 0,
- "label": "Report Hide",
- "oldfieldname": "report_hide",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0
- },
- {
- "fieldname": "display",
- "fieldtype": "Section Break",
- "label": "Display",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "default",
- "fieldtype": "Text",
- "hidden": 0,
- "label": "Default",
- "oldfieldname": "default",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0,
- "search_index": 0
- },
- {
- "fieldname": "in_filter",
- "fieldtype": "Check",
- "hidden": 0,
- "label": "In Filter",
- "oldfieldname": "in_filter",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "50px",
- "reqd": 0,
- "width": "50px"
- },
- {
- "fieldname": "column_break_21",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "description",
- "fieldtype": "Text",
- "hidden": 0,
- "label": "Description",
- "oldfieldname": "description",
- "oldfieldtype": "Text",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "300px",
- "reqd": 0,
- "width": "300px"
- },
- {
- "fieldname": "print_hide",
- "fieldtype": "Check",
- "hidden": 0,
- "label": "Print Hide",
- "oldfieldname": "print_hide",
- "oldfieldtype": "Check",
- "permlevel": 0,
- "print_hide": 0,
- "reqd": 0,
- "search_index": 0
- },
- {
- "description": "Print Width of the field, if the field is a column in a table",
- "fieldname": "print_width",
- "fieldtype": "Data",
- "label": "Print Width",
- "permlevel": 0,
- "print_width": "50px",
- "width": "50px"
- },
- {
- "fieldname": "width",
- "fieldtype": "Data",
- "hidden": 0,
- "in_list_view": 1,
- "label": "Width",
- "oldfieldname": "width",
- "oldfieldtype": "Data",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "50px",
- "reqd": 0,
- "search_index": 0,
- "width": "50px"
- }
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "idx": 1,
- "issingle": 0,
- "istable": 1,
- "modified": "2014-09-05 07:41:29.641454",
- "modified_by": "Administrator",
- "module": "Core",
- "name": "Customize Form Field",
- "owner": "Administrator",
- "permissions": [],
- "read_only": 0
-}
\ No newline at end of file
diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py
index 9f2c0419a6..2ee7d62cfd 100644
--- a/frappe/core/doctype/doctype/doctype.py
+++ b/frappe/core/doctype/doctype/doctype.py
@@ -10,7 +10,7 @@ from frappe.utils import now, cint
from frappe.model import no_value_fields
from frappe.model.document import Document
from frappe.model.db_schema import type_map
-from frappe.core.doctype.property_setter.property_setter import make_property_setter
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
from frappe.core.doctype.notification_count.notification_count import delete_notification_count_for
from frappe.modules import make_boilerplate
diff --git a/frappe/core/doctype/property_setter/property_setter.json b/frappe/core/doctype/property_setter/property_setter.json
deleted file mode 100644
index 47691926aa..0000000000
--- a/frappe/core/doctype/property_setter/property_setter.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "creation": "2013-01-10 16:34:04",
- "description": "Property Setter overrides a standard DocType or Field property",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
- {
- "fieldname": "help",
- "fieldtype": "HTML",
- "label": "Help",
- "options": "
Please don't update it as it can mess up your form. Use the Customize Form View and Custom Fields to set properties!
",
- "permlevel": 0
- },
- {
- "fieldname": "sb0",
- "fieldtype": "Section Break",
- "permlevel": 0
- },
- {
- "depends_on": "eval:doc.__islocal",
- "fieldname": "doctype_or_field",
- "fieldtype": "Select",
- "in_list_view": 1,
- "label": "DocType or Field",
- "options": "\nDocField\nDocType",
- "permlevel": 0,
- "reqd": 1
- },
- {
- "description": "New value to be set",
- "fieldname": "value",
- "fieldtype": "Text",
- "in_list_view": 1,
- "label": "Set Value",
- "permlevel": 0
- },
- {
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "search_index": 0
- },
- {
- "fieldname": "doc_type",
- "fieldtype": "Link",
- "in_filter": 0,
- "label": "DocType",
- "options": "DocType",
- "permlevel": 0,
- "reqd": 1,
- "search_index": 1
- },
- {
- "depends_on": "eval:doc.doctype_or_field=='DocField'",
- "description": "ID (name) of the entity whose property is to be set",
- "fieldname": "field_name",
- "fieldtype": "Data",
- "in_filter": 0,
- "label": "Field Name",
- "permlevel": 0,
- "reqd": 0,
- "search_index": 1
- },
- {
- "fieldname": "property",
- "fieldtype": "Data",
- "in_filter": 0,
- "label": "Property",
- "permlevel": 0,
- "reqd": 1,
- "search_index": 1
- },
- {
- "fieldname": "property_type",
- "fieldtype": "Data",
- "label": "Property Type",
- "permlevel": 0
- },
- {
- "fieldname": "default_value",
- "fieldtype": "Data",
- "label": "Default Value",
- "permlevel": 0
- }
- ],
- "icon": "icon-glass",
- "idx": 1,
- "modified": "2014-07-24 02:04:26.838056",
- "modified_by": "Administrator",
- "module": "Core",
- "name": "Property Setter",
- "owner": "Administrator",
- "permissions": [
- {
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Administrator",
- "submit": 0,
- "write": 1
- },
- {
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "submit": 0,
- "write": 1
- }
- ],
- "search_fields": "doc_type,property"
-}
\ No newline at end of file
diff --git a/frappe/custom/__init__.py b/frappe/custom/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/frappe/custom/doctype/__init__.py b/frappe/custom/doctype/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/frappe/core/doctype/custom_field/README.md b/frappe/custom/doctype/custom_field/README.md
similarity index 100%
rename from frappe/core/doctype/custom_field/README.md
rename to frappe/custom/doctype/custom_field/README.md
diff --git a/frappe/core/doctype/custom_field/__init__.py b/frappe/custom/doctype/custom_field/__init__.py
similarity index 100%
rename from frappe/core/doctype/custom_field/__init__.py
rename to frappe/custom/doctype/custom_field/__init__.py
diff --git a/frappe/core/doctype/custom_field/custom_field.js b/frappe/custom/doctype/custom_field/custom_field.js
similarity index 100%
rename from frappe/core/doctype/custom_field/custom_field.js
rename to frappe/custom/doctype/custom_field/custom_field.js
diff --git a/frappe/custom/doctype/custom_field/custom_field.json b/frappe/custom/doctype/custom_field/custom_field.json
new file mode 100644
index 0000000000..b17082c8f6
--- /dev/null
+++ b/frappe/custom/doctype/custom_field/custom_field.json
@@ -0,0 +1,304 @@
+{
+ "creation": "2013-01-10 16:34:01",
+ "description": "Adds a custom field to a DocType",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "fields": [
+ {
+ "fieldname": "dt",
+ "fieldtype": "Link",
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Document",
+ "no_copy": 0,
+ "oldfieldname": "dt",
+ "oldfieldtype": "Link",
+ "options": "DocType",
+ "permlevel": 0,
+ "reqd": 1,
+ "search_index": 1
+ },
+ {
+ "fieldname": "label",
+ "fieldtype": "Data",
+ "in_filter": 1,
+ "label": "Label",
+ "no_copy": 1,
+ "oldfieldname": "label",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "reqd": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "label_help",
+ "fieldtype": "HTML",
+ "label": "Label Help",
+ "oldfieldtype": "HTML",
+ "permlevel": 0
+ },
+ {
+ "description": "Select the label after which you want to insert new field.",
+ "fieldname": "insert_after",
+ "fieldtype": "Select",
+ "label": "Insert After",
+ "no_copy": 1,
+ "oldfieldname": "insert_after",
+ "oldfieldtype": "Select",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "fieldtype",
+ "fieldtype": "Select",
+ "in_filter": 1,
+ "in_list_view": 1,
+ "label": "Field Type",
+ "no_copy": 0,
+ "oldfieldname": "fieldtype",
+ "oldfieldtype": "Select",
+ "options": "Button\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime",
+ "permlevel": 0,
+ "reqd": 1,
+ "search_index": 0
+ },
+ {
+ "depends_on": "eval:in_list([\"Float\", \"Currency\", \"Percent\"], doc.fieldtype)",
+ "description": "Set non-standard precision for a Float or Currency field",
+ "fieldname": "precision",
+ "fieldtype": "Select",
+ "label": "Precision",
+ "options": "\n1\n2\n3\n4\n5\n6",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "fieldname": "options_help",
+ "fieldtype": "HTML",
+ "label": "Options Help",
+ "oldfieldtype": "HTML",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "options",
+ "fieldtype": "Text",
+ "in_list_view": 1,
+ "label": "Options",
+ "no_copy": 0,
+ "oldfieldname": "options",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "description",
+ "fieldtype": "Text",
+ "label": "Field Description",
+ "no_copy": 0,
+ "oldfieldname": "description",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_width": "300px",
+ "search_index": 0,
+ "width": "300px"
+ },
+ {
+ "fieldname": "fieldname",
+ "fieldtype": "Data",
+ "in_list_view": 1,
+ "label": "Fieldname",
+ "no_copy": 1,
+ "oldfieldname": "fieldname",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "read_only": 1,
+ "search_index": 0
+ },
+ {
+ "fieldname": "properties",
+ "fieldtype": "Column Break",
+ "label": "Properties",
+ "oldfieldtype": "Column Break",
+ "permlevel": 0,
+ "print_width": "50%",
+ "width": "50%"
+ },
+ {
+ "default": "0",
+ "fieldname": "permlevel",
+ "fieldtype": "Int",
+ "label": "Permission Level",
+ "no_copy": 0,
+ "oldfieldname": "permlevel",
+ "oldfieldtype": "Int",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "reqd",
+ "fieldtype": "Check",
+ "in_list_view": 1,
+ "label": "Is Mandatory Field",
+ "no_copy": 0,
+ "oldfieldname": "reqd",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "read_only",
+ "fieldtype": "Check",
+ "label": "Read Only",
+ "permlevel": 0
+ },
+ {
+ "depends_on": "eval:doc.fieldtype===\"Link\"",
+ "fieldname": "ignore_user_permissions",
+ "fieldtype": "Check",
+ "label": "Ignore User Permissions",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "width",
+ "fieldtype": "Data",
+ "label": "Width",
+ "no_copy": 0,
+ "oldfieldname": "width",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "default",
+ "fieldtype": "Text",
+ "label": "Default Value",
+ "no_copy": 0,
+ "oldfieldname": "default",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "hidden",
+ "fieldtype": "Check",
+ "label": "Hidden",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "depends_on",
+ "fieldtype": "Data",
+ "label": "Depends On",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "print_hide",
+ "fieldtype": "Check",
+ "label": "Print Hide",
+ "no_copy": 0,
+ "oldfieldname": "print_hide",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "print_width",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "label": "Print Width",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1
+ },
+ {
+ "fieldname": "no_copy",
+ "fieldtype": "Check",
+ "label": "No Copy",
+ "no_copy": 0,
+ "oldfieldname": "no_copy",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "allow_on_submit",
+ "fieldtype": "Check",
+ "label": "Allow on Submit",
+ "no_copy": 0,
+ "oldfieldname": "allow_on_submit",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "in_filter",
+ "fieldtype": "Check",
+ "label": "In Report Filter",
+ "no_copy": 0,
+ "oldfieldname": "in_filter",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "in_list_view",
+ "fieldtype": "Check",
+ "label": "In List View",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "report_hide",
+ "fieldtype": "Check",
+ "label": "Report Hide",
+ "no_copy": 0,
+ "oldfieldname": "report_hide",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "search_index",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "label": "Index",
+ "no_copy": 1,
+ "permlevel": 0,
+ "print_hide": 1
+ }
+ ],
+ "icon": "icon-glass",
+ "idx": 1,
+ "modified": "2014-09-05 07:41:13.076821",
+ "modified_by": "Administrator",
+ "module": "Custom",
+ "name": "Custom Field",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Administrator",
+ "submit": 0,
+ "write": 1
+ },
+ {
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "submit": 0,
+ "write": 1
+ }
+ ],
+ "search_fields": "dt,label,fieldtype,options"
+}
diff --git a/frappe/core/doctype/custom_field/custom_field.py b/frappe/custom/doctype/custom_field/custom_field.py
similarity index 100%
rename from frappe/core/doctype/custom_field/custom_field.py
rename to frappe/custom/doctype/custom_field/custom_field.py
diff --git a/frappe/core/doctype/custom_field/test_custom_field.py b/frappe/custom/doctype/custom_field/test_custom_field.py
similarity index 100%
rename from frappe/core/doctype/custom_field/test_custom_field.py
rename to frappe/custom/doctype/custom_field/test_custom_field.py
diff --git a/frappe/core/doctype/custom_field/test_records.json b/frappe/custom/doctype/custom_field/test_records.json
similarity index 100%
rename from frappe/core/doctype/custom_field/test_records.json
rename to frappe/custom/doctype/custom_field/test_records.json
diff --git a/frappe/core/doctype/custom_script/README.md b/frappe/custom/doctype/custom_script/README.md
similarity index 100%
rename from frappe/core/doctype/custom_script/README.md
rename to frappe/custom/doctype/custom_script/README.md
diff --git a/frappe/core/doctype/custom_script/__init__.py b/frappe/custom/doctype/custom_script/__init__.py
similarity index 100%
rename from frappe/core/doctype/custom_script/__init__.py
rename to frappe/custom/doctype/custom_script/__init__.py
diff --git a/frappe/core/doctype/custom_script/custom_script.json b/frappe/custom/doctype/custom_script/custom_script.json
similarity index 54%
rename from frappe/core/doctype/custom_script/custom_script.json
rename to frappe/custom/doctype/custom_script/custom_script.json
index 8ad35d8c86..8fa816b4de 100644
--- a/frappe/core/doctype/custom_script/custom_script.json
+++ b/frappe/custom/doctype/custom_script/custom_script.json
@@ -1,84 +1,84 @@
{
- "autoname": "CustomScript.####",
- "creation": "2013-01-10 16:34:01",
- "description": "Adds a custom script (client or server) to a DocType",
- "docstatus": 0,
- "doctype": "DocType",
+ "autoname": "CustomScript.####",
+ "creation": "2013-01-10 16:34:01",
+ "description": "Adds a custom script (client or server) to a DocType",
+ "docstatus": 0,
+ "doctype": "DocType",
"fields": [
{
- "fieldname": "dt",
- "fieldtype": "Link",
- "in_list_view": 1,
- "label": "DocType",
- "oldfieldname": "dt",
- "oldfieldtype": "Link",
- "options": "DocType",
+ "fieldname": "dt",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "label": "DocType",
+ "oldfieldname": "dt",
+ "oldfieldtype": "Link",
+ "options": "DocType",
"permlevel": 0
- },
+ },
{
- "default": "Client",
- "fieldname": "script_type",
- "fieldtype": "Select",
- "hidden": 1,
- "in_list_view": 1,
- "label": "Script Type",
- "oldfieldname": "script_type",
- "oldfieldtype": "Select",
- "options": "Client",
- "permlevel": 0,
+ "default": "Client",
+ "fieldname": "script_type",
+ "fieldtype": "Select",
+ "hidden": 1,
+ "in_list_view": 1,
+ "label": "Script Type",
+ "oldfieldname": "script_type",
+ "oldfieldtype": "Select",
+ "options": "Client",
+ "permlevel": 0,
"read_only": 1
- },
+ },
{
- "fieldname": "script",
- "fieldtype": "Code",
- "in_list_view": 1,
- "label": "Script",
- "oldfieldname": "script",
- "oldfieldtype": "Code",
- "options": "Script",
+ "fieldname": "script",
+ "fieldtype": "Code",
+ "in_list_view": 1,
+ "label": "Script",
+ "oldfieldname": "script",
+ "oldfieldtype": "Code",
+ "options": "Script",
"permlevel": 0
- },
+ },
{
- "fieldname": "sample",
- "fieldtype": "HTML",
- "label": "Sample",
- "options": "Custom Script Help
\nCustom Scripts are executed only on the client-side (i.e. in Forms). Here are some examples to get you started
\n\n// additional validation on dates\ncur_frm.cscript.custom_validate = function(doc) {\n if (doc.from_date < get_today()) {\n msgprint(\"You can not select past date in From Date\");\n validated = false;\n }\n}\n\n// make a field read-only after saving\ncur_frm.cscript.custom_refresh = function(doc) {\n // use the __islocal value of doc, to check if the doc is saved or not\n cur_frm.set_df_property(\"myfield\", \"read_only\", doc.__islocal ? 0 : 1);\n}\n\n// addtional permission checking\ncur_frm.cscript.custom_validate = function(doc) {\n if(user==\"user1@example.com\" && doc.purpose!=\"Material Receipt\") {\n msgprint(\"You are only allowed Material Receipt\");\n validated = false;\n }\n}\n\n// calculate sales incentive\ncur_frm.cscript.custom_validate = function(doc) {\n // calculate incentives for each person on the deal\n total_incentive = 0\n $.each(wn.model.get(\"Sales Team\", {parent:doc.name}), function(i, d) {\n\n // calculate incentive\n var incentive_percent = 2;\n if(doc.grand_total > 400) incentive_percent = 4;\n\n // actual incentive\n d.incentives = flt(doc.grand_total) * incentive_percent / 100;\n total_incentive += flt(d.incentives)\n });\n\n doc.total_incentive = total_incentive;\n}\n\n
",
+ "fieldname": "sample",
+ "fieldtype": "HTML",
+ "label": "Sample",
+ "options": "Custom Script Help
\nCustom Scripts are executed only on the client-side (i.e. in Forms). Here are some examples to get you started
\n\n// additional validation on dates\ncur_frm.cscript.custom_validate = function(doc) {\n if (doc.from_date < get_today()) {\n msgprint(\"You can not select past date in From Date\");\n validated = false;\n }\n}\n\n// make a field read-only after saving\ncur_frm.cscript.custom_refresh = function(doc) {\n // use the __islocal value of doc, to check if the doc is saved or not\n cur_frm.set_df_property(\"myfield\", \"read_only\", doc.__islocal ? 0 : 1);\n}\n\n// addtional permission checking\ncur_frm.cscript.custom_validate = function(doc) {\n if(user==\"user1@example.com\" && doc.purpose!=\"Material Receipt\") {\n msgprint(\"You are only allowed Material Receipt\");\n validated = false;\n }\n}\n\n// calculate sales incentive\ncur_frm.cscript.custom_validate = function(doc) {\n // calculate incentives for each person on the deal\n total_incentive = 0\n $.each(wn.model.get(\"Sales Team\", {parent:doc.name}), function(i, d) {\n\n // calculate incentive\n var incentive_percent = 2;\n if(doc.grand_total > 400) incentive_percent = 4;\n\n // actual incentive\n d.incentives = flt(doc.grand_total) * incentive_percent / 100;\n total_incentive += flt(d.incentives)\n });\n\n doc.total_incentive = total_incentive;\n}\n\n
",
"permlevel": 0
}
- ],
- "icon": "icon-glass",
- "idx": 1,
- "modified": "2014-06-19 06:55:02.522204",
- "modified_by": "Administrator",
- "module": "Core",
- "name": "Custom Script",
- "owner": "Administrator",
+ ],
+ "icon": "icon-glass",
+ "idx": 1,
+ "modified": "2014-06-19 06:55:02.522205",
+ "modified_by": "Administrator",
+ "module": "Custom",
+ "name": "Custom Script",
+ "owner": "Administrator",
"permissions": [
{
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "submit": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "submit": 0,
"write": 1
- },
+ },
{
- "cancel": 0,
- "create": 1,
- "delete": 1,
- "email": 1,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "Administrator",
- "submit": 0,
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Administrator",
+ "submit": 0,
"write": 1
}
]
-}
\ No newline at end of file
+}
diff --git a/frappe/core/doctype/custom_script/custom_script.py b/frappe/custom/doctype/custom_script/custom_script.py
similarity index 100%
rename from frappe/core/doctype/custom_script/custom_script.py
rename to frappe/custom/doctype/custom_script/custom_script.py
diff --git a/frappe/core/doctype/customize_form/README.md b/frappe/custom/doctype/customize_form/README.md
similarity index 100%
rename from frappe/core/doctype/customize_form/README.md
rename to frappe/custom/doctype/customize_form/README.md
diff --git a/frappe/core/doctype/customize_form/__init__.py b/frappe/custom/doctype/customize_form/__init__.py
similarity index 100%
rename from frappe/core/doctype/customize_form/__init__.py
rename to frappe/custom/doctype/customize_form/__init__.py
diff --git a/frappe/core/doctype/customize_form/customize_form.js b/frappe/custom/doctype/customize_form/customize_form.js
similarity index 100%
rename from frappe/core/doctype/customize_form/customize_form.js
rename to frappe/custom/doctype/customize_form/customize_form.js
diff --git a/frappe/custom/doctype/customize_form/customize_form.json b/frappe/custom/doctype/customize_form/customize_form.json
new file mode 100644
index 0000000000..bf6cc52cb9
--- /dev/null
+++ b/frappe/custom/doctype/customize_form/customize_form.json
@@ -0,0 +1,123 @@
+{
+ "autoname": "DL.####",
+ "creation": "2013-01-29 17:55:08",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "fields": [
+ {
+ "fieldname": "doc_type",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Enter Form Type",
+ "no_copy": 0,
+ "options": "DocType",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "properties",
+ "fieldtype": "Section Break",
+ "label": "Properties",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "default_print_format",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "label": "Default Print Format",
+ "no_copy": 0,
+ "options": "Print Format",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "description": "Fields separated by comma (,) will be included in the
Search By list of Search dialog box",
+ "fieldname": "search_fields",
+ "fieldtype": "Data",
+ "in_list_view": 1,
+ "label": "Search Fields",
+ "no_copy": 0,
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "sort_field",
+ "fieldtype": "Data",
+ "label": "Sort Field",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "sort_order",
+ "fieldtype": "Data",
+ "label": "Sort Order",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "column_break1",
+ "fieldtype": "Column Break",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "allow_copy",
+ "fieldtype": "Check",
+ "label": "Hide Copy",
+ "no_copy": 0,
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "depends_on": "",
+ "fieldname": "max_attachments",
+ "fieldtype": "Int",
+ "label": "Max Attachments",
+ "no_copy": 0,
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "description": "Customize Label, Print Hide, Default etc.",
+ "fieldname": "fields_section_break",
+ "fieldtype": "Section Break",
+ "label": "Fields",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "customize_form_fields",
+ "fieldtype": "Table",
+ "label": "Fields",
+ "no_copy": 0,
+ "options": "Customize Form Field",
+ "permlevel": 0,
+ "search_index": 0
+ }
+ ],
+ "hide_toolbar": 1,
+ "icon": "icon-glass",
+ "idx": 1,
+ "issingle": 1,
+ "modified": "2014-08-22 05:42:45.083261",
+ "modified_by": "Administrator",
+ "module": "Custom",
+ "name": "Customize Form",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "create": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 0,
+ "role": "System Manager",
+ "submit": 0,
+ "write": 1
+ }
+ ],
+ "search_fields": "doc_type"
+}
diff --git a/frappe/core/doctype/customize_form/customize_form.py b/frappe/custom/doctype/customize_form/customize_form.py
similarity index 100%
rename from frappe/core/doctype/customize_form/customize_form.py
rename to frappe/custom/doctype/customize_form/customize_form.py
diff --git a/frappe/core/doctype/customize_form/test_customize_form.py b/frappe/custom/doctype/customize_form/test_customize_form.py
similarity index 100%
rename from frappe/core/doctype/customize_form/test_customize_form.py
rename to frappe/custom/doctype/customize_form/test_customize_form.py
diff --git a/frappe/core/doctype/customize_form_field/__init__.py b/frappe/custom/doctype/customize_form_field/__init__.py
similarity index 100%
rename from frappe/core/doctype/customize_form_field/__init__.py
rename to frappe/custom/doctype/customize_form_field/__init__.py
diff --git a/frappe/custom/doctype/customize_form_field/customize_form_field.json b/frappe/custom/doctype/customize_form_field/customize_form_field.json
new file mode 100644
index 0000000000..87375bd7fb
--- /dev/null
+++ b/frappe/custom/doctype/customize_form_field/customize_form_field.json
@@ -0,0 +1,288 @@
+{
+ "allow_copy": 0,
+ "autoname": "DLF.#####",
+ "creation": "2013-02-22 01:27:32",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "fields": [
+ {
+ "fieldname": "label_and_type",
+ "fieldtype": "Section Break",
+ "label": "Label and Type",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "fieldname": "label",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Label",
+ "oldfieldname": "label",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0,
+ "search_index": 1
+ },
+ {
+ "default": "Data",
+ "fieldname": "fieldtype",
+ "fieldtype": "Select",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Type",
+ "oldfieldname": "fieldtype",
+ "oldfieldtype": "Select",
+ "options": "Attach\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 1,
+ "search_index": 1
+ },
+ {
+ "fieldname": "fieldname",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Name",
+ "oldfieldname": "fieldname",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 1,
+ "reqd": 0,
+ "search_index": 1
+ },
+ {
+ "fieldname": "reqd",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "label": "Mandatory",
+ "oldfieldname": "reqd",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_width": "50px",
+ "reqd": 0,
+ "search_index": 0,
+ "width": "50px"
+ },
+ {
+ "fieldname": "in_list_view",
+ "fieldtype": "Check",
+ "label": "In List View",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "column_break_7",
+ "fieldtype": "Column Break",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "depends_on": "eval:in_list([\"Float\", \"Currency\", \"Percent\"], doc.fieldtype)",
+ "description": "Set non-standard precision for a Float or Currency field",
+ "fieldname": "precision",
+ "fieldtype": "Select",
+ "label": "Precision",
+ "options": "\n1\n2\n3\n4\n5\n6",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "description": "For Links, enter the DocType as range\nFor Select, enter list of Options separated by comma",
+ "fieldname": "options",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Options",
+ "oldfieldname": "options",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "permissions",
+ "fieldtype": "Section Break",
+ "label": "Permissions",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "description": "This field will appear only if the fieldname defined here has value OR the rules are true (examples):
\nmyfield\neval:doc.myfield=='My Value'
\neval:doc.age>18",
+ "fieldname": "depends_on",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "label": "Depends On",
+ "oldfieldname": "depends_on",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0
+ },
+ {
+ "default": "0",
+ "fieldname": "permlevel",
+ "fieldtype": "Int",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Perm Level",
+ "oldfieldname": "permlevel",
+ "oldfieldtype": "Int",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "hidden",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "label": "Hidden",
+ "oldfieldname": "hidden",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_width": "50px",
+ "reqd": 0,
+ "search_index": 0,
+ "width": "50px"
+ },
+ {
+ "fieldname": "column_break_14",
+ "fieldtype": "Column Break",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "fieldname": "ignore_user_permissions",
+ "fieldtype": "Check",
+ "label": "Ignore User Permissions",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "allow_on_submit",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "label": "Allow on Submit",
+ "oldfieldname": "allow_on_submit",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0
+ },
+ {
+ "fieldname": "report_hide",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "label": "Report Hide",
+ "oldfieldname": "report_hide",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0
+ },
+ {
+ "fieldname": "display",
+ "fieldtype": "Section Break",
+ "label": "Display",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "fieldname": "default",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "label": "Default",
+ "oldfieldname": "default",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "in_filter",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "label": "In Filter",
+ "oldfieldname": "in_filter",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_width": "50px",
+ "reqd": 0,
+ "width": "50px"
+ },
+ {
+ "fieldname": "column_break_21",
+ "fieldtype": "Column Break",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
+ "fieldname": "description",
+ "fieldtype": "Text",
+ "hidden": 0,
+ "label": "Description",
+ "oldfieldname": "description",
+ "oldfieldtype": "Text",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_width": "300px",
+ "reqd": 0,
+ "width": "300px"
+ },
+ {
+ "fieldname": "print_hide",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "label": "Print Hide",
+ "oldfieldname": "print_hide",
+ "oldfieldtype": "Check",
+ "permlevel": 0,
+ "print_hide": 0,
+ "reqd": 0,
+ "search_index": 0
+ },
+ {
+ "description": "Print Width of the field, if the field is a column in a table",
+ "fieldname": "print_width",
+ "fieldtype": "Data",
+ "label": "Print Width",
+ "permlevel": 0,
+ "print_width": "50px",
+ "width": "50px"
+ },
+ {
+ "fieldname": "width",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "in_list_view": 1,
+ "label": "Width",
+ "oldfieldname": "width",
+ "oldfieldtype": "Data",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_width": "50px",
+ "reqd": 0,
+ "search_index": 0,
+ "width": "50px"
+ }
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "idx": 1,
+ "issingle": 0,
+ "istable": 1,
+ "modified": "2014-09-05 07:41:29.641455",
+ "modified_by": "Administrator",
+ "module": "Custom",
+ "name": "Customize Form Field",
+ "owner": "Administrator",
+ "permissions": [],
+ "read_only": 0
+}
diff --git a/frappe/core/doctype/customize_form_field/customize_form_field.py b/frappe/custom/doctype/customize_form_field/customize_form_field.py
similarity index 100%
rename from frappe/core/doctype/customize_form_field/customize_form_field.py
rename to frappe/custom/doctype/customize_form_field/customize_form_field.py
diff --git a/frappe/core/doctype/property_setter/README.md b/frappe/custom/doctype/property_setter/README.md
similarity index 100%
rename from frappe/core/doctype/property_setter/README.md
rename to frappe/custom/doctype/property_setter/README.md
diff --git a/frappe/core/doctype/property_setter/__init__.py b/frappe/custom/doctype/property_setter/__init__.py
similarity index 100%
rename from frappe/core/doctype/property_setter/__init__.py
rename to frappe/custom/doctype/property_setter/__init__.py
diff --git a/frappe/core/doctype/property_setter/property_setter.js b/frappe/custom/doctype/property_setter/property_setter.js
similarity index 100%
rename from frappe/core/doctype/property_setter/property_setter.js
rename to frappe/custom/doctype/property_setter/property_setter.js
diff --git a/frappe/custom/doctype/property_setter/property_setter.json b/frappe/custom/doctype/property_setter/property_setter.json
new file mode 100644
index 0000000000..580899f620
--- /dev/null
+++ b/frappe/custom/doctype/property_setter/property_setter.json
@@ -0,0 +1,122 @@
+{
+ "creation": "2013-01-10 16:34:04",
+ "description": "Property Setter overrides a standard DocType or Field property",
+ "docstatus": 0,
+ "doctype": "DocType",
+ "fields": [
+ {
+ "fieldname": "help",
+ "fieldtype": "HTML",
+ "label": "Help",
+ "options": "Please don't update it as it can mess up your form. Use the Customize Form View and Custom Fields to set properties!
",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "sb0",
+ "fieldtype": "Section Break",
+ "permlevel": 0
+ },
+ {
+ "depends_on": "eval:doc.__islocal",
+ "fieldname": "doctype_or_field",
+ "fieldtype": "Select",
+ "in_list_view": 1,
+ "label": "DocType or Field",
+ "options": "\nDocField\nDocType",
+ "permlevel": 0,
+ "reqd": 1
+ },
+ {
+ "description": "New value to be set",
+ "fieldname": "value",
+ "fieldtype": "Text",
+ "in_list_view": 1,
+ "label": "Set Value",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "column_break0",
+ "fieldtype": "Column Break",
+ "permlevel": 0,
+ "search_index": 0
+ },
+ {
+ "fieldname": "doc_type",
+ "fieldtype": "Link",
+ "in_filter": 0,
+ "label": "DocType",
+ "options": "DocType",
+ "permlevel": 0,
+ "reqd": 1,
+ "search_index": 1
+ },
+ {
+ "depends_on": "eval:doc.doctype_or_field=='DocField'",
+ "description": "ID (name) of the entity whose property is to be set",
+ "fieldname": "field_name",
+ "fieldtype": "Data",
+ "in_filter": 0,
+ "label": "Field Name",
+ "permlevel": 0,
+ "reqd": 0,
+ "search_index": 1
+ },
+ {
+ "fieldname": "property",
+ "fieldtype": "Data",
+ "in_filter": 0,
+ "label": "Property",
+ "permlevel": 0,
+ "reqd": 1,
+ "search_index": 1
+ },
+ {
+ "fieldname": "property_type",
+ "fieldtype": "Data",
+ "label": "Property Type",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "default_value",
+ "fieldtype": "Data",
+ "label": "Default Value",
+ "permlevel": 0
+ }
+ ],
+ "icon": "icon-glass",
+ "idx": 1,
+ "modified": "2014-07-24 02:04:26.838057",
+ "modified_by": "Administrator",
+ "module": "Custom",
+ "name": "Property Setter",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "Administrator",
+ "submit": 0,
+ "write": 1
+ },
+ {
+ "cancel": 0,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "permlevel": 0,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "submit": 0,
+ "write": 1
+ }
+ ],
+ "search_fields": "doc_type,property"
+}
diff --git a/frappe/core/doctype/property_setter/property_setter.py b/frappe/custom/doctype/property_setter/property_setter.py
similarity index 100%
rename from frappe/core/doctype/property_setter/property_setter.py
rename to frappe/custom/doctype/property_setter/property_setter.py
diff --git a/frappe/core/doctype/property_setter/test_records.json b/frappe/custom/doctype/property_setter/test_records.json
similarity index 100%
rename from frappe/core/doctype/property_setter/test_records.json
rename to frappe/custom/doctype/property_setter/test_records.json
diff --git a/frappe/hooks.py b/frappe/hooks.py
index fd8ff09591..cb6e2ca793 100644
--- a/frappe/hooks.py
+++ b/frappe/hooks.py
@@ -51,17 +51,17 @@ has_permission = {
doc_events = {
"*": {
- "after_insert": "frappe.core.doctype.email_alert.email_alert.trigger_email_alerts",
- "validate": "frappe.core.doctype.email_alert.email_alert.trigger_email_alerts",
+ "after_insert": "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
+ "validate": "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
"on_update": [
"frappe.core.doctype.notification_count.notification_count.clear_doctype_notifications",
- "frappe.core.doctype.email_alert.email_alert.trigger_email_alerts"
+ "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts"
],
"after_rename": "frappe.core.doctype.notification_count.notification_count.clear_doctype_notifications",
- "on_submit": "frappe.core.doctype.email_alert.email_alert.trigger_email_alerts",
+ "on_submit": "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
"on_cancel": [
"frappe.core.doctype.notification_count.notification_count.clear_doctype_notifications",
- "frappe.core.doctype.email_alert.email_alert.trigger_email_alerts"
+ "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts"
],
"on_trash": "frappe.core.doctype.notification_count.notification_count.clear_doctype_notifications"
},
@@ -77,7 +77,7 @@ scheduler_events = {
"frappe.core.doctype.notification_count.notification_count.clear_notifications",
"frappe.core.doctype.event.event.send_event_digest",
"frappe.sessions.clear_expired_sessions",
- "frappe.core.doctype.email_alert.email_alert.trigger_daily_alerts",
+ "frappe.email.doctype.email_alert.email_alert.trigger_daily_alerts",
],
"hourly": [
"frappe.website.doctype.website_group.website_group.clear_event_cache"
diff --git a/frappe/modules.txt b/frappe/modules.txt
index 910b808a09..017ccc06a5 100644
--- a/frappe/modules.txt
+++ b/frappe/modules.txt
@@ -1,4 +1,5 @@
Core
Website
Workflow
-Email
\ No newline at end of file
+Email
+Custom
\ No newline at end of file
diff --git a/frappe/patches/v4_0/create_custom_field_for_owner_match.py b/frappe/patches/v4_0/create_custom_field_for_owner_match.py
index 2ac51c18ef..fe2fcbfc11 100644
--- a/frappe/patches/v4_0/create_custom_field_for_owner_match.py
+++ b/frappe/patches/v4_0/create_custom_field_for_owner_match.py
@@ -3,7 +3,7 @@
from __future__ import unicode_literals
import frappe
-from frappe.core.doctype.custom_field.custom_field import create_custom_field
+from frappe.custom.doctype.custom_field.custom_field import create_custom_field
def execute():
if "match" in frappe.db.get_table_columns("DocPerm"):