Ejemplo n.º 1
0
    def sorted_allowed_senders_data(self):
        # User info for listen membership views, annotated with stuff
        # used by templates, and sorted case-insensitively.
        data = super(NuiManageMembersView, self).allowed_senders_data()
        people_url = '%s/people' % getToolByName(self.context, 'portal_url')()
        sortable = []

        for key in data:
            user = data[key].copy()
            user.update({'id': key, 'is_member': self.is_member(key),
                         'pending_status': self.pending_status(key),
                         'profile_url': '%s/%s/profile' % (people_url, key),
                         'contact_url': '%s/%s/contact' % (people_url, key),
                         })
            if user['is_member']:
                name = member_title(key)
                user['name'] = name
                user['sortkey'] = name.lower()
            else:
                # It's an email.
                user['name'] = self.obfuscate(key)
                if self.__name__ == 'membership' and len(user['name']) > 3:
                    parts = user['name'].split("@")
                    midlen = len(parts[0]) / 2
                    user['name'] = parts[0][:midlen-1] + "[...]" + parts[0][midlen+2:]
                    if len(parts) > 1:
                        user['name'] += '@%s' % parts[1]

                user['sortkey'] = key.lower()
            sortable.append(user)
        import operator
        return sorted(sortable, key=operator.itemgetter('sortkey'))
Ejemplo n.º 2
0
 def member_title(self, arg):
     return member_title(arg)