diff --git a/gen/ui/external.png b/gen/ui/external.png new file mode 100644 index 0000000..976dcac Binary files /dev/null and b/gen/ui/external.png differ diff --git a/gen/wrappers/GroupWrapper.py b/gen/wrappers/GroupWrapper.py index 01a8995..88630d4 100644 --- a/gen/wrappers/GroupWrapper.py +++ b/gen/wrappers/GroupWrapper.py @@ -43,5 +43,7 @@ class GroupWrapper(AbstractWrapper): # If the group was created by anon, anon can't stay its Owner. if 'anon' in self.o.__ac_local_roles__: del self.o.__ac_local_roles__['anon'] + if 'system' in self.o.__ac_local_roles__: + del self.o.__ac_local_roles__['system'] return self._callCustom('onEdit', created) # ------------------------------------------------------------------------------ diff --git a/gen/wrappers/UserWrapper.py b/gen/wrappers/UserWrapper.py index 546e4ca..1e7c22a 100644 --- a/gen/wrappers/UserWrapper.py +++ b/gen/wrappers/UserWrapper.py @@ -85,6 +85,12 @@ class UserWrapper(AbstractWrapper): (msgPart, self.user.login, login)) return newPassword + def setEncryptedPassword(self, encryptedPassword): + '''Sets p_encryptedPassword for this user. m_setPassword above starts + for a clear (given or generated) password. This one simply sets an + already encrypted password for this user.''' + self.getZopeUser().__ = encryptedPassword + def checkPassword(self, clearPassword): '''Returns True if p_clearPassword is the correct password for this user.''' @@ -155,6 +161,12 @@ class UserWrapper(AbstractWrapper): else: roles.append('Manager') self.roles = roles + def getSupTitle(self, nav): + '''Display a specific icon if the user is a local copy of an external + (ie, ldap) user.''' + if self.source == 'zodb': return + return '' % self.o.getTool().getSiteUrl() + def onEdit(self, created): '''Triggered when a User is created or updated.''' login = self.login