Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
 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
Пример #4
0
 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
Пример #5
0
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()