extension.erp5.PersonLoginMigration.py 743 Bytes
Newer Older
1 2 3 4
def migrateToERP5Login(self):
  assert self.getPortalType() == 'Person'
  reference = self.getReference()
  if not reference:
5
    # no user id and no login is required
6
    return
7
  if not self.hasUserId() or self.getUserId() == reference:
8 9
    self._baseSetUserId(reference)
    self.reindexObject()
10 11 12 13 14 15 16 17 18 19 20 21 22
  if not self.hasPassword():
    # no login is required, but possibly another Login type object is required if implemented
    return
  if len(self.objectValues(portal_type=self.getPortalObject().getPortalLoginTypeList())):
    # already migrated
    return
  login = self.newContent(
    portal_type='ERP5 Login',
    reference=reference,
  )
  login._setEncodedPassword(self.getPassword())
  login.validate()
  self._setEncodedPassword(None)