def get_head_user(cls, user) -> Res_proc: """ Get head user or None """ from .serv_typestatus import type_status_user res_proc = Res_proc() userHead = None try: user = getUser(user) if user is None: cls._run_raise('get_head_user: нет данных для арг. user') if user.is_superuser: userHead = cls.get_user_head() res_proc.res_model = userHead return res_proc obj_typeStatus = type_status_user(user) if not obj_typeStatus: cls._run_raise( 'get_head_user: ошибка вызваемой процедуры type_status_user(user)' ) levelperm = obj_typeStatus.levelperm if levelperm in (40, 70, 100): userHead = user else: level = levelperm user_next = cls.get_user_cons(user) # Подъем на следующий уровень, пока не будет достигнут level >= 40 while level < 40: obj_typeStatus = type_status_user(user_next) if not obj_typeStatus: cls._run_raise( 'get_head_user: ошибка вызваемой процедуры type_status_user(user)' ) level = obj_typeStatus.levelperm if level > 39: break user_next = cls.get_user_cons(user_next) userHead = user_next if userHead: res_proc.res_model = userHead res_proc.res = True except Exception as ex: res_proc.error = ex return res_proc
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
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
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
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
def servAdvUser_get_advUser(arg_user): from .models import AdvUser def _run_raise(s_arg, showMes=None): _s_err = 'SyntaxError##advuser.serv_advuser.servAdvUser_get_advUser' if showMes: raise ErrorRun_impl('verify##{0}'.format(s_arg)) else: s_mes = '{0} {1}'.format(_s_err, s_arg) TypeError_system( ErrorRun_impl(s_mes)) # запись в файл app/loggin/*.log raise ErrorRun_impl(s_mes) #----------------------------------------------------------------- res_proc = Res_proc() try: _user = getUser(arg_user) if _user is None: _run_raise(s_arg='Пользователь не определен User') row = AdvUser.objects.filter(user=_user) if row.exists(): res_proc.res_model = row.first() res_proc.res = True else: _run_raise(s_arg='Нет данных AdvUser') except Exception as ex: res_proc.error = ex return res_proc