暫無描述

course_views.py 3.5KB

    # -*- coding: utf-8 -*- from __future__ import division from django_query import get_query_value from django_response import response from paginator import pagination from registration.models import BranchCampusAdministratorInfo, CourseInfo, CourseRegisterFieldInfo, CourseRegisterInfo, BranchCampusInfo def add_course(request): # { # "course_name": "", # "authorities": [{ # "admin_id": "", # "campus_id": "", # "campus_name": "", # "name": "", # "phone": "", # "user_status": "", # }], # "fields": [{ # "field_id": "", # 有值更新,没值新建 # "fields": [ # { # "type": "input", # input, select, file # "name": "", # "options": ["男", "女"], # type=select # } # ] # }] # } course_name = request.POST.get('course_name', '') authorities = get_query_value(request, 'authorities', val_cast_type='listjson') all_fields = get_query_value(request, 'fields', val_cast_type='listjson') course = CourseInfo.objects.create(course_name=course_name, authorities=authorities) for fields in all_fields: CourseRegisterFieldInfo.objects.create(course_id=course.course_id, course_name=course_name, fields=fields.get('fields', [])) return response(data={ 'course_id': course.course_id, 'course_info': course.data, }) def update_course(request): course_id = request.POST.get('course_id', '') course_name = request.POST.get('course_name', '') authorities = get_query_value(request, 'authorities', val_cast_type='listjson') all_fields = get_query_value(request, 'fields', val_cast_type='listjson') CourseInfo.objects.filter(course_id=course_id).update(course_name=course_name, authorities=authorities) CourseRegisterFieldInfo.objects.filter(course_id=course_id).update(course_name=course_name) CourseRegisterInfo.objects.filter(course_id=course_id).update(course_name=course_name) for fields in all_fields: CourseRegisterFieldInfo.objects.update_or_create(field_id=fields.get('field_id'), defaults={ 'course_id': course_id, 'course_name': course_name, 'fields': fields.get('fields', []), }) course = CourseInfo.objects.get(course_id=course_id) return response(data={ 'course_info': course.data, }) def get_course_list(request): admin_id = request.POST.get('admin_id', '') page = request.POST.get('page', 1) num = request.POST.get('num', 20) try: admin = BranchCampusAdministratorInfo.objects.get(admin_id=admin_id, user_status=BranchCampusAdministratorInfo.ACTIVATED) except BranchCampusAdministratorInfo.DoesNotExist: admin = None courses = CourseInfo.objects.filter(status=True) if admin and admin.data.get('campus_type', BranchCampusInfo.BRANCH) == BranchCampusInfo.BRANCH: courses = courses.filter(authorities__contains=admin.campus_id) count = courses.count() courses, left = pagination(courses, page, num) courses = [course.admindata(admin_id) for course in courses] return response(data={ 'logs': courses, 'count': count, 'left': left, }) def delete_course(request): course_id = request.POST.get('course_id', '') CourseInfo.objects.filter(course_id=course_id).update(status=False) return response()