def add_fields(self, fields, context=None): if context and len(getGroupIds(context)) == 0: return fields fields += form.Fields(IAddUserSchema) fields['groups'].custom_widget = MultiCheckBoxVocabularyWidget return fields
def update(self): groupname = self.request.form['groupname'] if groupname is None: raise Unauthorized allowed_groups = getGroupIds(self.context) if groupname not in allowed_groups: raise Unauthorized super(ManageMembers, self).update()
def __call__(self, context): pgroups = getToolByName(context, 'portal_groups') terms = [] for groupid in getGroupIds(context): group = pgroups.getGroupById(groupid) if group is not None: terms.append(SimpleTerm(groupid, unicode(groupid), group.getProperty('title', groupid) or groupid)) terms.sort(key=lambda x: normalizeString(x.title)) return SimpleVocabulary(terms)