Esempio n. 1
0
    def post(self, request):
        # 获取动作并判断要执行的操作
        # add 新增
        # change_password 修改密码
        # del 删除
        action = request.POST.get('action')
        if action == 'add':
            # 获取信息
            name = request.POST.get('name')
            job_num = request.POST.get('job_num')
            password = get_md5(request.POST.get('password'))

            # 判断此工号是否已存在
            if check_job_num_exists(job_num):
                # 记录此工号的管理员已存在错误信息
                request.session['error_message'] = '此工号的管理员已存在'
                # 重定向到一级管理员管理页面
                return redirect('AdminZero:admin_first_management')

            # 新增
            AdminFirst.objects.create(
                name=name,
                job_num=job_num,
                password=password
            )
            # 记录成功信息
            request.session['success_message'] = '增加成功'
            # 重定向一级管理员管理页面
            return redirect('AdminZero:admin_first_management')
        elif action == 'change_password':
            # 获取信息
            change_id = request.POST.get('change_id')
            change_password = get_md5(request.POST.get('change_password'))

            # 更改密码
            admin_first = AdminFirst.objects.get(id=change_id)
            admin_first.password = change_password
            admin_first.save()

            # 记录成功信息
            request.session['success_message'] = '密码修改成功'
            # 重定向一级管理员管理页面
            return redirect('AdminZero:admin_first_management')
        elif action == 'del':
            # 获取信息
            del_id = request.POST.get('del_id')

            # 删除
            admin_first = AdminFirst.objects.get(id=del_id)
            admin_first.delete()

            # 记录成功信息
            request.session['success_message'] = '删除成功'
            # 重定向一级管理员管理页面
            return redirect('AdminZero:admin_first_management')
        else:
            # 未知错误,不明的操作
            # 记录非法操作错误并重定向二级管理员管理页面
            request.session['error_message'] = '非法操作类型'
            return redirect('AdminZero:admin_first_management')
Esempio n. 2
0
    def post(self, request):
        # 从前端取得填写的旧密码以及两次新密码
        old_password = get_md5((request.POST.get('old_password')))
        new_password = get_md5((request.POST.get('new_password')))
        confirm_password = get_md5((request.POST.get('confirm_password')))

        # 对比旧密码是否正确
        admin_zero = AdminZero.objects.get(job_num=request.session.get('job_num'))
        current_password = admin_zero.password
        if old_password != current_password:
            # 旧密码错误
            request.session['error_message'] = '旧密码有误!'
            return redirect('AdminZero:change_password')
        # 对比两次确认密码是否一致
        if new_password != confirm_password:
            # 不一致错误
            request.session['error_message'] = '两次新密码不一致!'
            return redirect('AdminZero:change_password')

        # 更新密码
        admin_zero.password = new_password
        admin_zero.save()

        # 记录成功信息
        request.session['success_message'] = '密码修改成功'
        # 重定向密码更改页面
        return redirect('AdminZero:change_password')
Esempio n. 3
0
    def post(self, request):
        # 根据action判断动作
        # add 新增
        # del 删除
        # change_password 修改密码
        action = request.POST.get('action')
        if action == 'add':
            # 获取填写的信息
            name = request.POST.get('name')
            job_num = request.POST.get('job_num')
            password = get_md5(request.POST.get('password'))

            # 判断此工号是否已存在
            if check_job_num_exists(job_num):
                # 记录此工号的管理员已存在错误信息
                request.session['error_message'] = '此工号的管理员已存在'
                # 重定向到二级管理员管理页面
                return redirect('AdminZero:admin_second_management')

            # 新增
            AdminSecond.objects.create(
                name=name,
                job_num=job_num,
                password=password
            )
            # 记录成功信息
            request.session['success_message'] = '增加成功'
            # 重定向二级管理员管理页面
            return redirect('AdminZero:admin_second_management')
        elif action == 'change_password':
            # 获取要修改的二级管理员id以及新密码
            change_id = request.POST.get('change_id')
            change_password = get_md5(request.POST.get('change_password'))

            # 取出此二级管理员
            admin_second = AdminSecond.objects.get(id=change_id)
            admin_second.password = change_password
            admin_second.save()

            # 记录成功信息
            request.session['success_message'] = '密码修改成功'
            # 重定向二级管理员管理页面
            return redirect('AdminZero:admin_second_management')
        elif action == 'del':
            # 获取要删除的二级管理员id
            del_id = request.POST.get('del_id')
            # 删除
            admin_second = AdminSecond.objects.get(id=del_id)
            admin_second.delete()
            # 记录成功信息
            request.session['success_message'] = '删除成功'
            # 重定向二级管理员管理页面
            return redirect('AdminZero:admin_second_management')
        else:
            # 未知错误,不明的操作
            # 记录非法操作错误并重定向二级管理员管理页面
            request.session['error_message'] = '非法操作类型'
            return redirect('AdminZero:admin_second_management')
Esempio n. 4
0
    def post(self, request):
        # 获取输入的两次密码
        new_password = request.POST.get('new_password')
        confirm_password = request.POST.get('confirm_password')

        # 如果两次密码不一致则返回两次密码不一致错误
        if new_password != confirm_password:
            request.session['error_message'] = '两次密码不一致,请重试'
            return redirect('Customer:change_password')

        # 转换为md5并记录
        customer = Customer.objects.get(phone=request.session.get('customer_phone'))
        customer.password = get_md5(new_password)
        customer.save()

        # 记录成功信息
        request.session['success_message'] = '密码修改成功'
        # 重定向客户密码更改页面
        return redirect('Customer:change_password')
 def post(self, request):
     # 获取前端的动作
     # change_password 修改三级管理员密码
     action = request.POST.get('action')
     # 判断要执行的操作
     if action == 'change_password':
         # 修改三级管理员密码
         # 获取新密码并md5加密
         change_password = get_md5(request.POST.get('change_password'))
         # 获取要更改的三级管理员id
         change_id = request.POST.get('change_id')
         # 更改保存
         admin_third = AdminThird.objects.get(id=change_id)
         admin_third.password = change_password
         admin_third.save()
         # 记录成功信息并重定向三级管理员页面
         request.session['success_message'] = '密码修改成功'
         return redirect('AdminSecond:admin_third_management')
     else:
         # 未知错误,不明的操作
         # 记录非法操作错误并重定向三级管理员管理页面
         request.session['error_message'] = '非法操作类型'
         return redirect('AdminSecond:admin_third_management')
Esempio n. 6
0
    def post(self, request):
        # 获取工号和密码
        job_num = request.POST.get('job_num')
        password = request.POST.get('password')
        # 获取md5加密后的密码
        password_md5 = get_md5(password)

        # 根据工号从零一二三管理员里取,并判断管理员的身份
        if AdminZero.objects.filter(job_num=job_num).exists():
            # 记录是零级管理员
            # 同时登录Django-admin的对应二级管理员账户,用于使用Django-ckeditor对活动进行编辑
            request.session['who_login'] = '******'
            admin = AdminZero.objects.get(job_num=job_num)
            # 登录Django-admin
            django_admin_username = '******'
            django_admin_password = '******'
            django_admin_user_obj = auth.authenticate(
                username=django_admin_username, password=django_admin_password)
            auth.login(request, django_admin_user_obj)
        elif AdminFirst.objects.filter(job_num=job_num).exists():
            # 记录是一级管理员
            # 同时登录Django-admin的对应二级管理员账户,用于使用Django-ckeditor对活动进行编辑
            request.session['who_login'] = '******'
            admin = AdminFirst.objects.get(job_num=job_num)
            # 登录Django-admin
            django_admin_username = '******'
            django_admin_password = '******'
            django_admin_user_obj = auth.authenticate(
                username=django_admin_username, password=django_admin_password)
            auth.login(request, django_admin_user_obj)
        elif AdminSecond.objects.filter(job_num=job_num).exists():
            # 记录是二级管理员
            # 同时登录Django-admin的对应二级管理员账户,用于使用Django-ckeditor对活动进行编辑
            request.session['who_login'] = '******'
            admin = AdminSecond.objects.get(job_num=job_num)
            # 登录Django-admin
            django_admin_username = '******'
            django_admin_password = '******'
            django_admin_user_obj = auth.authenticate(
                username=django_admin_username, password=django_admin_password)
            auth.login(request, django_admin_user_obj)
        elif AdminThird.objects.filter(job_num=job_num).exists():
            # 记录是三级管理员
            request.session['who_login'] = '******'
            admin = AdminThird.objects.get(job_num=job_num)
        else:
            # 工号不存在
            # 记录错误信息
            request.session['error_message'] = '工号不存在'
            # 重定向登录页面
            return redirect('Login:admin_login')

        # 判断密码是否正确
        if password_md5 != admin.password:
            # 密码错误
            # 清空登录者身份记录
            request.session['who_login'] = ''
            # 记录错误信息
            request.session['error_message'] = '密码错误'
            # 重定向登录页面
            return redirect('Login:admin_login')

        # 记录登录成功
        request.session['is_login'] = True
        request.session['job_num'] = job_num
        request.session['name'] = admin.name
        # 重定向登录页面
        return redirect('Login:admin_login')
Esempio n. 7
0
    def post(self, request):
        # 获取填写的手机号
        phone = request.POST.get('phone')
        # 看看用户记录里有没有这个手机号
        # 没有的话就记录此手机号无记录错误 TODO 优化这里的取客户动作,应该在这里取出后面共用
        if not Customer.objects.filter(phone=phone).exists():
            # 记录此手机号无记录错误
            request.session['error_message'] = '此手机号无记录'
            # 重定向客户登录页面
            return redirect('Login:customer_login')

        # 获取用户登录的方法
        action = request.POST.get('action')
        # 判断不同的登录方法
        # msg_login 短信验证码登录
        # password_login 密码登录
        if action == 'msg_login':
            # 短信验证码登录
            # 获取填写的短信验证码
            msg_code = request.POST.get('msg_code')

            # 从redis取出此手机号的短信验证码
            redis_cli = get_redis_connection('msg_code')
            correct_msg_code = redis_cli.get(phone)  # 取出来是b数据,需要解码
            # 如果redis中有记录才进行解码操作,避免对None进行decode而报错
            if correct_msg_code:
                correct_msg_code = correct_msg_code.decode()

            # 验证短信验证码
            if msg_code != correct_msg_code:
                # 记录验证码错误错误信息
                request.session['error_message'] = '短信验证码有误'
                # 重定向客户登录页面
                return redirect('Login:customer_login')
        elif action == 'password_login':
            # 密码登录
            # 获取填写的密码并转为md5
            password = get_md5(request.POST.get('password'))
            # 取出正确的密码
            password_currect = Customer.objects.get(phone=phone).password
            # 进行密码比对,错误就记录错误信息并重定向客户登录页面
            if password_currect != password:
                request.session['error_message'] = '密码输入有误'
                return redirect('Login:customer_login')
        else:
            # 未知方法
            # 记录未知登录方法并重定向客户登录页面
            request.session['error_message'] = '未知的登录方法,请重试'
            return redirect('Login:customer_login')

        # 取出当前客户
        customer = Customer.objects.get(phone=phone)

        # 没问题了,记录登录信息
        request.session['who_login'] = '******'
        request.session['customer_phone'] = phone
        request.session['customer_id'] = customer.id
        request.session['name'] = customer.name

        # 重定向客户登录页面,将会根据记录的登录信息自动跳转相应的页面
        return redirect('Login:customer_login')
    def post(self, request):
        # 获取action,并判断执行相应的操作
        # add 新增
        # del 删除
        # change_password 修改密码
        # change_admin_second 变更二级管理员
        action = request.POST.get('action')
        if action == 'add':
            # 获取新增信息
            name = request.POST.get('name')
            job_num = request.POST.get('job_num')
            password = get_md5(request.POST.get('password'))
            admin_second_id = request.POST.get('admin_second')

            # 判断给定工号是否已存在
            if check_job_num_exists(job_num):
                # 记录此工号已存在错误信息
                request.session['error_message'] = '此工号已存在'
                # 重定向三级管理员管理页面
                return redirect('AdminZero:admin_third_management')

            # 新增
            AdminThird.objects.create(
                name=name,
                job_num=job_num,
                password=password,
                admin_second=AdminSecond.objects.get(id=admin_second_id),
            )

            # 记录成功信息
            request.session['success_message'] = '新增成功'
            # 重定向三级管理员管理页面
            return redirect('AdminZero:admin_third_management')
        elif action == 'del':
            # 获取要删除的三级管理员id
            del_id = request.POST.get('del_id')
            # 取出要删除的三级管理员
            admin_third = AdminThird.objects.get(id=del_id)
            # 判断此三级管理员下是否还有客户
            # 有的话就报错不给删
            if admin_third.activityrecord_set.exists():
                # 记录该三级管理员还有客户未转出
                request.session['error_message'] = '该三级管理员还有未转出客户,请转出后再删除'
                # 重定向三级管理员管理页面
                return redirect('AdminZero:admin_third_management')
            # 删除
            admin_third.delete()
            # 记录成功信息
            request.session['success_message'] = '删除成功'
            # 重定向三级管理员管理页面
            return redirect('AdminZero:admin_third_management')
        elif action == 'change_password':
            # 获取要修改密码的三级管理员id和新密码
            change_id = request.POST.get('change_id')
            change_password = get_md5(request.POST.get('change_password'))

            # 取出并修改
            admin_third = AdminThird.objects.get(id=change_id)
            admin_third.password = change_password
            admin_third.save()

            # 记录成功信息
            request.session['success_message'] = '密码修改成功'
            # 重定向三级管理员管理页面
            return redirect('AdminZero:admin_third_management')
        elif action == 'change_admin_second':
            # 获取要变更的三级管理员id以及变更的二级管理员id
            change_id = request.POST.get('change_id')
            change_admin_second_id = request.POST.get('change_admin_second')

            # 取出此三级管理员
            admin_third = AdminThird.objects.get(id=change_id)
            # 变更
            admin_third.admin_second = AdminSecond.objects.get(id=change_admin_second_id)
            admin_third.save()

            # 记录成功信息
            request.session['success_message'] = '变更成功'
            # 重定向三级管理员管理页面
            return redirect('AdminZero:admin_third_management')
        else:
            # 未知错误,不明的操作
            # 记录非法操作错误并重定向三级管理员管理页面
            request.session['error_message'] = '非法操作类型'
            return redirect('AdminZero:admin_third_management')
Esempio n. 9
0
    def post(self, request):
        # 获取action,并判断执行相应的操作
        # add 新增
        # del 删除
        # change_password 修改密码
        # change_admin_second 变更二级管理员
        # transfer_customer 转让名下客户
        action = request.POST.get('action')
        if action == 'add':
            # 获取新增信息
            name = request.POST.get('name')
            job_num = request.POST.get('job_num')
            password = get_md5(request.POST.get('password'))
            admin_second_id = request.POST.get('admin_second')

            # 判断给定工号是否已存在
            if check_job_num_exists(job_num):
                # 记录此工号已存在错误信息
                request.session['error_message'] = '此工号已存在'
                # 重定向三级管理员管理页面
                return redirect('AdminFirst:admin_third_management')

            # 新增
            AdminThird.objects.create(
                name=name,
                job_num=job_num,
                password=password,
                admin_second=AdminSecond.objects.get(id=admin_second_id),
            )

            # 记录成功信息
            request.session['success_message'] = '新增成功'
            # 重定向三级管理员管理页面
            return redirect('AdminFirst:admin_third_management')
        elif action == 'del':
            # 获取要删除的三级管理员id
            del_id = request.POST.get('del_id')
            # 取出要删除的三级管理员
            admin_third = AdminThird.objects.get(id=del_id)
            # 判断此三级管理员下是否还有客户
            # 有的话就报错不给删
            if admin_third.activityrecord_set.exists():
                # 记录该三级管理员还有客户未转出
                request.session['error_message'] = '该三级管理员还有未转出客户,请转出后再删除'
                # 重定向三级管理员管理页面
                return redirect('AdminFirst:admin_third_management')
            # 删除
            admin_third.delete()
            # 记录成功信息
            request.session['success_message'] = '删除成功'
            # 重定向三级管理员管理页面
            return redirect('AdminFirst:admin_third_management')
        elif action == 'change_password':
            # 获取要修改密码的三级管理员id和新密码
            change_id = request.POST.get('change_id')
            change_password = get_md5(request.POST.get('change_password'))

            # 取出并修改
            admin_third = AdminThird.objects.get(id=change_id)
            admin_third.password = change_password
            admin_third.save()

            # 记录成功信息
            request.session['success_message'] = '密码修改成功'
            # 重定向三级管理员管理页面
            return redirect('AdminFirst:admin_third_management')
        elif action == 'change_admin_second':
            # 获取要变更的三级管理员id以及变更的二级管理员id
            change_id = request.POST.get('change_id')
            change_admin_second_id = request.POST.get('change_admin_second')

            # 取出此三级管理员
            admin_third = AdminThird.objects.get(id=change_id)
            # 变更
            admin_third.admin_second = AdminSecond.objects.get(id=change_admin_second_id)
            admin_third.save()

            # 记录成功信息
            request.session['success_message'] = '变更成功'
            # 重定向三级管理员管理页面
            return redirect('AdminFirst:admin_third_management')
        elif action == 'transfer_customer':
            # 获取两个三级管理员的id
            from_admin_third_id = request.POST.get('transfer_customer_admin_third_id')
            to_admin_third_id = request.POST.get('transfer_admin_third')

            # 取出这两个三级管理员
            try:
                from_admin_third = AdminThird.objects.get(id=from_admin_third_id)
                to_admin_third = AdminThird.objects.get(id=to_admin_third_id)
            except AdminThird.DoesNotExist:
                # 未取到
                messages.error(request, '未取到该客户经理,请刷新重试')
                return redirect('AdminFirst:admin_third_management')
            # 取到这两个三级管理员了

            # 遍历将from名下的客户转移到to名下
            for customer_activity_record in from_admin_third.activityrecord_set.all():
                customer_activity_record.admin_third = to_admin_third
                customer_activity_record.save()
            # 转移完毕

            # 记录成功信息
            messages.success(request, '转让成功')
            return redirect('AdminFirst:admin_third_management')

        else:
            # 未知错误,不明的操作
            # 记录非法操作错误并重定向三级管理员管理页面
            request.session['error_message'] = '非法操作类型'
            return redirect('AdminFirst:admin_third_management')