From 0d265bca059bee13bd912e48bd9f2dd571fc609a Mon Sep 17 00:00:00 2001 From: "hasnain2808@gmail.com" Date: Wed, 27 Jan 2021 10:50:49 +0530 Subject: [PATCH 1/4] fix: Do not Allow Assignment Rule on Todo --- .../doctype/assignment_rule/assignment_rule.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/frappe/automation/doctype/assignment_rule/assignment_rule.js b/frappe/automation/doctype/assignment_rule/assignment_rule.js index ee1a076465..97bed4f8f3 100644 --- a/frappe/automation/doctype/assignment_rule/assignment_rule.js +++ b/frappe/automation/doctype/assignment_rule/assignment_rule.js @@ -9,6 +9,16 @@ frappe.ui.form.on('Assignment Rule', { frm.events.rule(frm); }, + setup: function(frm) { + frm.set_query("document_type", () => { + return { + filters: { + name: ["!=", "ToDo"] + } + }; + }); + }, + document_type: function(frm) { frm.trigger('set_options'); }, From 83a8c8f7b550c42f6a942989dff80103928fe65e Mon Sep 17 00:00:00 2001 From: "hasnain2808@gmail.com" Date: Thu, 4 Feb 2021 10:38:01 +0530 Subject: [PATCH 2/4] chore(Assignment Rule): fix translation --- frappe/automation/doctype/assignment_rule/assignment_rule.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frappe/automation/doctype/assignment_rule/assignment_rule.py b/frappe/automation/doctype/assignment_rule/assignment_rule.py index d20398d564..fe9eae9f1a 100644 --- a/frappe/automation/doctype/assignment_rule/assignment_rule.py +++ b/frappe/automation/doctype/assignment_rule/assignment_rule.py @@ -18,6 +18,8 @@ class AssignmentRule(Document): if not len(set(assignment_days)) == len(assignment_days): repeated_days = get_repeated(assignment_days) frappe.throw(_("Assignment Day {0} has been repeated.").format(frappe.bold(repeated_days))) + if self.document_type == 'ToDo': + frappe.throw('Assignment Rule Not Allowed on Document Type "ToDo"') def on_update(self): clear_assignment_rule_cache(self) From a55e1a63940baf7220637f696b32bd24c2f6391c Mon Sep 17 00:00:00 2001 From: "hasnain2808@gmail.com" Date: Wed, 24 Feb 2021 12:56:05 +0530 Subject: [PATCH 3/4] fix(ToDo): cypress tests --- cypress/integration/table_multiselect.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cypress/integration/table_multiselect.js b/cypress/integration/table_multiselect.js index e75baf05f1..e4b37e967e 100644 --- a/cypress/integration/table_multiselect.js +++ b/cypress/integration/table_multiselect.js @@ -8,7 +8,7 @@ context('Table MultiSelect', () => { it('select value from multiselect dropdown', () => { cy.new_form('Assignment Rule'); cy.fill_field('__newname', name); - cy.fill_field('document_type', 'ToDo'); + cy.fill_field('document_type', 'Blog Post'); cy.fill_field('assign_condition', 'status=="Open"', 'Code'); cy.get('input[data-fieldname="users"]').focus().as('input'); cy.get('input[data-fieldname="users"] + ul').should('be.visible'); From fb40a48338bc49849e1cef952489db4f4af22fdf Mon Sep 17 00:00:00 2001 From: "hasnain2808@gmail.com" Date: Wed, 24 Feb 2021 15:12:26 +0530 Subject: [PATCH 4/4] chore: better error message Co-authored-by: Suraj Shetty <13928957+surajshetty3416@users.noreply.github.com> --- frappe/automation/doctype/assignment_rule/assignment_rule.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/automation/doctype/assignment_rule/assignment_rule.py b/frappe/automation/doctype/assignment_rule/assignment_rule.py index fe9eae9f1a..c673d5ceeb 100644 --- a/frappe/automation/doctype/assignment_rule/assignment_rule.py +++ b/frappe/automation/doctype/assignment_rule/assignment_rule.py @@ -19,7 +19,7 @@ class AssignmentRule(Document): repeated_days = get_repeated(assignment_days) frappe.throw(_("Assignment Day {0} has been repeated.").format(frappe.bold(repeated_days))) if self.document_type == 'ToDo': - frappe.throw('Assignment Rule Not Allowed on Document Type "ToDo"') + frappe.throw(_('Assignment Rule is not allowed on {0} document type').format(frappe.bold("ToDo"))) def on_update(self): clear_assignment_rule_cache(self) @@ -300,4 +300,4 @@ def get_repeated(values): def clear_assignment_rule_cache(rule): frappe.cache_manager.clear_doctype_map('Assignment Rule', rule.document_type) - frappe.cache_manager.clear_doctype_map('Assignment Rule', 'due_date_rules_for_' + rule.document_type) \ No newline at end of file + frappe.cache_manager.clear_doctype_map('Assignment Rule', 'due_date_rules_for_' + rule.document_type)