コード例 #1
0
 def put(self, id):
     data = get_json()
     user = self.get_user(id)
     if user is None:
         return create_response(
             404, create_message_error(404, 'USER_NOT_ACTIVATED'))
     response = self.keystone.change_password(user['keystone_user_id'],
                                              data)
     if response.status_code is not 204:
         self.status_code = response.status_code
         self.item = create_message_error(self.status_code,
                                          json.loads(response.text))
     else:
         self.u.update(id, {"password": False})
     return create_response(self.status_code, self.item)
コード例 #2
0
    def get(self, id):
        user = self.get_user(id)
        if user is None:
            return create_response(
                404, create_message_error(404, 'USER_NOT_ACTIVATED'))
        new_password = generate_password()
        response = self.keystone.patch_user(user['keystone_user_id'],
                                            new_password)
        if response.status_code == 200:
            self.smm.change_password(user['email'], new_password)
            self.u.update(id, {"password": True})
        else:
            self.status_code = response.status_code
            self.item = create_message_error(self.status_code,
                                             json.loads(response.text))

        return create_response(self.status_code, self.item)
コード例 #3
0
    def post(self):
        data = get_json()
        user = self.u.get_by_field('email', data['email'])
        if user is None:
            self.item = create_message_error(404, '')
            return create_response(404, self.item)
        new_password = generate_password()
        response = self.keystone.patch_user(user['keystone_user_id'],
                                            new_password)
        if response.status_code == 200:
            self.smm.change_password(user['email'], new_password)
            self.u.update(str(user['_id']), {"password": True})
        else:
            self.status_code = response.status_code
            self.item = create_message_error(self.status_code,
                                             json.loads(response.text))

        return create_response(self.status_code, self.item)
コード例 #4
0
ファイル: user.py プロジェクト: Fundacio-i2CAT/ai4.0-catalog
 def delete(self, id):
     self.u.update(id, self.data_delete)
     user = self.u.get(id)
     response = self.keystone.patch_user(user['keystone_user_id'], False)
     if response.status_code == 200:
         status_code = 204
         item = None
     else:
         status_code = 404
         item = create_message_error(404, "USER_NOT_FOUND")
     return create_response(status_code, item)
コード例 #5
0
    def user_login(self, email, password):
        self.keystone.keystone_admin = email
        self.keystone.keystone_admin_pass = password
        response = self.keystone.get_login()

        if response.status_code == 201:
            # Encontrado el usuario en Keystone. Lo buscamos en mongo
            data = find_one_in_collection(
                'users', {
                    'keystone_user_id':
                    json.loads(response.text)['token']['user']['id']
                })
            if data is not None:
                self.create_role_user(data)
                response.status_code = 200
            else:
                response.status_code = 404
                self.item = create_message_error(response.status_code,
                                                 "USER_NOT_FOUND")
        return create_response(response.status_code, self.item)
コード例 #6
0
ファイル: user.py プロジェクト: Fundacio-i2CAT/ai4.0-catalog
 def put(self, id):
     data = get_json()
     user = find_one_in_collection(self.collection, {"_id": ObjectId(id)})
     if 'activated' in data:
         response = self.keystone.patch_user(user['keystone_user_id'],
                                             data['activated'])
         if response.status_code == 200:
             if user['activated'] and not data['activated']:
                 self.smm.ban(user['email'])
             if data['activated'] and not user['activated']:
                 self.smm.welcome(user['email'])
     if '_id' in data:
         del data['_id']
     try:
         self.u.update(id, data)
         status_code = 204
     except Exception as e:
         print e
         status_code = 400
         self.item = create_message_error(status_code, "USER_NOT_FOUND")
         if 'activated' in data:
             self.keystone.patch_user(user['keystone_user_id'],
                                      not (data['activated']))
     return create_response(status_code, self.item)