Exemplo n.º 1
0
def upload_graduation_topic(request, student_id):
    user = request.user
    user_obj = User.objects.get(id=user.id)
    if request.method == "GET":
        context = {
            "student_id": student_id,
        }
        return render(request, "defense/upload_annex_and_request_defense.html",
                      context)

    if request.method == "POST":
        form = AnnexForm(request.POST)
        file = request.FILES.get("file")
        temp_file = "%s/%s" % (settings.MEDIA_ROOT, file.name)
        with open(temp_file, 'wb') as upload_files:
            for chunk in file.chunks():
                upload_files.write(chunk)
        # 写入临时文件
        file_path = os.path.abspath(temp_file)
        print("##本地文件绝对路径", file_path)
        fdfs_storage = FDFSStorage()
        remote_file_id = fdfs_storage.upload(file_path)[1]

        if form.is_valid():
            form = form.clean()
            print("##FORM内容:", form)
            if has_role(user_obj, ['student']):
                topic2student_obj = Topic2Student.objects.get(student=user.id)
                annex_topic = topic2student_obj.topic
                annex_obj = Annex.objects.create(file=remote_file_id,
                                                 annex_phase_id=5,
                                                 raw_name=form['raw_name'],
                                                 uploader=user,
                                                 detail="论文",
                                                 topic=annex_topic)
                annex_obj.save()
                # 更改学生状态为已经上传论文并申请了答辩
                user_obj.user_phase_id = 10
                user_obj.save()
                print("##################")
                print("学生状态")
                print(user_obj.user_phase_id)
                print("##################")
            elif has_role(user_obj, ['teacher']):
                # topic2teacher_obj = Topic2Teacher.objects.get(teacher_id=user.id)
                # annex_topic = topic2teacher_obj.topic
                annex_obj = Annex.objects.create(file=remote_file_id,
                                                 annex_phase_id=6,
                                                 raw_name=form['raw_name'],
                                                 uploader=user,
                                                 detail="答辩文档",
                                                 topic=None)

            else:
                return HttpResponse("你是个管理员吧???")
            # return redirect(reverse('topic:my_topic'))
            return render(request,
                          "defense/upload_annex_and_request_defense.html",
                          {"student_id": student_id})
Exemplo n.º 2
0
def upload_open_topic(request):
    user = request.user
    user_obj = User.objects.get(id=user.id)
    # name = get_name_role(request)[0]
    # role = get_name_role(request)[1]
    # context = {
    #     "name": name,
    #     "role": role,
    # }
    if request.method == "POST":
        form = AnnexForm(request.POST)
        file = request.FILES.get("file")
        temp_file = "%s/%s" % (settings.MEDIA_ROOT, file.name)
        with open(temp_file, 'wb') as upload_files:
            for chunk in file.chunks():
                upload_files.write(chunk)

        file_path = os.path.abspath(temp_file)
        fdfs_storage = FDFSStorage()
        remote_file_id = fdfs_storage.upload(file_path)[1]

        if form.is_valid():
            form = form.clean()
            print("##FORM内容:", form)
            if has_role(user_obj, ['student']):
                topic2student_obj = Topic2Student.objects.get(student=user.id)
                annex_topic = topic2student_obj.topic
                annex_obj = Annex.objects.create(file=remote_file_id,
                                                 annex_phase_id=2,
                                                 raw_name=form['raw_name'],
                                                 uploader=user,
                                                 detail="form.detail",
                                                 topic=annex_topic)
                annex_obj.save()
                # 更改学生状态为已经上传开题报告
                user_obj.user_phase_id = 6
                user_obj.save()
            elif has_role(user_obj, ['teacher']):
                # topic2teacher_obj = Topic2Teacher.objects.get(teacher_id=user.id)
                # annex_topic = topic2teacher_obj.topic
                annex_obj = Annex.objects.create(file=remote_file_id,
                                                 annex_phase_id=1,
                                                 raw_name=form['raw_name'],
                                                 uploader=user,
                                                 detail="开题报告模板",
                                                 topic=None)
                annex_obj.save()
            else:
                return HttpResponse("你是个管理员吧???")
            return redirect(reverse('topic:my_topic'))

    return render(request, "open_topic/upload_open_topic.html")