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')
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')
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')
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')
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')
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')
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')