def save_upd(self, arg_user: User, arg_parentuser) -> Res_proc: """ Процедура обработки обновления профиля клиента """ from app.com_serv_dbase.serv_modf_profil import serv_add_profil from .serv_sprstatus import Com_proc_sprstatus try: res_proc = Res_proc() cd_dict = self.cleaned_data s_error = 'ValueError##advuser.form.Base_profilForm.save_upd' user_head = getUser(arg_parentuser) user = getUser(arg_user) js_struct = Com_proc_advuser.get_js_struct(user) js_struct = self.com_modf_quest( user_head, js_struct) # верификация pswcl and logincl cd_dict['js_struct'] = js_struct cd_dict['username'] = user.username cd_dict = clear_space(cd_dict) cd_dict = upd_space_into_empty(cd_dict) res_proc = serv_add_profil(cd_dict, serv_proc='sp_serv_upd_profil') except Exception as ex: res_proc.error = ex return res_proc
def save_add(self, arg_user:User)->Res_proc: """ Процедура обработки добавления профиля клиента """ from django.contrib.auth.hashers import make_password from app.com_serv_dbase.serv_modf_profil import serv_add_profil from app.models import spr_fields_models res_proc = Res_proc() cd_dict = self.cleaned_data s_error = 'ValueError##advuser.form.Base_profilForm.save_add' try: parentuser = Com_proc_advuser.get_user_cons(arg_user) if parentuser is None: run_raise(s_error+' Консультант гостВхода не найден') status = Com_proc_sprstatus.get_status_by_levelperm(20) statusID = status.pk levelperm_sel = status.levelperm # Заполнение структуры js_struct # from spr_fields_models.js_data where levelperm = levelperm_sel js_struct = spr_fields_models.get_js_struct(levelperm_sel) js_struct['pswcl'] = getPassword_cl() js_struct['idcomp'] = cd_dict.get('idcomp') or 'empty' cd_dict.update( dict( parentuser = parentuser.username, password = make_password(js_struct['pswcl']), username = getLogin_cl(), status_id= statusID, full_name= cd_dict['first_name'] + ' ' + cd_dict['last_name'], js_struct = js_struct )) cd_dict = clear_space(cd_dict) cd_dict = upd_space_into_empty(cd_dict) res_proc = serv_add_profil(cd_dict) except Exception as ex: res_proc.error = ex return res_proc
def save(self, arg_user, arg_parentuser)->Res_proc: from app.com_serv_dbase.serv_modf_profil import serv_add_profil res_proc = Res_proc() cd_dict = self.cleaned_data s_error = 'ValueError##advuser.form.UpdProf_memberForm.save' try: user = getUser(arg_user) if user is None: run_raise(s_error + ' Пользователь не найден в БД') user_head = getUser(arg_parentuser) _advdata = Com_proc_advuser.get_advData(user) # Параметр, который не используется в форме, но обязателен cd_dict['sendMes'] = _advdata['sendMes'] js_struct = Com_proc_advuser.get_js_struct(user) js_struct['idcomp'] = cd_dict['idcomp'] # верификация а clean() js_struct = self.com_modf_quest(user_head, js_struct) # верификация pswcl and logincl # ----------- Подготовка dict for servProc ---------------- cd_dict.update( dict(username=user.username, js_struct = js_struct )) # удаление пробелов. Для подстраховки cd_dict = clear_space(cd_dict) cd_dict = upd_space_into_empty(cd_dict) # дополнительное преобразование # Запись профиля в БД by servProc res_proc = serv_add_profil(cd_dict, serv_proc='sp_serv_upd_profil') except Exception as ex: res_proc.error = ex; return res_proc
def save(self, arg_username, arg_parentuser): """ Сохранение изменений профиля arg_username для обработки профиля arg_parentuser для доступа к значению pswcl на уровне рукГруппы """ from app.com_serv_dbase.serv_modf_profil import serv_add_profil res_proc = Res_proc() try: user = getUser(arg_username) if user is None: run_raise('Сбой обработки профиля: пользователь не определен', showMes=True) user_head = getUser(arg_parentuser) cd_dict = self.cleaned_data cd_dict['username'] = user.username js_struct = Com_proc_advuser.get_js_struct(user) js_struct['idcomp'] = cd_dict[ 'idcomp'] # верификация idcomp в clean() js_struct = self.com_modf_quest( user_head, js_struct) # верификация pswcl and logincl cd_dict['js_struct'] = js_struct # удаление пробелов. Для подстраховки cd_dict = clear_space(cd_dict) cd_dict = upd_space_into_empty(cd_dict) res_proc = serv_add_profil(cd_dict, serv_proc='sp_serv_upd_profil') except Exception as ex: res_proc.error = ex return res_proc
def save(self, arg_user): """ Сохранение профиля пользователя на уровне рукГруппы """ from django.contrib.auth.hashers import make_password from app.com_serv_dbase.serv_modf_profil import serv_add_profil from app.models import spr_fields_models cd_dict = self.cleaned_data s_error = 'advuser.form.AddProf_memberForm.save' s_err = 'verify##' res_proc = Res_proc() try: if self.errors_clean: # ошибка из процедуры clean() run_raise(self.errors_clean, showMes=True) user_head = getUser(arg_user) status_head = type_status_user(user_head) levelperm_head = status_head.levelperm levelperm_sel = cd_dict['status'].levelperm statusID = cd_dict['status'].pk del cd_dict['status'] cd_dict['sendMes'] = 'true' if levelperm_sel == 20: run_raise( 'Профиль клиента должен создавать пользователь гостВхода', showMes=True) if levelperm_head < 40 or levelperm_sel > levelperm_head: run_raise(s_err + 'Нет прав на создание профиля', showMes=True) # Заполнение структуры js_struct # from spr_fields_models.js_data where levelperm = levelperm_sel js_struct = spr_fields_models.get_js_struct(levelperm_sel) # Для рукГрупп создается новый набор свойств pswcl and logincl if levelperm_sel < 40: js_struct = self.com_modf_quest( user_head, js_struct) # Заполнение pswcl logincl else: # Заполнение pswcl logincl новыми значениями js_struct = self.com_modf_quest(user_head, js_struct, new_pswd=True) js_struct['idcomp'] = cd_dict['idcomp'] cd_dict.update( dict( parentuser=user_head.username, password=make_password(cd_dict['password']), password_cl=make_password(js_struct['pswcl']), full_name=cd_dict['first_name'] + ' ' + cd_dict['last_name'], status_id=statusID, js_struct=js_struct, pswcl=js_struct[ 'pswcl'], # используется для инициализации questProfil logincl=js_struct['logincl'])) res_proc = serv_add_profil(cd_dict) except Exception as ex: res_proc.error = ex return res_proc