def get(self, request):
        if session_judge(request):
            return HttpResponseRedirect('/')

        else:
            modelfile_list = ModelFile.objects.all().order_by('id')
            return render(request, 'stuGra/stuGraModelfiledownload.html', context={'modelfile_list': modelfile_list})
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         result_id = request.POST.get('result_id', '')
         Result.objects.get(id = result_id).delete()
         return HttpResponse('{"status": "success", "msg": "删除成功"}', content_type='application/json')
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id=request.session['user_id'])
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         fund_list = Fund.objects.filter(project_belong_id = srtp_project.project_id).order_by('fund_date')
         return render(request, 'stuSrtp/stuSrtpFundManage.html', context={'fund_list': fund_list})
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         user_id = request.session['user_id']
         student = Student.objects.get(student_id=user_id)
         dissertation_list = Dissertation.objects.filter(student_belong_id=student.id).order_by('file_date')
         return render(request, 'stuGra/stuGraPaper.html', context={'dissertation_list': dissertation_list})
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         user_id = request.session['user_id']
         student = Student.objects.get(student_id=user_id)
         midtermreport_list = MidtermReport.objects.filter(student_belong_id=student.id).order_by('file_date')
         return render(request, 'stuGra/stuGraMidterm.html', context={'midtermreport_list': midtermreport_list})
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id = request.session['user_id'])
         member_num = int(request.POST.get('member_num', '0'))
         stuname_list = []
         stunumber_list = []
         member_list = ''
         if member_num != 0:
             for i in range(1, member_num+1):
                 if i > 1:
                     if i < member_num:
                         member_list = member_list + request.POST.get('stuname_%d' %(i), '') + '、'
                     else:
                         member_list += request.POST.get('stuname_%d' %(i), '')
                 stuname_list.append(request.POST.get('stuname_%d' %(i), ''))
                 stunumber_list.append(request.POST.get('number_%d' %(i), ''))
         applicant_phone = request.POST.get('phone', '')
         applicant_email = request.POST.get('email', '')
         if student.student_name != stuname_list[0] and student.student_id != int(stunumber_list[0]) and student.student_phone != applicant_phone and student.student_email != applicant_email:
             return HttpResponse('{"status": "fail", "msg": "申请人信息填写错误"}', content_type='application/json')
         else:
             srtp_project = Project()
             srtp_project.project_appli_student = student
             srtp_project.project_name = request.POST.get('proname', '')
             srtp_project.project_plan = request.POST.get('jihua', '')
             srtp_project.project_type = request.POST.get('cx', 'cx')
             srtp_project.project_rank = request.POST.get('rank', '1')
             srtp_project.project_subject = request.POST.get('xueke','')
             srtp_project.project_depart = request.POST.get('depart', 'jt')
             srtp_project.project_fund_appli = int(request.POST.get('fund', '3000'))
             srtp_project.project_period = request.POST.get('zhouqi', '1年')
             srtp_project.project_form = request.POST.get('results', '实体')
             begin_date = request.POST.get('begin', datetime.datetime.now().strftime("%Y-%m-%d"))
             if begin_date != '':
                 begin_date = datetime.datetime.strptime(begin_date, "%Y-%m-%d").date()
             one_year = datetime.datetime.now() + datetime.timedelta(days=365)
             print(one_year)
             end_date = request.POST.get('end', one_year.strftime("%Y-%m-%d"))
             if end_date != '':
                 end_date = datetime.datetime.strptime(end_date, "%Y-%m-%d").date()
             srtp_project.project_date_begin = begin_date
             srtp_project.project_date_end = end_date
             teacher_name = request.POST.get('teacher', '')
             teacher = Teacher.objects.get(teacher_name = teacher_name)
             srtp_project.project_teacher = teacher
             srtp_project.project_member = member_list
             appli_file = request.FILES.get('apply_file', '')
             file_detail = file_upload(appli_file, 'SrtpAppli')
             srtp_project.project_appli_name = file_detail[0]
             srtp_project.project_appli_url = file_detail[1]
             srtp_project.project_apply_status = True
             srtp_project.save()
             return HttpResponse('{"status": "success", "msg": "success"}', content_type='application/json')
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id = request.session['user_id'])
         srtp_project = Project.objects.get(project_appli_student_id = student.id)
         teacher_uid = srtp_project.project_teacher_id
         teacher = Teacher.objects.get(id = teacher_uid)
         teacher_name = teacher.teacher_name
         return render(request, 'stuSrtp/stuSrtpProInfo.html', context={'srtp_project': srtp_project,
                                                                        'teacher_name': teacher_name})
    def get(self, request, notifi_id):
        if session_judge(request):
            return HttpResponseRedirect('/')
        else:

            notification = Notification.objects.get(notifi_id = int(notifi_id))
            try:
                notifi_file_list = NotifiFile.objects.filter(notifi_belong = notification)
            except Notification.DoesNotExist:
                notifi_file_list = None
            return render(request, 'stuGra/stuGraNotification.html', context={'notification': notification,
                                                                                'notifi_file_list': notifi_file_list})
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         all_notification = Notification.objects.all().order_by("-notifi_date")
         # 分页:
         try:
             page = int(request.GET.get('page', '1'))
         except PageNotAnInteger:
             page = 1
         p = Paginator(all_notification, 5, request=request)
         notification_list = p.page(page)
         return render(request, 'stuGra/stuGraHome.html', context={'notification_list': notification_list})
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         user_id = request.session['user_id']
         student = Student.objects.get(student_id=user_id)
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         addfund_num = request.POST.get('fund', '0')
         addfund_reason = request.POST.get('addReason', '')
         addfund = AddFund()
         addfund.addfund_num = int(addfund_num)
         addfund.addfund_reason = addfund_reason
         addfund.project_belong = srtp_project
         addfund.save()
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         try:
             all_project = Project.objects.filter(Q(project_check_status = True) & Q(project_apply_status = False)).order_by('project_id')
         except Project.DoesNotExist:
             all_project = None
         try:
             page = int(request.GET.get('page', '1'))
         except PageNotAnInteger:
             page = 1
         p = Paginator(all_project, 5, request=request)
         project_list = p.page(page)
         return render(request, 'stuSrtp/stuSrtpProList.html', context={'project_list': project_list})
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         user_id = request.session['user_id']
         student = Student.objects.get(student_id=user_id)
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         addfund_checkok_list = AddFund.objects.filter(Q(project_belong_id = srtp_project.project_id)&Q(addfund_check_status = '1')&Q(addfund_add_status = '0'))
         if addfund_checkok_list != '':
             for addfund_checkok in addfund_checkok_list:
                 addfund_checkok_money = addfund_checkok.addfund_num
                 srtp_project.project_fund_approv += addfund_checkok_money
                 addfund_checkok.addfund_add_status = '1'
                 addfund_checkok.save()
         srtp_project.save()
         return render(request, 'stuSrtp/stuSrtpProManage.html')
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         user_id = request.session['user_id']
         student = Student.objects.get(student_id=user_id)
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         project_name = srtp_project.project_name
         try:
             midterm = MidTerm.objects.get(project_belong_id = srtp_project.project_id)
         except MidTerm.DoesNotExist:
             midterm = MidTerm()
             midterm.midterm_check_status = '0'
             midterm.midterm_cehck_point = '0'
             midterm.project_belong = srtp_project
             midterm.save()
         return render(request, 'stuSrtp/stuSrtpMidTermApply.html', context={'project_name': project_name,
                                                                             'midterm': midterm})
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         user_id = request.session['user_id']
         student = Student.objects.get(student_id=user_id)
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         project_name = srtp_project.project_name
         try:
             conclusion = Conclusion.objects.get(project_belong_id = srtp_project.project_id)
         except Conclusion.DoesNotExist:
             conclusion = Conclusion()
             conclusion.conclusion_check_status = '0'
             conclusion.conclusion_check_point = '0'
             conclusion.project_belong = srtp_project
             conclusion.save()
         return render(request, 'stuSrtp/stuSrtpConcluApply.html', context={'project_name': project_name,
                                                                            'conclusion': conclusion})
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id = request.session['user_id'])
         dissertation = Dissertation()
         teacher_name = request.POST.get('tea_name', '')
         teacher = Teacher.objects.get(teacher_name = teacher_name)
         dessertation_file = request.FILES.get('biye_file', '')
         file_detail = file_upload(dessertation_file, 'GradDissertation')
         dissertation.file_name = file_detail[0]
         dissertation.file_url = file_detail[1]
         dissertation.student_belong = student
         dissertation.teacher_to = teacher
         try:
             dissertation.save()
         except:
             return HttpResponse('{"status": "fail", "msg": "你已经提交毕业设计论文"}', content_type='application/json')
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id = request.session['user_id'])
         midtermreport = MidtermReport()
         teacher_name = request.POST.get('tea_name', '')
         teacher = Teacher.objects.get(teacher_name = teacher_name)
         midterm_file = request.FILES.get('mid_file', '')
         file_detail = file_upload(midterm_file, 'GradMidterm')
         midtermreport.file_name = file_detail[0]
         midtermreport.file_url = file_detail[1]
         midtermreport.student_belong = student
         midtermreport.teacher_to = teacher
         try:
             midtermreport.save()
         except:
             return HttpResponse('{"status": "fail", "msg": "你已经提交中期报告"}', content_type='application/json')
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id = request.session['user_id'])
         openingreport = OpeningReport()
         teacher_name = request.POST.get('tea_name', '')
         teacher = Teacher.objects.get(teacher_name = teacher_name)
         proposal_file = request.FILES.get('kaiti_file', '')
         file_detail = file_upload(proposal_file, 'GradOpening')
         openingreport.file_name = file_detail[0]
         openingreport.file_url = file_detail[1]
         openingreport.student_belong = student
         openingreport.teacher_to = teacher
         try:
             openingreport.save()
         except:
             return HttpResponse('{"status": "fail", "msg": "你已经提交开题报告"}', content_type='application/json')
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id=request.session['user_id'])
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         midterm_file = request.FILES.get('file', '')
         file_detail = file_upload(midterm_file, 'SrtpMidTerm')
         try:
             midterm = MidTerm.objects.get(project_belong_id = srtp_project.project_id)
         except MidTerm.DoesNotExist:
             midterm = MidTerm()
         midterm.midterm_file_name = file_detail[0]
         midterm.midterm_file_url = file_detail[1]
         midterm.midterm_check_status = '1'
         midterm.midterm_check_point = '1'
         midterm.project_belong = srtp_project
         midterm.save()
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id=request.session['user_id'])
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         conclusion_file = request.FILES.get('file', '')
         file_detail = file_upload(conclusion_file, 'SrtpConclusion')
         try:
             conclusion = Conclusion.objects.get(project_belong_id=srtp_project.project_id)
         except Conclusion.DoesNotExist:
             conclusion = Conclusion()
         conclusion.conclusion_file_name = file_detail[0]
         conclusion.conclusion_file_url = file_detail[1]
         conclusion.conclusion_check_status = '1'
         conclusion.conclusion_check_point = '1'
         conclusion.project_belong = srtp_project
         conclusion.save()
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
    def post(self, request):
        if session_judge(request):
            return HttpResponseRedirect('/')
        else:
            schedule_time = request.POST.get('time', datetime.datetime.now().strftime("%Y-%m-%d"))
            if schedule_time != '':
                schedule_date = datetime.datetime.strptime(schedule_time, "%Y-%m-%d %H:%M:%S").date()

            schedule_num = request.POST.get('select', '')
            schedule_detail = request.POST.get('jinzhan', '')

            student = Student.objects.get(student_id=request.session['user_id'])
            srtp_project = Project.objects.get(project_appli_student_id=student.id)
            schedule = Schedule()
            schedule.schedule_date = schedule_date
            schedule.schedule_num = schedule_num
            schedule.schedule_detail = schedule_detail
            schedule.project_belong = srtp_project
            schedule.save()
            return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         fund_time = request.POST.get('riqi', datetime.datetime.now().strftime("%Y-%m-%d"))
         if fund_time != '':
             fund_date = datetime.datetime.strptime(fund_time, "%Y-%m-%d").date()
         fund_name = request.POST.get('jutizhichu', '')
         fund_type = request.POST.get('leibie', '12')
         fund_num = int(request.POST.get('jine', ''))
         student = Student.objects.get(student_id=request.session['user_id'])
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         fund = Fund()
         fund.fund_name = fund_name
         fund.fund_type = fund_type
         fund.fund_num = fund_num
         fund.fund_date = fund_date
         fund.project_belong = srtp_project
         fund.save()
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         result_name = request.POST.get('mingcheng' '')
         result_type = request.POST.get('leixing', '7')
         result_date = request.POST.get('riqi', datetime.datetime.now().strftime("%Y-%m-%d"))
         if result_date != '':
             result_date = datetime.datetime.strptime(result_date, '%Y-%m-%d').date()
         result_master = request.POST.get('suoyouren', '')
         result_file = request.FILES.get('file')
         file_detail = file_upload(result_file, 'SrtpResult')
         student = Student.objects.get(student_id=request.session['user_id'])
         srtp_project = Project.objects.get(project_appli_student_id=student.id)
         result = Result()
         result.result_name = result_name
         result.result_type = result_type
         result.result_date = result_date
         result.result_master = result_master
         result.result_file_name = file_detail[0]
         result.result_file_url = file_detail[1]
         result.project_belong = srtp_project
         result.save()
         return HttpResponse('{"status": "success", "msg": "添加成功"}', content_type='application/json')
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         return render(request, 'stuSrtp/stuSrtpProManage.html')
 def get(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         student = Student.objects.get(student_id=request.session['user_id'])
         return render(request, 'personInfo/stuInfo.html', context={'student': student})
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         return HttpResponse('{"status": "success", "msg": "success"}', content_type='application/json')
 def post(self, request, notifi_id):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         notification = Notification.objects.get(notifi_id=int(notifi_id))
         return render(request, 'stuGra/stuGraNotification.html', context={'notification': notification})
 def post(self, request):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         self.get(request)
 def post(self, request, project_id):
     if session_judge(request):
         return HttpResponseRedirect('/')
     else:
         project = Project.objects.get(project_id =int(project_id))
         return render(request, 'stuSrtp/stuSrtpSpecificInfo.html', context={'project': project})