Exemple #1
0
    def api_admin_create_user(self):
        message, code = None, None
        content = request.get_json()

        if content:
            if 'user' not in content.keys():
                message, code = 'User need to be defined', 200
            else:
                user = content['user']
            if db.userExists(user):
                message, code = 'User {} exists'.format(user), 200
            if 'password' not in content.keys():
                message, code = 'password need to be specified', 200
            if not message:
                admin = True if 'admin' in content.keys() else False
                hashed = True if 'hashed' in content.keys() else False
                localonly = True if 'localonly' in content.keys() else False
                password = content['password']
                db.addUser(user=user,
                           pwd=password,
                           admin=admin,
                           localOnly=localonly,
                           hashed=hashed)
                message, code = 'User {} created'.format(user), 200
        else:
            message, code = 'Missing json data, or not well formatted', 200
        response = make_response(jsonify(message=message), code)
        return response
Exemple #2
0
 def api_admin_create_user(self):
   mandatory = ['user', 'password']
   validator = Toolkit.requestValidation(request, Advanced_API.getAuth()[1])
   if not validator.check_is_master(): return validator.error
   if validator.check_if_json():
       if not validator.check_attributes(mandatory):
           return validator.error
       if not validator.check_object_exists("userExists", validator.content['user']):
           admin = True if 'admin' in validator.content.keys() else False
           hashed = True if 'hashed' in validator.content.keys() else False
           localonly = True if 'localonly' in validator.content.keys() else False
           db.addUser(user=validator.content['user'], pwd=validator.content['password'], admin=admin, localOnly=localonly, hashed=hashed)
           return make_response(jsonify(message="User {} created".format(validator.content['user'])))
       else:
           return validator.error
   else:
       return validator.error
Exemple #3
0
    def register(self):
        if request.method == 'POST':
            if request.form['username'] == '':
                return render_template('register.html',
                                       status='username_missing')

            if request.form['password'] != request.form['password1']:
                return render_template('register.html',
                                       status='password_equal')

            if db.userExists(request.form['username']):
                return render_template('register.html', status='user_exists')

            db.addUser(request.form['username'],
                       request.form['password'],
                       localOnly=True,
                       hashed=False)
            if request.form['email'] != '':
                db.setEmailAddress(request.form['username'],
                                   request.form['email'])
            return render_template('login.html', status="please_login")

        if request.method == 'GET':
            return render_template('register.html', status='')
    if dbLayer.isSingleMaster(user):
        sys.exit(exits['lastMaster'])

# script run
try:
    if args.a:
        username = args.a
        if username.strip() == "_dummy_":
            sys.exit(exits['dummy'])
        if dbLayer.userExists(username):
            sys.exit(exits['userInDb'])
        # set master if db is empty
        if dbLayer.getSize(col) > 0:
            masterLogin()
            password = promptNewPass()
            dbLayer.addUser(username, password)
        else:
            password = promptNewPass()
            dbLayer.addUser(username, password, admin=True)
        sys.exit("User added")
    elif args.c:
        username = args.c
        verifyPass(getpass.getpass("Old password:"******"Password updated")
    elif args.r:
        username = args.r
        if not dbLayer.userExists(username):
            sys.exit(exits['userNotInDb'])
        masterLogin()
        sys.exit(exits['lastMaster'])


# script run
try:
    if args.a:
        username = args.a
        if username.strip() == "_dummy_":
            sys.exit(exits['dummy'])
        if dbLayer.userExists(username):
            sys.exit(exits['userInDb'])
        # set master if db is empty
        if dbLayer.getSize(col) > 0:
            masterLogin()
            password = promptNewPass()
            dbLayer.addUser(username, password)
        else:
            password = promptNewPass()
            dbLayer.addUser(username, password, admin=True)
        sys.exit("User added")
    elif args.c:
        username = args.c
        verifyPass(getpass.getpass("Old password:"******"Password updated")
    elif args.r:
        username = args.r
        if not dbLayer.userExists(username):
            sys.exit(exits['userNotInDb'])
        masterLogin()
# script run
try:
    if args.a:
        if args.c:
            password = args.c
        username = args.a
        if username.strip() == "_dummy_":
            sys.exit(exits['dummy'])
        if dbLayer.userExists(username):
            sys.exit(exits['userInDb'])
        # set master if db is empty
        if dbLayer.getSize(col) > 0:
            masterLogin()
            password = promptNewPass()
            dbLayer.addUser(username, password, localOnly=args.l)
        else:
            password = promptNewPass()
            dbLayer.addUser(username, password, admin=True, localOnly=args.l)

        sys.exit("User added")
    elif args.c:
        username = args.c
        verifyPass(getpass.getpass("Old password:"******"Password updated")
    elif args.r:
        username = args.r
        if not dbLayer.userExists(username):
            sys.exit(exits['userNotInDb'])
    if dbLayer.isSingleMaster(user):
        sys.exit(exits['lastMaster'])

# script run
try:
    if args.a:
        username = args.a
        if username.strip() == "_dummy_":
            sys.exit(exits['dummy'])
        if dbLayer.userExists(username):
            sys.exit(exits['userInDb'])
        # set master if db is empty
        if dbLayer.getSize(col) > 0:
            masterLogin()
            password = promptNewPass()
            dbLayer.addUser(username, password, localOnly=args.l)
        else:
            password = promptNewPass()
            dbLayer.addUser(username, password, admin=True, localOnly=args.l)
        sys.exit("User added")
    elif args.c:
        username = args.c
        verifyPass(getpass.getpass("Old password:"******"Password updated")
    elif args.r:
        username = args.r
        if not dbLayer.userExists(username):
            sys.exit(exits['userNotInDb'])
        masterLogin()