No Description

branch_campus_admin_views.py 4.6KB

    # -*- coding: utf-8 -*- from __future__ import division from django.conf import settings from django.contrib.auth.hashers import check_password, make_password from django_response import response from paginator import pagination from registration.models import BranchCampusAdministratorInfo, CourseRegisterInfo, UserCourseRegisterInfo def add_branch_campus_admin(request): campus_id = request.POST.get('campus_id', '') campus_name = request.POST.get('campus_name', '') name = request.POST.get('name', '') phone = request.POST.get('phone', '') password = phone[-6:] encryption = make_password(password, settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER) admin = BranchCampusAdministratorInfo.objects.create( campus_id=campus_id, campus_name=campus_name, name=name, phone=phone, password=password, encryption=encryption, ) return response(data={ 'admin': admin.admin_id, }) def update_branch_campus_admin(request): admin_id = request.POST.get('admin_id', '') target_admin_id = request.POST.get('target_admin_id', '') name = request.POST.get('name', '') phone = request.POST.get('phone', '') user_status = request.POST.get('user_status', 0) password = phone[-6:] encryption = make_password(password, settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER) BranchCampusAdministratorInfo.objects.filter( admin_id=target_admin_id, ).update( name=name, phone=phone, password=password, encryption=encryption, user_status=user_status, ) CourseRegisterInfo.objects.filter(admin_id=admin_id).update(admin_name=name) UserCourseRegisterInfo.objects.filter(admin_id=admin_id).update(admin_name=name) return response() def get_branch_campus_admin_list(request): campus_id = request.POST.get('campus_id', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) admins = BranchCampusAdministratorInfo.objects.filter(status=True) if campus_id: admins = admins.filter(campus_id=campus_id) count = admins.count() admins, left = pagination(admins, page, num) admins = [a.data for a in admins] return response(data={ 'logs': admins, 'count': count, 'left': left, }) def delete_branch_campus_admin(request): admin_id = request.POST.get('admin_id', '') target_admin_id = request.POST.get('target_admin_id', '') BranchCampusAdministratorInfo.objects.filter(admin_id=target_admin_id).update(statue=False) return response() def apply_branch_campus_admin(request): user_id = request.POST.get('user_id', '') campus_id = request.POST.get('campus_id', '') campus_name = request.POST.get('campus_name', '') name = request.POST.get('name', '') phone = request.POST.get('phone', '') password = phone[-6:] encryption = make_password(password, settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER) admin = BranchCampusAdministratorInfo.objects.create( user_id=user_id, campus_id=campus_id, campus_name=campus_name, name=name, phone=phone, password=password, encryption=encryption, ) return response(data={ 'admin': admin.admin_id, }) def login_branch_campus_admin(request): phone = request.POST.get('phone', '') password = request.POST.get('password', '') try: admin = BranchCampusAdministratorInfo.objects.get(phone=phone) except BranchCampusAdministratorInfo.DoesNotExist: return response() # 密码不匹配 if not check_password(password, admin.encryption): return response() # 未激活 if admin.user_status != BranchCampusAdministratorInfo.ACTIVATED: return response() return response(data={ 'data': admin.data, }) def change_password_branch_campus_admin(request): admin_id = request.POST.get('admin_id', '') old_password = request.POST.get('old_password', '') new_password = request.POST.get('new_password', '') try: admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id) except BranchCampusAdministratorInfo.DoesNotExist: return response() # 密码不匹配 if not check_password(old_password, admin.encryption): return response(40001, 'Password mismatch', '密码不匹配') encryption = make_password(new_password, settings.MAKE_PASSWORD_SALT, settings.MAKE_PASSWORD_HASHER) BranchCampusAdministratorInfo.objects.filter( admin_id=admin_id, ).update( password=new_password, encryption=encryption, ) return response()