Nenhuma Descrição

course_register_views.py 5.3KB

    # -*- coding: utf-8 -*- from __future__ import division from django.db.models import Q from django_query import get_query_value from django_response import response from paginator import pagination from registration.models import BranchCampusAdministratorInfo, CourseRegisterInfo, UserCourseRegisterInfo, BranchCampusInfo def course_register(request): admin_id = request.POST.get('admin_id', '') user_id = request.POST.get('user_id', '') field_id = request.POST.get('field_id', '') course_id = request.POST.get('course_id', '') course_name = request.POST.get('course_name', '') fields = get_query_value(request, 'fields', val_cast_type='listjson') try: admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id) except BranchCampusAdministratorInfo.DoesNotExist: admin = None # CourseRegisterInfo.objects.update_or_create(user_id=user_id, field_id=field_id, course_id=course_id, defaults={ # 'campus_id': admin.campus_id if admin else '', # 'campus_name': admin.campus_name if admin else '', # 'admin_id': admin.admin_id if admin else '', # 'admin_name': admin.admin_name if admin else '', # 'course_name': course_name, # 'fields': fields, # }) course_register, _ = CourseRegisterInfo.objects.get_or_create(user_id=user_id, field_id=field_id, course_id=course_id) if not course_register.campus_id: course_register.campus_id = admin.campus_id if admin else '' if not course_register.campus_name: course_register.campus_name = admin.campus_name if admin else '' if not course_register.admin_id: course_register.admin_id = admin.admin_id if admin else '' if not course_register.admin_name: course_register.admin_name = admin.name if admin else '' course_register.course_name = course_name course_register.fields = fields course_register.save() registers = CourseRegisterInfo.objects.filter(user_id=user_id, course_id=course_id, status=True) registers = [register.data for register in registers] # UserCourseRegisterInfo.objects.update_or_create(user_id, course_id, defaults={ # 'campus_id': admin.campus_id if admin else '', # 'campus_name': admin.campus_name if admin else '', # 'admin_id': admin.admin_id if admin else '', # 'admin_name': admin.admin_name if admin else '', # 'course_name': course_name, # 'fields': registers, # }) user_course_register, _ = UserCourseRegisterInfo.objects.get_or_create(user_id=user_id, course_id=course_id) if not user_course_register.campus_id: user_course_register.campus_id = admin.campus_id if admin else '' if not user_course_register.campus_name: user_course_register.campus_name = admin.campus_name if admin else '' if not user_course_register.admin_id: user_course_register.admin_id = admin.admin_id if admin else '' if not user_course_register.admin_name: user_course_register.admin_name = admin.name if admin else '' user_course_register.course_name = course_name user_course_register.fields = registers user_course_register.save() return response() def course_register_list(request): admin_id = request.POST.get('admin_id', '') course_id = request.POST.get('course_id', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) query = request.POST.get('query', '') campus_id = request.POST.get('campus_id', '') registers = UserCourseRegisterInfo.objects.filter(fields__contains=query, campus_id__icontains=campus_id, status=True).order_by('-pk') admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id) campus = BranchCampusInfo.objects.get(campus_id=admin.campus_id) if campus.campus_type == BranchCampusInfo.BRANCH: registers = UserCourseRegisterInfo.objects.filter(campus_id=admin.campus_id) if course_id: registers = UserCourseRegisterInfo.objects.filter(course_id=course_id) count = registers.count() registers, left = pagination(registers, page, num) registers = [register.data for register in registers] return response(data={ 'logs': registers, 'count': count, 'left': left, }) def update_course_registers_status(request): admin_id = request.POST.get('admin_id', '') course_id = request.POST.get('course_id', '') user_id = request.POST.get('user_id', '') user_status = request.POST.get('user_status', '') try: admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id, user_status=BranchCampusAdministratorInfo.ACTIVATED, status=True) except BranchCampusAdministratorInfo.DoesNotExist: return response() campus = BranchCampusInfo.objects.get(campus_id=admin.campus_id, status=True) user_course_register = UserCourseRegisterInfo.objects.get(user_id=user_id, course_id=course_id, status=True) if campus.campus_type == BranchCampusInfo.BRANCH and campus.campus_id != user_course_register.campus_id: return response() # 权限校验,只有总院可以修改为已发证状态 if (user_status == UserCourseRegisterInfo.GRADUATED) or (user_status == UserCourseRegisterInfo.CERTIFICATE and campus.campus_type == BranchCampusInfo.MAIN): user_course_register.user_status = user_status user_course_register.save() return response()