diff --git a/master/bt5/vifib_erp5/PropertySheetTemplateItem/portal_property_sheets/VifibEmailConstraint/email_unicity_constraint.xml b/master/bt5/vifib_erp5/PropertySheetTemplateItem/portal_property_sheets/VifibEmailConstraint/email_unicity_constraint.xml index 56c42995da95905e39fb4b6762edbe6a9be47c45..252dadb6cf2f7cfec354408f2eb8c59548aa6add 100644 --- a/master/bt5/vifib_erp5/PropertySheetTemplateItem/portal_property_sheets/VifibEmailConstraint/email_unicity_constraint.xml +++ b/master/bt5/vifib_erp5/PropertySheetTemplateItem/portal_property_sheets/VifibEmailConstraint/email_unicity_constraint.xml @@ -34,7 +34,7 @@ </item> <item> <key> <string>filter_parameter</string> </key> - <value> <string>python: {\'portal_type\': object.getPortalType(), \'url_string\': object.getUrlString()}</string> </value> + <value> <string>python: {\'portal_type\': object.getPortalType(), \'url_string\': object.getUrlString(), \'parent_portal_type\': object.getParentValue().getPortalType()}</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/master/bt5/vifib_erp5/TestTemplateItem/testVifibConstraint.py b/master/bt5/vifib_erp5/TestTemplateItem/testVifibConstraint.py index 5aa784771539c98e9a6af1af84f719a4349d7208..f49888ef49042bc8fa9f3c508ec60cd75144ec88 100644 --- a/master/bt5/vifib_erp5/TestTemplateItem/testVifibConstraint.py +++ b/master/bt5/vifib_erp5/TestTemplateItem/testVifibConstraint.py @@ -162,6 +162,21 @@ class TestVifibEmailConstraint(testVifibMixin): self.assertFalse(consistency_message in getMessageList(email)) self.assertFalse(consistency_message in getMessageList(email_2)) + def test_url_string_does_not_conflict_with_credential(self): + url_string = rndstr() + + person_email = self.portal.person_module.newContent(portal_type='Person' + ).newContent(portal_type='Email', url_string=url_string) + + credential_email = self.portal.credential_update_module.newContent( + portal_type='Credential Update').newContent(portal_type='Email', + url_string=url_string) + + self.stepTic() + + self.assertFalse('Email must be unique' in getMessageList(person_email)) + self.assertFalse('Email must be unique' in getMessageList(credential_email)) + class TestVifibInternalPackingListConstraint(testVifibMixin): def getTitle(self): return "Vifib Internal Packing List Constraint checks" diff --git a/master/bt5/vifib_erp5/bt/revision b/master/bt5/vifib_erp5/bt/revision index cbd6012bc6f6c4ceb791c8b2ae7ff8d5978d3875..e0d1ea1e9ac39d1d0d9353874b9ca7b440121f23 100644 --- a/master/bt5/vifib_erp5/bt/revision +++ b/master/bt5/vifib_erp5/bt/revision @@ -1 +1 @@ -204 \ No newline at end of file +205 \ No newline at end of file