def getProjectList(request, college_id, special_id, path): if path == FIRST_ROUND_PATH: alloc_project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_APPLICATION_EXPERT_SUBJECT) else: alloc_project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_FINAL_EXPERT_SUBJECT) if college_id != "-1": alloc_project_list = alloc_project_list.filter(teacher__college = college_id) if special_id != "-1": alloc_project_list = alloc_project_list.filter(project_special = special_id) if path == FIRST_ROUND_PATH: unalloc_project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_APPLICATION_SCHOOL_OVER) else: unalloc_project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_FINAL_SCHOOL_OVER) if college_id != "-1": unalloc_project_list = unalloc_project_list.filter(teacher__college = college_id) if special_id != "-1": unalloc_project_list = unalloc_project_list.filter(project_special = special_id) for project in alloc_project_list: project.review_status = getProjectReviewStatus(project) context = getContext(unalloc_project_list, 1, "item", 0) context2 = getContext(alloc_project_list, 1, "item2", 0) html_alloc = render_to_string("school/widgets/alloc_project_table.html", context2) html_unalloc = render_to_string("school/widgets/unalloc_project_table.html", context) return simplejson.dumps({"html_alloc": html_alloc, "html_unalloc": html_unalloc, })
def allocView(request): expert_list = ExpertProfile.objects.all() unalloc_project_list = get_project_list(request).filter( project_status__status=PROJECT_STATUS_APPLICATION_SCHOOL_OVER) alloc_project_list = get_project_list(request).filter( project_status__status=PROJECT_STATUS_APPLICATION_EXPERT_SUBJECT) form = FilterForm(request=request) expert_form = FilterForm() context = { "form": form, "expert_form": expert_form, "page_info": "alloc", } context.update(getContext(unalloc_project_list, 1, "item", 0)) context.update(getContext(alloc_project_list, 1, "item2", 0)) context.update(getContext(expert_list, 1, "item3", 0)) for expert in context['item3_list']: expert.alloc_num = Re_Project_Expert.objects.filter( Q(expert=expert) & Q(is_first_round=True) & Q(project__project_status__status= PROJECT_STATUS_APPLICATION_EXPERT_SUBJECT)).count() for project in context['item2_list']: project.review_status = getProjectReviewStatus(project) return render(request, "school/alloc.html", context)
def getAllocProjectPagination(request, page, college_id, special_id, path): message = "" page = int(page) if path == FIRST_ROUND_PATH: project_list = get_project_list(request).filter( project_status__status=PROJECT_STATUS_APPLICATION_EXPERT_SUBJECT) else: project_list = get_project_list(request).filter( project_status__status=PROJECT_STATUS_FINAL_EXPERT_SUBJECT) if college_id != "-1": project_list = project_list.filter(teacher__college=college_id) if special_id != "-1": project_list = project_list.filter(project_special=special_id) context = getContext(project_list, page, "item2", 0) for project in context["item2_list"]: project.review_status = getProjectReviewStatus(project) html = render_to_string("school/widgets/alloc_project_table.html", context) return simplejson.dumps({ "message": message, "html": html, })
def getUnallocProjectPagination(request, page, college_id, special_id, path): message = "" page = int(page) if path == FIRST_ROUND_PATH: project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_APPLICATION_SCHOOL_OVER) else: project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_FINAL_SCHOOL_OVER) if college_id != "-1": project_list = project_list.filter(teacher__college = college_id) if special_id != "-1": project_list = project_list.filter(project_special = special_id) context = getContext(project_list, page, "item", 0) html = render_to_string("school/widgets/unalloc_project_table.html", context) return simplejson.dumps({"message": message, "html": html, })
def getAllocProjectPagination(request, page, college_id, special_id, path): message = "" page = int(page) if path == FIRST_ROUND_PATH: project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_APPLICATION_EXPERT_SUBJECT) else: project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_FINAL_EXPERT_SUBJECT) if college_id != "-1": project_list = project_list.filter(teacher__college = college_id) if special_id != "-1": project_list = project_list.filter(project_special = special_id) context = getContext(project_list, page, "item2", 0) for project in context["item2_list"]: project.review_status = getProjectReviewStatus(project) html = render_to_string("school/widgets/alloc_project_table.html", context) return simplejson.dumps({"message": message, "html": html, })
def finalAllocView(request): expert_list = ExpertProfile.objects.all() unalloc_project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_FINAL_SCHOOL_OVER) alloc_project_list = get_project_list(request).filter(project_status__status = PROJECT_STATUS_FINAL_EXPERT_SUBJECT) form = FilterForm(request = request) expert_form = FilterForm() context = {"form": form, "expert_form": expert_form, "page_info": "finalalloc",} context.update(getContext(unalloc_project_list, 1, "item", 0)) context.update(getContext(alloc_project_list, 1, "item2", 0)) context.update(getContext(expert_list, 1, "item3", 0)) for expert in context['item3_list']: expert.alloc_num = Re_Project_Expert.objects.filter(Q(expert = expert) & Q(is_first_round = True) & Q(project__project_status__status = PROJECT_STATUS_APPLICATION_EXPERT_SUBJECT)).count() for project in context['item2_list']: project.review_status = getProjectReviewStatus(project) return render(request, "school/alloc.html", context)
def finalInfoView(request): project_list = get_project_list(request).filter(project_status__status__gte = PROJECT_STATUS_APPROVAL); comment="" for item in project_list: if item.comment!="": comment=item.comment context = { 'role':"teacher", 'comment':comment, 'project_list':project_list, } return render(request,"teacher/finalinfo.html",context)
def homeView(request): if not firstLoginChecker(request): return HttpResponseRedirect(reverse("teacher.views.settingView")) project_list = get_project_list(request).filter(project_status__status__lt = PROJECT_STATUS_APPROVAL); year = datetime.datetime.now().year projectCreationForbidCheck = (get_project_list(request).filter(Q(application_year = year) | Q(approval_year = year)).count() > 0) creationForm = ProjectCreationForm() comment="" for item in project_list: if item.comment!="": comment=item.comment if item.project_special.application_status: item.specialform=ProjectChangeForm(special=item.project_special) context = { 'comment':comment, 'project_list':project_list, 'form': creationForm, 'projectCreationForbidCheck': projectCreationForbidCheck, } return render(request,"teacher/project_info.html",context)