예제 #1
0
    def _conv_into_dict(self):

        if not self.model: return

        _advuser = self.model
        dict_model = {}

        tmp_dict_advuser = spr_fields_models.get_list_fields('advuser',
                                                             exclude='advData')
        keys_tmp_dict = tuple(tmp_dict_advuser.keys())

        for key in keys_tmp_dict:
            if hasattr(_advuser, key):
                val = getattr(_advuser, key)
                if key == 'status':
                    val = val.pk

                dict_model.update({key: val})

        # Результирующий dict из объединения ext_dict.dict and tmp_dict_advuser
        Ext_dict.modifyTmplDict_byExt_dict(tmp_dict_advuser, dict_model)
        self.dict = tmp_dict_advuser

        # Выборка данных из advData
        dict_advData = initDict_from_advData(_advuser.advData, _advuser.status)

        self.dict.update(dict_advData)
예제 #2
0
    def update_user(cls, user, arg_dict, commit=True):
        from app.models import spr_fields_models

        res = Res_proc(res=False)

        # Блок заполнения полей User для существующего пользователя
        if not isinstance(user, User):
            user = getUser(user)
            if user is None:
                res.error = 'ValueError##modify_models.Modify_user.update_user user Нет данных для логина стр.213'
                return res

        # Заполнение списка полей, используемых для этой модели
        arg_dict['list_fieldsModel'] = spr_fields_models.get_list_fields(
            'user', onlyKeys=True)
        init_user = Init_model(user, arg_dict)

        res.res_model = user
        if commit:
            try:

                user.save(force_update=True)
                res.mes = 'Выполнено обновление модели User'
                res.res = True

            except Exception as ex:
                res.error = ex
                return res
        else:
            res.mes = 'Заполнены данные для модели User'
            res.res = True

        return res
예제 #3
0
    def add_user(cls, arg_dict: dict):

        if not isinstance(arg_dict, dict):
            raise ValueError('arg_dict не соответствие типа')

        res = Res_proc()
        ext_dict = Ext_dict(arg_dict)

        tmp_dict = spr_fields_models.get_list_fields('user')
        ext_dict.modifyExtDict_bySelf_dict(tmp_dict)

        tmp_dict.update(dict(password=ext_dict.get_val('password')))
        user = CreateUser_ext.create_user(
            username=tmp_dict['username'],
            email=tmp_dict['email'] if tmp_dict['email'] != 'empty' else None,
            password=tmp_dict['password'])
        user.first_name = tmp_dict['first_name']
        user.last_name = tmp_dict['last_name']

        res.res_model = user

        try:
            user.save()
            res.mes = 'Создан профиль участника проекта'
            res.res = True

            return res

        except Exception as ex:
            res.error = ex
            return res
예제 #4
0
    def add_advuser(user, arg_dict, commit=True):
        res = Res_proc(res=False)

        if not isinstance(user, User):
            raise ValueError('Отсутствует аргумент User')

        advuser = None
        advData = None

        advuser = AdvUser()
        advuser.user = user

        # Заполнение списка полей, используемых для этой модели
        arg_dict['list_fieldsModel'] = spr_fields_models.get_list_fields(
            'advuser', onlyKeys=True, exclude='advData')
        init_advUser = Init_model(advuser, arg_dict)
        res.res_model = advuser

        if commit:
            try:
                advuser.save()
                res.mes = 'Создана модель AdvUser'
                res.res = True

                return res

            except Exception as ex:
                res.error = ex
                return res

        else:
            res.mes = 'Заполнены данные для профиля'
            res.res = True
            return res
예제 #5
0
    def _conv_into_dict(self):

        tmp_dict = spr_fields_models.get_list_fields('user')
        _user = self.model

        _dict = {}
        _dict.update(dict(user_id=_user.pk, full_name=_user.get_full_name()))

        for key in tmp_dict.keys():
            if hasattr(_user, key):
                val = getattr(_user, key)
                _dict.update({key: val})

        # Заполнение tmp_dict данными из _dict
        # здесь же будут произведены все преобразования as default
        Ext_dict.modifyTmplDict_byExt_dict(tmp_dict, _dict)
        self.dict = tmp_dict
예제 #6
0
    def update_advuser(user, arg_dict, commit=True):

        res = Res_proc(res=False)
        advuser = None
        advData = None

        advuser = AdvUser.get_advUser(user)
        if advuser is None:
            res.error = 'ValueError##modify_models.Modify_advuser.update_advuser: Нет данных в AdvUser стр.150'
            return res

        # Заполнение списка полей, используемых для этой модели
        arg_dict['list_fieldsModel'] = spr_fields_models.get_list_fields(
            'advuser', onlyKeys=True, exclude='advData')

        for key, val in arg_dict.items():
            if val == res.PR_empty:
                arg_dict[key] = None

        init_advUser = Init_model(advuser, arg_dict)

        res.res_model = advuser
        if commit:
            try:
                advuser.save()
                res.mes = 'Выполнено обновление модели AdvUser'
                res.res = True

            except Exception as ex:
                res.error = ex
                return res
        else:
            res.mes = 'Заполнены данные для профиля'
            res.res = True

        return res