def main(): args = parse_args() load_config(args.conf_file) if args.instance is None: instance = None else: instance = valid_instance(args.instance) invited_badge = valid_userbadge(args.badge.decode('utf-8'), instance) creator = User.find(u'admin') if args.action == u'invite': template = valid_template(args.template) csv_data = valid_csv(args.csv_file) for user_info in csv_data: user_info[u'user_badges'].add(invited_badge) ret = user_import(csv_data, args.subject, template, creator, instance) print_invite_result(ret) elif args.action == u'reinvite': template = valid_template(args.template) users = invited_users(invited_badge, activated=False) csv_data = [{ u'email': u.email, u'user_name': u.user_name, u'display_name': u.display_name, u'user_badges': set(), } for u in users] ret = user_import(csv_data, args.subject, template, creator, instance, reinvite=True) print_invite_result(ret, reinvite=True) elif args.action == u'revoke': users = invited_users(invited_badge, activated=False) if len(users) != 0: for user in users: revoke(user) else: print(u"No users to revoke") elif args.action == u'uninvite': if len(args.users) != 0: for name in args.users: user = User.find(name) uninvite(user, invited_badge, revoke=args.revoke) else: print(u"No users to uninvite") meta.Session.commit()
def main(): args = parse_args() load_config(args.conf_file) if args.instance is None: instance = None else: instance = valid_instance(args.instance) invited_badge = valid_userbadge(args.badge.decode("utf-8"), instance) creator = User.find(u"admin") if args.action == u"invite": template = valid_template(args.template) csv_data = valid_csv(args.csv_file) for user_info in csv_data: user_info[u"user_badges"].add(invited_badge) ret = user_import(csv_data, args.subject, template, creator, instance) print_invite_result(ret) elif args.action == u"reinvite": template = valid_template(args.template) users = invited_users(invited_badge, activated=False) csv_data = [ {u"email": u.email, u"user_name": u.user_name, u"display_name": u.display_name, u"user_badges": set()} for u in users ] ret = user_import(csv_data, args.subject, template, creator, instance, reinvite=True) print_invite_result(ret, reinvite=True) elif args.action == u"revoke": users = invited_users(invited_badge, activated=False) if len(users) != 0: for user in users: revoke(user) else: print (u"No users to revoke") elif args.action == u"uninvite": if len(args.users) != 0: for name in args.users: user = User.find(name) uninvite(user, invited_badge, revoke=args.revoke) else: print (u"No users to uninvite") meta.Session.commit()
def _to_python(self, value, state): from adhocracy.model import User user = User.find(value) if not user: raise formencode.Invalid( _("No user with the user name '%s' exists") % value, value, state) return user
def main(): parser = create_parser(description=__doc__, use_instance=False) parser.add_argument( "username", help=("The name of the user who should become a global admin")) args = parser.parse_args() load_from_args(args) user = User.find(args.username) if user is None: print 'Cannot find user %s\n' % args.username parser.exit() global_membership = [membership for membership in user.memberships if membership.instance is None][0] admin_group = Group.by_code(Group.CODE_ADMIN) global_membership.group = admin_group meta.Session.commit()