Esempio n. 1
0
 def test_list_filters(self):
     self.assertTrue(
         evaluate_filters(
             {
                 "doctype": "User",
                 "status": "Open",
                 "name": "Test 1"
             },
             [{
                 "status": "Open"
             }, {
                 "name": "Test 1"
             }],
         ))
     self.assertFalse(
         evaluate_filters(
             {
                 "doctype": "User",
                 "status": "Open",
                 "name": "Test 1"
             },
             [{
                 "status": "Open"
             }, {
                 "name": "Test 2"
             }],
         ))
Esempio n. 2
0
 def test_simple_dict(self):
     self.assertTrue(
         evaluate_filters({
             'doctype': 'User',
             'status': 'Open'
         }, {'status': 'Open'}))
     self.assertFalse(
         evaluate_filters({
             'doctype': 'User',
             'status': 'Open'
         }, {'status': 'Closed'}))
Esempio n. 3
0
 def test_simple_dict(self):
     self.assertTrue(
         evaluate_filters({
             "doctype": "User",
             "status": "Open"
         }, {"status": "Open"}))
     self.assertFalse(
         evaluate_filters({
             "doctype": "User",
             "status": "Open"
         }, {"status": "Closed"}))
Esempio n. 4
0
 def test_list_filters_as_list(self):
     self.assertTrue(
         evaluate_filters(
             {
                 'doctype': 'User',
                 'status': 'Open',
                 'name': 'Test 1'
             }, [['status', '=', 'Open'], ['name', '=', 'Test 1']]))
     self.assertFalse(
         evaluate_filters(
             {
                 'doctype': 'User',
                 'status': 'Open',
                 'name': 'Test 1'
             }, [['status', '=', 'Open'], ['name', '=', 'Test 2']]))
Esempio n. 5
0
 def test_lt_gt(self):
     self.assertTrue(
         evaluate_filters({
             'doctype': 'User',
             'status': 'Open',
             'age': 20
         }, {
             'status': 'Open',
             'age': ('>', 10)
         }))
     self.assertFalse(
         evaluate_filters({
             'doctype': 'User',
             'status': 'Open',
             'age': 20
         }, {
             'status': 'Open',
             'age': ('>', 30)
         }))
Esempio n. 6
0
 def test_lt_gt(self):
     self.assertTrue(
         evaluate_filters({
             "doctype": "User",
             "status": "Open",
             "age": 20
         }, {
             "status": "Open",
             "age": (">", 10)
         }))
     self.assertFalse(
         evaluate_filters({
             "doctype": "User",
             "status": "Open",
             "age": 20
         }, {
             "status": "Open",
             "age": (">", 30)
         }))
Esempio n. 7
0
 def test_list_filters_as_list(self):
     self.assertTrue(
         evaluate_filters(
             {
                 "doctype": "User",
                 "status": "Open",
                 "name": "Test 1"
             },
             [["status", "=", "Open"], ["name", "=", "Test 1"]],
         ))
     self.assertFalse(
         evaluate_filters(
             {
                 "doctype": "User",
                 "status": "Open",
                 "name": "Test 1"
             },
             [["status", "=", "Open"], ["name", "=", "Test 2"]],
         ))
Esempio n. 8
0
 def test_multiple_dict(self):
     self.assertTrue(
         evaluate_filters(
             {
                 'doctype': 'User',
                 'status': 'Open',
                 'name': 'Test 1'
             }, {
                 'status': 'Open',
                 'name': 'Test 1'
             }))
     self.assertFalse(
         evaluate_filters(
             {
                 'doctype': 'User',
                 'status': 'Open',
                 'name': 'Test 1'
             }, {
                 'status': 'Closed',
                 'name': 'Test 1'
             }))
Esempio n. 9
0
 def test_multiple_dict(self):
     self.assertTrue(
         evaluate_filters(
             {
                 "doctype": "User",
                 "status": "Open",
                 "name": "Test 1"
             }, {
                 "status": "Open",
                 "name": "Test 1"
             }))
     self.assertFalse(
         evaluate_filters(
             {
                 "doctype": "User",
                 "status": "Open",
                 "name": "Test 1"
             }, {
                 "status": "Closed",
                 "name": "Test 1"
             }))
Esempio n. 10
0
 def test_list_filters(self):
     self.assertTrue(
         evaluate_filters(
             {
                 'doctype': 'User',
                 'status': 'Open',
                 'name': 'Test 1'
             }, [{
                 'status': 'Open'
             }, {
                 'name': 'Test 1'
             }]))
     self.assertFalse(
         evaluate_filters(
             {
                 'doctype': 'User',
                 'status': 'Open',
                 'name': 'Test 1'
             }, [{
                 'status': 'Open'
             }, {
                 'name': 'Test 2'
             }]))
Esempio n. 11
0
def notify_status(doc, method=None):
	'''Notify status to customer, supplier'''

	party_type = None
	for key, doctypes in status_depends_on.iteritems():
		if doc.doctype in doctypes:
			party_type = key
			break

	if not party_type:
		return

	name = doc.get(party_type.lower())
	if not name:
		return

	party = frappe.get_doc(party_type, name)
	filters = get_filters_for(doc.doctype)
	party.flags.ignore_mandatory = True

	status = None
	if filters:
		if evaluate_filters(doc, filters):
			# filters match, passed document is open
			status = 'Open'

	if status=='Open':
		if party.status != 'Open':
			# party not open, make it open
			party.status = 'Open'
			party.save(ignore_permissions=True)

	else:
		if party.status == 'Open':
			# may be open elsewhere, check
			# default status
			party.status = status
			update_status(party)

	party.update_modified()
	party.notify_update()
Esempio n. 12
0
	def test_lt_gt(self):
		self.assertTrue(evaluate_filters({'doctype': 'User', 'status': 'Open', 'age': 20},
			{'status': 'Open', 'age': ('>', 10)}))
		self.assertFalse(evaluate_filters({'doctype': 'User', 'status': 'Open', 'age': 20},
			{'status': 'Open', 'age': ('>', 30)}))
Esempio n. 13
0
	def test_list_filters_as_list(self):
		self.assertTrue(evaluate_filters({'doctype': 'User', 'status': 'Open', 'name': 'Test 1'},
			[['status', '=', 'Open'], ['name', '=', 'Test 1']]))
		self.assertFalse(evaluate_filters({'doctype': 'User', 'status': 'Open', 'name': 'Test 1'},
			[['status', '=', 'Open'], ['name', '=', 'Test 2']]))
Esempio n. 14
0
	def test_list_filters(self):
		self.assertTrue(evaluate_filters({'doctype': 'User', 'status': 'Open', 'name': 'Test 1'},
			[{'status': 'Open'}, {'name':'Test 1'}]))
		self.assertFalse(evaluate_filters({'doctype': 'User', 'status': 'Open', 'name': 'Test 1'},
			[{'status': 'Open'}, {'name':'Test 2'}]))
Esempio n. 15
0
	def test_multiple_dict(self):
		self.assertTrue(evaluate_filters({'doctype': 'User', 'status': 'Open', 'name': 'Test 1'},
			{'status': 'Open', 'name':'Test 1'}))
		self.assertFalse(evaluate_filters({'doctype': 'User', 'status': 'Open', 'name': 'Test 1'},
			{'status': 'Closed', 'name': 'Test 1'}))
Esempio n. 16
0
	def test_simple_dict(self):
		self.assertTrue(evaluate_filters({'doctype': 'User', 'status': 'Open'}, {'status': 'Open'}))
		self.assertFalse(evaluate_filters({'doctype': 'User', 'status': 'Open'}, {'status': 'Closed'}))