diff --git a/product/ERP5Type/ERP5Type.py b/product/ERP5Type/ERP5Type.py index b8e01621019f5d78e7fe63806b9f9490e850283c..611a45da916d8af7eec4cfd9c630edb1c0115131 100644 --- a/product/ERP5Type/ERP5Type.py +++ b/product/ERP5Type/ERP5Type.py @@ -392,7 +392,12 @@ class ERP5TypeInformation(XMLObject, # workflow and it is annoyning without security setted ob.portal_type = self.getId() - self.updateLocalRolesOnDocument(ob) + # Here we don't use "if len(self.getFilteredRoleListFor(ob))" + # but use "for role in self.getFilteredRoleListFor(ob)" because + # getFilteredRoleListFor returns a generator. + for role in self.getFilteredRoleListFor(ob): + self.updateLocalRolesOnDocument(ob) + break # notify workflow after generating local roles, in order to prevent # Unauthorized error on transition's condition