コード例 #1
0
ファイル: forms.py プロジェクト: anygitdata/nltest
    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
コード例 #2
0
ファイル: forms.py プロジェクト: anygitdata/ubn-nltest
    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
コード例 #3
0
ファイル: forms.py プロジェクト: anygitdata/ubn-nltest
    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
コード例 #4
0
ファイル: forms.py プロジェクト: anygitdata/nltest
    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
コード例 #5
0
ファイル: forms.py プロジェクト: anygitdata/nltest
    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