diff --git a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json index 147f2f56721..6079fa28d7f 100644 --- a/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json +++ b/erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json @@ -1,417 +1,164 @@ { - "_last_update": null, - "_user_tags": null, - "allow_attach": null, - "allow_copy": null, - "allow_email": null, - "allow_import": null, - "allow_print": null, - "allow_rename": null, - "allow_trash": null, "autoname": "PVTD.######", - "change_log": null, - "client_script": null, - "client_script_core": null, - "client_string": null, - "colour": null, "creation": "2013-05-21 16:16:04", - "custom": null, - "default_print_format": null, - "description": null, "docstatus": 0, "doctype": "DocType", - "document_type": null, - "dt_template": null, "fields": [ { - "allow_on_submit": null, "default": "Valuation and Total", - "depends_on": null, - "description": null, "fieldname": "category", "fieldtype": "Select", - "hidden": null, - "in_filter": null, "in_list_view": 0, "label": "Consider Tax or Charge for", - "no_column": null, - "no_copy": null, "oldfieldname": "category", "oldfieldtype": "Select", "options": "Valuation and Total\nValuation\nTotal", "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 0, - "report_hide": null, - "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 1 }, { - "allow_on_submit": null, "default": "Add", - "depends_on": null, - "description": null, "fieldname": "add_deduct_tax", "fieldtype": "Select", - "hidden": null, - "in_filter": null, - "in_list_view": null, "label": "Add or Deduct", - "no_column": null, - "no_copy": null, "oldfieldname": "add_deduct_tax", "oldfieldtype": "Select", "options": "Add\nDeduct", "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 0, - "report_hide": null, - "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 1 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "charge_type", "fieldtype": "Select", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Type", - "no_column": null, - "no_copy": null, "oldfieldname": "charge_type", "oldfieldtype": "Select", "options": "\nActual\nOn Net Total\nOn Previous Row Amount\nOn Previous Row Total", "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 0, - "report_hide": null, - "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 1 }, { - "allow_on_submit": null, - "default": null, "depends_on": "eval:[\"On Previous Row Amount\", \"On Previous Row Total\"].indexOf(doc.charge_type)!==-1", - "description": null, "fieldname": "row_id", "fieldtype": "Data", "hidden": 0, - "in_filter": null, - "in_list_view": null, "label": "Reference Row #", - "no_column": null, - "no_copy": null, "oldfieldname": "row_id", "oldfieldtype": "Data", - "options": null, "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": 0, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "description", "fieldtype": "Small Text", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Description", - "no_column": null, - "no_copy": null, "oldfieldname": "description", "oldfieldtype": "Small Text", - "options": null, "permlevel": 0, - "print_hide": null, "print_width": "300px", "read_only": 0, - "report_hide": null, "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, "width": "300px" }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "col_break1", "fieldtype": "Column Break", - "hidden": null, - "in_filter": null, - "in_list_view": null, - "label": null, - "no_column": null, - "no_copy": null, - "oldfieldname": null, - "oldfieldtype": null, - "options": null, - "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "permlevel": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "account_head", "fieldtype": "Link", - "hidden": null, - "in_filter": null, "in_list_view": 0, "label": "Account Head", - "no_column": null, - "no_copy": null, "oldfieldname": "account_head", "oldfieldtype": "Link", "options": "Account", "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 0, - "report_hide": null, - "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 1 }, { - "allow_on_submit": null, "default": ":Company", - "depends_on": null, - "description": null, "fieldname": "cost_center", "fieldtype": "Link", - "hidden": null, - "in_filter": null, "in_list_view": 0, "label": "Cost Center", - "no_column": null, - "no_copy": null, "oldfieldname": "cost_center", "oldfieldtype": "Link", "options": "Cost Center", "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": 0, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "rate", "fieldtype": "Float", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Rate", - "no_column": null, - "no_copy": null, "oldfieldname": "rate", "oldfieldtype": "Currency", - "options": null, "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 0, - "report_hide": null, - "reqd": 0, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "tax_amount", "fieldtype": "Currency", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Amount", - "no_column": null, - "no_copy": null, "oldfieldname": "tax_amount", "oldfieldtype": "Currency", "options": "Company:company:default_currency", "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 1, - "report_hide": null, - "reqd": 0, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "total", "fieldtype": "Currency", - "hidden": null, - "in_filter": null, - "in_list_view": null, "label": "Total", - "no_column": null, - "no_copy": null, "oldfieldname": "total", "oldfieldtype": "Currency", "options": "Company:company:default_currency", "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": 1, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 1 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "item_wise_tax_detail", "fieldtype": "Small Text", "hidden": 1, - "in_filter": null, - "in_list_view": null, "label": "Item Wise Tax Detail ", - "no_column": null, - "no_copy": null, "oldfieldname": "item_wise_tax_detail", "oldfieldtype": "Small Text", - "options": null, "permlevel": 0, "print_hide": 1, - "print_width": null, - "read_only": 1, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 1 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "parenttype", "fieldtype": "Data", "hidden": 1, "in_filter": 1, - "in_list_view": null, "label": "Parenttype", - "no_column": null, - "no_copy": null, "oldfieldname": "parenttype", "oldfieldtype": "Data", - "options": null, "permlevel": 0, "print_hide": 1, - "print_width": null, "read_only": 0, - "report_hide": null, - "reqd": null, - "search_index": 0, - "set_only_once": null, - "trigger": null, - "width": null + "search_index": 0 } ], "hide_heading": 1, - "hide_toolbar": null, - "icon": null, "idx": 1, - "in_create": null, - "in_dialog": null, - "is_submittable": null, - "is_transaction_doc": null, - "issingle": null, "istable": 1, - "max_attachments": null, - "menu_index": null, - "modified": "2014-04-15 09:48:45.892548", + "modified": "2014-05-30 03:43:32.494112", "modified_by": "Administrator", "module": "Accounts", "name": "Purchase Taxes and Charges", - "name_case": null, "owner": "Administrator", - "parent": null, - "parent_node": null, - "parentfield": null, - "parenttype": null, - "permissions": [], - "plugin": null, - "print_outline": null, - "read_only": null, - "read_only_onload": null, - "search_fields": null, - "server_code": null, - "server_code_compiled": null, - "server_code_core": null, - "server_code_error": null, - "show_in_menu": null, - "smallicon": null, - "subject": null, - "tag_fields": null, - "title_field": null, - "use_template": null, - "version": null + "permissions": [] } diff --git a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json index bba8f7e927e..7bde84ff0cd 100644 --- a/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json +++ b/erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json @@ -1,417 +1,155 @@ { - "_last_update": null, - "_user_tags": null, - "allow_attach": null, - "allow_copy": null, - "allow_email": null, - "allow_import": null, - "allow_print": null, - "allow_rename": null, - "allow_trash": null, "autoname": "INVTD.######", - "change_log": null, - "client_script": null, - "client_script_core": null, - "client_string": null, - "colour": null, "creation": "2013-04-24 11:39:32", - "custom": null, - "default_print_format": null, - "description": null, "docstatus": 0, "doctype": "DocType", - "document_type": null, - "dt_template": null, "fields": [ { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "charge_type", "fieldtype": "Select", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Type", - "no_column": null, - "no_copy": null, "oldfieldname": "charge_type", "oldfieldtype": "Select", "options": "\nActual\nOn Net Total\nOn Previous Row Amount\nOn Previous Row Total", "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 1 }, { - "allow_on_submit": null, - "default": null, "depends_on": "eval:[\"On Previous Row Amount\", \"On Previous Row Total\"].indexOf(doc.charge_type)!==-1", - "description": null, "fieldname": "row_id", "fieldtype": "Data", "hidden": 0, - "in_filter": null, - "in_list_view": null, "label": "Reference Row #", - "no_column": null, - "no_copy": null, "oldfieldname": "row_id", "oldfieldtype": "Data", - "options": null, - "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "permlevel": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "description", "fieldtype": "Small Text", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Description", - "no_column": null, - "no_copy": null, "oldfieldname": "description", "oldfieldtype": "Small Text", - "options": null, "permlevel": 0, - "print_hide": null, "print_width": "300px", - "read_only": null, - "report_hide": null, "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, "width": "300px" }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "col_break_1", "fieldtype": "Column Break", - "hidden": null, - "in_filter": null, - "in_list_view": null, - "label": null, - "no_column": null, - "no_copy": null, - "oldfieldname": null, - "oldfieldtype": null, - "options": null, "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, "width": "50%" }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "account_head", "fieldtype": "Link", - "hidden": null, - "in_filter": null, "in_list_view": 0, "label": "Account Head", - "no_column": null, - "no_copy": null, "oldfieldname": "account_head", "oldfieldtype": "Link", "options": "Account", "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, "reqd": 1, - "search_index": 1, - "set_only_once": null, - "trigger": null, - "width": null + "search_index": 1 }, { - "allow_on_submit": null, "default": ":Company", - "depends_on": null, - "description": null, "fieldname": "cost_center", "fieldtype": "Link", - "hidden": null, - "in_filter": null, "in_list_view": 0, "label": "Cost Center", - "no_column": null, - "no_copy": null, "oldfieldname": "cost_center_other_charges", "oldfieldtype": "Link", "options": "Cost Center", - "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "permlevel": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "rate", "fieldtype": "Float", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Rate", - "no_column": null, - "no_copy": null, "oldfieldname": "rate", "oldfieldtype": "Currency", - "options": null, "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": 1, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 1 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "tax_amount", "fieldtype": "Currency", - "hidden": null, - "in_filter": null, "in_list_view": 1, "label": "Amount", - "no_column": null, - "no_copy": null, "oldfieldname": "tax_amount", "oldfieldtype": "Currency", "options": "Company:company:default_currency", "permlevel": 0, - "print_hide": null, - "print_width": null, "read_only": 1, - "report_hide": null, - "reqd": 0, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "reqd": 0 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "total", "fieldtype": "Currency", - "hidden": null, - "in_filter": null, - "in_list_view": null, "label": "Total", - "no_column": null, - "no_copy": null, "oldfieldname": "total", "oldfieldtype": "Currency", "options": "Company:company:default_currency", "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": 1, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 1 }, { "allow_on_submit": 0, - "default": null, - "depends_on": null, "description": "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount", "fieldname": "included_in_print_rate", "fieldtype": "Check", - "hidden": null, - "in_filter": null, - "in_list_view": null, "label": "Is this Tax included in Basic Rate?", - "no_column": null, "no_copy": 0, - "oldfieldname": null, - "oldfieldtype": null, - "options": null, "permlevel": 0, "print_hide": 1, "print_width": "150px", - "read_only": null, "report_hide": 1, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, "width": "150px" }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "tax_amount_after_discount_amount", "fieldtype": "Currency", "hidden": 1, - "in_filter": null, - "in_list_view": null, "label": "Tax Amount After Discount Amount", - "no_column": null, - "no_copy": null, - "oldfieldname": null, - "oldfieldtype": null, "options": "Company:company:default_currency", "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": 1, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 1 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "item_wise_tax_detail", "fieldtype": "Small Text", "hidden": 1, - "in_filter": null, - "in_list_view": null, "label": "Item Wise Tax Detail", - "no_column": null, - "no_copy": null, "oldfieldname": "item_wise_tax_detail", "oldfieldtype": "Small Text", - "options": null, "permlevel": 0, - "print_hide": null, - "print_width": null, - "read_only": 1, - "report_hide": null, - "reqd": null, - "search_index": null, - "set_only_once": null, - "trigger": null, - "width": null + "read_only": 1 }, { - "allow_on_submit": null, - "default": null, - "depends_on": null, - "description": null, "fieldname": "parenttype", "fieldtype": "Data", "hidden": 1, "in_filter": 1, - "in_list_view": null, "label": "Parenttype", - "no_column": null, - "no_copy": null, "oldfieldname": "parenttype", "oldfieldtype": "Data", - "options": null, "permlevel": 0, "print_hide": 1, - "print_width": null, - "read_only": null, - "report_hide": null, - "reqd": null, - "search_index": 1, - "set_only_once": null, - "trigger": null, - "width": null + "search_index": 1 } ], "hide_heading": 1, - "hide_toolbar": null, - "icon": null, "idx": 1, - "in_create": null, - "in_dialog": null, - "is_submittable": null, - "is_transaction_doc": null, - "issingle": null, "istable": 1, - "max_attachments": null, - "menu_index": null, - "modified": "2014-04-14 18:40:48.450796", + "modified": "2014-05-30 03:43:39.740638", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Taxes and Charges", - "name_case": null, "owner": "Administrator", - "parent": null, - "parent_node": null, - "parentfield": null, - "parenttype": null, - "permissions": [], - "plugin": null, - "print_outline": null, - "read_only": null, - "read_only_onload": null, - "search_fields": null, - "server_code": null, - "server_code_compiled": null, - "server_code_core": null, - "server_code_error": null, - "show_in_menu": null, - "smallicon": null, - "subject": null, - "tag_fields": null, - "title_field": null, - "use_template": null, - "version": null + "permissions": [] } diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py index b58a300fc01..4e0c2685a73 100644 --- a/erpnext/hr/doctype/employee/employee.py +++ b/erpnext/hr/doctype/employee/employee.py @@ -11,6 +11,8 @@ import frappe.permissions from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc +class EmployeeUserDisabledError(frappe.ValidationError): pass + class Employee(Document): def onload(self): self.get("__onload").salary_structure_exists = frappe.db.get_value("Salary Structure", @@ -133,7 +135,7 @@ class Employee(Document): enabled = frappe.db.sql("""select name from `tabUser` where name=%s and enabled=1""", self.user_id) if not enabled: - throw(_("User {0} is disabled").format(self.user_id)) + throw(_("User {0} is disabled").format(self.user_id), EmployeeUserDisabledError) def validate_duplicate_user_id(self): employee = frappe.db.sql_list("""select name from `tabEmployee` where diff --git a/erpnext/patches/v4_0/apply_user_permissions.py b/erpnext/patches/v4_0/apply_user_permissions.py index 7f5b951696a..e32e3e17265 100644 --- a/erpnext/patches/v4_0/apply_user_permissions.py +++ b/erpnext/patches/v4_0/apply_user_permissions.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import frappe +from erpnext.hr.doctype.employee.employee import EmployeeUserDisabledError def execute(): update_hr_permissions() @@ -25,7 +26,10 @@ def update_hr_permissions(): # save employees to run on_update events for employee in frappe.db.sql_list("""select name from `tabEmployee`"""): - frappe.get_doc("Employee", employee).save() + try: + frappe.get_doc("Employee", employee).save() + except EmployeeUserDisabledError: + pass def update_permissions(): # clear match conditions other than owner diff --git a/erpnext/patches/v4_0/customer_discount_to_pricing_rule.py b/erpnext/patches/v4_0/customer_discount_to_pricing_rule.py index 87aa79248e3..5f9fc23da5b 100644 --- a/erpnext/patches/v4_0/customer_discount_to_pricing_rule.py +++ b/erpnext/patches/v4_0/customer_discount_to_pricing_rule.py @@ -3,30 +3,27 @@ from __future__ import unicode_literals import frappe +from frappe.utils.nestedset import get_root_of def execute(): frappe.reload_doc("accounts", "doctype", "pricing_rule") - + frappe.db.auto_commit_on_many_writes = True - - for d in frappe.db.sql("""select * from `tabCustomer Discount` - where ifnull(parent, '') != '' and docstatus < 2""", as_dict=1): - if not d.item_group: - item_group = frappe.db.sql("""select name from `tabItem Group` - where ifnull(parent_item_group, '') = ''""")[0][0] - else: - item_group = d.item_group - + + default_item_group = get_root_of("Item Group") + + for d in frappe.db.sql("""select * from `tabCustomer Discount` + where ifnull(parent, '') != ''""", as_dict=1): frappe.get_doc({ "doctype": "Pricing Rule", "apply_on": "Item Group", - "item_group": item_group, + "item_group": d.item_group or default_item_group, "applicable_for": "Customer", "customer": d.parent, "price_or_discount": "Discount Percentage", "discount_percentage": d.discount }).insert() - - frappe.db.auto_commit_on_many_writes = False - + + frappe.db.auto_commit_on_many_writes = False + frappe.delete_doc("DocType", "Customer Discount") diff --git a/erpnext/patches/v4_0/fix_employee_user_id.py b/erpnext/patches/v4_0/fix_employee_user_id.py index 71107f83011..d366fa44482 100644 --- a/erpnext/patches/v4_0/fix_employee_user_id.py +++ b/erpnext/patches/v4_0/fix_employee_user_id.py @@ -1,3 +1,8 @@ +# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors +# License: GNU General Public License v3. See license.txt + +from __future__ import unicode_literals + import frappe from frappe.utils import get_fullname @@ -5,9 +10,14 @@ def execute(): for user_id in frappe.db.sql_list("""select distinct user_id from `tabEmployee` where ifnull(user_id, '')!='' group by user_id having count(name) > 1"""): - + fullname = get_fullname(user_id) employee = frappe.db.get_value("Employee", {"employee_name": fullname, "user_id": user_id}) + if employee: frappe.db.sql("""update `tabEmployee` set user_id=null - where user_id=%s and name!=%s""", (user_id, employee)) \ No newline at end of file + where user_id=%s and name!=%s""", (user_id, employee)) + else: + count = frappe.db.sql("""select count(*) from `tabEmployee` where user_id=%s""", user_id)[0][0] + frappe.db.sql("""update `tabEmployee` set user_id=null + where user_id=%s limit %s""", (user_id, count - 1)) diff --git a/erpnext/patches/v4_0/split_email_settings.py b/erpnext/patches/v4_0/split_email_settings.py index 630e954c6e8..05d9bc58000 100644 --- a/erpnext/patches/v4_0/split_email_settings.py +++ b/erpnext/patches/v4_0/split_email_settings.py @@ -7,15 +7,16 @@ import frappe def execute(): frappe.reload_doc("core", "doctype", "outgoing_email_settings") frappe.reload_doc("support", "doctype", "support_email_settings") - + email_settings = get_email_settings() map_outgoing_email_settings(email_settings) map_support_email_settings(email_settings) - frappe.delete_doc("Doctype", "Email Settings") - + + frappe.delete_doc("DocType", "Email Settings") + def map_outgoing_email_settings(email_settings): outgoing_email_settings = frappe.get_doc("Outgoing Email Settings") - for fieldname in (("outgoing_mail_server", "mail_server"), + for fieldname in (("outgoing_mail_server", "mail_server"), "use_ssl", "mail_port", "mail_login", "mail_password", "always_use_login_id_as_sender", "auto_email_id", "send_print_in_body_and_attachment"): @@ -28,26 +29,26 @@ def map_outgoing_email_settings(email_settings): outgoing_email_settings.set(to_fieldname, email_settings.get(from_fieldname)) outgoing_email_settings.save() - + def map_support_email_settings(email_settings): support_email_settings = frappe.get_doc("Support Email Settings") - - for fieldname in ("sync_support_mails", "support_email", - ("support_host", "mail_server"), - ("support_use_ssl", "use_ssl"), - ("support_username", "mail_login"), - ("support_password", "mail_password"), + + for fieldname in ("sync_support_mails", "support_email", + ("support_host", "mail_server"), + ("support_use_ssl", "use_ssl"), + ("support_username", "mail_login"), + ("support_password", "mail_password"), "support_signature", "send_autoreply", "support_autoreply"): - + if isinstance(fieldname, tuple): from_fieldname, to_fieldname = fieldname else: from_fieldname = to_fieldname = fieldname - + support_email_settings.set(to_fieldname, email_settings.get(from_fieldname)) - + support_email_settings.save() - + def get_email_settings(): ret = {} for field, value in frappe.db.sql("select field, value from tabSingles where doctype='Email Settings'"):