Ver código fonte

fix: Show assignments based on allocated todo only

version-14
Nabin Hait 3 anos atrás
pai
commit
762aeb32f0
4 arquivos alterados com 15 adições e 2 exclusões
  1. +2
    -1
      frappe/desk/doctype/todo/todo.py
  2. +1
    -0
      frappe/desk/form/load.py
  3. +0
    -1
      frappe/email/doctype/email_queue/email_queue.py
  4. +12
    -0
      frappe/tests/test_assign.py

+ 2
- 1
frappe/desk/doctype/todo/todo.py Ver arquivo

@@ -72,7 +72,8 @@ class ToDo(Document):
assignments = frappe.get_all("ToDo", filters={ assignments = frappe.get_all("ToDo", filters={
"reference_type": self.reference_type, "reference_type": self.reference_type,
"reference_name": self.reference_name, "reference_name": self.reference_name,
"status": ("!=", "Cancelled")
"status": ("!=", "Cancelled"),
"allocated_to": ("is", "set")
}, pluck="allocated_to") }, pluck="allocated_to")
assignments.reverse() assignments.reverse()




+ 1
- 0
frappe/desk/form/load.py Ver arquivo

@@ -312,6 +312,7 @@ def get_assignments(dt, dn):
'reference_type': dt, 'reference_type': dt,
'reference_name': dn, 'reference_name': dn,
'status': ('!=', 'Cancelled'), 'status': ('!=', 'Cancelled'),
'allocated_to': ("is", "set")
}) })


@frappe.whitelist() @frappe.whitelist()


+ 0
- 1
frappe/email/doctype/email_queue/email_queue.py Ver arquivo

@@ -111,7 +111,6 @@ class EmailQueue(Document):
""" Send emails to recipients. """ Send emails to recipients.
""" """
if not self.can_send_now(): if not self.can_send_now():
frappe.db.rollback()
return return


with SendMailContext(self, is_background_task) as ctx: with SendMailContext(self, is_background_task) as ctx:


+ 12
- 0
frappe/tests/test_assign.py Ver arquivo

@@ -4,6 +4,7 @@ import frappe, unittest
import frappe.desk.form.assign_to import frappe.desk.form.assign_to
from frappe.desk.listview import get_group_by_count from frappe.desk.listview import get_group_by_count
from frappe.automation.doctype.assignment_rule.test_assignment_rule import make_note from frappe.automation.doctype.assignment_rule.test_assignment_rule import make_note
from frappe.desk.form.load import get_assignments


class TestAssign(unittest.TestCase): class TestAssign(unittest.TestCase):
def test_assign(self): def test_assign(self):
@@ -55,6 +56,17 @@ class TestAssign(unittest.TestCase):


frappe.db.rollback() frappe.db.rollback()


def test_assignment_removal(self):
todo = frappe.get_doc({"doctype":"ToDo", "description": "test"}).insert()
if not frappe.db.exists("User", "test@example.com"):
frappe.get_doc({"doctype":"User", "email":"test@example.com", "first_name":"Test"}).insert()

new_todo = assign(todo, "test@example.com")

# remove assignment
frappe.db.set_value("ToDo", new_todo[0].name, "allocated_to", "")

self.assertFalse(get_assignments("ToDo", todo.name))


def assign(doc, user): def assign(doc, user):
return frappe.desk.form.assign_to.add({ return frappe.desk.form.assign_to.add({


Carregando…
Cancelar
Salvar