def choices_widget(node, kw): request = kw.get('request') if request.context: is_admin = has_permission('group:admin', request.context, request) groups = Group.get_all(request) if is_admin: choices = [ ('', '- None -'), ] for group in groups: choices.append((str(group.pk), group.name)) return deform.widget.SelectWidget(values=choices) return deform.widget.HiddenWidget()