518 self.assertEqual('Any A,AR,X,CD WHERE A concerne X?, A ref AR, A is Affaire ' |
518 self.assertEqual('Any A,AR,X,CD WHERE A concerne X?, A ref AR, A is Affaire ' |
519 'WITH X,CD BEING (Any X,CD WHERE X creation_date CD, ' |
519 'WITH X,CD BEING (Any X,CD WHERE X creation_date CD, ' |
520 'EXISTS(X owned_by %(A)s), X is IN(Division, Note, Societe))', |
520 'EXISTS(X owned_by %(A)s), X is IN(Division, Note, Societe))', |
521 union.as_string()) |
521 union.as_string()) |
522 |
522 |
|
523 def test_ambiguous_optional_diff_exprs(self): |
|
524 """See #3013554""" |
|
525 self.skipTest('bad request generated (may generate duplicated results)') |
|
526 edef1 = self.schema['Societe'] |
|
527 edef2 = self.schema['Division'] |
|
528 edef3 = self.schema['Note'] |
|
529 with self.temporary_permissions((edef1, {'read': (ERQLExpression('X created_by U'),)}), |
|
530 (edef2, {'read': ('users',)}), |
|
531 (edef3, {'read': (ERQLExpression('X owned_by U'),)})): |
|
532 union = self.process('Any A,AR,X,CD WHERE A concerne X?, A ref AR, X creation_date CD') |
|
533 self.assertEqual(union.as_string(), 'not generated today') |
|
534 |
523 |
535 |
524 def test_xxxx(self): |
536 def test_xxxx(self): |
525 edef1 = self.schema['Societe'] |
537 edef1 = self.schema['Societe'] |
526 edef2 = self.schema['Division'] |
538 edef2 = self.schema['Division'] |
527 read_expr = ERQLExpression('X responsable E, U has_read_permission E') |
539 read_expr = ERQLExpression('X responsable E, U has_read_permission E') |