diff --git a/frappe/__init__.py b/frappe/__init__.py index 85d7789b34..c453cc2f2a 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -459,7 +459,7 @@ def has_website_permission(doctype, ptype="read", doc=None, user=None, verbose=F def is_table(doctype): """Returns True if `istable` property (indicating child Table) is set for given DocType.""" def get_tables(): - return db.sql_list("select name from tabDocType where ifnull(istable,0)=1") + return db.sql_list("select name from tabDocType where istable=1") tables = cache().get_value("is_table", get_tables) return doctype in tables @@ -755,6 +755,10 @@ def read_file(path, raise_not_found=False): def get_attr(method_string): """Get python method object from its name.""" + app_name = method_string.split(".")[0] + if not local.flags.in_install and app_name not in get_installed_apps(): + throw(_("App {0} is not installed").format(app_name), AppNotInstalledError) + modulename = '.'.join(method_string.split('.')[:-1]) methodname = method_string.split('.')[-1] return getattr(get_module(modulename), methodname) diff --git a/frappe/__version__.py b/frappe/__version__.py index 383caa16cd..b4b528c544 100644 --- a/frappe/__version__.py +++ b/frappe/__version__.py @@ -1,2 +1,2 @@ from __future__ import unicode_literals -__version__ = "6.8.2" +__version__ = "6.9.0" diff --git a/frappe/async.py b/frappe/async.py index 726eb58592..a27bb7ee0e 100644 --- a/frappe/async.py +++ b/frappe/async.py @@ -51,7 +51,7 @@ def handler(f): @frappe.whitelist() def get_pending_tasks_for_doc(doctype, docname): - return frappe.db.sql_list("select name from `tabAsync Task` where status in ('Queued', 'Running') and reference_doctype='%s' and reference_name='%s'" % (doctype, docname)) + return frappe.db.sql_list("select name from `tabAsync Task` where status in ('Queued', 'Running') and reference_doctype=%s and reference_name=%s", (doctype, docname)) @handler diff --git a/frappe/boot.py b/frappe/boot.py index 01430e6b01..0e4cce7381 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -44,7 +44,7 @@ def get_bootinfo(): bootinfo.hidden_modules = frappe.db.get_global("hidden_modules") bootinfo.doctype_icons = dict(frappe.db.sql("""select name, icon from tabDocType where ifnull(icon,'')!=''""")) - bootinfo.single_types = frappe.db.sql_list("""select name from tabDocType where ifnull(issingle,0)=1""") + bootinfo.single_types = frappe.db.sql_list("""select name from tabDocType where issingle=1""") add_home_page(bootinfo, doclist) bootinfo.page_info = get_allowed_pages() load_translations(bootinfo) @@ -120,7 +120,7 @@ def get_fullnames(): concat(ifnull(first_name, ''), if(ifnull(last_name, '')!='', ' ', ''), ifnull(last_name, '')) as fullname, user_image as image, gender, email - from tabUser where ifnull(enabled, 0)=1 and user_type!="Website User" """, as_dict=1) + from tabUser where enabled=1 and user_type!="Website User" """, as_dict=1) d = {} for r in ret: diff --git a/frappe/commands.py b/frappe/commands.py index 3bd807e78b..a685107cc3 100644 --- a/frappe/commands.py +++ b/frappe/commands.py @@ -429,7 +429,7 @@ def reset_perms(context): frappe.init(site=site) frappe.connect() for d in frappe.db.sql_list("""select name from `tabDocType` - where ifnull(istable, 0)=0 and ifnull(custom, 0)=0"""): + where istable=0 and custom=0"""): frappe.clear_cache(doctype=d) reset_perms(d) finally: diff --git a/frappe/core/doctype/async_task/async_task.json b/frappe/core/doctype/async_task/async_task.json index 0e63df9957..d62cc8ce12 100644 --- a/frappe/core/doctype/async_task/async_task.json +++ b/frappe/core/doctype/async_task/async_task.json @@ -19,7 +19,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Status", + "label": "Status", + "length": 0, "no_copy": 0, "options": "\nQueued\nRunning\nSucceeded\nFailed\n", "permlevel": 0, @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Task Name", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -65,6 +67,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Runtime", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -87,6 +90,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Result", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -109,6 +113,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Traceback", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -130,6 +135,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -152,6 +158,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -175,6 +182,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference Doc", + "length": 0, "no_copy": 0, "options": "reference_doctype", "permlevel": 0, @@ -195,7 +203,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:38.658939", + "max_attachments": 0, + "modified": "2015-11-16 06:29:42.038458", "modified_by": "Administrator", "module": "Core", "name": "Async Task", diff --git a/frappe/core/doctype/block_module/block_module.json b/frappe/core/doctype/block_module/block_module.json index 3473e6fe88..2a5d00bce1 100644 --- a/frappe/core/doctype/block_module/block_module.json +++ b/frappe/core/doctype/block_module/block_module.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Module", + "length": 0, "no_copy": 0, "options": "", "permlevel": 0, @@ -39,7 +40,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:39.485971", + "max_attachments": 0, + "modified": "2015-11-16 06:29:42.426522", "modified_by": "Administrator", "module": "Core", "name": "Block Module", diff --git a/frappe/core/doctype/comment/comment.json b/frappe/core/doctype/comment/comment.json index f03c3cec89..fd8d0e45f0 100644 --- a/frappe/core/doctype/comment/comment.json +++ b/frappe/core/doctype/comment/comment.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Comment", + "length": 0, "no_copy": 0, "oldfieldname": "comment", "oldfieldtype": "Text", @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Comment Type", + "length": 0, "no_copy": 0, "options": "Email\nChat\nPhone\nSMS\nCreated\nSubmitted\nCancelled\nAssigned\nAssignment Completed\nComment\nWorkflow\nLabel\nAttachment\nAttachment Removed", "permlevel": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Comment By", + "length": 0, "no_copy": 0, "oldfieldname": "comment_by", "oldfieldtype": "Data", @@ -87,6 +90,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Comment By Fullname", + "length": 0, "no_copy": 0, "oldfieldname": "comment_by_fullname", "oldfieldtype": "Data", @@ -110,6 +114,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Comment Date", + "length": 0, "no_copy": 0, "oldfieldname": "comment_date", "oldfieldtype": "Date", @@ -133,6 +138,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Comment Time", + "length": 0, "no_copy": 0, "oldfieldname": "comment_time", "oldfieldtype": "Data", @@ -156,6 +162,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Comment Doctype", + "length": 0, "no_copy": 0, "oldfieldname": "comment_doctype", "oldfieldtype": "Data", @@ -179,6 +186,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Comment Docname", + "length": 0, "no_copy": 0, "oldfieldname": "comment_docname", "oldfieldtype": "Data", @@ -202,6 +210,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Post Topic", + "length": 0, "no_copy": 0, "oldfieldname": "post_topic", "oldfieldtype": "Data", @@ -225,6 +234,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Unsubscribed", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -246,6 +256,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -270,6 +281,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference Name", + "length": 0, "no_copy": 0, "options": "reference_doctype", "permlevel": 0, @@ -292,7 +304,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:41.308408", + "max_attachments": 0, + "modified": "2015-11-16 06:29:43.314568", "modified_by": "Administrator", "module": "Core", "name": "Comment", diff --git a/frappe/core/doctype/communication/communication.json b/frappe/core/doctype/communication/communication.json index 5bd167c3fc..704bc5be79 100644 --- a/frappe/core/doctype/communication/communication.json +++ b/frappe/core/doctype/communication/communication.json @@ -21,7 +21,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Series", + "label": "Series", + "length": 0, "no_copy": 0, "options": "COMM-", "permlevel": 0, @@ -44,7 +45,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Communication Medium", + "label": "Communication Medium", + "length": 0, "no_copy": 0, "options": "\nChat\nPhone\nEmail\nSMS\nVisit\nOther", "permlevel": 0, @@ -67,6 +69,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Recipients", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -89,6 +92,7 @@ "in_filter": 0, "in_list_view": 0, "label": "CC", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -112,6 +116,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Phone No.", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -132,6 +137,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -153,7 +159,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Status", + "label": "Status", + "length": 0, "no_copy": 0, "options": "Open\nReplied\nClosed\nLinked", "permlevel": 0, @@ -176,7 +183,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Sent or Received", + "label": "Sent or Received", + "length": 0, "no_copy": 0, "options": "Sent\nReceived", "permlevel": 0, @@ -199,7 +207,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Delivery Status", + "label": "Delivery Status", + "length": 0, "no_copy": 0, "options": "\nSent\nBounced\nOpened\nMarked As Spam\nRejected\nDelayed\nSoft-Bounced\nClicked\nRecipient Unsubscribed", "permlevel": 0, @@ -222,6 +231,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -244,6 +254,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Subject", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -264,6 +275,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -286,6 +298,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Content", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -308,6 +321,7 @@ "in_filter": 0, "in_list_view": 0, "label": "More Information", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -329,6 +343,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sender", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -350,6 +365,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sender Full Name", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -373,6 +389,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Date", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -393,6 +410,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -415,6 +433,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -438,6 +457,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference Name", + "length": 0, "no_copy": 0, "options": "reference_doctype", "permlevel": 0, @@ -461,6 +481,7 @@ "in_filter": 0, "in_list_view": 0, "label": "In Reply To", + "length": 0, "no_copy": 0, "options": "Communication", "permlevel": 0, @@ -484,6 +505,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Email Account", + "length": 0, "no_copy": 0, "options": "Email Account", "permlevel": 0, @@ -508,6 +530,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User", + "length": 0, "no_copy": 0, "options": "User", "permlevel": 0, @@ -531,6 +554,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Unread Notification Sent", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -553,6 +577,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User Tags", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 1, @@ -573,7 +598,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:41.472917", + "max_attachments": 0, + "modified": "2015-11-16 06:29:43.407180", "modified_by": "Administrator", "module": "Core", "name": "Communication", diff --git a/frappe/core/doctype/communication/communication.py b/frappe/core/doctype/communication/communication.py index e7ffed0b27..980fc3f1b3 100644 --- a/frappe/core/doctype/communication/communication.py +++ b/frappe/core/doctype/communication/communication.py @@ -7,6 +7,7 @@ import json from email.utils import formataddr, parseaddr from frappe.utils import get_url, get_formatted_email, cint, validate_email_add, split_emails from frappe.utils.file_manager import get_file +from frappe.email.bulk import check_bulk_limit import frappe.email.smtp from frappe import _ @@ -103,6 +104,8 @@ class Communication(Document): self._notify(print_html=print_html, print_format=print_format, attachments=attachments, recipients=recipients, cc=cc) else: + check_bulk_limit(list(set(self.sent_email_addresses))) + from frappe.tasks import sendmail sendmail.delay(frappe.local.site, self.name, print_html=print_html, print_format=print_format, attachments=attachments, diff --git a/frappe/core/doctype/defaultvalue/defaultvalue.json b/frappe/core/doctype/defaultvalue/defaultvalue.json index 5bf6b116d0..f9d8b4f3d9 100644 --- a/frappe/core/doctype/defaultvalue/defaultvalue.json +++ b/frappe/core/doctype/defaultvalue/defaultvalue.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Key", + "length": 0, "no_copy": 0, "oldfieldname": "defkey", "oldfieldtype": "Data", @@ -44,6 +45,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Value", + "length": 0, "no_copy": 0, "oldfieldname": "defvalue", "oldfieldtype": "Text", @@ -67,7 +69,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:44.346115", + "max_attachments": 0, + "modified": "2015-11-16 06:29:44.604889", "modified_by": "Administrator", "module": "Core", "name": "DefaultValue", diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index 462083224b..4849b5c79a 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -1,864 +1,899 @@ { - "allow_copy": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "hash", - "creation": "2013-02-22 01:27:33", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", + "allow_copy": 0, + "allow_import": 0, + "allow_rename": 0, + "autoname": "hash", + "creation": "2013-02-22 01:27:33", + "custom": 0, + "docstatus": 0, + "doctype": "DocType", "fields": [ { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "label_and_type", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "label_and_type", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "fieldname": "label", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Label", - "no_copy": 0, - "oldfieldname": "label", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "print_width": "163", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 1, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "fieldname": "label", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Label", + "length": 0, + "no_copy": 0, + "oldfieldname": "label", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "print_width": "163", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 1, + "set_only_once": 0, + "unique": 0, "width": "163" - }, + }, { - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "default": "Data", - "fieldname": "fieldtype", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Type", - "no_copy": 0, - "oldfieldname": "fieldtype", - "oldfieldtype": "Select", - "options": "Attach\nAttach Image\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHeading\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, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 1, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "default": "Data", + "fieldname": "fieldtype", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Type", + "length": 0, + "no_copy": 0, + "oldfieldname": "fieldtype", + "oldfieldtype": "Select", + "options": "Attach\nAttach Image\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHeading\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, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 1, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 1, - "collapsible": 0, - "fieldname": "fieldname", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Name", - "no_copy": 0, - "oldfieldname": "fieldname", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 1, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 1, + "collapsible": 0, + "fieldname": "fieldname", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Name", + "length": 0, + "no_copy": 0, + "oldfieldname": "fieldname", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 1, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "reqd", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Mandatory", - "no_copy": 0, - "oldfieldname": "reqd", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "reqd", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Mandatory", + "length": 0, + "no_copy": 0, + "oldfieldname": "reqd", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 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", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Precision", - "no_copy": 0, - "options": "\n1\n2\n3\n4\n5\n6\n7\n8\n9", - "permlevel": 0, - "print_hide": 1, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 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", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Precision", + "length": 0, + "no_copy": 0, + "options": "\n1\n2\n3\n4\n5\n6\n7\n8\n9", + "permlevel": 0, + "print_hide": 1, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "eval:in_list(['Data', 'Link', 'Dynamic Link', 'Password', 'Select', 'Read Only', 'Attach', 'Attach Image'], doc.fieldtype)", - "fieldname": "length", - "fieldtype": "Int", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Length", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "eval:in_list(['Data', 'Link', 'Dynamic Link', 'Password', 'Select', 'Read Only', 'Attach', 'Attach Image'], doc.fieldtype)", + "fieldname": "length", + "fieldtype": "Int", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Length", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "search_index", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Index", - "no_copy": 0, - "oldfieldname": "search_index", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "search_index", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Index", + "length": 0, + "no_copy": 0, + "oldfieldname": "search_index", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "in_list_view", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "In List View", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "print_width": "70px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "in_list_view", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "In List View", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "print_width": "70px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "70px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "bold", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Bold", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "bold", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Bold", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "eval:doc.fieldtype===\"Section Break\"", - "fieldname": "collapsible", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Collapsible", - "length": 255, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "eval:doc.fieldtype===\"Section Break\"", + "fieldname": "collapsible", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Collapsible", + "length": 255, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "eval:doc.fieldtype==\"Section Break\"", - "fieldname": "collapsible_depends_on", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Collapsible Depends On", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "eval:doc.fieldtype==\"Section Break\"", + "fieldname": "collapsible_depends_on", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Collapsible Depends On", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "column_break_6", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "column_break_6", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "For Links, enter the DocType as range.\nFor Select, enter list of Options, each on a new line.", - "fieldname": "options", - "fieldtype": "Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Options", - "no_copy": 0, - "oldfieldname": "options", - "oldfieldtype": "Text", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "For Links, enter the DocType as range.\nFor Select, enter list of Options, each on a new line.", + "fieldname": "options", + "fieldtype": "Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Options", + "length": 0, + "no_copy": 0, + "oldfieldname": "options", + "oldfieldtype": "Text", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "default", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Default", - "no_copy": 0, - "oldfieldname": "default", - "oldfieldtype": "Text", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "default", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Default", + "length": 0, + "no_copy": 0, + "oldfieldname": "default", + "oldfieldtype": "Text", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "permissions", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Permissions", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "permissions", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Permissions", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "depends_on", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Depends On", - "length": 255, - "no_copy": 0, - "oldfieldname": "depends_on", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "depends_on", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Depends On", + "length": 255, + "no_copy": 0, + "oldfieldname": "depends_on", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "hidden", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Hidden", - "no_copy": 0, - "oldfieldname": "hidden", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "hidden", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Hidden", + "length": 0, + "no_copy": 0, + "oldfieldname": "hidden", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "read_only", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Read Only", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "read_only", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Read Only", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "unique", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Unique", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "unique", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Unique", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "Do not allow user to change after set the first time", - "fieldname": "set_only_once", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Set Only Once", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "Do not allow user to change after set the first time", + "fieldname": "set_only_once", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Set Only Once", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "column_break_13", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "column_break_13", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "0", - "fieldname": "permlevel", - "fieldtype": "Int", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Perm Level", - "no_copy": 0, - "oldfieldname": "permlevel", - "oldfieldtype": "Int", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "0", + "fieldname": "permlevel", + "fieldtype": "Int", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Perm Level", + "length": 0, + "no_copy": 0, + "oldfieldname": "permlevel", + "oldfieldtype": "Int", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "User permissions should not apply for this Link", - "fieldname": "ignore_user_permissions", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Ignore User Permissions", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "User permissions should not apply for this Link", + "fieldname": "ignore_user_permissions", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Ignore User Permissions", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "allow_on_submit", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Allow on Submit", - "no_copy": 0, - "oldfieldname": "allow_on_submit", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "allow_on_submit", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Allow on Submit", + "length": 0, + "no_copy": 0, + "oldfieldname": "allow_on_submit", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "report_hide", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Report Hide", - "no_copy": 0, - "oldfieldname": "report_hide", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "report_hide", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Report Hide", + "length": 0, + "no_copy": 0, + "oldfieldname": "report_hide", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "display", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Display", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "display", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Display", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "in_filter", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "In Filter", - "no_copy": 0, - "oldfieldname": "in_filter", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "in_filter", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "In Filter", + "length": 0, + "no_copy": 0, + "oldfieldname": "in_filter", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "no_copy", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "No Copy", - "no_copy": 0, - "oldfieldname": "no_copy", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "no_copy", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "No Copy", + "length": 0, + "no_copy": 0, + "oldfieldname": "no_copy", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "print_hide", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Print Hide", - "no_copy": 0, - "oldfieldname": "print_hide", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "print_hide", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Print Hide", + "length": 0, + "no_copy": 0, + "oldfieldname": "print_hide", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "print_width", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Print Width", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "print_width", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Print Width", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "width", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Width", - "no_copy": 0, - "oldfieldname": "width", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "print_width": "50px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "width", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Width", + "length": 0, + "no_copy": 0, + "oldfieldname": "width", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "print_width": "50px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "column_break_22", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "column_break_22", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "description", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Description", - "no_copy": 0, - "oldfieldname": "description", - "oldfieldtype": "Text", - "permlevel": 0, - "print_hide": 0, - "print_width": "300px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "description", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Description", + "length": 0, + "no_copy": 0, + "oldfieldname": "description", + "oldfieldtype": "Text", + "permlevel": 0, + "print_hide": 0, + "print_width": "300px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "300px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "oldfieldname", - "fieldtype": "Data", - "hidden": 1, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "oldfieldname": "oldfieldname", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "oldfieldname", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "oldfieldname": "oldfieldname", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "oldfieldtype", - "fieldtype": "Data", - "hidden": 1, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "oldfieldname": "oldfieldtype", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "oldfieldtype", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "oldfieldname": "oldfieldtype", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 } - ], - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 1, - "in_create": 0, - "in_dialog": 1, - "is_submittable": 0, - "issingle": 0, - "istable": 1, - "modified": "2015-10-02 07:38:45.729933", - "modified_by": "Administrator", - "module": "Core", - "name": "DocField", - "owner": "Administrator", - "permissions": [], - "read_only": 0, + ], + "hide_heading": 0, + "hide_toolbar": 0, + "idx": 1, + "in_create": 0, + "in_dialog": 1, + "is_submittable": 0, + "issingle": 0, + "istable": 1, + "max_attachments": 0, + "modified": "2015-11-16 06:29:45.264491", + "modified_by": "Administrator", + "module": "Core", + "name": "DocField", + "owner": "Administrator", + "permissions": [], + "read_only": 0, "read_only_onload": 0 -} +} \ No newline at end of file diff --git a/frappe/core/doctype/docperm/docperm.json b/frappe/core/doctype/docperm/docperm.json index dbb9e4d53c..c8085aa8fb 100644 --- a/frappe/core/doctype/docperm/docperm.json +++ b/frappe/core/doctype/docperm/docperm.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Role and Level", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -40,6 +41,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Role", + "length": 0, "no_copy": 0, "oldfieldname": "role", "oldfieldtype": "Link", @@ -67,6 +69,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Apply User Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -89,6 +92,7 @@ "in_filter": 0, "in_list_view": 0, "label": "If user is the owner", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -110,6 +114,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -132,6 +137,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Level", + "length": 0, "no_copy": 0, "oldfieldname": "permlevel", "oldfieldtype": "Int", @@ -159,6 +165,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User Permission DocTypes", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -180,6 +187,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -202,6 +210,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Read", + "length": 0, "no_copy": 0, "oldfieldname": "read", "oldfieldtype": "Check", @@ -228,6 +237,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Write", + "length": 0, "no_copy": 0, "oldfieldname": "write", "oldfieldtype": "Check", @@ -254,6 +264,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Create", + "length": 0, "no_copy": 0, "oldfieldname": "create", "oldfieldtype": "Check", @@ -280,6 +291,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Delete", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -300,6 +312,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -321,6 +334,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Submit", + "length": 0, "no_copy": 0, "oldfieldname": "submit", "oldfieldtype": "Check", @@ -346,6 +360,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Cancel", + "length": 0, "no_copy": 0, "oldfieldname": "cancel", "oldfieldtype": "Check", @@ -371,6 +386,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Amend", + "length": 0, "no_copy": 0, "oldfieldname": "amend", "oldfieldtype": "Check", @@ -396,6 +412,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Additional Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -418,6 +435,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Report", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -442,6 +460,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Export", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -463,6 +482,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Import", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -485,6 +505,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Set User Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -505,6 +526,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -527,6 +549,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Share", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -550,6 +573,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Print", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -572,6 +596,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Email", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -591,7 +616,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:46.740536", + "max_attachments": 0, + "modified": "2015-11-16 06:29:45.429411", "modified_by": "Administrator", "module": "Core", "name": "DocPerm", diff --git a/frappe/core/doctype/docshare/docshare.json b/frappe/core/doctype/docshare/docshare.json index f06857213d..75c2ac1b37 100644 --- a/frappe/core/doctype/docshare/docshare.json +++ b/frappe/core/doctype/docshare/docshare.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 1, "label": "User", + "length": 0, "no_copy": 0, "options": "User", "permlevel": 0, @@ -44,6 +45,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Document Type", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -67,6 +69,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Document Name", + "length": 0, "no_copy": 0, "options": "share_doctype", "permlevel": 0, @@ -91,6 +94,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Read", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -114,6 +118,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Write", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -137,6 +142,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Share", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -159,6 +165,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Everyone", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -178,7 +185,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:47.029636", + "max_attachments": 0, + "modified": "2015-11-16 06:29:45.569747", "modified_by": "Administrator", "module": "Core", "name": "DocShare", diff --git a/frappe/core/doctype/doctype/doctype.json b/frappe/core/doctype/doctype/doctype.json index dd5e0bc13d..7acda02a74 100644 --- a/frappe/core/doctype/doctype/doctype.json +++ b/frappe/core/doctype/doctype/doctype.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "", + "length": 0, "no_copy": 0, "oldfieldtype": "Section Break", "permlevel": 0, @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Module", + "length": 0, "no_copy": 0, "oldfieldname": "module", "oldfieldtype": "Link", @@ -68,6 +70,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Child Table", + "length": 0, "no_copy": 0, "oldfieldname": "istable", "oldfieldtype": "Check", @@ -92,6 +95,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Single", + "length": 0, "no_copy": 0, "oldfieldname": "issingle", "oldfieldtype": "Check", @@ -114,6 +118,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -134,7 +139,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Document Type", + "label": "Document Type", + "length": 0, "no_copy": 0, "oldfieldname": "document_type", "oldfieldtype": "Select", @@ -159,6 +165,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Icon", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -180,6 +187,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom?", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -194,13 +202,14 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, - "fieldname": "plugin", + "fieldname": "app", "fieldtype": "Data", "hidden": 1, "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, "label": "Plugin", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -222,6 +231,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Fields", + "length": 0, "no_copy": 0, "oldfieldtype": "Section Break", "permlevel": 0, @@ -244,6 +254,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Fields", + "length": 0, "no_copy": 0, "oldfieldname": "fields", "oldfieldtype": "Table", @@ -268,6 +279,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Naming", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -290,6 +302,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Auto Name", + "length": 0, "no_copy": 0, "oldfieldname": "autoname", "oldfieldtype": "Data", @@ -312,7 +325,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Name Case", + "label": "Name Case", + "length": 0, "no_copy": 0, "oldfieldname": "name_case", "oldfieldtype": "Select", @@ -337,6 +351,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description", + "length": 0, "no_copy": 0, "oldfieldname": "description", "oldfieldtype": "Text", @@ -359,6 +374,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -381,6 +397,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Title Field", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -402,6 +419,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Search Fields", + "length": 0, "no_copy": 0, "oldfieldname": "search_fields", "oldfieldtype": "Data", @@ -427,6 +445,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sort Field", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -448,7 +467,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Sort Order", + "label": "Sort Order", + "length": 0, "no_copy": 0, "options": "ASC\nDESC", "permlevel": 0, @@ -472,6 +492,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Permission Rules", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -494,6 +515,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Permissions", + "length": 0, "no_copy": 0, "oldfieldname": "permissions", "oldfieldtype": "Table", @@ -518,6 +540,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -539,6 +562,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Permissions Settings", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -560,6 +584,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User Cannot Create", + "length": 0, "no_copy": 0, "oldfieldname": "in_create", "oldfieldtype": "Check", @@ -583,6 +608,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User Cannot Search", + "length": 0, "no_copy": 0, "oldfieldname": "read_only", "oldfieldtype": "Check", @@ -606,6 +632,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Submittable", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -628,6 +655,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Allow Import", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -649,6 +677,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Allow Rename", + "length": 0, "no_copy": 0, "oldfieldname": "allow_rename", "oldfieldtype": "Check", @@ -672,6 +701,7 @@ "in_filter": 0, "in_list_view": 0, "label": "In Dialog", + "length": 0, "no_copy": 0, "oldfieldname": "in_dialog", "oldfieldtype": "Check", @@ -695,6 +725,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Show Print First", + "length": 0, "no_copy": 0, "oldfieldname": "read_only_onload", "oldfieldtype": "Check", @@ -718,6 +749,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Max Attachments", + "length": 0, "no_copy": 0, "oldfieldname": "max_attachments", "oldfieldtype": "Int", @@ -741,6 +773,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hide Actions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -762,6 +795,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hide Heading", + "length": 0, "no_copy": 0, "oldfieldname": "hide_heading", "oldfieldtype": "Check", @@ -785,6 +819,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hide Toolbar", + "length": 0, "no_copy": 0, "oldfieldname": "hide_toolbar", "oldfieldtype": "Check", @@ -808,6 +843,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hide Copy", + "length": 0, "no_copy": 0, "oldfieldname": "allow_copy", "oldfieldtype": "Check", @@ -831,6 +867,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Default Print Format", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -851,7 +888,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:47.199387", + "max_attachments": 0, + "modified": "2015-11-16 06:29:45.648699", "modified_by": "Administrator", "module": "Core", "name": "DocType", diff --git a/frappe/core/doctype/file/file.json b/frappe/core/doctype/file/file.json index dbc77702c1..f561fee71d 100644 --- a/frappe/core/doctype/file/file.json +++ b/frappe/core/doctype/file/file.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "File Name", + "length": 0, "no_copy": 0, "oldfieldname": "file_name", "oldfieldtype": "Data", @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Preview", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Preview HTML", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -85,6 +88,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -108,6 +112,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Home Folder", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -130,6 +135,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Attachments Folder", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -152,6 +158,7 @@ "in_filter": 0, "in_list_view": 1, "label": "File Size", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -172,6 +179,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -195,6 +203,7 @@ "in_filter": 0, "in_list_view": 0, "label": "File URL", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -216,6 +225,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Thumbnail URL", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -238,6 +248,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Folder", + "length": 0, "no_copy": 0, "options": "File", "permlevel": 0, @@ -261,6 +272,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Folder", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -283,6 +295,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -305,6 +318,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Attached To DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -326,6 +340,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -348,6 +363,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Attached To Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -369,6 +385,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Content Hash", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -390,6 +407,7 @@ "in_filter": 0, "in_list_view": 0, "label": "lft", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -412,6 +430,7 @@ "in_filter": 0, "in_list_view": 0, "label": "rgt", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -434,6 +453,7 @@ "in_filter": 0, "in_list_view": 0, "label": "old_parent", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -455,7 +475,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-19 02:13:43.935641", + "max_attachments": 0, + "modified": "2015-11-16 06:29:47.191098", "modified_by": "Administrator", "module": "Core", "name": "File", diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index 9a6d8368bb..60ff647894 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -56,7 +56,7 @@ class TestFile(unittest.TestCase): self.assertEqual(_("Home/Test Folder 2"), file.folder) self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 2"), "file_size"), file.file_size) - self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 1"), "file_size"), None) + self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 1"), "file_size"), 0) def test_folder_copy(self): folder = self.get_folder("Test Folder 2", "Home") @@ -73,7 +73,7 @@ class TestFile(unittest.TestCase): self.assertEqual(_("Home/Test Folder 1/Test Folder 3"), file.folder) self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 1"), "file_size"), file.file_size) - self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 2"), "file_size"), None) + self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 2"), "file_size"), 0) def test_non_parent_folder(self): d = frappe.get_doc({ @@ -88,7 +88,7 @@ class TestFile(unittest.TestCase): file = frappe.get_doc("File", {"file_name":"file_copy.txt"}) file.delete() - self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 1"), "file_size"), None) + self.assertEqual(frappe.db.get_value("File", _("Home/Test Folder 1"), "file_size"), 0) folder = self.get_folder("Test Folder 3", "Home/Test Folder 1") self.saved_file = save_file('folder_copy.txt', "Testing folder copy example.", "", "", folder.name) diff --git a/frappe/core/doctype/module_def/module_def.json b/frappe/core/doctype/module_def/module_def.json index a74ccc1241..4978b8eebe 100644 --- a/frappe/core/doctype/module_def/module_def.json +++ b/frappe/core/doctype/module_def/module_def.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Module Name", + "length": 0, "no_copy": 0, "oldfieldname": "module_name", "oldfieldtype": "Data", @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 1, "label": "App Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -62,7 +64,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:57.452736", + "max_attachments": 0, + "modified": "2015-11-16 06:29:50.398063", "modified_by": "Administrator", "module": "Core", "name": "Module Def", diff --git a/frappe/core/doctype/page/page.json b/frappe/core/doctype/page/page.json index 2156cc1435..62bd473a74 100644 --- a/frappe/core/doctype/page/page.json +++ b/frappe/core/doctype/page/page.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Page HTML", + "length": 0, "no_copy": 0, "oldfieldtype": "Section Break", "permlevel": 0, @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Page Name", + "length": 0, "no_copy": 0, "oldfieldname": "page_name", "oldfieldtype": "Data", @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Title", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -85,6 +88,7 @@ "in_filter": 0, "in_list_view": 1, "label": "icon", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -105,6 +109,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -126,6 +131,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Module", + "length": 0, "no_copy": 0, "oldfieldname": "module", "oldfieldtype": "Select", @@ -149,7 +155,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Standard", + "label": "Standard", + "length": 0, "no_copy": 0, "oldfieldname": "standard", "oldfieldtype": "Select", @@ -173,6 +180,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -194,6 +202,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Roles", + "length": 0, "no_copy": 0, "oldfieldname": "roles", "oldfieldtype": "Table", @@ -217,7 +226,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:59.403028", + "max_attachments": 0, + "modified": "2015-11-16 06:29:51.370746", "modified_by": "Administrator", "module": "Core", "name": "Page", diff --git a/frappe/core/doctype/page_role/page_role.json b/frappe/core/doctype/page_role/page_role.json index 270d0ae2f5..6f6b718a6c 100644 --- a/frappe/core/doctype/page_role/page_role.json +++ b/frappe/core/doctype/page_role/page_role.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Role", + "length": 0, "no_copy": 0, "oldfieldname": "role", "oldfieldtype": "Link", @@ -41,7 +42,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:59.530013", + "max_attachments": 0, + "modified": "2015-11-16 06:29:51.420589", "modified_by": "Administrator", "module": "Core", "name": "Page Role", diff --git a/frappe/core/doctype/patch_log/patch_log.json b/frappe/core/doctype/patch_log/patch_log.json index 9ae4e9f40e..96a0e4fff8 100644 --- a/frappe/core/doctype/patch_log/patch_log.json +++ b/frappe/core/doctype/patch_log/patch_log.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Patch", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -41,7 +42,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:59.666628", + "max_attachments": 0, + "modified": "2015-11-16 06:29:51.487656", "modified_by": "Administrator", "module": "Core", "name": "Patch Log", diff --git a/frappe/core/doctype/report/report.json b/frappe/core/doctype/report/report.json index 8bd82b6047..ffe98701f0 100644 --- a/frappe/core/doctype/report/report.json +++ b/frappe/core/doctype/report/report.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Report Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Ref DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -62,7 +64,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Is Standard", + "label": "Is Standard", + "length": 0, "no_copy": 0, "options": "No\nYes", "permlevel": 0, @@ -85,6 +88,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Module", + "length": 0, "no_copy": 0, "options": "Module Def", "permlevel": 0, @@ -107,6 +111,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Add Total Row", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -127,6 +132,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -147,7 +153,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Report Type", + "label": "Report Type", + "length": 0, "no_copy": 0, "options": "Report Builder\nQuery Report\nScript Report", "permlevel": 0, @@ -170,6 +177,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Disabled", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -193,6 +201,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Apply User Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -213,6 +222,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -235,6 +245,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Query", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -258,6 +269,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Javascript", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -280,6 +292,7 @@ "in_filter": 0, "in_list_view": 0, "label": "JSON", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -300,7 +313,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:07.933259", + "max_attachments": 0, + "modified": "2015-11-16 06:29:55.357855", "modified_by": "Administrator", "module": "Core", "name": "Report", diff --git a/frappe/core/doctype/role/role.json b/frappe/core/doctype/role/role.json index bc14d18aa1..18bdb80f59 100644 --- a/frappe/core/doctype/role/role.json +++ b/frappe/core/doctype/role/role.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Role Name", + "length": 0, "no_copy": 0, "oldfieldname": "role_name", "oldfieldtype": "Data", @@ -41,7 +42,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:08.074305", + "max_attachments": 0, + "modified": "2015-11-16 06:29:55.424835", "modified_by": "Administrator", "module": "Core", "name": "Role", diff --git a/frappe/core/doctype/scheduler_log/scheduler_log.json b/frappe/core/doctype/scheduler_log/scheduler_log.json index 86a900ba37..7582bb8960 100644 --- a/frappe/core/doctype/scheduler_log/scheduler_log.json +++ b/frappe/core/doctype/scheduler_log/scheduler_log.json @@ -22,6 +22,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Seen", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -44,6 +45,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Method", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -65,6 +67,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Error", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -85,7 +88,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:12.348067", + "max_attachments": 0, + "modified": "2015-11-16 06:29:57.440897", "modified_by": "Administrator", "module": "Core", "name": "Scheduler Log", diff --git a/frappe/core/doctype/scheduler_log/scheduler_log.py b/frappe/core/doctype/scheduler_log/scheduler_log.py index bb841405bd..4af039c8ee 100644 --- a/frappe/core/doctype/scheduler_log/scheduler_log.py +++ b/frappe/core/doctype/scheduler_log/scheduler_log.py @@ -16,4 +16,4 @@ class SchedulerLog(Document): def set_old_logs_as_seen(): frappe.db.sql("""update `tabScheduler Log` set seen=1 - where ifnull(seen, 0)=0 and datediff(curdate(), creation) > 7""") + where seen=0 and datediff(curdate(), creation) > 7""") diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index 942778e453..34e2d6ded7 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 0, "label": "", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Enabled", + "length": 0, "no_copy": 0, "oldfieldname": "enabled", "oldfieldtype": "Check", @@ -65,6 +67,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -87,6 +90,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Email", + "length": 0, "no_copy": 1, "oldfieldname": "email", "oldfieldtype": "Data", @@ -111,6 +115,7 @@ "in_filter": 0, "in_list_view": 0, "label": "First Name", + "length": 0, "no_copy": 0, "oldfieldname": "first_name", "oldfieldtype": "Data", @@ -134,6 +139,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Middle Name (Optional)", + "length": 0, "no_copy": 0, "oldfieldname": "middle_name", "oldfieldtype": "Data", @@ -157,6 +163,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Last Name", + "length": 0, "no_copy": 0, "oldfieldname": "last_name", "oldfieldtype": "Data", @@ -182,6 +189,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Send Welcome Email", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -204,6 +212,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Unsubscribed", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -224,6 +233,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "oldfieldtype": "Column Break", "permlevel": 0, @@ -249,6 +259,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Language", + "length": 0, "no_copy": 0, "options": "Loading...", "permlevel": 0, @@ -272,6 +283,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Timezone", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -294,6 +306,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User Image", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -316,6 +329,7 @@ "in_filter": 0, "in_list_view": 0, "label": "More Information", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -337,6 +351,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Gender", + "length": 0, "no_copy": 0, "oldfieldname": "gender", "oldfieldtype": "Select", @@ -361,6 +376,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Birth Date", + "length": 0, "no_copy": 1, "oldfieldname": "birth_date", "oldfieldtype": "Date", @@ -384,6 +400,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Location", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -404,6 +421,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -425,6 +443,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Bio", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -446,6 +465,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Mute Sounds", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -469,6 +489,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Change Password", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -490,6 +511,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Set New Password", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -512,6 +534,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Send Password Update Notification", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -534,6 +557,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reset Password Key", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 1, @@ -556,6 +580,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Email Settings", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -579,6 +604,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Send Notifications for Transactions I Follow", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -601,6 +627,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Email Signature", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -623,6 +650,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Desktop Background", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -645,6 +673,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Background Image", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -667,6 +696,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Background Style", + "length": 0, "no_copy": 0, "options": "Fill Screen\nTile", "permlevel": 0, @@ -692,6 +722,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Roles", + "length": 0, "no_copy": 0, "permlevel": 1, "print_hide": 0, @@ -713,6 +744,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Roles HTML", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -734,6 +766,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Roles Assigned", + "length": 0, "no_copy": 0, "options": "UserRole", "permlevel": 1, @@ -758,6 +791,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Modules Access", + "length": 0, "no_copy": 0, "permlevel": 1, "precision": "", @@ -780,6 +814,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Modules HTML", + "length": 0, "no_copy": 0, "permlevel": 1, "precision": "", @@ -802,6 +837,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Block Modules", + "length": 0, "no_copy": 0, "options": "Block Module", "permlevel": 1, @@ -826,6 +862,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Defaults", + "length": 0, "no_copy": 0, "oldfieldtype": "Column Break", "permlevel": 1, @@ -851,6 +888,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User Defaults", + "length": 0, "no_copy": 1, "options": "DefaultValue", "permlevel": 0, @@ -874,6 +912,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Security Settings", + "length": 0, "no_copy": 0, "oldfieldtype": "Section Break", "permlevel": 0, @@ -898,6 +937,7 @@ "in_filter": 0, "in_list_view": 1, "label": "User Type", + "length": 0, "no_copy": 0, "oldfieldname": "user_type", "oldfieldtype": "Select", @@ -923,6 +963,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Login After", + "length": 0, "no_copy": 0, "permlevel": 1, "print_hide": 0, @@ -945,6 +986,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Login Before", + "length": 0, "no_copy": 0, "permlevel": 1, "print_hide": 0, @@ -967,6 +1009,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Restrict IP", + "length": 0, "no_copy": 0, "permlevel": 1, "print_hide": 0, @@ -987,6 +1030,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "oldfieldtype": "Column Break", "permlevel": 0, @@ -1011,6 +1055,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Last Login", + "length": 0, "no_copy": 1, "oldfieldname": "last_login", "oldfieldtype": "Read Only", @@ -1034,6 +1079,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Last IP", + "length": 0, "no_copy": 1, "oldfieldname": "last_ip", "oldfieldtype": "Read Only", @@ -1057,6 +1103,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Last Active", + "length": 0, "no_copy": 1, "permlevel": 0, "precision": "", @@ -1080,6 +1127,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Last Known Versions", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -1103,6 +1151,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Third Party Authentication", + "length": 0, "no_copy": 0, "permlevel": 1, "print_hide": 0, @@ -1124,6 +1173,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Facebook Username", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -1145,6 +1195,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Facebook User ID", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -1166,6 +1217,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Google User ID", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -1186,6 +1238,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -1208,6 +1261,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Github User ID", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -1229,6 +1283,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Github Username", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -1250,7 +1305,7 @@ "issingle": 0, "istable": 0, "max_attachments": 5, - "modified": "2015-11-09 00:35:18.570974", + "modified": "2015-11-16 06:29:59.828065", "modified_by": "Administrator", "module": "Core", "name": "User", diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index c2dda01e4e..85ffeffaa9 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -141,7 +141,7 @@ class User(Document): return frappe.db.sql("""select distinct user.name from tabUserRole user_role, tabUser user where user_role.role='System Manager' and user.docstatus<2 - and ifnull(user.enabled,0)=1 + and user.enabled=1 and user_role.parent = user.name and user_role.parent not in ('Administrator', %s) limit 1""", (self.name,)) @@ -164,7 +164,7 @@ class User(Document): link = get_url("/update-password?key=" + key) self.send_login_mail(_("Verify Your Account"), "templates/emails/new_user.html", - {"link": link}) + {"link": link, "site_url": get_url()}) def send_login_mail(self, subject, template, add_args): """send mail with login details""" @@ -397,7 +397,7 @@ def user_query(doctype, txt, searchfield, start, page_len, filters): txt = "%{}%".format(txt) return frappe.db.sql("""select name, concat_ws(' ', first_name, middle_name, last_name) from `tabUser` - where ifnull(enabled, 0)=1 + where enabled=1 and docstatus < 2 and name not in ({standard_users}) and user_type != 'Website User' diff --git a/frappe/core/doctype/userrole/userrole.json b/frappe/core/doctype/userrole/userrole.json index 1bf512f135..235fd25f13 100644 --- a/frappe/core/doctype/userrole/userrole.json +++ b/frappe/core/doctype/userrole/userrole.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Role", + "length": 0, "no_copy": 0, "oldfieldname": "role", "oldfieldtype": "Link", @@ -43,7 +44,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:39:18.179539", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.004591", "modified_by": "Administrator", "module": "Core", "name": "UserRole", diff --git a/frappe/core/doctype/version/version.json b/frappe/core/doctype/version/version.json index 608c4db77b..a86578db39 100644 --- a/frappe/core/doctype/version/version.json +++ b/frappe/core/doctype/version/version.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Ref DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Docname", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -63,6 +65,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Doclist JSON", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -83,7 +86,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:18.235343", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.036254", "modified_by": "Administrator", "module": "Core", "name": "Version", diff --git a/frappe/core/notifications.py b/frappe/core/notifications.py index 80ce98f4e3..990aa1977e 100644 --- a/frappe/core/notifications.py +++ b/frappe/core/notifications.py @@ -38,5 +38,5 @@ def get_unread_messages(): FROM `tabComment` WHERE comment_doctype IN ('My Company', 'Message') AND comment_docname = %s - AND ifnull(docstatus,0)=0 + AND docstatus=0 """, (frappe.session.user,))[0][0] diff --git a/frappe/core/page/permission_manager/permission_manager.py b/frappe/core/page/permission_manager/permission_manager.py index 4960e5aacf..7b3549e271 100644 --- a/frappe/core/page/permission_manager/permission_manager.py +++ b/frappe/core/page/permission_manager/permission_manager.py @@ -15,7 +15,7 @@ def get_roles_and_doctypes(): send_translations(frappe.get_lang_dict("doctype", "DocPerm")) return { "doctypes": [d[0] for d in frappe.db.sql("""select name from `tabDocType` dt where - ifnull(istable,0)=0 and + istable=0 and name not in ('DocType') and exists(select * from `tabDocField` where parent=dt.name)""")], "roles": [d[0] for d in frappe.db.sql("""select name from tabRole where name not in @@ -27,8 +27,8 @@ def get_permissions(doctype=None, role=None): frappe.only_for("System Manager") out = frappe.db.sql("""select * from tabDocPerm where %s%s order by parent, permlevel, role""" % - (doctype and (" parent='%s'" % doctype.replace("'", "\'")) or "", - role and ((doctype and " and " or "") + " role='%s'" % role.replace("'", "\'")) or ""), + (doctype and (" parent='%s'" % frappe.db.escape(doctype)) or "", + role and ((doctype and " and " or "") + " role='%s'" % frappe.db.escape(role)) or ""), as_dict=True) linked_doctypes = {} @@ -63,7 +63,7 @@ def add(parent, role, permlevel): def update(name, doctype, ptype, value=None): frappe.only_for("System Manager") frappe.db.sql("""update tabDocPerm set `%s`=%s where name=%s"""\ - % (ptype, '%s', '%s'), (value, name)) + % (frappe.db.escape(ptype), '%s', '%s'), (value, name)) validate_and_reset(doctype) def validate_and_reset(doctype, for_remove=False): @@ -93,7 +93,7 @@ def get_users_with_role(role): tabUserRole.role=%s and tabUser.name != "Administrator" and tabUserRole.parent = tabUser.name - and ifnull(tabUser.enabled,0)=1""", role)] + and tabUser.enabled=1""", role)] @frappe.whitelist() def get_standard_permissions(doctype): diff --git a/frappe/core/page/user_permissions/user_permissions.py b/frappe/core/page/user_permissions/user_permissions.py index 87a949816d..a06a8c0c41 100644 --- a/frappe/core/page/user_permissions/user_permissions.py +++ b/frappe/core/page/user_permissions/user_permissions.py @@ -79,7 +79,7 @@ def get_doctypes_for_user_permissions(): values = user_roles return frappe.db.sql_list("""select name from tabDocType - where ifnull(issingle,0)=0 and ifnull(istable,0)=0 {condition}""".format(condition=condition), + where issingle=0 and istable=0 {condition}""".format(condition=condition), tuple(values)) @frappe.whitelist() diff --git a/frappe/custom/doctype/custom_field/custom_field.json b/frappe/custom/doctype/custom_field/custom_field.json index 51a8bc4f91..e69ab4f5d9 100644 --- a/frappe/custom/doctype/custom_field/custom_field.json +++ b/frappe/custom/doctype/custom_field/custom_field.json @@ -1,156 +1,162 @@ { - "allow_copy": 0, - "allow_import": 1, - "allow_rename": 0, - "creation": "2013-01-10 16:34:01", - "custom": 0, - "description": "Adds a custom field to a DocType", - "docstatus": 0, - "doctype": "DocType", + "allow_copy": 0, + "allow_import": 1, + "allow_rename": 0, + "creation": "2013-01-10 16:34:01", + "custom": 0, + "description": "Adds a custom field to a DocType", + "docstatus": 0, + "doctype": "DocType", "fields": [ { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "dt", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 1, - "in_list_view": 1, - "label": "Document", - "no_copy": 0, - "oldfieldname": "dt", - "oldfieldtype": "Link", - "options": "DocType", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 1, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "dt", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 1, + "in_list_view": 1, + "label": "Document", + "length": 0, + "no_copy": 0, + "oldfieldname": "dt", + "oldfieldtype": "Link", + "options": "DocType", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 1, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "label", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 1, - "in_list_view": 0, - "label": "Label", - "no_copy": 1, - "oldfieldname": "label", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "label", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 1, + "in_list_view": 0, + "label": "Label", + "length": 0, + "no_copy": 1, + "oldfieldname": "label", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "label_help", - "fieldtype": "HTML", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Label Help", - "no_copy": 0, - "oldfieldtype": "HTML", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "label_help", + "fieldtype": "HTML", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Label Help", + "length": 0, + "no_copy": 0, + "oldfieldtype": "HTML", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "Select the label after which you want to insert new field.", - "fieldname": "insert_after", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Insert After", - "no_copy": 1, - "oldfieldname": "insert_after", - "oldfieldtype": "Select", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "Select the label after which you want to insert new field.", + "fieldname": "insert_after", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Insert After", + "length": 0, + "no_copy": 1, + "oldfieldname": "insert_after", + "oldfieldtype": "Select", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "Data", - "fieldname": "fieldtype", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 1, - "in_list_view": 1, - "label": "Field Type", - "no_copy": 0, - "oldfieldname": "fieldtype", - "oldfieldtype": "Select", - "options": "Attach\nButton\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, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "Data", + "fieldname": "fieldtype", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 1, + "in_list_view": 1, + "label": "Field Type", + "length": 0, + "no_copy": 0, + "oldfieldname": "fieldtype", + "oldfieldtype": "Select", + "options": "Attach\nButton\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, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 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", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Precision", - "no_copy": 0, - "options": "\n1\n2\n3\n4\n5\n6\n7\n8\n9", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 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", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Precision", + "length": 0, + "no_copy": 0, + "options": "\n1\n2\n3\n4\n5\n6\n7\n8\n9", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { "allow_on_submit": 0, "bold": 0, @@ -163,6 +169,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Collapsible", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -186,6 +193,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Collapsible Depends On", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -198,559 +206,581 @@ "unique": 0 }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "options_help", - "fieldtype": "HTML", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Options Help", - "no_copy": 0, - "oldfieldtype": "HTML", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "options_help", + "fieldtype": "HTML", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Options Help", + "length": 0, + "no_copy": 0, + "oldfieldtype": "HTML", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "options", - "fieldtype": "Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Options", - "no_copy": 0, - "oldfieldname": "options", - "oldfieldtype": "Text", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "options", + "fieldtype": "Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Options", + "length": 0, + "no_copy": 0, + "oldfieldname": "options", + "oldfieldtype": "Text", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "description", - "fieldtype": "Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Field Description", - "no_copy": 0, - "oldfieldname": "description", - "oldfieldtype": "Text", - "permlevel": 0, - "print_hide": 0, - "print_width": "300px", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "description", + "fieldtype": "Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Field Description", + "length": 0, + "no_copy": 0, + "oldfieldname": "description", + "oldfieldtype": "Text", + "permlevel": 0, + "print_hide": 0, + "print_width": "300px", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "300px" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "fieldname", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Fieldname", - "no_copy": 1, - "oldfieldname": "fieldname", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 1, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "fieldname", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Fieldname", + "length": 0, + "no_copy": 1, + "oldfieldname": "fieldname", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 1, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "properties", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Properties", - "no_copy": 0, - "oldfieldtype": "Column Break", - "permlevel": 0, - "print_hide": 0, - "print_width": "50%", - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, - "unique": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "properties", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Properties", + "length": 0, + "no_copy": 0, + "oldfieldtype": "Column Break", + "permlevel": 0, + "print_hide": 0, + "print_width": "50%", + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0, "width": "50%" - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "0", - "fieldname": "permlevel", - "fieldtype": "Int", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Permission Level", - "no_copy": 0, - "oldfieldname": "permlevel", - "oldfieldtype": "Int", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "0", + "fieldname": "permlevel", + "fieldtype": "Int", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Permission Level", + "length": 0, + "no_copy": 0, + "oldfieldname": "permlevel", + "oldfieldtype": "Int", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "reqd", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Is Mandatory Field", - "no_copy": 0, - "oldfieldname": "reqd", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "reqd", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Is Mandatory Field", + "length": 0, + "no_copy": 0, + "oldfieldname": "reqd", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "unique", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Unique", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "unique", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Unique", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "read_only", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Read Only", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "read_only", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Read Only", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "eval:doc.fieldtype===\"Link\"", - "fieldname": "ignore_user_permissions", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Ignore User Permissions", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "eval:doc.fieldtype===\"Link\"", + "fieldname": "ignore_user_permissions", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Ignore User Permissions", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "width", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Width", - "no_copy": 0, - "oldfieldname": "width", - "oldfieldtype": "Data", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "width", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Width", + "length": 0, + "no_copy": 0, + "oldfieldname": "width", + "oldfieldtype": "Data", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "default", - "fieldtype": "Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Default Value", - "no_copy": 0, - "oldfieldname": "default", - "oldfieldtype": "Text", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "default", + "fieldtype": "Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Default Value", + "length": 0, + "no_copy": 0, + "oldfieldname": "default", + "oldfieldtype": "Text", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "hidden", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Hidden", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "hidden", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Hidden", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "depends_on", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Depends On", - "length": 255, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "depends_on", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Depends On", + "length": 255, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "print_hide", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Print Hide", - "no_copy": 0, - "oldfieldname": "print_hide", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "print_hide", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Print Hide", + "length": 0, + "no_copy": 0, + "oldfieldname": "print_hide", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "print_width", - "fieldtype": "Data", - "hidden": 1, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Print Width", - "no_copy": 1, - "permlevel": 0, - "print_hide": 1, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "print_width", + "fieldtype": "Data", + "hidden": 1, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Print Width", + "length": 0, + "no_copy": 1, + "permlevel": 0, + "print_hide": 1, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "no_copy", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "No Copy", - "no_copy": 0, - "oldfieldname": "no_copy", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "no_copy", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "No Copy", + "length": 0, + "no_copy": 0, + "oldfieldname": "no_copy", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "allow_on_submit", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Allow on Submit", - "no_copy": 0, - "oldfieldname": "allow_on_submit", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "allow_on_submit", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Allow on Submit", + "length": 0, + "no_copy": 0, + "oldfieldname": "allow_on_submit", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "in_filter", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "In Report Filter", - "no_copy": 0, - "oldfieldname": "in_filter", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "in_filter", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "In Report Filter", + "length": 0, + "no_copy": 0, + "oldfieldname": "in_filter", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "in_list_view", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "In List View", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "in_list_view", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "In List View", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "report_hide", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Report Hide", - "no_copy": 0, - "oldfieldname": "report_hide", - "oldfieldtype": "Check", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "report_hide", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Report Hide", + "length": 0, + "no_copy": 0, + "oldfieldname": "report_hide", + "oldfieldtype": "Check", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "search_index", - "fieldtype": "Check", - "hidden": 1, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Index", - "no_copy": 1, - "permlevel": 0, - "print_hide": 1, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "search_index", + "fieldtype": "Check", + "hidden": 1, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Index", + "length": 0, + "no_copy": 1, + "permlevel": 0, + "print_hide": 1, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 } - ], - "hide_heading": 0, - "hide_toolbar": 0, - "icon": "icon-glass", - "idx": 1, - "in_create": 0, - "in_dialog": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "modified": "2015-10-02 07:38:43.093031", - "modified_by": "Administrator", - "module": "Custom", - "name": "Custom Field", - "owner": "Administrator", + ], + "hide_heading": 0, + "hide_toolbar": 0, + "icon": "icon-glass", + "idx": 1, + "in_create": 0, + "in_dialog": 0, + "is_submittable": 0, + "issingle": 0, + "istable": 0, + "max_attachments": 0, + "modified": "2015-11-16 06:29:44.077147", + "modified_by": "Administrator", + "module": "Custom", + "name": "Custom Field", + "owner": "Administrator", "permissions": [ { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "Administrator", - "set_user_permissions": 0, - "share": 1, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 1, + "export": 0, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "Administrator", + "set_user_permissions": 0, + "share": 1, + "submit": 0, "write": 1 - }, + }, { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 1, + "export": 0, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "set_user_permissions": 0, + "share": 1, + "submit": 0, "write": 1 } - ], - "read_only": 0, - "read_only_onload": 0, + ], + "read_only": 0, + "read_only_onload": 0, "search_fields": "dt,label,fieldtype,options" -} +} \ No newline at end of file diff --git a/frappe/custom/doctype/custom_script/custom_script.json b/frappe/custom/doctype/custom_script/custom_script.json index 58fd66c0c2..4ceef41bf6 100644 --- a/frappe/custom/doctype/custom_script/custom_script.json +++ b/frappe/custom/doctype/custom_script/custom_script.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "DocType", + "length": 0, "no_copy": 0, "oldfieldname": "dt", "oldfieldtype": "Link", @@ -44,7 +45,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Script Type", + "label": "Script Type", + "length": 0, "no_copy": 0, "oldfieldname": "script_type", "oldfieldtype": "Select", @@ -69,6 +71,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Script", + "length": 0, "no_copy": 0, "oldfieldname": "script", "oldfieldtype": "Code", @@ -93,6 +96,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sample", + "length": 0, "no_copy": 0, "options": "

Custom Script Help

\n

Custom Scripts are executed only on the client-side (i.e. in Forms). Here are some examples to get you started

\n
\n\n// fetch local_tax_no on selection of customer\n// cur_frm.add_fetch(link_field, source_fieldname, target_fieldname);\ncur_frm.add_fetch(\"customer\", \"local_tax_no\", \"local_tax_no\");\n\n// additional validation on dates\nfrappe.ui.form.on(\"Task\", \"validate\", function(frm) {\n    if (frm.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\nfrappe.ui.form.on(\"Task\", {\n    refresh: function(frm) {\n        // use the __islocal value of doc, to check if the doc is saved or not\n        frm.set_df_property(\"myfield\", \"read_only\", frm.doc.__islocal ? 0 : 1);\n    }\n});\n\n// additional permission check\nfrappe.ui.form.on(\"Task\", {\n    validate: function(frm) {\n        if(user==\"user1@example.com\" && frm.doc.purpose!=\"Material Receipt\") {\n            msgprint(\"You are only allowed Material Receipt\");\n            validated = false;\n        }\n    }\n});\n\n// calculate sales incentive\nfrappe.ui.form.on(\"Sales Invoice\", {\n    validate: function(frm) {\n        // calculate incentives for each person on the deal\n        total_incentive = 0\n        $.each(frm.doc.sales_team), function(i, d) {\n\n            // calculate incentive\n            var incentive_percent = 2;\n            if(frm.doc.base_grand_total > 400) incentive_percent = 4;\n\n            // actual incentive\n            d.incentives = flt(frm.doc.base_grand_total) * incentive_percent / 100;\n            total_incentive += flt(d.incentives)\n        });\n\n        frm.doc.total_incentive = total_incentive;\n    }\n})\n\n\n
", "permlevel": 0, @@ -114,7 +118,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:43.345211", + "max_attachments": 0, + "modified": "2015-11-16 06:29:44.183199", "modified_by": "Administrator", "module": "Custom", "name": "Custom Script", diff --git a/frappe/custom/doctype/customize_form_field/customize_form_field.json b/frappe/custom/doctype/customize_form_field/customize_form_field.json index 96c82fa7a9..ab12bf5b7f 100644 --- a/frappe/custom/doctype/customize_form_field/customize_form_field.json +++ b/frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Label and Type", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Label", + "length": 0, "no_copy": 0, "oldfieldname": "label", "oldfieldtype": "Data", @@ -64,7 +66,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Type", + "label": "Type", + "length": 0, "no_copy": 0, "oldfieldname": "fieldtype", "oldfieldtype": "Select", @@ -89,6 +92,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Name", + "length": 0, "no_copy": 0, "oldfieldname": "fieldname", "oldfieldtype": "Data", @@ -112,6 +116,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Mandatory", + "length": 0, "no_copy": 0, "oldfieldname": "reqd", "oldfieldtype": "Check", @@ -137,6 +142,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Unique", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -159,6 +165,7 @@ "in_filter": 0, "in_list_view": 0, "label": "In List View", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -179,6 +186,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -202,7 +210,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Precision", + "label": "Precision", + "length": 0, "no_copy": 0, "options": "\n1\n2\n3\n4\n5\n6\n7\n8\n9", "permlevel": 0, @@ -227,6 +236,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Length", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -250,6 +260,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Options", + "length": 0, "no_copy": 0, "oldfieldname": "options", "oldfieldtype": "Text", @@ -273,6 +284,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -296,6 +308,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Depends On", + "length": 0, "no_copy": 0, "oldfieldname": "depends_on", "oldfieldtype": "Data", @@ -320,6 +333,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Perm Level", + "length": 0, "no_copy": 0, "oldfieldname": "permlevel", "oldfieldtype": "Int", @@ -343,6 +357,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hidden", + "length": 0, "no_copy": 0, "oldfieldname": "hidden", "oldfieldtype": "Check", @@ -368,6 +383,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Read Only", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -391,6 +407,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Collapsible", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -414,6 +431,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Collapsible Depends On", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -435,6 +453,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -457,6 +476,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Ignore User Permissions", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -478,6 +498,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Allow on Submit", + "length": 0, "no_copy": 0, "oldfieldname": "allow_on_submit", "oldfieldtype": "Check", @@ -501,6 +522,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Report Hide", + "length": 0, "no_copy": 0, "oldfieldname": "report_hide", "oldfieldtype": "Check", @@ -524,6 +546,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Display", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -546,6 +569,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Default", + "length": 0, "no_copy": 0, "oldfieldname": "default", "oldfieldtype": "Text", @@ -569,6 +593,7 @@ "in_filter": 0, "in_list_view": 0, "label": "In Filter", + "length": 0, "no_copy": 0, "oldfieldname": "in_filter", "oldfieldtype": "Check", @@ -593,6 +618,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -615,6 +641,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description", + "length": 0, "no_copy": 0, "oldfieldname": "description", "oldfieldtype": "Text", @@ -640,6 +667,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Print Hide", + "length": 0, "no_copy": 0, "oldfieldname": "print_hide", "oldfieldtype": "Check", @@ -664,6 +692,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Print Width", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -687,6 +716,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Width", + "length": 0, "no_copy": 0, "oldfieldname": "width", "oldfieldtype": "Data", @@ -712,6 +742,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Custom Field", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -732,7 +763,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-03 07:38:44.026280", + "max_attachments": 0, + "modified": "2015-11-16 06:29:44.457963", "modified_by": "Administrator", "module": "Custom", "name": "Customize Form Field", diff --git a/frappe/custom/doctype/property_setter/property_setter.json b/frappe/custom/doctype/property_setter/property_setter.json index b9aa3be264..4970d25abb 100644 --- a/frappe/custom/doctype/property_setter/property_setter.json +++ b/frappe/custom/doctype/property_setter/property_setter.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Help", + "length": 0, "no_copy": 0, "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, @@ -40,6 +41,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -61,7 +63,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "DocType or Field", + "label": "DocType or Field", + "length": 0, "no_copy": 0, "options": "\nDocField\nDocType", "permlevel": 0, @@ -85,6 +88,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Set Value", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -105,6 +109,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -126,6 +131,7 @@ "in_filter": 0, "in_list_view": 0, "label": "DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -150,6 +156,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Field Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -171,6 +178,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Property", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -192,6 +200,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Property Type", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -213,6 +222,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Default Value", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -233,7 +243,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:02.618929", + "max_attachments": 0, + "modified": "2015-11-16 06:29:52.878049", "modified_by": "Administrator", "module": "Custom", "name": "Property Setter", diff --git a/frappe/data/Framework.sql b/frappe/data/Framework.sql index 988e2c8e5e..f1877e07e6 100644 --- a/frappe/data/Framework.sql +++ b/frappe/data/Framework.sql @@ -17,7 +17,7 @@ CREATE TABLE `tabDocField` ( `parent` varchar(255) DEFAULT NULL, `parentfield` varchar(255) DEFAULT NULL, `parenttype` varchar(255) DEFAULT NULL, - `idx` int(8) DEFAULT NULL, + `idx` int(8) NOT NULL DEFAULT 0, `fieldname` varchar(255) DEFAULT NULL, `label` varchar(255) DEFAULT NULL, `oldfieldname` varchar(255) DEFAULT NULL, @@ -38,7 +38,7 @@ CREATE TABLE `tabDocField` ( `trigger` varchar(255) DEFAULT NULL, `collapsible_depends_on` text, `depends_on` text, - `permlevel` int(11) DEFAULT '0', + `permlevel` int(11) NOT NULL DEFAULT 0, `ignore_user_permissions` int(1) NOT NULL DEFAULT 0, `width` varchar(255) DEFAULT NULL, `print_width` varchar(255) DEFAULT NULL, @@ -48,7 +48,7 @@ CREATE TABLE `tabDocField` ( `in_list_view` int(1) NOT NULL DEFAULT 0, `read_only` int(1) NOT NULL DEFAULT 0, `precision` varchar(255) DEFAULT NULL, - `length` int(11) DEFAULT NULL, + `length` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`name`), KEY `parent` (`parent`), KEY `label` (`label`), @@ -68,11 +68,11 @@ CREATE TABLE `tabDocPerm` ( `modified` datetime(6) DEFAULT NULL, `modified_by` varchar(255) DEFAULT NULL, `owner` varchar(255) DEFAULT NULL, - `docstatus` int(1) DEFAULT 0, + `docstatus` int(1) NOT NULL DEFAULT 0, `parent` varchar(255) DEFAULT NULL, `parentfield` varchar(255) DEFAULT NULL, `parenttype` varchar(255) DEFAULT NULL, - `idx` int(8) DEFAULT NULL, + `idx` int(8) NOT NULL DEFAULT 0, `permlevel` int(11) DEFAULT '0', `role` varchar(255) DEFAULT NULL, `match` varchar(255) DEFAULT NULL, @@ -104,17 +104,16 @@ CREATE TABLE `tabDocType` ( `modified` datetime(6) DEFAULT NULL, `modified_by` varchar(255) DEFAULT NULL, `owner` varchar(255) DEFAULT NULL, - `docstatus` int(1) DEFAULT 0, + `docstatus` int(1) NOT NULL DEFAULT 0, `parent` varchar(255) DEFAULT NULL, `parentfield` varchar(255) DEFAULT NULL, `parenttype` varchar(255) DEFAULT NULL, - `idx` int(8) DEFAULT NULL, + `idx` int(8) NOT NULL DEFAULT 0, `search_fields` varchar(255) DEFAULT NULL, `issingle` int(1) NOT NULL DEFAULT 0, `istable` int(1) NOT NULL DEFAULT 0, - `version` int(11) DEFAULT NULL, `module` varchar(255) DEFAULT NULL, - `plugin` varchar(255) DEFAULT NULL, + `app` varchar(255) DEFAULT NULL, `autoname` varchar(255) DEFAULT NULL, `name_case` varchar(255) DEFAULT NULL, `title_field` varchar(255) DEFAULT NULL, @@ -132,7 +131,7 @@ CREATE TABLE `tabDocType` ( `allow_import` int(1) NOT NULL DEFAULT 0, `hide_toolbar` int(1) NOT NULL DEFAULT 0, `hide_heading` int(1) NOT NULL DEFAULT 0, - `max_attachments` int(11) DEFAULT NULL, + `max_attachments` int(11) NOT NULL DEFAULT 0, `print_outline` varchar(255) DEFAULT NULL, `read_only_onload` int(1) NOT NULL DEFAULT 0, `in_dialog` int(1) NOT NULL DEFAULT 0, @@ -156,7 +155,7 @@ CREATE TABLE `tabDocType` ( DROP TABLE IF EXISTS `tabSeries`; CREATE TABLE `tabSeries` ( `name` varchar(100) DEFAULT NULL, - `current` int(10) DEFAULT NULL + `current` int(10) NOT NULL DEFAULT 0 ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci; @@ -211,16 +210,16 @@ CREATE TABLE `tabFile` ( `modified` datetime(6) DEFAULT NULL, `modified_by` varchar(255) DEFAULT NULL, `owner` varchar(255) DEFAULT NULL, - `docstatus` int(1) DEFAULT 0, + `docstatus` int(1) NOT NULL DEFAULT 0, `parent` varchar(255) DEFAULT NULL, `parentfield` varchar(255) DEFAULT NULL, `parenttype` varchar(255) DEFAULT NULL, - `idx` int(8) DEFAULT NULL, + `idx` int(8) NOT NULL DEFAULT 0, `file_name` varchar(255) DEFAULT NULL, `file_url` varchar(255) DEFAULT NULL, `module` varchar(255) DEFAULT NULL, `attached_to_name` varchar(255) DEFAULT NULL, - `file_size` int(11) DEFAULT NULL, + `file_size` int(11) NOT NULL DEFAULT 0, `attached_to_doctype` varchar(255) DEFAULT NULL, PRIMARY KEY (`name`), KEY `parent` (`parent`), @@ -239,11 +238,11 @@ CREATE TABLE `tabDefaultValue` ( `modified` datetime(6) DEFAULT NULL, `modified_by` varchar(255) DEFAULT NULL, `owner` varchar(255) DEFAULT NULL, - `docstatus` int(1) DEFAULT 0, + `docstatus` int(1) NOT NULL DEFAULT 0, `parent` varchar(255) DEFAULT NULL, `parentfield` varchar(255) DEFAULT NULL, `parenttype` varchar(255) DEFAULT NULL, - `idx` int(8) DEFAULT NULL, + `idx` int(8) NOT NULL DEFAULT 0, `defvalue` text, `defkey` varchar(255) DEFAULT NULL, PRIMARY KEY (`name`), diff --git a/frappe/data/app_listing/base_vat/data.json b/frappe/data/app_listing/base_vat/data.json new file mode 100644 index 0000000000..598947ede5 --- /dev/null +++ b/frappe/data/app_listing/base_vat/data.json @@ -0,0 +1,11 @@ +{ + "app_url": "http://localhost", + "app_name": "base_vat", + "app_icon": "icon-credit-card", + "app_color": "#C0C0C0", + "app_description": "Check the VAT number depending of the country.", + "app_publisher": "Luis Fernandes", + "repo_url": "https://github.com/saguas/frappe_base_vat.git", + "app_title": "Base VAT", + "app_version": "0.0.1" +} diff --git a/frappe/data/app_listing/jasper_erpnext_report/data.json b/frappe/data/app_listing/jasper_erpnext_report/data.json new file mode 100644 index 0000000000..635c37a7fc --- /dev/null +++ b/frappe/data/app_listing/jasper_erpnext_report/data.json @@ -0,0 +1,11 @@ +{ + "app_url": "http://localhost", + "app_name": "jasper_erpnext_report", + "app_icon": "icon-file-text", + "app_color": "black", + "app_description": "Make your own reports in jasper and print them in pdf, docx, xlsx and other formats.", + "app_publisher": "Luis Fernandes", + "repo_url": "https://github.com/saguas/jasper_erpnext_report.git", + "app_title": "Jasper Erpnext Report", + "app_version": "0.1.0" +} diff --git a/frappe/data/languages.txt b/frappe/data/languages.txt index d9f5e6a349..010836ef22 100644 --- a/frappe/data/languages.txt +++ b/frappe/data/languages.txt @@ -28,7 +28,7 @@ ko 한국의 lv latviešu valoda mr मराठी mk македонски -my Melayu +my မြန်မာ nl nederlands no norsk pl polski diff --git a/frappe/database.py b/frappe/database.py index c2db226d5d..16afbb4bc4 100644 --- a/frappe/database.py +++ b/frappe/database.py @@ -788,4 +788,4 @@ class Database: """Excape quotes and percent in given string.""" if isinstance(s, unicode): s = (s or "").encode("utf-8") - return unicode(MySQLdb.escape_string(s), "utf-8").replace("%","%%") + return unicode(MySQLdb.escape_string(s), "utf-8").replace("%","%%").replace("`", "\\`") diff --git a/frappe/desk/doctype/event/event.json b/frappe/desk/doctype/event/event.json index 9b694ce139..45313a838e 100644 --- a/frappe/desk/doctype/event/event.json +++ b/frappe/desk/doctype/event/event.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "", + "length": 0, "no_copy": 0, "oldfieldtype": "Section Break", "permlevel": 0, @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Subject", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -61,7 +63,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Event Type", + "label": "Event Type", + "length": 0, "no_copy": 0, "oldfieldname": "event_type", "oldfieldtype": "Select", @@ -87,6 +90,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Send an email reminder in the morning", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -107,6 +111,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -128,6 +133,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Starts on", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -149,6 +155,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Ends on", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -170,6 +177,7 @@ "in_filter": 0, "in_list_view": 0, "label": "All Day", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -190,6 +198,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -211,6 +220,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Repeat this Event", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -232,6 +242,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -253,7 +264,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Repeat On", + "label": "Repeat On", + "length": 0, "no_copy": 0, "options": "\nEvery Day\nEvery Week\nEvery Month\nEvery Year", "permlevel": 0, @@ -278,6 +290,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Repeat Till", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -298,6 +311,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -320,6 +334,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Monday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -342,6 +357,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Tuesday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -364,6 +380,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Wednesday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -386,6 +403,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Thursday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -408,6 +426,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Friday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -430,6 +449,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Saturday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -452,6 +472,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sunday", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -472,6 +493,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -493,6 +515,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description", + "length": 0, "no_copy": 0, "oldfieldname": "description", "oldfieldtype": "Text", @@ -518,6 +541,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Participants", + "length": 0, "no_copy": 0, "oldfieldtype": "Section Break", "permlevel": 0, @@ -540,6 +564,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Groups", + "length": 0, "no_copy": 0, "oldfieldtype": "Column Break", "permlevel": 0, @@ -564,6 +589,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Roles", + "length": 0, "no_copy": 0, "oldfieldname": "event_roles", "oldfieldtype": "Table", @@ -588,6 +614,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Ref Type", + "length": 0, "no_copy": 0, "oldfieldname": "ref_type", "oldfieldtype": "Data", @@ -612,6 +639,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Ref Name", + "length": 0, "no_copy": 0, "oldfieldname": "ref_name", "oldfieldtype": "Data", @@ -635,7 +663,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:49.897665", + "max_attachments": 0, + "modified": "2015-11-16 06:29:46.775883", "modified_by": "Administrator", "module": "Desk", "name": "Event", diff --git a/frappe/desk/doctype/event/event.py b/frappe/desk/doctype/event/event.py index ba18cb506e..d290b13ad4 100644 --- a/frappe/desk/doctype/event/event.py +++ b/frappe/desk/doctype/event/event.py @@ -77,27 +77,28 @@ def get_events(start, end, user=None, for_reminder=False): starts_on, ends_on, owner, all_day, event_type, repeat_this_event, repeat_on,repeat_till, monday, tuesday, wednesday, thursday, friday, saturday, sunday from tabEvent where (( - (date(starts_on) between date('%(start)s') and date('%(end)s')) - or (date(ends_on) between date('%(start)s') and date('%(end)s')) - or (date(starts_on) <= date('%(start)s') and date(ends_on) >= date('%(end)s')) + (date(starts_on) between date(%(start)s) and date(%(end)s)) + or (date(ends_on) between date(%(start)s) and date(%(end)s)) + or (date(starts_on) <= date(%(start)s) and date(ends_on) >= date(%(end)s)) ) or ( - date(starts_on) <= date('%(start)s') and ifnull(repeat_this_event,0)=1 and - ifnull(repeat_till, "3000-01-01") > date('%(start)s') + date(starts_on) <= date(%(start)s) and repeat_this_event=1 and + ifnull(repeat_till, "3000-01-01") > date(%(start)s) )) - %(reminder_condition)s - and (event_type='Public' or owner='%(user)s' + {reminder_condition} + and (event_type='Public' or owner=%(user)s or exists(select name from `tabDocShare` where tabDocShare.share_doctype="Event" and `tabDocShare`.share_name=tabEvent.name - and tabDocShare.user='%(user)s') + and tabDocShare.user=%(user)s) or exists(select * from `tabEvent Role` where `tabEvent Role`.parent=tabEvent.name - and `tabEvent Role`.role in ('%(roles)s'))) - order by starts_on""" % { + and `tabEvent Role`.role in ({roles}))) + order by starts_on""".format( + reminder_condition="and ifnull(send_reminder,0)=1" if for_reminder else "", + roles=", ".join('"{}"'.format(frappe.db.escape(r)) for r in roles) + ), { "start": start, "end": end, - "reminder_condition": "and ifnull(send_reminder,0)=1" if for_reminder else "", "user": user, - "roles": "', '".join(roles) }, as_dict=1) # process recurring events diff --git a/frappe/desk/doctype/event_role/event_role.json b/frappe/desk/doctype/event_role/event_role.json index fe8f6ec94f..b29f775f99 100644 --- a/frappe/desk/doctype/event_role/event_role.json +++ b/frappe/desk/doctype/event_role/event_role.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Role", + "length": 0, "no_copy": 0, "oldfieldname": "role", "oldfieldtype": "Link", @@ -43,7 +44,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:50.115057", + "max_attachments": 0, + "modified": "2015-11-16 06:29:46.887139", "modified_by": "Administrator", "module": "Desk", "name": "Event Role", diff --git a/frappe/desk/doctype/feed/feed.json b/frappe/desk/doctype/feed/feed.json index 78573f418a..8950f89490 100644 --- a/frappe/desk/doctype/feed/feed.json +++ b/frappe/desk/doctype/feed/feed.json @@ -1,197 +1,204 @@ { - "allow_copy": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "hash", - "creation": "2012-07-03 13:29:42", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", + "allow_copy": 0, + "allow_import": 0, + "allow_rename": 0, + "autoname": "hash", + "creation": "2012-07-03 13:29:42", + "custom": 0, + "docstatus": 0, + "doctype": "DocType", "fields": [ { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "feed_type", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Feed Type", - "no_copy": 0, - "options": "\nComment\nLogin\nLabel\nInfo", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "feed_type", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Feed Type", + "length": 0, + "no_copy": 0, + "options": "\nComment\nLogin\nLabel\nInfo", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "doc_type", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Doc Type", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "doc_type", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Doc Type", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "doc_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Doc Name", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "doc_name", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Doc Name", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "subject", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Subject", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "subject", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Subject", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "color", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Color", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "color", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Color", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "full_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Full Name", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "full_name", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Full Name", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 } - ], - "hide_heading": 0, - "hide_toolbar": 0, - "icon": "icon-rss", - "idx": 1, - "in_create": 0, - "in_dialog": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "modified": "2015-11-14 12:10:57.103185", - "modified_by": "Administrator", - "module": "Desk", - "name": "Feed", - "owner": "Administrator", + ], + "hide_heading": 0, + "hide_toolbar": 0, + "icon": "icon-rss", + "idx": 1, + "in_create": 0, + "in_dialog": 0, + "is_submittable": 0, + "issingle": 0, + "istable": 0, + "max_attachments": 0, + "modified": "2015-11-16 06:29:47.123186", + "modified_by": "Administrator", + "module": "Desk", + "name": "Feed", + "owner": "Administrator", "permissions": [ { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "email": 1, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "set_user_permissions": 0, - "share": 0, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 0, + "delete": 0, + "email": 1, + "export": 0, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "set_user_permissions": 0, + "share": 0, + "submit": 0, "write": 0 - }, + }, { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 0, - "delete": 0, - "email": 0, - "export": 0, - "if_owner": 1, - "import": 0, - "permlevel": 0, - "print": 0, - "read": 1, - "report": 0, - "role": "All", - "set_user_permissions": 0, - "share": 0, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 0, + "delete": 0, + "email": 0, + "export": 0, + "if_owner": 1, + "import": 0, + "permlevel": 0, + "print": 0, + "read": 1, + "report": 0, + "role": "All", + "set_user_permissions": 0, + "share": 0, + "submit": 0, "write": 0 } - ], - "read_only": 0, + ], + "read_only": 0, "read_only_onload": 0 -} \ No newline at end of file +} diff --git a/frappe/desk/doctype/note/note.json b/frappe/desk/doctype/note/note.json index 6e62b9d432..daf5ab8c99 100644 --- a/frappe/desk/doctype/note/note.json +++ b/frappe/desk/doctype/note/note.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Title", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 1, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Public", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 1, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Content", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -84,7 +87,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:57.968895", + "max_attachments": 0, + "modified": "2015-11-16 06:29:50.709322", "modified_by": "Administrator", "module": "Desk", "name": "Note", diff --git a/frappe/desk/doctype/todo/todo.json b/frappe/desk/doctype/todo/todo.json index 5f80d78bff..8f8aab2728 100644 --- a/frappe/desk/doctype/todo/todo.json +++ b/frappe/desk/doctype/todo/todo.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description and Status", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -40,6 +41,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description", + "length": 0, "no_copy": 0, "oldfieldname": "description", "oldfieldtype": "Text", @@ -64,6 +66,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -85,7 +88,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Status", + "label": "Status", + "length": 0, "no_copy": 0, "options": "Open\nClosed", "permlevel": 0, @@ -108,7 +112,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Priority", + "label": "Priority", + "length": 0, "no_copy": 0, "oldfieldname": "priority", "oldfieldtype": "Data", @@ -133,6 +138,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Due Date", + "length": 0, "no_copy": 0, "oldfieldname": "date", "oldfieldtype": "Date", @@ -156,6 +162,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Allocated To", + "length": 0, "no_copy": 0, "options": "User", "permlevel": 0, @@ -178,6 +185,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -199,6 +207,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference Type", + "length": 0, "no_copy": 0, "oldfieldname": "reference_type", "oldfieldtype": "Data", @@ -223,6 +232,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference Name", + "length": 0, "no_copy": 0, "oldfieldname": "reference_name", "oldfieldtype": "Data", @@ -246,6 +256,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -267,6 +278,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Role", + "length": 0, "no_copy": 0, "oldfieldname": "role", "oldfieldtype": "Link", @@ -291,6 +303,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Assigned By", + "length": 0, "no_copy": 0, "options": "User", "permlevel": 0, @@ -313,6 +326,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sender", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -335,7 +349,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2015-10-02 07:39:17.248993", + "modified": "2015-11-16 06:29:59.631791", "modified_by": "Administrator", "module": "Desk", "name": "ToDo", diff --git a/frappe/desk/form/load.py b/frappe/desk/form/load.py index a915354caf..3c82f0c07c 100644 --- a/frappe/desk/form/load.py +++ b/frappe/desk/form/load.py @@ -108,8 +108,8 @@ def get_comments(dt, dn, limit=100): reference_doctype, reference_name, comment_type, "Comment" as doctype from `tabComment` where comment_doctype=%s and comment_docname=%s - order by creation desc limit %s""" % ('%s','%s', limit), - (dt, dn), as_dict=1) + order by creation desc limit %s""", + (dt, dn, limit), as_dict=1) communications = frappe.db.sql("""select name, content as comment, sender as comment_by, creation, @@ -117,7 +117,7 @@ def get_comments(dt, dn, limit=100): "Communication" as doctype from tabCommunication where reference_doctype=%s and reference_name=%s - order by creation desc limit {0}""".format(limit), (dt, dn), + order by creation desc limit %s""", (dt, dn, limit), as_dict=True) for c in communications: diff --git a/frappe/desk/form/meta.py b/frappe/desk/form/meta.py index 47521d2e92..bd1434a285 100644 --- a/frappe/desk/form/meta.py +++ b/frappe/desk/form/meta.py @@ -121,7 +121,7 @@ class FormMeta(Meta): def load_print_formats(self): print_formats = frappe.db.sql("""select * FROM `tabPrint Format` - WHERE doc_type=%s AND docstatus<2 and ifnull(disabled, 0)=0""", (self.name,), as_dict=1, + WHERE doc_type=%s AND docstatus<2 and disabled=0""", (self.name,), as_dict=1, update={"doctype":"Print Format"}) self.set("__print_formats", print_formats, as_value=True) diff --git a/frappe/desk/form/utils.py b/frappe/desk/form/utils.py index a6ca8173d8..a9a7a3adc8 100644 --- a/frappe/desk/form/utils.py +++ b/frappe/desk/form/utils.py @@ -15,22 +15,6 @@ def remove_attach(): fid = frappe.form_dict.get('fid') return frappe.utils.file_manager.remove_file(fid) -@frappe.whitelist() -def get_fields(): - """get fields""" - r = {} - args = { - 'select':frappe.form_dict.get('select') - ,'from':frappe.form_dict.get('from') - ,'where':frappe.form_dict.get('where') - } - ret = frappe.db.sql("select %(select)s from `%(from)s` where %(where)s limit 1" % args) - if ret: - fl, i = frappe.form_dict.get('fields').split(','), 0 - for f in fl: - r[f], i = ret[0][i], i+1 - frappe.response['message']=r - @frappe.whitelist() def validate_link(): """validate link when updated by user""" @@ -44,16 +28,16 @@ def validate_link(): frappe.response['message'] = 'Ok' return - if frappe.db.sql("select name from `tab%s` where name=%s" % (options, '%s'), (value,)): + if frappe.db.sql("select name from `tab%s` where name=%s" % (frappe.db.escape(options), '%s'), (value,)): # get fetch values if fetch: # escape with "`" - fetch = ", ".join(("`{0}`".format(f.strip()) for f in fetch.split(","))) + fetch = ", ".join(("`{0}`".format(frappe.db.escape(f.strip())) for f in fetch.split(","))) frappe.response['fetch_values'] = [frappe.utils.parse_val(c) \ for c in frappe.db.sql("select %s from `tab%s` where name=%s" \ - % (fetch, options, '%s'), (value,))[0]] + % (fetch, frappe.db.escape(options), '%s'), (value,))[0]] frappe.response['message'] = 'Ok' diff --git a/frappe/desk/moduleview.py b/frappe/desk/moduleview.py index c82b786bc7..34271935d2 100644 --- a/frappe/desk/moduleview.py +++ b/frappe/desk/moduleview.py @@ -90,10 +90,10 @@ def add_custom_doctypes(data, doctype_info): def get_doctype_info(module): """Returns list of non child DocTypes for given module.""" doctype_info = frappe.db.sql("""select "doctype" as type, name, description, - ifnull(document_type, "") as document_type, ifnull(custom, 0) as custom, - ifnull(issingle, 0) as issingle - from `tabDocType` where module=%s and ifnull(istable, 0)=0 - order by ifnull(custom, 0) asc, document_type desc, name asc""", module, as_dict=True) + ifnull(document_type, "") as document_type, custom as custom, + issingle as issingle + from `tabDocType` where module=%s and istable=0 + order by custom asc, document_type desc, name asc""", module, as_dict=True) for d in doctype_info: d.description = _(d.description or "") diff --git a/frappe/desk/page/applications/applications.py b/frappe/desk/page/applications/applications.py index 1357aac298..c936682ab1 100644 --- a/frappe/desk/page/applications/applications.py +++ b/frappe/desk/page/applications/applications.py @@ -3,8 +3,14 @@ from __future__ import unicode_literals import frappe +import frappe.utils import frappe.installer +import frappe.sessions +import subprocess +import os +import json from frappe import _ +from distutils.spawn import find_executable @frappe.whitelist() def get_app_list(): @@ -25,12 +31,40 @@ def get_app_list(): if app in installed: out[app]["installed"] = 1 + app_listing = get_app_listing() + app_listing = {app:app_listing[app] for app in app_listing if app not in installed} + out.update(app_listing) + return out + +def get_app_listing(): + apps_listing_dir = os.path.join(os.path.dirname(frappe.__file__), 'data', 'app_listing') + def get_app_path(app, *path): + return os.path.join(apps_listing_dir, app, *path) + out = {} + apps = [app for app in os.listdir(apps_listing_dir) + if os.path.isdir(get_app_path(app)) and + os.path.exists(get_app_path(app, 'data.json'))] + for app in apps: + with open(get_app_path(app, 'data.json')) as f: + out[app] = json.load(f) return out @frappe.whitelist() def install_app(name): + if name not in frappe.get_all_apps(True): + get_app(name) + frappe.cache().delete_value(["app_hooks"]) + # reload sys.path + import site + reload(site) app_hooks = frappe.get_hooks(app_name=name) if app_hooks.get('hide_in_installer'): frappe.throw(_("You cannot install this app")) frappe.installer.install_app(name) + +def get_app(name): + app_listing = get_app_listing() + if name not in app_listing: + raise frappe.ValidationError + subprocess.check_call([find_executable('bench'), 'get-app', name, app_listing[name]['repo_url']], cwd=frappe.utils.get_bench_path()) diff --git a/frappe/desk/page/messages/messages.py b/frappe/desk/page/messages/messages.py index 64e546189a..f450eec888 100644 --- a/frappe/desk/page/messages/messages.py +++ b/frappe/desk/page/messages/messages.py @@ -53,7 +53,7 @@ def get_active_users(): (select count(*) from tabSessions where user=tabUser.name and timediff(now(), lastupdate) < time("01:00:00")) as has_session from tabUser - where ifnull(enabled,0)=1 and + where enabled=1 and ifnull(user_type, '')!='Website User' and name not in ({}) order by first_name""".format(", ".join(["%s"]*len(STANDARD_USERS))), STANDARD_USERS, as_dict=1) diff --git a/frappe/desk/search.py b/frappe/desk/search.py index 9e070f1570..dbb71bf515 100644 --- a/frappe/desk/search.py +++ b/frappe/desk/search.py @@ -81,7 +81,7 @@ def search_widget(doctype, txt, query=None, searchfield=None, start=0, # find relevance as location of search term from the beginning of string `name`. used for sorting results. fields.append("""locate("{_txt}", `tab{doctype}`.`name`) as `_relevance`""".format( - _txt=frappe.db.escape((txt or "").replace("%", "")), doctype=doctype)) + _txt=frappe.db.escape((txt or "").replace("%", "")), doctype=frappe.db.escape(doctype))) values = frappe.desk.reportview.execute(doctype, filters=filters, fields=fields, diff --git a/frappe/desk/tags.py b/frappe/desk/tags.py index 174277314b..ea94eef7c5 100644 --- a/frappe/desk/tags.py +++ b/frappe/desk/tags.py @@ -62,7 +62,7 @@ def get_tags(doctype, txt): for _user_tags in frappe.db.sql_list("""select `_user_tags` from `tab{0}` where _user_tags like '%{1}%' - limit 1""".format(doctype, frappe.db.escape(txt))): + limit 1""".format(frappe.db.escape(doctype), frappe.db.escape(txt))): tags.extend(_user_tags.split(",")) except Exception, e: if e.args[0]!=1054: raise diff --git a/frappe/email/__init__.py b/frappe/email/__init__.py index c0bb639b87..4218598484 100644 --- a/frappe/email/__init__.py +++ b/frappe/email/__init__.py @@ -28,11 +28,11 @@ def sendmail_to_system_managers(subject, content): @frappe.whitelist() def get_contact_list(): """Returns contacts (from autosuggest)""" - cond = ['`%s` like "%s%%"' % (f, - frappe.form_dict.get('txt')) for f in frappe.form_dict.get('where').split(',')] + cond = ['`%s` like "%s%%"' % (frappe.db.escape(f), + frappe.db.escape(frappe.form_dict.get('txt'))) for f in frappe.form_dict.get('where').split(',')] cl = frappe.db.sql("select `%s` from `tab%s` where %s" % ( - frappe.form_dict.get('select') - ,frappe.form_dict.get('from') + frappe.db.escape(frappe.form_dict.get('select')) + ,frappe.db.escape(frappe.form_dict.get('from')) ,' OR '.join(cond) ) ) diff --git a/frappe/email/bulk.py b/frappe/email/bulk.py index e122e7e90a..e88908c2a1 100644 --- a/frappe/email/bulk.py +++ b/frappe/email/bulk.py @@ -48,7 +48,7 @@ def send(recipients=None, sender=None, subject=None, message=None, reference_doc if not sender or sender == "Administrator": email_account = get_outgoing_email_account() - sender = email_account.get("sender") or email_account.email_id + sender = email_account.default_sender check_bulk_limit(recipients) @@ -145,7 +145,7 @@ def check_bulk_limit(recipients): monthly_bulk_mail_limit = frappe.conf.get('monthly_bulk_mail_limit') or 500 if (this_month + len(recipients)) > monthly_bulk_mail_limit: - throw(_("Email limit {0} crossed").format(monthly_bulk_mail_limit), + throw(_("Cannot send this email. You have crossed the sending limit of {0} emails for this month.").format(monthly_bulk_mail_limit), BulkLimitCrossedError) def get_unsubscribe_link(reference_doctype, reference_name, diff --git a/frappe/email/doctype/bulk_email/bulk_email.json b/frappe/email/doctype/bulk_email/bulk_email.json index cebdd99424..6db7b58c03 100644 --- a/frappe/email/doctype/bulk_email/bulk_email.json +++ b/frappe/email/doctype/bulk_email/bulk_email.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Sender", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Recipient", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -63,6 +65,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Message", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -84,7 +87,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Status", + "label": "Status", + "length": 0, "no_copy": 0, "options": "\nNot Sent\nSending\nSent\nError", "permlevel": 0, @@ -107,6 +111,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Error", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -128,6 +133,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -150,6 +156,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference DocName", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -171,6 +178,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Send After", + "length": 0, "no_copy": 1, "permlevel": 0, "precision": "", @@ -194,6 +202,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Priority", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -215,7 +224,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:40.795371", + "max_attachments": 0, + "modified": "2015-11-16 06:29:43.089602", "modified_by": "Administrator", "module": "Email", "name": "Bulk Email", diff --git a/frappe/email/doctype/email_account/email_account.json b/frappe/email/doctype/email_account/email_account.json index 99896faabd..1239a257d6 100644 --- a/frappe/email/doctype/email_account/email_account.json +++ b/frappe/email/doctype/email_account/email_account.json @@ -1,815 +1,849 @@ { - "allow_copy": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "field:email_account_name", - "creation": "2014-09-11 12:04:34.163728", - "custom": 0, + "allow_copy": 0, + "allow_import": 0, + "allow_rename": 0, + "autoname": "field:email_account_name", + "creation": "2014-09-11 12:04:34.163728", + "custom": 0, "docstatus": 0, - "doctype": "DocType", - "document_type": "Setup", + "doctype": "DocType", + "document_type": "Setup", "fields": [ { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "email_settings", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "email_settings", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "service", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Service", - "no_copy": 0, - "options": "\nGMail\nYahoo Mail\nOutlook.com\nYandex.Mail", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "service", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Service", + "length": 0, + "no_copy": 0, + "options": "\nGMail\nYahoo Mail\nOutlook.com\nYandex.Mail", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "email_id", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Email Id", - "no_copy": 0, - "options": "Email", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "email_id", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Email Id", + "length": 0, + "no_copy": 0, + "options": "Email", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "login_id_is_different", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Login Id is Different", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "login_id_is_different", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Login Id is Different", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "login_id_is_different", - "fieldname": "login_id", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Login Id", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "login_id_is_different", + "fieldname": "login_id", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Login Id", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "password", - "fieldtype": "Password", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Password", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "password", + "fieldtype": "Password", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Password", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "e.g. \"Support\", \"Sales\", \"Jerry Yang\"", - "fieldname": "email_account_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Email Account Name", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "e.g. \"Support\", \"Sales\", \"Jerry Yang\"", + "fieldname": "email_account_name", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Email Account Name", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "mailbox_settings", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "mailbox_settings", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "", - "description": "Check this to pull emails from your mailbox", - "fieldname": "enable_incoming", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Enable Incoming", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "", + "description": "Check this to pull emails from your mailbox", + "fieldname": "enable_incoming", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Enable Incoming", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_incoming", - "description": "e.g. pop.gmail.com", - "fieldname": "pop3_server", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "POP3 Server", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_incoming", + "description": "e.g. pop.gmail.com", + "fieldname": "pop3_server", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "POP3 Server", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_incoming", - "fieldname": "use_ssl", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Use SSL", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_incoming", + "fieldname": "use_ssl", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Use SSL", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "1", - "depends_on": "enable_incoming", - "description": "Ignore attachments over this size", - "fieldname": "attachment_limit", - "fieldtype": "Int", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Attachment Limit (MB)", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "1", + "depends_on": "enable_incoming", + "description": "Ignore attachments over this size", + "fieldname": "attachment_limit", + "fieldtype": "Int", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Attachment Limit (MB)", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_incoming", - "description": "Append as communication against this DocType (must have fields, \"Status\", \"Subject\")", - "fieldname": "append_to", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Append To", - "no_copy": 0, - "options": "DocType", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_incoming", + "description": "Append as communication against this DocType (must have fields, \"Status\", \"Subject\")", + "fieldname": "append_to", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Append To", + "length": 0, + "no_copy": 0, + "options": "DocType", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_incoming", - "description": "e.g. replies@yourcomany.com. All replies will come to this inbox.", - "fieldname": "default_incoming", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Default Incoming", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_incoming", + "description": "e.g. replies@yourcomany.com. All replies will come to this inbox.", + "fieldname": "default_incoming", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Default Incoming", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_incoming", - "fieldname": "section_break_13", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_incoming", + "fieldname": "section_break_13", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "notify_if_unreplied", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Notify if unreplied", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "notify_if_unreplied", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Notify if unreplied", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "30", - "depends_on": "notify_if_unreplied", - "fieldname": "unreplied_for_mins", - "fieldtype": "Int", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Notify if unreplied for (in mins)", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "30", + "depends_on": "notify_if_unreplied", + "fieldname": "unreplied_for_mins", + "fieldtype": "Int", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Notify if unreplied for (in mins)", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "notify_if_unreplied", - "description": "Email Ids", - "fieldname": "send_notification_to", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Send Notification to", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "notify_if_unreplied", + "description": "Email Ids", + "fieldname": "send_notification_to", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Send Notification to", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "outgoing_mail_settings", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "outgoing_mail_settings", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "default": "", - "description": "SMTP Settings for outgoing emails", - "fieldname": "enable_outgoing", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Enable Outgoing", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "default": "", + "description": "SMTP Settings for outgoing emails", + "fieldname": "enable_outgoing", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Enable Outgoing", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_outgoing", - "description": "e.g. smtp.gmail.com", - "fieldname": "smtp_server", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "SMTP Server", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_outgoing", + "description": "e.g. smtp.gmail.com", + "fieldname": "smtp_server", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "SMTP Server", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_outgoing", - "fieldname": "use_tls", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Use TLS", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_outgoing", + "fieldname": "use_tls", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Use TLS", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_outgoing", - "description": "If non standard port (e.g. 587)", - "fieldname": "smtp_port", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Port", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_outgoing", + "description": "If non standard port (e.g. 587)", + "fieldname": "smtp_port", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Port", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_outgoing", - "description": "Notifications and bulk mails will be sent from this outgoing server.", - "fieldname": "default_outgoing", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Default Outgoing", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_outgoing", + "description": "Notifications and bulk mails will be sent from this outgoing server.", + "fieldname": "default_outgoing", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Default Outgoing", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_outgoing", - "description": "Uses the Email ID mentioned in this Account as the Sender for all emails sent using this Account. ", - "fieldname": "always_use_account_email_id_as_sender", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Always use Account's Email ID as Sender", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_outgoing", + "description": "Uses the Email ID mentioned in this Account as the Sender for all emails sent using this Account. ", + "fieldname": "always_use_account_email_id_as_sender", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Always use Account's Email ID as Sender", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "signature_section", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "signature_section", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "", - "fieldname": "add_signature", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Add Signature", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "", + "fieldname": "add_signature", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Add Signature", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "add_signature", - "fieldname": "signature", - "fieldtype": "Text Editor", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Signature", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "add_signature", + "fieldname": "signature", + "fieldtype": "Text Editor", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Signature", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "auto_reply", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "auto_reply", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "enable_auto_reply", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Enable Auto Reply", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "enable_auto_reply", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Enable Auto Reply", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "enable_auto_reply", - "description": "ProTip: Add Reference: {{ reference_doctype }} {{ reference_name }} to send document reference", - "fieldname": "auto_reply_message", - "fieldtype": "Text Editor", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Auto Reply Message", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "enable_auto_reply", + "description": "ProTip: Add Reference: {{ reference_doctype }} {{ reference_name }} to send document reference", + "fieldname": "auto_reply_message", + "fieldtype": "Text Editor", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Auto Reply Message", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "set_footer", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "set_footer", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "footer", - "fieldtype": "Text Editor", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Footer", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "footer", + "fieldtype": "Text Editor", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Footer", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 } - ], - "hide_heading": 0, - "hide_toolbar": 0, - "icon": "icon-inbox", - "in_create": 0, - "in_dialog": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "modified": "2015-10-02 07:38:47.651995", - "modified_by": "Administrator", - "module": "Email", - "name": "Email Account", - "name_case": "", - "owner": "Administrator", + ], + "hide_heading": 0, + "hide_toolbar": 0, + "icon": "icon-inbox", + "in_create": 0, + "in_dialog": 0, + "is_submittable": 0, + "issingle": 0, + "istable": 0, + "max_attachments": 0, + "modified": "2015-11-16 06:29:45.876335", + "modified_by": "Administrator", + "module": "Email", + "name": "Email Account", + "name_case": "", + "owner": "Administrator", "permissions": [ { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 0, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 0, - "read": 1, - "report": 0, - "role": "System Manager", - "set_user_permissions": 1, - "share": 1, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 0, + "export": 0, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 0, + "read": 1, + "report": 0, + "role": "System Manager", + "set_user_permissions": 1, + "share": 1, + "submit": 0, "write": 1 } - ], - "read_only": 0, - "read_only_onload": 0, - "sort_field": "modified", + ], + "read_only": 0, + "read_only_onload": 0, + "sort_field": "modified", "sort_order": "DESC" -} +} \ No newline at end of file diff --git a/frappe/email/doctype/email_alert/email_alert.json b/frappe/email/doctype/email_alert/email_alert.json index d4189a0de5..8e5d0d0281 100644 --- a/frappe/email/doctype/email_alert/email_alert.json +++ b/frappe/email/doctype/email_alert/email_alert.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Enabled", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Filters", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Subject", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -85,6 +88,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Document Type", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -107,6 +111,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Send Alert On", + "length": 0, "no_copy": 0, "options": "\nNew\nSave\nSubmit\nCancel\nDays After\nDays Before\nValue Change", "permlevel": 0, @@ -131,6 +136,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Reference Date", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -155,6 +161,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Days Before or After", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -178,6 +185,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Value Changed", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -201,6 +209,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Condition", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -221,6 +230,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -241,6 +251,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "options": "

Condition Examples:

\n
doc.status==\"Open\"\ndoc.due_date==nowdate()\ndoc.total > 40000\n
\n

Hints:

\n
    \n
  1. To check for an event every day, select \"Date Change\" in Event
  2. \n
  3. To send an alert if a particular value changes, select \"Value Change\"
  4. \n
", "permlevel": 0, @@ -263,6 +274,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Recipients", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -284,6 +296,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Recipients", + "length": 0, "no_copy": 0, "options": "Email Alert Recipient", "permlevel": 0, @@ -306,6 +319,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Message", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -327,6 +341,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Message", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -348,6 +363,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Attach Print", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -370,6 +386,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Message Examples", + "length": 0, "no_copy": 0, "options": "
Message Example
\n\n
\n

Order Overdue

\n\n

Transaction {{ doc.name }} has exceeded Due Date. Please take necessary action.

\n\n

Details

\n\n\n
", "permlevel": 0, @@ -392,6 +409,7 @@ "in_filter": 0, "in_list_view": 0, "label": "View Properties (via Customize Form)", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -412,7 +430,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-16 01:35:51.254775", + "max_attachments": 0, + "modified": "2015-11-16 06:29:46.014034", "modified_by": "Administrator", "module": "Email", "name": "Email Alert", diff --git a/frappe/email/doctype/email_alert_recipient/email_alert_recipient.json b/frappe/email/doctype/email_alert_recipient/email_alert_recipient.json index 9ed1d1fcad..c28dc54e22 100644 --- a/frappe/email/doctype/email_alert_recipient/email_alert_recipient.json +++ b/frappe/email/doctype/email_alert_recipient/email_alert_recipient.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Email By Document Field", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 1, "label": "CC", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Condition", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -82,7 +85,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:48.185785", + "max_attachments": 0, + "modified": "2015-11-16 06:29:46.092268", "modified_by": "Administrator", "module": "Email", "name": "Email Alert Recipient", diff --git a/frappe/email/doctype/email_unsubscribe/email_unsubscribe.json b/frappe/email/doctype/email_unsubscribe/email_unsubscribe.json index f93379d5c3..71ea8cc2db 100644 --- a/frappe/email/doctype/email_unsubscribe/email_unsubscribe.json +++ b/frappe/email/doctype/email_unsubscribe/email_unsubscribe.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Email", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Reference DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Reference Name", + "length": 0, "no_copy": 0, "options": "reference_doctype", "permlevel": 0, @@ -87,6 +90,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Global Unsubscribe", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -106,7 +110,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:48.744583", + "max_attachments": 0, + "modified": "2015-11-16 06:29:46.223148", "modified_by": "Administrator", "module": "Email", "name": "Email Unsubscribe", diff --git a/frappe/email/doctype/standard_reply/standard_reply.json b/frappe/email/doctype/standard_reply/standard_reply.json index e693685ae1..dbe3a5f776 100644 --- a/frappe/email/doctype/standard_reply/standard_reply.json +++ b/frappe/email/doctype/standard_reply/standard_reply.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Subject", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Response", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -63,6 +65,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Owner", + "length": 0, "no_copy": 0, "options": "User", "permlevel": 0, @@ -83,7 +86,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-11-05 01:48:30.209422", + "max_attachments": 0, + "modified": "2015-11-16 06:29:57.875243", "modified_by": "Administrator", "module": "Email", "name": "Standard Reply", diff --git a/frappe/email/email_body.py b/frappe/email/email_body.py index 41ce986064..66522d1d7f 100644 --- a/frappe/email/email_body.py +++ b/frappe/email/email_body.py @@ -161,8 +161,7 @@ class EMail: self.add_attachment(name, get_pdf(html, options), 'application/octet-stream') def get_default_sender(self): - email_account = get_outgoing_email_account() - return email.utils.formataddr((email_account.name, email_account.get("sender") or email_account.get("email_id"))) + return get_outgoing_email_account().default_sender def validate(self): """validate the email ids""" diff --git a/frappe/email/smtp.py b/frappe/email/smtp.py index 189369a699..35cf0c4c83 100644 --- a/frappe/email/smtp.py +++ b/frappe/email/smtp.py @@ -5,6 +5,7 @@ from __future__ import unicode_literals import frappe import smtplib +import email.utils import _socket from frappe.utils import cint from frappe import _ @@ -58,6 +59,9 @@ def get_outgoing_email_account(raise_exception_not_set=True, append_to=None): frappe.throw(_("Please setup default Email Account from Setup > Email > Email Account"), frappe.OutgoingEmailError) + email_account.default_sender = email.utils.formataddr((email_account.name, + email_account.get("sender") or email_account.get("email_id"))) + frappe.local.outgoing_email_account[append_to or "default"] = email_account return frappe.local.outgoing_email_account[append_to or "default"] diff --git a/frappe/exceptions.py b/frappe/exceptions.py index 49e1515c0b..bdb6eb07a5 100644 --- a/frappe/exceptions.py +++ b/frappe/exceptions.py @@ -58,3 +58,4 @@ class LinkExistsError(ValidationError): pass class InvalidEmailAddressError(ValidationError): pass class TemplateNotFoundError(ValidationError): pass class UniqueValidationError(ValidationError): pass +class AppNotInstalledError(ValidationError): pass diff --git a/frappe/geo/doctype/country/country.json b/frappe/geo/doctype/country/country.json index 04e111f0aa..503d098590 100644 --- a/frappe/geo/doctype/country/country.json +++ b/frappe/geo/doctype/country/country.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Country Name", + "length": 0, "no_copy": 0, "oldfieldname": "country_name", "oldfieldtype": "Data", @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Date Format", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Time Zones", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -85,6 +88,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Code", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -105,7 +109,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:42.770807", + "max_attachments": 0, + "modified": "2015-11-16 06:29:43.937722", "modified_by": "Administrator", "module": "Geo", "name": "Country", diff --git a/frappe/geo/doctype/currency/currency.json b/frappe/geo/doctype/currency/currency.json index 8eedef0082..379d07e8db 100644 --- a/frappe/geo/doctype/currency/currency.json +++ b/frappe/geo/doctype/currency/currency.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Currency Name", + "length": 0, "no_copy": 0, "oldfieldname": "currency_name", "oldfieldtype": "Data", @@ -44,6 +45,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Enabled", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -66,6 +68,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Fraction", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -88,6 +91,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Fraction Units", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -110,6 +114,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Symbol", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -131,7 +136,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Number Format", + "label": "Number Format", + "length": 0, "no_copy": 0, "options": "\n#,###.##\n#.###,##\n# ###.##\n# ###,##\n#'###.##\n#, ###.##\n#,##,###.##\n#,###.###\n#.###\n#,###", "permlevel": 0, @@ -153,7 +159,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:42.863135", + "max_attachments": 0, + "modified": "2015-11-16 06:29:43.978225", "modified_by": "Administrator", "module": "Geo", "name": "Currency", diff --git a/frappe/handler.py b/frappe/handler.py index 88d886a6de..43fdf71414 100755 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -60,7 +60,9 @@ def uploadfile(): frappe.db.rollback() else: if frappe.form_dict.get('method'): - ret = frappe.get_attr(frappe.form_dict.method)() + method = frappe.get_attr(frappe.form_dict.method) + is_whitelisted(method) + ret = method() except Exception: frappe.errprint(frappe.utils.get_traceback()) ret = None @@ -87,6 +89,15 @@ def execute_cmd(cmd, from_async=False): if from_async: method = method.queue + is_whitelisted(method) + + ret = frappe.call(method, **frappe.form_dict) + + # returns with a message + if ret: + frappe.response['message'] = ret + +def is_whitelisted(method): # check if whitelisted if frappe.session['user'] == 'Guest': if (method not in frappe.guest_methods): @@ -106,12 +117,6 @@ def execute_cmd(cmd, from_async=False): frappe.msgprint(_("Not permitted")) raise frappe.PermissionError('Not Allowed, {0}'.format(method)) - ret = frappe.call(method, **frappe.form_dict) - - # returns with a message - if ret: - frappe.response['message'] = ret - def get_attr(cmd): """get method object from cmd""" if '.' in cmd: diff --git a/frappe/hooks.py b/frappe/hooks.py index 196c2b9086..2aebe48a45 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -27,7 +27,7 @@ to ERPNext. """ app_icon = "octicon octicon-circuit-board" -app_version = "6.8.2" +app_version = "6.9.0" app_color = "orange" source_link = "https://github.com/frappe/frappe" app_license = "MIT" diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 989285d462..035e66b270 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -180,9 +180,12 @@ class BaseDocument(object): df = self.meta.get_field(fieldname) if df: - if df.fieldtype=="Check" and not isinstance(d[fieldname], int): + if df.fieldtype in ("Check", "Int") and not isinstance(d[fieldname], int): d[fieldname] = cint(d[fieldname]) + elif df.fieldtype in ("Currency", "Float", "Percent") and not isinstance(d[fieldname], float): + d[fieldname] = flt(d[fieldname]) + elif df.fieldtype in ("Datetime", "Date") and d[fieldname]=="": d[fieldname] = None @@ -197,6 +200,9 @@ class BaseDocument(object): if key not in self.__dict__: self.__dict__[key] = None + if key in ("idx", "docstatus") and self.__dict__[key] is None: + self.__dict__[key] = 0 + for key in self.get_valid_columns(): if key not in self.__dict__: self.__dict__[key] = None @@ -448,19 +454,19 @@ class BaseDocument(object): def _validate_length(self): if frappe.flags.in_install: return - + for fieldname, value in self.get_valid_dict().iteritems(): df = self.meta.get_field(fieldname) if df and df.fieldtype in type_map and type_map[df.fieldtype][0]=="varchar": max_length = cint(df.get("length")) or cint(varchar_len) - + if len(cstr(value)) > max_length: if self.parentfield and self.idx: reference = _("{0}, Row {1}").format(_(self.doctype), self.idx) else: reference = "{0} {1}".format(_(self.doctype), self.name) - + frappe.throw(_("{0}: '{1}' will get truncated, as max characters allowed is {2}")\ .format(reference, _(df.label), max_length), frappe.CharacterLengthExceededError) diff --git a/frappe/model/db_schema.py b/frappe/model/db_schema.py index 87dbc0b041..376d2dee15 100644 --- a/frappe/model/db_schema.py +++ b/frappe/model/db_schema.py @@ -12,7 +12,7 @@ import re import os import frappe from frappe import _ -from frappe.utils import cstr, cint +from frappe.utils import cstr, cint, flt import MySQLdb class InvalidColumnName(frappe.ValidationError): pass @@ -56,7 +56,7 @@ def updatedb(dt): * updates columns * updates indices """ - res = frappe.db.sql("select ifnull(issingle, 0) from tabDocType where name=%s", (dt,)) + res = frappe.db.sql("select issingle from tabDocType where name=%s", (dt,)) if not res: raise Exception, 'Wrong doctype "%s" in updatedb' % dt @@ -155,11 +155,11 @@ class DbTable: modified datetime(6), modified_by varchar({varchar_len}), owner varchar({varchar_len}), - docstatus int(1) default '0', + docstatus int(1) not null default '0', parent varchar({varchar_len}), parentfield varchar({varchar_len}), parenttype varchar({varchar_len}), - idx int(8), + idx int(8) not null default '0', %sindex parent(parent)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED @@ -289,11 +289,15 @@ class DbTable: if col.fieldname=="name": continue - if col.fieldtype=="Check": + if col.fieldtype in ("Check", "Int"): col_default = cint(col.default) + elif col.fieldtype in ("Currency", "Float", "Percent"): + col_default = flt(col.default) + elif not col.default: col_default = "null" + else: col_default = '"{}"'.format(col.default.replace('"', '\\"')) @@ -331,10 +335,14 @@ class DbColumn: if not column_def: return column_def - if self.fieldtype=="Check": + if self.fieldtype in ("Check", "Int"): default_value = cint(self.default) or 0 column_def += ' not null default {0}'.format(default_value) + elif self.fieldtype in ("Currency", "Float", "Percent"): + default_value = flt(self.default) or 0 + column_def += ' not null default {0}'.format(default_value) + elif self.default and (self.default not in default_shortcuts) \ and not self.default.startswith(":") and column_def not in ('text', 'longtext'): column_def += ' default "' + self.default.replace('"', '\"') + '"' @@ -516,7 +524,7 @@ def validate_column_name(n): def remove_all_foreign_keys(): frappe.db.sql("set foreign_key_checks = 0") frappe.db.commit() - for t in frappe.db.sql("select name from tabDocType where ifnull(issingle,0)=0"): + for t in frappe.db.sql("select name from tabDocType where issingle=0"): dbtab = DbTable(t[0]) try: fklist = dbtab.get_foreign_keys() diff --git a/frappe/model/delete_doc.py b/frappe/model/delete_doc.py index 01dd1dd60d..bae7bca99c 100644 --- a/frappe/model/delete_doc.py +++ b/frappe/model/delete_doc.py @@ -107,7 +107,7 @@ def delete_from_table(doctype, name, ignore_doctypes, doc): if doctype!="DocType" and doctype==name: frappe.db.sql("delete from `tabSingles` where doctype=%s", name) else: - frappe.db.sql("delete from `tab%s` where name=%s" % (doctype, "%s"), (name,)) + frappe.db.sql("delete from `tab%s` where name=%s" % (frappe.db.escape(doctype), "%s"), (name,)) # get child tables if doc: diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index 9196a64edb..d1f9c9b02e 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -79,13 +79,13 @@ def rename_versions(doctype, old, new): def rename_parent_and_child(doctype, old, new, meta): # rename the doc - frappe.db.sql("update `tab%s` set name=%s where name=%s" % (doctype, '%s', '%s'), + frappe.db.sql("update `tab%s` set name=%s where name=%s" % (frappe.db.escape(doctype), '%s', '%s'), (new, old)) update_child_docs(old, new, meta) def validate_rename(doctype, new, meta, merge, force, ignore_permissions): # using for update so that it gets locked and someone else cannot edit it while this rename is going on! - exists = frappe.db.sql("select name from `tab{doctype}` where name=%s for update".format(doctype=doctype), new) + exists = frappe.db.sql("select name from `tab{doctype}` where name=%s for update".format(doctype=frappe.db.escape(doctype)), new) exists = exists[0][0] if exists else None if merge and not exists: @@ -130,7 +130,7 @@ def update_child_docs(old, new, meta): # update "parent" for df in meta.get_table_fields(): frappe.db.sql("update `tab%s` set parent=%s where parent=%s" \ - % (df.options, '%s', '%s'), (new, old)) + % (frappe.db.escape(df.options), '%s', '%s'), (new, old)) def update_link_field_values(link_fields, old, new, doctype): for field in link_fields: @@ -146,15 +146,15 @@ def update_link_field_values(link_fields, old, new, doctype): frappe.db.sql("""\ update `tab%s` set `%s`=%s where `%s`=%s""" \ - % (parent, field['fieldname'], '%s', - field['fieldname'], '%s'), + % (frappe.db.escape(parent), frappe.db.escape(field['fieldname']), '%s', + frappe.db.escape(field['fieldname']), '%s'), (new, old)) def get_link_fields(doctype): # get link fields from tabDocField link_fields = frappe.db.sql("""\ select parent, fieldname, - (select ifnull(issingle, 0) from tabDocType dt + (select issingle from tabDocType dt where dt.name = df.parent) as issingle from tabDocField df where @@ -163,7 +163,7 @@ def get_link_fields(doctype): # get link fields from tabCustom Field custom_link_fields = frappe.db.sql("""\ select dt as parent, fieldname, - (select ifnull(issingle, 0) from tabDocType dt + (select issingle from tabDocType dt where dt.name = df.dt) as issingle from `tabCustom Field` df where @@ -175,7 +175,7 @@ def get_link_fields(doctype): # remove fields whose options have been changed using property setter property_setter_link_fields = frappe.db.sql("""\ select ps.doc_type as parent, ps.field_name as fieldname, - (select ifnull(issingle, 0) from tabDocType dt + (select issingle from tabDocType dt where dt.name = ps.doc_type) as issingle from `tabProperty Setter` ps where @@ -217,24 +217,24 @@ def get_select_fields(old, new): # get link fields from tabDocField select_fields = frappe.db.sql("""\ select parent, fieldname, - (select ifnull(issingle, 0) from tabDocType dt + (select issingle from tabDocType dt where dt.name = df.parent) as issingle from tabDocField df where df.parent != %s and df.fieldtype = 'Select' and df.options like "%%%%%s%%%%" """ \ - % ('%s', old), (new,), as_dict=1) + % ('%s', frappe.db.escape(old)), (new,), as_dict=1) # get link fields from tabCustom Field custom_select_fields = frappe.db.sql("""\ select dt as parent, fieldname, - (select ifnull(issingle, 0) from tabDocType dt + (select issingle from tabDocType dt where dt.name = df.dt) as issingle from `tabCustom Field` df where df.dt != %s and df.fieldtype = 'Select' and df.options like "%%%%%s%%%%" """ \ - % ('%s', old), (new,), as_dict=1) + % ('%s', frappe.db.escape(old)), (new,), as_dict=1) # add custom link fields list to link fields list select_fields += custom_select_fields @@ -242,7 +242,7 @@ def get_select_fields(old, new): # remove fields whose options have been changed using property setter property_setter_select_fields = frappe.db.sql("""\ select ps.doc_type as parent, ps.field_name as fieldname, - (select ifnull(issingle, 0) from tabDocType dt + (select issingle from tabDocType dt where dt.name = ps.doc_type) as issingle from `tabProperty Setter` ps where @@ -250,7 +250,7 @@ def get_select_fields(old, new): ps.property_type='options' and ps.field_name is not null and ps.value like "%%%%%s%%%%" """ \ - % ('%s', old), (new,), as_dict=1) + % ('%s', frappe.db.escape(old)), (new,), as_dict=1) select_fields += property_setter_select_fields @@ -262,14 +262,14 @@ def update_select_field_values(old, new): where parent != %s and fieldtype = 'Select' and (options like "%%%%\\n%s%%%%" or options like "%%%%%s\\n%%%%")""" % \ - ('%s', '%s', '%s', old, old), (old, new, new)) + ('%s', '%s', '%s', frappe.db.escape(old), frappe.db.escape(old)), (old, new, new)) frappe.db.sql("""\ update `tabCustom Field` set options=replace(options, %s, %s) where dt != %s and fieldtype = 'Select' and (options like "%%%%\\n%s%%%%" or options like "%%%%%s\\n%%%%")""" % \ - ('%s', '%s', '%s', old, old), (old, new, new)) + ('%s', '%s', '%s', frappe.db.escape(old), frappe.db.escape(old)), (old, new, new)) frappe.db.sql("""\ update `tabProperty Setter` set value=replace(value, %s, %s) @@ -277,7 +277,7 @@ def update_select_field_values(old, new): doc_type != %s and field_name is not null and property='options' and (value like "%%%%\\n%s%%%%" or value like "%%%%%s\\n%%%%")""" % \ - ('%s', '%s', '%s', old, old), (old, new, new)) + ('%s', '%s', '%s', frappe.db.escape(old), frappe.db.escape(old)), (old, new, new)) def update_parenttype_values(old, new): child_doctypes = frappe.db.sql("""\ diff --git a/frappe/patches.txt b/frappe/patches.txt index 89a508485b..0407f6946e 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -17,6 +17,8 @@ execute:frappe.db.sql("alter table `tabSessions` modify `user` varchar(255), eng execute:frappe.db.sql("delete from `tabDocField` where parent='0'") frappe.patches.v4_0.change_varchar_length frappe.patches.v6_4.reduce_varchar_length +frappe.patches.v5_2.change_checks_to_not_null +frappe.patches.v6_9.int_float_not_null frappe.patches.v5_0.v4_to_v5 frappe.patches.v5_0.remove_shopping_cart_app @@ -88,7 +90,6 @@ frappe.patches.v5_0.modify_session frappe.patches.v5_0.expire_old_scheduler_logs execute:frappe.permissions.reset_perms("DocType") execute:frappe.db.sql("delete from `tabProperty Setter` where `property` = 'idx'") -frappe.patches.v5_2.change_checks_to_not_null frappe.patches.v5_3.rename_chinese_languages frappe.patches.v6_0.communication_status_and_permission frappe.patches.v6_0.make_task_log_folder @@ -104,3 +105,4 @@ execute:frappe.permissions.reset_perms("Web Page") frappe.patches.v6_6.user_last_active frappe.patches.v6_6.rename_slovak_language frappe.patches.v6_6.fix_file_url +frappe.patches.v6_9.rename_burmese_language diff --git a/frappe/patches/v4_0/change_varchar_length.py b/frappe/patches/v4_0/change_varchar_length.py index 3a62c08347..950d56316d 100644 --- a/frappe/patches/v4_0/change_varchar_length.py +++ b/frappe/patches/v4_0/change_varchar_length.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import frappe def execute(): - for dt in frappe.db.sql_list("""select name from `tabDocType` where ifnull(issingle, 0)=0"""): + for dt in frappe.db.sql_list("""select name from `tabDocType` where issingle=0"""): desc = dict((d["Field"], d) for d in frappe.db.sql("desc `tab{}`".format(dt), as_dict=True)) alter_table = [] diff --git a/frappe/patches/v4_0/set_user_permissions.py b/frappe/patches/v4_0/set_user_permissions.py index 56c751abda..726b9ee715 100644 --- a/frappe/patches/v4_0/set_user_permissions.py +++ b/frappe/patches/v4_0/set_user_permissions.py @@ -10,12 +10,12 @@ def execute(): table_columns = frappe.db.get_table_columns("DocPerm") if "restricted" in table_columns: - frappe.db.sql("""update `tabDocPerm` set apply_user_permissions=1 where ifnull(apply_user_permissions, 0)=0 + frappe.db.sql("""update `tabDocPerm` set apply_user_permissions=1 where apply_user_permissions=0 and restricted=1""") if "match" in table_columns: frappe.db.sql("""update `tabDocPerm` set apply_user_permissions=1 - where ifnull(apply_user_permissions, 0)=0 and ifnull(`match`, '')!=''""") + where apply_user_permissions=0 and ifnull(`match`, '')!=''""") # change Restriction to User Permission in tabDefaultValue frappe.db.sql("""update `tabDefaultValue` set parenttype='User Permission' where parenttype='Restriction'""") diff --git a/frappe/patches/v6_9/__init__.py b/frappe/patches/v6_9/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/patches/v6_9/int_float_not_null.py b/frappe/patches/v6_9/int_float_not_null.py new file mode 100644 index 0000000000..c37142189e --- /dev/null +++ b/frappe/patches/v6_9/int_float_not_null.py @@ -0,0 +1,16 @@ +from __future__ import unicode_literals +import frappe + +def execute(): + for doctype in frappe.get_all("DocType", filters={"issingle": 0}): + doctype = doctype.name + + for column in frappe.db.sql("desc `tab{doctype}`".format(doctype=doctype), as_dict=True): + fieldname = column["Field"] + column_type = column["Type"] + + if not (column_type.startswith("int") or column_type.startswith("decimal")): + continue + + frappe.db.sql("""update `tab{doctype}` set `{fieldname}`=0 where `{fieldname}` is null"""\ + .format(doctype=doctype, fieldname=fieldname)) diff --git a/frappe/patches/v6_9/rename_burmese_language.py b/frappe/patches/v6_9/rename_burmese_language.py new file mode 100644 index 0000000000..66477f7efe --- /dev/null +++ b/frappe/patches/v6_9/rename_burmese_language.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals +import frappe +from frappe.translate import rename_language + +def execute(): + rename_language("Melayu", "မြန်မာ") diff --git a/frappe/print/doctype/letter_head/letter_head.json b/frappe/print/doctype/letter_head/letter_head.json index 81e3f9132e..9c730d36bf 100644 --- a/frappe/print/doctype/letter_head/letter_head.json +++ b/frappe/print/doctype/letter_head/letter_head.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Letter Head Name", + "length": 0, "no_copy": 0, "oldfieldname": "letter_head_name", "oldfieldtype": "Data", @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Disabled", + "length": 0, "no_copy": 0, "oldfieldname": "disabled", "oldfieldtype": "Check", @@ -68,6 +70,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Is Default", + "length": 0, "no_copy": 0, "oldfieldname": "is_default", "oldfieldtype": "Check", @@ -93,6 +96,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Content", + "length": 0, "no_copy": 0, "oldfieldname": "content", "oldfieldtype": "Text Editor", @@ -116,7 +120,7 @@ "issingle": 0, "istable": 0, "max_attachments": 3, - "modified": "2015-10-02 07:38:56.001216", + "modified": "2015-11-16 06:29:49.706229", "modified_by": "Administrator", "module": "Print", "name": "Letter Head", diff --git a/frappe/print/doctype/print_format/print_format.json b/frappe/print/doctype/print_format/print_format.json index 84c40b22fb..f980eaa18f 100644 --- a/frappe/print/doctype/print_format/print_format.json +++ b/frappe/print/doctype/print_format/print_format.json @@ -20,6 +20,7 @@ "in_filter": 1, "in_list_view": 1, "label": "DocType", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Disabled", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -62,6 +64,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -83,7 +86,8 @@ "ignore_user_permissions": 0, "in_filter": 1, "in_list_view": 0, - "label": "Standard", + "label": "Standard", + "length": 0, "no_copy": 1, "oldfieldname": "standard", "oldfieldtype": "Select", @@ -108,6 +112,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom Format", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -130,6 +135,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -153,7 +159,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Print Format Type", + "label": "Print Format Type", + "length": 0, "no_copy": 0, "options": "Server\nClient", "permlevel": 0, @@ -177,6 +184,7 @@ "in_filter": 0, "in_list_view": 0, "label": "HTML", + "length": 0, "no_copy": 0, "oldfieldname": "html", "oldfieldtype": "Text Editor", @@ -201,6 +209,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -224,6 +233,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Edit Format", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -245,6 +255,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -268,7 +279,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Font", + "label": "Font", + "length": 0, "no_copy": 0, "options": "Default\nArial\nHelvetica\nVerdana\nMonospace", "permlevel": 0, @@ -291,6 +303,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -313,6 +326,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom CSS", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -335,6 +349,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom HTML Help", + "length": 0, "no_copy": 0, "options": "

Custom CSS Help

\n\n

Notes:

\n\n
    \n
  1. All field groups (label + value) are set attributes data-fieldtype and data-fieldname
  2. \n
  3. All values are given class value
  4. \n
  5. All Section Breaks are given class section-break
  6. \n
  7. All Column Breaks are given class column-break
  8. \n
\n\n

Examples

\n\n

1. Left align integers

\n\n
[data-fieldtype=\"Int\"] .value { text-left: left; }
\n\n

1. Add border to sections except the last section

\n\n
.section-break { padding: 30px 0px; border-bottom: 1px solid #eee; }\n.section-break:last-child { padding-bottom: 0px; border-bottom: 0px;  }
\n", "permlevel": 0, @@ -358,6 +373,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -381,6 +397,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Print Format Help", + "length": 0, "no_copy": 0, "options": "

Print Format Help

\n
\n

Introduction

\n

Print itemsFormats are rendered on the server side using the Jinja Templating Language. All forms have access to the doc object which contains information about the document that is being formatted. You can also access common utilities via the frappe module.

\n

For styling, the Boostrap CSS framework is provided and you can enjoy the full range of classes.

\n
\n

References

\n
    \n\t
  1. Jinja Tempalting Language: Reference
  2. \n\t
  3. Bootstrap CSS Framework
  4. \n
\n
\n

Example

\n
<h3>{{ doc.select_print_heading or \"Invoice\" }}</h3>\n<div class=\"row\">\n\t<div class=\"col-md-3 text-right\">Customer Name</div>\n\t<div class=\"col-md-9\">{{ doc.customer_name }}</div>\n</div>\n<div class=\"row\">\n\t<div class=\"col-md-3 text-right\">Date</div>\n\t<div class=\"col-md-9\">{{ doc.get_formatted(\"invoice_date\") }}</div>\n</div>\n<table class=\"table table-bordered\">\n\t<tbody>\n\t\t<tr>\n\t\t\t<th>Sr</th>\n\t\t\t<th>Item Name</th>\n\t\t\t<th>Description</th>\n\t\t\t<th class=\"text-right\">Qty</th>\n\t\t\t<th class=\"text-right\">Rate</th>\n\t\t\t<th class=\"text-right\">Amount</th>\n\t\t</tr>\n\t\t{%- for row in doc.items -%}\n\t\t<tr>\n\t\t\t<td style=\"width: 3%;\">{{ row.idx }}</td>\n\t\t\t<td style=\"width: 20%;\">\n\t\t\t\t{{ row.item_name }}\n\t\t\t\t{% if row.item_code != row.item_name -%}\n\t\t\t\t<br>Item Code: {{ row.item_code}}\n\t\t\t\t{%- endif %}\n\t\t\t</td>\n\t\t\t<td style=\"width: 37%;\">\n\t\t\t\t<div style=\"border: 0px;\">{{ row.description }}</div></td>\n\t\t\t<td style=\"width: 10%; text-align: right;\">{{ row.qty }} {{ row.uom or row.stock_uom }}</td>\n\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n\t\t\t\trow.get_formatted(\"rate\", doc) }}</td>\n\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n\t\t\t\trow.get_formatted(\"amount\", doc) }}</td>\n\t\t</tr>\n\t\t{%- endfor -%}\n\t</tbody>\n</table>
\n
\n

Common Functions

\n\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n
doc.get_formatted(\"[fieldname]\", [parent_doc])Get document value formatted as Date, Currency etc. Pass parent doc for curreny type fields.
frappe.db.get_value(\"[doctype]\", \"[name]\", \"fieldname\")Get value from another document.
\n", "permlevel": 0, @@ -403,6 +420,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Format Data", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -425,6 +443,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Print Format Builder", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -447,7 +466,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2015-10-02 07:39:00.918464", + "modified": "2015-11-16 06:29:52.109293", "modified_by": "Administrator", "module": "Print", "name": "Print Format", diff --git a/frappe/public/js/frappe/form/control.js b/frappe/public/js/frappe/form/control.js index ba77442d03..726e511e46 100644 --- a/frappe/public/js/frappe/form/control.js +++ b/frappe/public/js/frappe/form/control.js @@ -876,15 +876,20 @@ frappe.ui.form.ControlAttachImage = frappe.ui.form.ControlAttach.extend({ this.img.on("click", function() { me.$input.click(); }); this.$wrapper.on("refresh", function() { - if(me.get_value()) { - $(me.input_area).find(".missing-image").toggle(false); - me.img.attr("src", me.dataurl ? me.dataurl : me.value).toggle(true); - } else { - $(me.input_area).find(".missing-image").toggle(true); - me.img.toggle(false); - } + me.set_image(); }); + + this.set_image(); }, + set_image: function() { + if(this.get_value()) { + $(this.input_area).find(".missing-image").toggle(false); + this.img.attr("src", this.dataurl ? this.dataurl : this.value).toggle(true); + } else { + $(this.input_area).find(".missing-image").toggle(true); + this.img.toggle(false); + } + } }); diff --git a/frappe/public/js/frappe/form/footer/assign_to.js b/frappe/public/js/frappe/form/footer/assign_to.js index 92e8a32b1d..3e75fd2422 100644 --- a/frappe/public/js/frappe/form/footer/assign_to.js +++ b/frappe/public/js/frappe/form/footer/assign_to.js @@ -94,9 +94,9 @@ frappe.ui.form.AssignTo = Class.extend({ method: 'frappe.desk.form.assign_to.add', doctype: me.frm.doctype, docname: me.frm.docname, - callback: function(r) { - me.render(r.message); - me.frm.reload_doc(); + callback: function(r) { + me.render(r.message); + me.frm.reload_doc(); } }); } @@ -108,16 +108,27 @@ frappe.ui.form.AssignTo = Class.extend({ me.dialog.show(); - me.dialog.get_input("myself").on("click", function() { - if($(this).prop("checked")) { - me.dialog.set_value("assign_to", user); - me.dialog.set_value("notify", 0); - } else { - me.dialog.set_value("assign_to", ""); - me.dialog.set_value("notify", 1); - } + var myself = me.dialog.get_input("myself").on("click", function() { + me.toggle_myself(this); }); + me.toggle_myself(myself); }, + + toggle_myself: function(myself) { + var me = this; + if($(myself).prop("checked")) { + me.dialog.set_value("assign_to", user); + me.dialog.set_value("notify", 0); + me.dialog.get_field("notify").$wrapper.toggle(false); + me.dialog.get_field("assign_to").$wrapper.toggle(false); + } else { + me.dialog.set_value("assign_to", ""); + me.dialog.set_value("notify", 1); + me.dialog.get_field("notify").$wrapper.toggle(true); + me.dialog.get_field("assign_to").$wrapper.toggle(true); + } + }, + remove: function(owner) { var me = this; @@ -147,13 +158,16 @@ frappe.ui.to_do_dialog = function(opts){ title: __('Add to To Do'), fields: [ {fieldtype:'Check', fieldname:'myself', label:__("Assign to me"), "default":0}, - {fieldtype:'Link', fieldname:'assign_to', options:'User', - label:__("Assign To"), - description:__("Add to To Do List Of"), reqd:true}, - {fieldtype:'Data', fieldname:'description', label:__("Comment"), reqd:true}, + {fieldtype: 'Section Break'}, + {fieldtype: 'Link', fieldname:'assign_to', options:'User', + label:__("Assign To"), reqd:true}, + {fieldtype:'Small Text', fieldname:'description', label:__("Comment"), reqd:true}, + {fieldtype: 'Section Break'}, + {fieldtype: 'Column Break'}, + {fieldtype:'Date', fieldname:'date', label: __("Complete By")}, {fieldtype:'Check', fieldname:'notify', label:__("Notify by Email"), "default":1}, - {fieldtype:'Date', fieldname:'date', label: __("Complete By")}, + {fieldtype: 'Column Break'}, {fieldtype:'Select', fieldname:'priority', label: __("Priority"), options:'Low\nMedium\nHigh', 'default':'Medium'}, ], @@ -162,7 +176,7 @@ frappe.ui.to_do_dialog = function(opts){ }); dialog.fields_dict.assign_to.get_query = "frappe.core.doctype.user.user.user_query"; - + return dialog } diff --git a/frappe/public/js/frappe/ui/field_group.js b/frappe/public/js/frappe/ui/field_group.js index 5ea477d4f3..0ea503d4ea 100644 --- a/frappe/public/js/frappe/ui/field_group.js +++ b/frappe/public/js/frappe/ui/field_group.js @@ -90,7 +90,7 @@ frappe.ui.FieldGroup = frappe.ui.form.Layout.extend({ clear: function() { for(key in this.fields_dict) { var f = this.fields_dict[key]; - if(f) { + if(f && f.set_input) { f.set_input(f.df['default'] || ''); } } diff --git a/frappe/templates/autodoc/doctype.html b/frappe/templates/autodoc/doctype.html index c20b106ade..94e00152fe 100644 --- a/frappe/templates/autodoc/doctype.html +++ b/frappe/templates/autodoc/doctype.html @@ -6,7 +6,7 @@ {% set controller = autodoc.get_controller(doctype) %}
-{{ version(doctype) }} +{{ app.version or version(doctype) }} {{ source_link(app, app.name + "/" + scrub(doc.module) + "/doctype/" + scrub(doctype), True) }}
diff --git a/frappe/templates/emails/new_user.html b/frappe/templates/emails/new_user.html index 6b4123af76..9eae7c5ee1 100644 --- a/frappe/templates/emails/new_user.html +++ b/frappe/templates/emails/new_user.html @@ -1,10 +1,12 @@

{{ title }}

{{_("Dear")}} {{ first_name }}{% if last_name %} {{ last_name}}{% endif %},

-

{{_("A new account has been created for you")}}.

+

{{_("A new account has been created for you at {0}").format(site_url)}}.

{{_("Your login id is")}}: {{ user }}

{{_("Click on the link below to complete your registration and set a new password")}}.

{{_("Complete Registration")}}


-

{{_("You can also copy-paste this link in your browser")}} {{ link }}

{{_("Thank you")}},
{{ user_fullname }}

+ +
+

{{_("You can also copy-paste this link in your browser")}} {{ link }}

diff --git a/frappe/templates/includes/comments/comments.py b/frappe/templates/includes/comments/comments.py index 433f797308..d008945d2e 100644 --- a/frappe/templates/includes/comments/comments.py +++ b/frappe/templates/includes/comments/comments.py @@ -42,7 +42,7 @@ def add_comment(args=None): # notify commentors commentors = [d[0] for d in frappe.db.sql("""select comment_by from tabComment where comment_doctype=%s and comment_docname=%s and - ifnull(unsubscribed, 0)=0""", (comment.comment_doctype, comment.comment_docname))] + unsubscribed=0""", (comment.comment_doctype, comment.comment_docname))] owner = frappe.db.get_value(comment.comment_doctype, comment.comment_docname, "owner") recipients = list(set(commentors if owner=="Administrator" else (commentors + [owner]))) diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index fe803a7f3a..ffa5bfb803 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -317,6 +317,9 @@ def get_site_path(*path): def get_files_path(*path): return get_site_path("public", "files", *path) +def get_bench_path(): + return os.path.realpath(os.path.join(os.path.dirname(frappe.__file__), '..', '..', '..')) + def get_backups_path(): return get_site_path("private", "backups") diff --git a/frappe/utils/file_manager.py b/frappe/utils/file_manager.py index 23cc1321e9..8846ad9686 100644 --- a/frappe/utils/file_manager.py +++ b/frappe/utils/file_manager.py @@ -148,8 +148,9 @@ def save_file(fname, content, dt, dn, folder=None, decode=False): fname = get_file_name(fname, content_hash[-6:]) file_data = get_file_data_from_hash(content_hash) if not file_data: - method = get_hook_method('write_file', fallback=save_file_on_filesystem) call_hook_method("before_write_file", file_size=file_size) + + method = get_hook_method('write_file', fallback=save_file_on_filesystem) file_data = method(fname, content, content_type=content_type) file_data = copy(file_data) diff --git a/frappe/utils/setup_docs.py b/frappe/utils/setup_docs.py index 795904974d..01cd215ce5 100644 --- a/frappe/utils/setup_docs.py +++ b/frappe/utils/setup_docs.py @@ -40,7 +40,8 @@ class setup_docs(object): "docs_base_url": self.docs_config.docs_base_url, "long_description": getattr(self.docs_config, "long_description", ""), "license": self.hooks.get("app_license")[0], - "branch": getattr(self.docs_config, "branch", None) or "develop" + "branch": getattr(self.docs_config, "branch", None) or "develop", + "version": getattr(self.docs_config, "version", "") }), "get_doctype_app": frappe.get_doctype_app } diff --git a/frappe/website/doctype/about_us_team_member/about_us_team_member.json b/frappe/website/doctype/about_us_team_member/about_us_team_member.json index bc3da3a3db..b57fcbe8fb 100644 --- a/frappe/website/doctype/about_us_team_member/about_us_team_member.json +++ b/frappe/website/doctype/about_us_team_member/about_us_team_member.json @@ -18,6 +18,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Full Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -40,6 +41,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Image Link", + "length": 0, "no_copy": 0, "options": "", "permlevel": 0, @@ -63,6 +65,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Bio", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -83,7 +86,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-19 03:04:52.537466", + "max_attachments": 0, + "modified": "2015-11-16 06:29:41.404549", "modified_by": "Administrator", "module": "Website", "name": "About Us Team Member", diff --git a/frappe/website/doctype/blog_category/blog_category.json b/frappe/website/doctype/blog_category/blog_category.json index 06c51c2945..7d7ff24156 100644 --- a/frappe/website/doctype/blog_category/blog_category.json +++ b/frappe/website/doctype/blog_category/blog_category.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Category Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -41,6 +42,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Title", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -62,6 +64,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Published", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -84,6 +87,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Parent Website Route", + "length": 0, "no_copy": 0, "options": "", "permlevel": 0, @@ -106,6 +110,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Page Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -126,7 +131,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:38:39.540340", + "max_attachments": 0, + "modified": "2015-11-16 06:29:42.454218", "modified_by": "Administrator", "module": "Website", "name": "Blog Category", diff --git a/frappe/website/doctype/blog_post/blog_post.json b/frappe/website/doctype/blog_post/blog_post.json index b409d68141..e41e39990a 100644 --- a/frappe/website/doctype/blog_post/blog_post.json +++ b/frappe/website/doctype/blog_post/blog_post.json @@ -18,6 +18,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Title", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -39,6 +40,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Published On", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -60,6 +62,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Published", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -80,6 +83,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -101,6 +105,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Blog Category", + "length": 0, "no_copy": 0, "options": "Blog Category", "permlevel": 0, @@ -123,6 +128,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Blogger", + "length": 0, "no_copy": 0, "options": "Blogger", "permlevel": 0, @@ -145,6 +151,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Parent Website Route", + "length": 0, "no_copy": 0, "options": "", "permlevel": 0, @@ -166,6 +173,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -188,6 +196,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Blog Intro", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -209,6 +218,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Content", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -230,6 +240,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Page Name", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -251,6 +262,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Email Sent", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -272,7 +284,7 @@ "issingle": 0, "istable": 0, "max_attachments": 5, - "modified": "2015-10-02 07:38:39.632512", + "modified": "2015-11-16 06:29:42.508658", "modified_by": "Administrator", "module": "Website", "name": "Blog Post", diff --git a/frappe/website/doctype/blog_post/blog_post.py b/frappe/website/doctype/blog_post/blog_post.py index ed9ac602e9..2e2687b1da 100644 --- a/frappe/website/doctype/blog_post/blog_post.py +++ b/frappe/website/doctype/blog_post/blog_post.py @@ -105,9 +105,9 @@ def get_list_context(context=None): def get_children(): return frappe.db.sql("""select concat("blog/", page_name) as name, title from `tabBlog Category` - where ifnull(published, 0) = 1 + where published = 1 and exists (select name from `tabBlog Post` - where `tabBlog Post`.blog_category=`tabBlog Category`.name and ifnull(published, 0)=1) + where `tabBlog Post`.blog_category=`tabBlog Category`.name and published=1) order by title asc""", as_dict=1) def clear_blog_cache(): diff --git a/frappe/website/doctype/blogger/blogger.json b/frappe/website/doctype/blogger/blogger.json index ca98bc7690..3d568fe11a 100644 --- a/frappe/website/doctype/blogger/blogger.json +++ b/frappe/website/doctype/blogger/blogger.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Disabled", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Short Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Full Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -85,6 +88,7 @@ "in_filter": 0, "in_list_view": 0, "label": "User", + "length": 0, "no_copy": 0, "options": "User", "permlevel": 0, @@ -107,6 +111,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Bio", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -128,6 +133,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Avatar", + "length": 0, "no_copy": 0, "options": "", "permlevel": 0, @@ -150,6 +156,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Posts", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -171,7 +178,7 @@ "issingle": 0, "istable": 0, "max_attachments": 1, - "modified": "2015-10-19 03:04:50.241951", + "modified": "2015-11-16 06:29:42.575954", "modified_by": "Administrator", "module": "Website", "name": "Blogger", diff --git a/frappe/website/doctype/company_history/company_history.json b/frappe/website/doctype/company_history/company_history.json index 210801bd63..2388146698 100644 --- a/frappe/website/doctype/company_history/company_history.json +++ b/frappe/website/doctype/company_history/company_history.json @@ -18,6 +18,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Year", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -39,6 +40,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Highlight", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -60,7 +62,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:38:42.281395", + "max_attachments": 0, + "modified": "2015-11-16 06:29:43.720115", "modified_by": "Administrator", "module": "Website", "name": "Company History", diff --git a/frappe/website/doctype/top_bar_item/top_bar_item.json b/frappe/website/doctype/top_bar_item/top_bar_item.json index c4a6d581ff..fce9f8d273 100644 --- a/frappe/website/doctype/top_bar_item/top_bar_item.json +++ b/frappe/website/doctype/top_bar_item/top_bar_item.json @@ -18,6 +18,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Label", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Parent Label", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 1, "label": "URL", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -87,7 +90,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Target", + "label": "Target", + "length": 0, "no_copy": 0, "options": "\ntarget = \"_blank\"", "permlevel": 0, @@ -111,6 +115,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Right", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -130,7 +135,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:39:17.448972", + "max_attachments": 0, + "modified": "2015-11-16 06:29:59.696074", "modified_by": "Administrator", "module": "Website", "name": "Top Bar Item", diff --git a/frappe/website/doctype/web_form/web_form.js b/frappe/website/doctype/web_form/web_form.js index f0ee8dce87..67cdc59768 100644 --- a/frappe/website/doctype/web_form/web_form.js +++ b/frappe/website/doctype/web_form/web_form.js @@ -24,6 +24,7 @@ frappe.ui.form.on("Web Form", { if(frm.doc.is_standard && !frappe.boot.developer_mode) { frm.set_read_only(); + frm.disable_save(); } }, title: function(frm) { @@ -41,7 +42,7 @@ frappe.ui.form.on("Web Form", { frappe.ui.form.on("Web Form Field", "fieldname", function(frm, doctype, name) { var doc = frappe.get_doc(doctype, name); - df = $.map(frappe.get_doc("DocType", frm.doc.doc_type).fields, function(d) { + var df = $.map(frappe.get_doc("DocType", frm.doc.doc_type).fields, function(d) { return doc.fieldname==d.fieldname ? d : null; })[0]; doc.label = df.label; diff --git a/frappe/website/doctype/web_form/web_form.json b/frappe/website/doctype/web_form/web_form.json index 6fb75ccd57..a927fa6139 100644 --- a/frappe/website/doctype/web_form/web_form.json +++ b/frappe/website/doctype/web_form/web_form.json @@ -1,489 +1,509 @@ { - "allow_copy": 0, - "allow_import": 0, - "allow_rename": 0, - "autoname": "field:title", - "creation": "2014-09-01 14:08:48.624556", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "Document", + "allow_copy": 0, + "allow_import": 0, + "allow_rename": 0, + "autoname": "field:title", + "creation": "2014-09-01 14:08:48.624556", + "custom": 0, + "docstatus": 0, + "doctype": "DocType", + "document_type": "Document", "fields": [ { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "title", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Title", - "no_copy": 1, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "title", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Title", + "length": 0, + "no_copy": 1, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "Website URL", - "fieldname": "page_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Page Name", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "Website URL", + "fieldname": "page_name", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Page Name", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "doc_type", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 1, - "label": "Select DocType", - "no_copy": 0, - "options": "DocType", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 1, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "doc_type", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 1, + "label": "Select DocType", + "length": 0, + "no_copy": 0, + "options": "DocType", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 1, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "column_break_4", - "fieldtype": "Column Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "column_break_4", + "fieldtype": "Column Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "is_standard", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Is Standard", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "is_standard", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Is Standard", + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "published", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Published", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "published", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Published", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "login_required", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Login Required", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "login_required", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Login Required", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "login_required", - "fieldname": "allow_edit", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Allow Edit", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "login_required", + "fieldname": "allow_edit", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Allow Edit", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "login_required", - "fieldname": "allow_multiple", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Allow Multiple", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "login_required", + "fieldname": "allow_multiple", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Allow Multiple", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "allow_multiple", - "fieldname": "allow_delete", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Allow Delete", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "allow_multiple", + "fieldname": "allow_delete", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Allow Delete", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "depends_on": "login_required", - "fieldname": "allow_comments", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Allow Comments", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "depends_on": "login_required", + "fieldname": "allow_comments", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Allow Comments", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "fields", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Fields", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "fields", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Fields", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "introduction_text", - "fieldtype": "Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Introduction", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "introduction_text", + "fieldtype": "Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Introduction", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "web_form_fields", - "fieldtype": "Table", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Web Form Fields", - "no_copy": 0, - "options": "Web Form Field", - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "web_form_fields", + "fieldtype": "Table", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Web Form Fields", + "length": 0, + "no_copy": 0, + "options": "Web Form Field", + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "actions", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Actions", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "actions", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Actions", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "Message to be displayed on successful completion", - "fieldname": "success_message", - "fieldtype": "Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Success Message", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "Message to be displayed on successful completion", + "fieldname": "success_message", + "fieldtype": "Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Success Message", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "Go to this url after completing the form.", - "fieldname": "success_url", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Success URL", - "no_copy": 0, - "permlevel": 0, - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "Go to this url after completing the form.", + "fieldname": "success_url", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Success URL", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "fieldname": "advanced", - "fieldtype": "Section Break", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Advanced", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "advanced", + "fieldtype": "Section Break", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Advanced", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "Text to be displayed for Link to Web Page if this form has a web page. Link route will be automatically generated based on `page_name` and `parent_website_route`", - "fieldname": "web_page_link_text", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Web Page Link Text", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "Text to be displayed for Link to Web Page if this form has a web page. Link route will be automatically generated based on `page_name` and `parent_website_route`", + "fieldname": "web_page_link_text", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Web Page Link Text", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "description": "In JSON as [{\"title\":\"Jobs\", \"name\":\"jobs\"}]", - "fieldname": "breadcrumbs", - "fieldtype": "Small Text", - "hidden": 0, - "ignore_user_permissions": 0, - "in_filter": 0, - "in_list_view": 0, - "label": "Breadcrumbs", - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "read_only": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "description": "In JSON as [{\"title\":\"Jobs\", \"name\":\"jobs\"}]", + "fieldname": "breadcrumbs", + "fieldtype": "Small Text", + "hidden": 0, + "ignore_user_permissions": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Breadcrumbs", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 } - ], - "hide_heading": 0, - "hide_toolbar": 0, - "icon": "icon-edit", - "in_create": 0, - "in_dialog": 0, - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "modified": "2015-11-13 00:22:23.223163", - "modified_by": "Administrator", - "module": "Website", - "name": "Web Form", - "name_case": "", - "owner": "Administrator", + ], + "hide_heading": 0, + "hide_toolbar": 0, + "icon": "icon-edit", + "in_create": 0, + "in_dialog": 0, + "is_submittable": 0, + "issingle": 0, + "istable": 0, + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.321700", + "modified_by": "Administrator", + "module": "Website", + "name": "Web Form", + "name_case": "", + "owner": "Administrator", "permissions": [ { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 0, - "export": 0, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 0, - "read": 1, - "report": 1, - "role": "Website Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 0, + "export": 0, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 0, + "read": 1, + "report": 1, + "role": "Website Manager", + "set_user_permissions": 0, + "share": 1, + "submit": 0, "write": 1 } - ], - "read_only": 0, - "read_only_onload": 0, - "sort_field": "modified", - "sort_order": "DESC", + ], + "read_only": 0, + "read_only_onload": 0, + "sort_field": "modified", + "sort_order": "DESC", "title_field": "title" -} \ No newline at end of file +} diff --git a/frappe/website/doctype/web_form/web_form.py b/frappe/website/doctype/web_form/web_form.py index 76cb7af2a4..d023a7ee01 100644 --- a/frappe/website/doctype/web_form/web_form.py +++ b/frappe/website/doctype/web_form/web_form.py @@ -7,6 +7,7 @@ from frappe.website.website_generator import WebsiteGenerator from frappe import _ from frappe.utils.file_manager import save_file, remove_file_by_url from frappe.website.utils import get_comment_list +from frappe.model import default_fields class WebForm(WebsiteGenerator): website = frappe._dict( @@ -16,6 +17,32 @@ class WebForm(WebsiteGenerator): no_cache = 1 ) + def onload(self): + if self.is_standard and not frappe.conf.developer_mode: + self.use_meta_fields() + + def validate(self): + if (not (frappe.flags.in_install or frappe.flags.in_patch or frappe.flags.in_test) + and self.is_standard and not frappe.conf.developer_mode): + frappe.throw(_("You need to be in developer mode to edit a Standard Web Form")) + + def use_meta_fields(self): + meta = frappe.get_meta(self.doc_type) + # original_web_form_fields = frappe.form_dict((df.fieldname, df) for df in self.web_form_fields) + self.web_form_fields = meta.fields + + for df in self.web_form_fields: + df.doctype = "Web Form Field" + df.parentfield = "web_form_fields" + df.parenttype = self.doctype + df.parent = self.name + + if df.read_only or df.fieldtype=="Read Only": + df.hidden = 1 + + elif df.fieldtype not in ("Attach", "Check", "Data", "Date", "Datetime", "HTML", "Select", "Text", "Section Break", "Column Break"): + df.hidden = 1 + def get_context(self, context): from frappe.templates.pages.list import get_context as get_list_context @@ -30,6 +57,9 @@ class WebForm(WebsiteGenerator): if frappe.form_dict.name and not has_web_form_permission(self.doc_type, frappe.form_dict.name): frappe.throw(_("You don't have the permissions to access this document"), frappe.PermissionError) + if self.is_standard: + self.use_meta_fields() + if self.login_required and logged_in: if self.allow_edit: if self.allow_multiple: diff --git a/frappe/website/doctype/web_form_field/web_form_field.json b/frappe/website/doctype/web_form_field/web_form_field.json index 8178a987f9..b50ddcb4d2 100644 --- a/frappe/website/doctype/web_form_field/web_form_field.json +++ b/frappe/website/doctype/web_form_field/web_form_field.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Fieldname", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -39,7 +40,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Fieldtype", + "label": "Fieldtype", + "length": 0, "no_copy": 0, "options": "Attach\nCheck\nData\nDate\nDatetime\nHTML\nSelect\nText\nSection Break\nColumn Break", "permlevel": 0, @@ -62,6 +64,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Label", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -83,6 +86,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Mandatory", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -104,6 +108,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Read Only", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -125,6 +130,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hidden", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -145,6 +151,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -166,6 +173,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Options", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -186,6 +194,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -207,6 +216,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -227,6 +237,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -248,6 +259,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Default", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -266,7 +278,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:39:19.006591", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.409753", "modified_by": "Administrator", "module": "Website", "name": "Web Form Field", diff --git a/frappe/website/doctype/web_page/web_page.json b/frappe/website/doctype/web_page/web_page.json index 928a69afe2..f8956e819f 100644 --- a/frappe/website/doctype/web_page/web_page.json +++ b/frappe/website/doctype/web_page/web_page.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Title", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,6 +43,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Title", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -64,6 +66,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Show Title", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -87,6 +90,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Slideshow", + "length": 0, "no_copy": 0, "options": "Website Slideshow", "permlevel": 0, @@ -108,6 +112,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -131,6 +136,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Page Name", + "length": 0, "no_copy": 1, "permlevel": 0, "print_hide": 0, @@ -152,6 +158,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Published", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -174,6 +181,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Content", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -196,6 +204,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Main Section", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -216,6 +225,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -238,6 +248,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom Javascript", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -260,6 +271,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Insert Code", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -282,6 +294,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Javascript", + "length": 0, "no_copy": 0, "options": "Javascript", "permlevel": 0, @@ -304,6 +317,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom CSS", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -325,6 +339,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Insert Style", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -347,6 +362,7 @@ "in_filter": 0, "in_list_view": 0, "label": "CSS", + "length": 0, "no_copy": 0, "options": "CSS", "permlevel": 0, @@ -368,6 +384,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -390,6 +407,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Enable Comments", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -411,6 +429,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Text Align", + "length": 0, "no_copy": 0, "options": "Left\nCenter\nRight", "permlevel": 0, @@ -432,6 +451,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -454,6 +474,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Parent Web Page", + "length": 0, "no_copy": 0, "options": "Web Page", "permlevel": 0, @@ -476,6 +497,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Parent Website Route", + "length": 0, "no_copy": 1, "options": "", "permlevel": 0, @@ -499,6 +521,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Priority", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -520,6 +543,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Template Path", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -543,6 +567,7 @@ "in_filter": 0, "in_list_view": 0, "label": "", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -565,6 +590,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Description", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -587,6 +613,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Header", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -608,7 +635,7 @@ "issingle": 0, "istable": 0, "max_attachments": 20, - "modified": "2015-10-29 13:22:19.669455", + "modified": "2015-11-16 06:30:00.482822", "modified_by": "Administrator", "module": "Website", "name": "Web Page", diff --git a/frappe/website/doctype/website_slideshow/website_slideshow.json b/frappe/website/doctype/website_slideshow/website_slideshow.json index 67c9048b9d..98c5420783 100644 --- a/frappe/website/doctype/website_slideshow/website_slideshow.json +++ b/frappe/website/doctype/website_slideshow/website_slideshow.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Slideshow Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -44,6 +45,7 @@ "in_filter": 0, "in_list_view": 0, "label": "", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -66,6 +68,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Slideshow Items", + "length": 0, "no_copy": 0, "options": "Website Slideshow Item", "permlevel": 0, @@ -90,6 +93,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Header", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -111,7 +115,7 @@ "issingle": 0, "istable": 0, "max_attachments": 10, - "modified": "2015-10-02 07:39:19.477260", + "modified": "2015-11-16 06:30:00.618132", "modified_by": "Administrator", "module": "Website", "name": "Website Slideshow", diff --git a/frappe/website/doctype/website_slideshow_item/website_slideshow_item.json b/frappe/website/doctype/website_slideshow_item/website_slideshow_item.json index d9f4554994..630472dff6 100644 --- a/frappe/website/doctype/website_slideshow_item/website_slideshow_item.json +++ b/frappe/website/doctype/website_slideshow_item/website_slideshow_item.json @@ -18,6 +18,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Image", + "length": 0, "no_copy": 0, "options": "", "permlevel": 0, @@ -40,6 +41,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Heading", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -63,6 +65,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Description", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -85,7 +88,7 @@ "issingle": 0, "istable": 1, "max_attachments": 10, - "modified": "2015-10-19 03:04:52.486465", + "modified": "2015-11-16 06:30:00.654207", "modified_by": "Administrator", "module": "Website", "name": "Website Slideshow Item", diff --git a/frappe/website/doctype/website_theme/website_theme.json b/frappe/website/doctype/website_theme/website_theme.json index e1de23fc0b..743172795f 100644 --- a/frappe/website/doctype/website_theme/website_theme.json +++ b/frappe/website/doctype/website_theme/website_theme.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Theme", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Module", + "length": 0, "no_copy": 0, "options": "Module Def", "permlevel": 0, @@ -68,6 +70,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Apply Style", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -91,6 +94,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Custom?", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -112,6 +116,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -135,6 +140,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Link to Bootstrap CSS", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -157,6 +163,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -180,6 +187,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Font Size", + "length": 0, "no_copy": 0, "options": "\n12px\n13px\n14px\n15px\n16px\n17px\n18px", "permlevel": 0, @@ -204,6 +212,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Google Font (Text)", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -227,6 +236,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Google Font (Heading)", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -248,6 +258,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -270,6 +281,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Text Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -292,6 +304,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Link Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -314,6 +327,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Heading Style", + "length": 0, "no_copy": 0, "options": "\nUPPERCASE\nTitle Case\nlowercase", "permlevel": 0, @@ -337,6 +351,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -359,6 +374,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Top Bar Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -381,6 +397,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Top Bar Text Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -403,6 +420,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Hide Sidebar", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -424,6 +442,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -446,6 +465,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Footer Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -468,6 +488,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Footer Text Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -490,6 +511,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -512,6 +534,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Background Color", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -533,6 +556,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -556,6 +580,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Background Image", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -578,6 +603,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -602,6 +628,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Style using CSS", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -624,6 +651,7 @@ "in_filter": 0, "in_list_view": 0, "label": "JavaScript", + "length": 0, "no_copy": 0, "permlevel": 0, "precision": "", @@ -643,7 +671,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-19 03:04:48.248634", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.700801", "modified_by": "Administrator", "module": "Website", "name": "Website Theme", diff --git a/frappe/website/router.py b/frappe/website/router.py index 4334bc91a4..0345bf4abc 100644 --- a/frappe/website/router.py +++ b/frappe/website/router.py @@ -78,7 +78,7 @@ def get_generator_routes(): if(ifnull(parent_website_route, "")="", "", "/"), page_name)""" if controller.website.condition_field: - condition ="where ifnull({0}, 0)=1".format(controller.website.condition_field) + condition ="where {0}=1".format(controller.website.condition_field) for r in frappe.db.sql("""select {0} as route, name, modified from `tab{1}` {2}""".format(route_column_name, doctype, condition), as_dict=True): diff --git a/frappe/workflow/doctype/workflow/workflow.json b/frappe/workflow/doctype/workflow/workflow.json index e3c9198750..5681fbab25 100644 --- a/frappe/workflow/doctype/workflow/workflow.json +++ b/frappe/workflow/doctype/workflow/workflow.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Workflow Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Document Type", + "length": 0, "no_copy": 0, "options": "DocType", "permlevel": 0, @@ -66,6 +68,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Is Active", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -88,6 +91,7 @@ "in_filter": 0, "in_list_view": 0, "label": "States", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -110,6 +114,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Document States", + "length": 0, "no_copy": 0, "options": "Workflow Document State", "permlevel": 0, @@ -133,6 +138,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Transition Rules", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -155,6 +161,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Transitions", + "length": 0, "no_copy": 0, "options": "Workflow Transition", "permlevel": 0, @@ -179,6 +186,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Workflow State Field", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -199,7 +207,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:19.926848", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.833739", "modified_by": "Administrator", "module": "Workflow", "name": "Workflow", diff --git a/frappe/workflow/doctype/workflow_action/workflow_action.json b/frappe/workflow/doctype/workflow_action/workflow_action.json index 6463bd4a9e..a66d42b1ca 100644 --- a/frappe/workflow/doctype/workflow_action/workflow_action.json +++ b/frappe/workflow/doctype/workflow_action/workflow_action.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 0, "label": "Workflow Action Name", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -40,7 +41,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:20.028302", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.884948", "modified_by": "Administrator", "module": "Workflow", "name": "Workflow Action", diff --git a/frappe/workflow/doctype/workflow_document_state/workflow_document_state.json b/frappe/workflow/doctype/workflow_document_state/workflow_document_state.json index c2762b0985..89d25ed2cd 100644 --- a/frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +++ b/frappe/workflow/doctype/workflow_document_state/workflow_document_state.json @@ -20,6 +20,7 @@ "in_filter": 0, "in_list_view": 1, "label": "State", + "length": 0, "no_copy": 0, "options": "Workflow State", "permlevel": 0, @@ -44,7 +45,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Doc Status", + "label": "Doc Status", + "length": 0, "no_copy": 0, "options": "0\n1\n2", "permlevel": 0, @@ -69,6 +71,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Update Field", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -90,6 +93,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Update Value", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -111,6 +115,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Only Allow Edit For", + "length": 0, "no_copy": 0, "options": "Role", "permlevel": 0, @@ -135,6 +140,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Message", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -156,7 +162,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:39:20.102069", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.914841", "modified_by": "Administrator", "module": "Workflow", "name": "Workflow Document State", diff --git a/frappe/workflow/doctype/workflow_state/workflow_state.json b/frappe/workflow/doctype/workflow_state/workflow_state.json index c756f029f1..38fb1bf565 100644 --- a/frappe/workflow/doctype/workflow_state/workflow_state.json +++ b/frappe/workflow/doctype/workflow_state/workflow_state.json @@ -21,6 +21,7 @@ "in_filter": 0, "in_list_view": 0, "label": "State", + "length": 0, "no_copy": 0, "permlevel": 0, "print_hide": 0, @@ -42,7 +43,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Icon", + "label": "Icon", + "length": 0, "no_copy": 0, "options": "\nglass\nmusic\nsearch\nenvelope\nheart\nstar\nstar-empty\nuser\nfilm\nth-large\nth\nth-list\nok\nremove\nzoom-in\nzoom-out\noff\nsignal\ncog\ntrash\nhome\nfile\ntime\nroad\ndownload-alt\ndownload\nupload\ninbox\nplay-circle\nrepeat\nrefresh\nlist-alt\nlock\nflag\nheadphones\nvolume-off\nvolume-down\nvolume-up\nqrcode\nbarcode\ntag\ntags\nbook\nbookmark\nprint\ncamera\nfont\nbold\nitalic\ntext-height\ntext-width\nalign-left\nalign-center\nalign-right\nalign-justify\nlist\nindent-left\nindent-right\nfacetime-video\npicture\npencil\nmap-marker\nadjust\ntint\nedit\nshare\ncheck\nmove\nstep-backward\nfast-backward\nbackward\nplay\npause\nstop\nforward\nfast-forward\nstep-forward\neject\nchevron-left\nchevron-right\nplus-sign\nminus-sign\nremove-sign\nok-sign\nquestion-sign\ninfo-sign\nscreenshot\nremove-circle\nok-circle\nban-circle\narrow-left\narrow-right\narrow-up\narrow-down\nshare-alt\nresize-full\nresize-small\nplus\nminus\nasterisk\nexclamation-sign\ngift\nleaf\nfire\neye-open\neye-close\nwarning-sign\nplane\ncalendar\nrandom\ncomment\nmagnet\nchevron-up\nchevron-down\nretweet\nshopping-cart\nfolder-close\nfolder-open\nresize-vertical\nresize-horizontal\nhdd\nbullhorn\nbell\ncertificate\nthumbs-up\nthumbs-down\nhand-right\nhand-left\nhand-up\nhand-down\ncircle-arrow-right\ncircle-arrow-left\ncircle-arrow-up\ncircle-arrow-down\nglobe\nwrench\ntasks\nfilter\nbriefcase\nfullscreen", "permlevel": 0, @@ -65,7 +67,8 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Style", + "label": "Style", + "length": 0, "no_copy": 0, "options": "\nPrimary\nInfo\nSuccess\nWarning\nDanger\nInverse", "permlevel": 0, @@ -87,7 +90,8 @@ "is_submittable": 0, "issingle": 0, "istable": 0, - "modified": "2015-10-02 07:39:20.222387", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.960083", "modified_by": "Administrator", "module": "Workflow", "name": "Workflow State", diff --git a/frappe/workflow/doctype/workflow_transition/workflow_transition.json b/frappe/workflow/doctype/workflow_transition/workflow_transition.json index bd694ec74e..20cf5f7f9c 100644 --- a/frappe/workflow/doctype/workflow_transition/workflow_transition.json +++ b/frappe/workflow/doctype/workflow_transition/workflow_transition.json @@ -19,6 +19,7 @@ "in_filter": 0, "in_list_view": 1, "label": "State", + "length": 0, "no_copy": 0, "options": "Workflow State", "permlevel": 0, @@ -43,6 +44,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Action", + "length": 0, "no_copy": 0, "options": "Workflow Action", "permlevel": 0, @@ -67,6 +69,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Next State", + "length": 0, "no_copy": 0, "options": "Workflow State", "permlevel": 0, @@ -91,6 +94,7 @@ "in_filter": 0, "in_list_view": 1, "label": "Allowed", + "length": 0, "no_copy": 0, "options": "Role", "permlevel": 0, @@ -113,7 +117,8 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-10-02 07:39:20.308052", + "max_attachments": 0, + "modified": "2015-11-16 06:30:00.996796", "modified_by": "Administrator", "module": "Workflow", "name": "Workflow Transition", diff --git a/setup.py b/setup.py index 4af7a869c3..0ede6543c2 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -version = "6.8.2" +version = "6.9.0" with open("requirements.txt", "r") as f: install_requires = f.readlines()