[Zope-dev] Re: Fixed reply Re: [Zope-dev] Trouble setting LoginManager default user class default user class

Dan L. Pierson dan@sol.control.com
Thu, 18 May 2000 16:04:51 -0400 (EDT)


Phillip J. Eby writes:
 > Um, no.  You've found a bug in PlugInGroup.objectValues().  :(  It doesn't
 > wrap the returned objects in the context of the PlugInContainer
 > (LoginManager in this case).  As a workaround, you can say
 > us.__of__(self.acl_users).manage_setStorage().  Sorry; I'm fixing this in
 > the code right now.

Hurray!  That got me to the next bug :-) 

The portal now gets created, but I can't login to the initial account.
I also can't display the members roster by clicking on Members
(AttributeError for getUsers), but can write a DTML method in the
UserSource that lists all one user.  The code in DemoPortalBase that
trys to display the roster follows, I suspect it's this bug again, but
don't know where to put the __of__:

   def getRoster(self, REQUEST):
        """
        Return a list of the usernames of those users who have made themselves
        "listed".  If Manager, return a list of all usernames.
        """
        # Consider changing this to check for a permission rather than a role
        if REQUEST.AUTHENTICATED_USER.has_role('Manager'):
            return self.acl_users.getUserNames()
        names = []
        for user in self.acl_users.getUsers():
            if user.listed:
                names.append(user.getUserName())
        return names

Thanks for all the help,

Dan Pierson