Exemplo n.º 1
0
    def run(self, username, password, email, admin=False, support=False):

        # force type conversion to boolean
        user_type = "administrator" if admin else "user"

        userdata = {
            "username": username,
            "password": password,
            "email": email,
            "user_type": user_type,
            "is_active": admin,
            "is_support": support,
            "needs_activation": not admin,
        }

        with app.test_request_context("/users", method="POST"):
            if userdata.get("password", None) and not is_hashed(userdata.get("password")):
                userdata["password"] = get_hash(
                    userdata.get("password"), app.config.get("BCRYPT_GENSALT_WORK_FACTOR", 12)
                )

            user = superdesk.get_resource_service("users").find_one(username=userdata.get("username"), req=None)

            if user:
                logger.info("user already exists %s" % (userdata))
            else:
                logger.info("creating user %s" % (userdata))
                superdesk.get_resource_service("users").post([userdata])
                logger.info("user saved %s" % (userdata))

            return userdata
Exemplo n.º 2
0
    def run(self, username, password, email, admin=False, support=False):

        # force type conversion to boolean
        user_type = 'administrator' if admin else 'user'

        userdata = {
            'username': username,
            'password': password,
            'email': email,
            'user_type': user_type,
            'is_active': admin,
            'is_support': support,
            'needs_activation': not admin
        }

        with app.test_request_context('/users', method='POST'):
            if userdata.get('password', None) and not is_hashed(userdata.get('password')):
                userdata['password'] = get_hash(userdata.get('password'),
                                                app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))

            user = superdesk.get_resource_service('users').find_one(username=userdata.get('username'), req=None)

            if user:
                logger.info('user already exists %s' % (userdata))
            else:
                logger.info('creating user %s' % (userdata))
                superdesk.get_resource_service('users').post([userdata])
                logger.info('user saved %s' % (userdata))

            return userdata
Exemplo n.º 3
0
    def run(self, username, password, email, admin='false'):

        # force type conversion to boolean
        user_type = 'administrator' if admin.lower() == 'true' else 'user'

        userdata = {
            'username': username,
            'password': password,
            'email': email,
            'user_type': user_type,
            app.config['LAST_UPDATED']: utcnow(),
        }

        with app.test_request_context('/users', method='POST'):
            if userdata.get('password', None) and not is_hashed(userdata.get('password')):
                userdata['password'] = get_hash(userdata.get('password'),
                                                app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))

            user = superdesk.get_resource_service('users').find_one(username=userdata.get('username'), req=None)

            if user:
                logger.info('updating user %s' % (userdata))
                superdesk.get_resource_service('users').patch(user.get('_id'), userdata)
                return userdata
            else:
                logger.info('creating user %s' % (userdata))
                userdata[app.config['DATE_CREATED']] = userdata[app.config['LAST_UPDATED']]
                superdesk.get_resource_service('users').post([userdata])

            logger.info('user saved %s' % (userdata))
            return userdata
Exemplo n.º 4
0
    def run(self, username, password, email, admin=False):

        # force type conversion to boolean
        user_type = 'administrator' if admin else 'user'

        userdata = {
            'username': username,
            'password': password,
            'email': email,
            'user_type': user_type,
            'is_active': admin,
            'needs_activation': not admin
        }

        with app.test_request_context('/users', method='POST'):
            if userdata.get('password', None) and not is_hashed(userdata.get('password')):
                userdata['password'] = get_hash(userdata.get('password'),
                                                app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))

            user = superdesk.get_resource_service('users').find_one(username=userdata.get('username'), req=None)

            if user:
                logger.info('user already exists %s' % (userdata))
            else:
                logger.info('creating user %s' % (userdata))
                superdesk.get_resource_service('users').post([userdata])
                logger.info('user saved %s' % (userdata))

            return userdata
Exemplo n.º 5
0
 def on_create(self, docs):
     super().on_create(docs)
     for doc in docs:
         set_original_creator(doc)
         if doc.get('password',
                    None) and not is_hashed(doc.get('password')):
             doc['password'] = self._get_password_hash(doc['password'])
Exemplo n.º 6
0
 def on_create(self, docs):
     super().on_create(docs)
     for doc in docs:
         if doc.get('password',
                    None) and not is_hashed(doc.get('password')):
             doc['password'] = get_hash(
                 doc.get('password'),
                 app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))
Exemplo n.º 7
0
 def on_create(self, docs):
     super().on_create(docs)
     for doc in docs:
         if doc.get("password",
                    None) and not is_hashed(doc.get("password")):
             doc["password"] = get_hash(
                 doc.get("password"),
                 app.config.get("BCRYPT_GENSALT_WORK_FACTOR", 12))
Exemplo n.º 8
0
 def run(self):
     users = superdesk.get_resource_service('auth_users').get(req=None, lookup={})
     for user in users:
         pwd = user.get('password')
         if not is_hashed(pwd):
             updates = {}
             hashed = get_hash(user['password'], app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))
             user_id = user.get('_id')
             updates['password'] = hashed
             superdesk.get_resource_service('users').patch(user_id, updates=updates)
Exemplo n.º 9
0
 def run(self):
     users = superdesk.get_resource_service('auth_users').get(req=None, lookup={})
     for user in users:
         pwd = user.get('password')
         if not is_hashed(pwd):
             updates = {}
             hashed = get_hash(user['password'], app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))
             user_id = user.get('_id')
             updates['password'] = hashed
             superdesk.get_resource_service('users').patch(user_id, updates=updates)
Exemplo n.º 10
0
 def run(self):
     users = superdesk.get_resource_service("auth_users").get(req=None, lookup={})
     for user in users:
         pwd = user.get("password")
         if not is_hashed(pwd):
             updates = {}
             hashed = get_hash(user["password"], app.config.get("BCRYPT_GENSALT_WORK_FACTOR", 12))
             user_id = user.get("_id")
             updates["password"] = hashed
             superdesk.get_resource_service("users").patch(user_id, updates=updates)
Exemplo n.º 11
0
 def on_create(self, docs):
     super().on_create(docs)
     for doc in docs:
         if doc.get('password', None) and not is_hashed(doc.get('password')):
             doc['password'] = get_hash(doc.get('password'), app.config.get('BCRYPT_GENSALT_WORK_FACTOR', 12))
Exemplo n.º 12
0
 def on_create(self, docs):
     super().on_create(docs)
     for doc in docs:
         if doc.get("password",
                    None) and not is_hashed(doc.get("password")):
             doc["password"] = self._get_password_hash(doc["password"])
Exemplo n.º 13
0
 def on_create(self, docs):
     super().on_create(docs)
     for doc in docs:
         if doc.get('password', None) and not is_hashed(doc.get('password')):
             doc['password'] = self._get_password_hash(doc['password'])