Beispiel #1
0
    def update_user(self, user_id, user):
        with sql.session_for_write() as session:
            user_ref = self._get_user(session, user_id)
            old_user_dict = user_ref.to_dict()
            for k in user:
                old_user_dict[k] = user[k]
            new_user = model.User.from_dict(old_user_dict)
            for attr in model.User.attributes:
                if attr not in model.User.readonly_attributes:
                    setattr(user_ref, attr, getattr(new_user, attr))
            # Move the "_resource_options" attribute over to the real user_ref
            # so that resource_options.resource_options_ref_to_mapper can
            # handle the work.
            setattr(user_ref, '_resource_options',
                    getattr(new_user, '_resource_options', {}))

            # Move options into the proper attribute mapper construct
            resource_options.resource_options_ref_to_mapper(
                user_ref, model.UserOption)

            if 'password' in user:
                user_ref.password = user['password']
                if self._change_password_required(user_ref):
                    expires_now = datetime.datetime.utcnow()
                    user_ref.password_ref.expires_at = expires_now

            user_ref.extra = new_user.extra
            return base.filter_user(user_ref.to_dict(include_extra_dict=True))
Beispiel #2
0
    def update_user(self, user_id, user):
        with sql.session_for_write() as session:
            user_ref = self._get_user(session, user_id)
            old_user_dict = user_ref.to_dict()
            for k in user:
                old_user_dict[k] = user[k]
            new_user = model.User.from_dict(old_user_dict)
            for attr in model.User.attributes:
                if attr not in model.User.readonly_attributes:
                    setattr(user_ref, attr, getattr(new_user, attr))
            # Move the "_resource_options" attribute over to the real user_ref
            # so that resource_options.resource_options_ref_to_mapper can
            # handle the work.
            setattr(user_ref, '_resource_options',
                    getattr(new_user, '_resource_options', {}))

            # Move options into the proper attribute mapper construct
            resource_options.resource_options_ref_to_mapper(
                user_ref, model.UserOption)

            if 'password' in user:
                user_ref.password = user['password']
                if self._change_password_required(user_ref):
                    expires_now = datetime.datetime.utcnow()
                    user_ref.password_ref.expires_at = expires_now

            user_ref.extra = new_user.extra
            return base.filter_user(
                user_ref.to_dict(include_extra_dict=True))
Beispiel #3
0
Datei: sql.py Projekt: Boye-Z/123
    def update_project(self, project_id, project):
        update_project = self._encode_domain_id(project)
        with sql.session_for_write() as session:
            project_ref = self._get_project(session, project_id)
            old_project_dict = project_ref.to_dict()
            for k in update_project:
                old_project_dict[k] = update_project[k]
            # When we read the old_project_dict, any "null" domain_id will have
            # been decoded, so we need to re-encode it
            old_project_dict = self._encode_domain_id(old_project_dict)
            new_project = sql_model.Project.from_dict(old_project_dict)
            for attr in sql_model.Project.attributes:
                if attr != 'id':
                    setattr(project_ref, attr, getattr(new_project, attr))
            # Move the "_resource_options" attribute over to the real ref
            # so that resource_options.resource_options_ref_to_mapper can
            # handle the work.
            setattr(project_ref, '_resource_options',
                    getattr(new_project, '_resource_options', {}))

            # Move options into the proper attribute mapper construct
            resource_options.resource_options_ref_to_mapper(
                project_ref, sql_model.ProjectOption)
            project_ref.extra = new_project.extra
            return project_ref.to_dict(include_extra_dict=True)
Beispiel #4
0
 def create_role(self, role_id, role):
     with sql.session_for_write() as session:
         ref = sql_model.RoleTable.from_dict(role)
         session.add(ref)
         # Set resource options passed on creation
         resource_options.resource_options_ref_to_mapper(
             ref, sql_model.RoleOption)
         return ref.to_dict()
Beispiel #5
0
Datei: sql.py Projekt: Boye-Z/123
 def create_project(self, project_id, project):
     new_project = self._encode_domain_id(project)
     with sql.session_for_write() as session:
         project_ref = sql_model.Project.from_dict(new_project)
         session.add(project_ref)
         # Set resource options passed on creation
         resource_options.resource_options_ref_to_mapper(
             project_ref, sql_model.ProjectOption)
         return project_ref.to_dict()
Beispiel #6
0
 def create_user(self, user_id, user):
     with sql.session_for_write() as session:
         user_ref = model.User.from_dict(user)
         if self._change_password_required(user_ref):
             user_ref.password_ref.expires_at = datetime.datetime.utcnow()
         user_ref.created_at = datetime.datetime.utcnow()
         session.add(user_ref)
         # Set resource options passed on creation
         resource_options.resource_options_ref_to_mapper(
             user_ref, model.UserOption)
         return base.filter_user(user_ref.to_dict())
Beispiel #7
0
 def create_user(self, user_id, user):
     with sql.session_for_write() as session:
         user_ref = model.User.from_dict(user)
         if self._change_password_required(user_ref):
             user_ref.password_ref.expires_at = datetime.datetime.utcnow()
         user_ref.created_at = datetime.datetime.utcnow()
         session.add(user_ref)
         # Set resource options passed on creation
         resource_options.resource_options_ref_to_mapper(
             user_ref, model.UserOption)
         return base.filter_user(user_ref.to_dict())
Beispiel #8
0
 def update_role(self, role_id, role):
     with sql.session_for_write() as session:
         ref = self._get_role(session, role_id)
         old_dict = ref.to_dict()
         for k in role:
             old_dict[k] = role[k]
         new_role = sql_model.RoleTable.from_dict(old_dict)
         for attr in sql_model.RoleTable.attributes:
             if attr != 'id':
                 setattr(ref, attr, getattr(new_role, attr))
         ref.extra = new_role.extra
         ref.description = new_role.description
         # Move the "_resource_options" attribute over to the real ref
         # so that resource_options.resource_options_ref_to_mapper can
         # handle the work.
         setattr(ref, '_resource_options',
                 getattr(new_role, '_resource_options', {}))
         # Move options into the propper attribute mapper construct
         resource_options.resource_options_ref_to_mapper(
             ref, sql_model.RoleOption)
         return ref.to_dict()