From 3cd2bab7b96859864cb2e34764a8bce1cb339cf2 Mon Sep 17 00:00:00 2001 From: Monster Date: Tue, 19 May 2020 15:17:49 +0800 Subject: [PATCH 1/2] del restartpy.sh from git --- backend/.gitignore | 1 + backend/restartpy.sh | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) delete mode 100755 backend/restartpy.sh diff --git a/backend/.gitignore b/backend/.gitignore index 339ae4f..b3e8d69 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,2 +1,3 @@ run.sh nohup.out +restartpy.sh diff --git a/backend/restartpy.sh b/backend/restartpy.sh deleted file mode 100755 index 69425e9..0000000 --- a/backend/restartpy.sh +++ /dev/null @@ -1,5 +0,0 @@ -pkill uwsgi -python manage.py makemigrations -python manage.py migrate -# nohup python manage.py runserver 0.0.0.0:8000 & -uwsgi --ini uwsgi.ini -- Gitee From 1fc3efaf6410af16c7080322440118b7d9560075 Mon Sep 17 00:00:00 2001 From: Monster Date: Tue, 19 May 2020 16:04:01 +0800 Subject: [PATCH 2/2] add admin_add_task --- backend/db.sqlite3 | Bin 4636672 -> 4636672 bytes backend/ddl_killer/views.py | 74 +++++++++++++++++++++--------------- 2 files changed, 44 insertions(+), 30 deletions(-) diff --git a/backend/db.sqlite3 b/backend/db.sqlite3 index c0d38926401bdc44b77d7cb1d376cae5539416b6..d8cc19ab85604c3252219560a2ab000837029e63 100644 GIT binary patch delta 856 zcmajd%WD%+6bA6zJ86@2a%cKd`-tP1w6;}~PG&O6Orq7KT5wS}V$elYT9eX1Tgg6?IWT89{2T+k#H9FqEW_6Tr#I76vZ;s z(III!WM8QWvU`7tPKCKfwr>00(gT;;D-Rz0S{7xEPWM5u=bXoMzchJCOf4nPaELL0P02o8b-hd_qI z5QYeJKqnl5F6f3HI10z$I7A@^y`VrGRL~#+IwT|@rdum$6`V36ut>np_MtiQ+vYtN^?rUlWodeCgkVz^k{rWo)hW)Q-hV z&KGqYZ8y)2@3Pz+FUWeiqTr$(9unw4CvM;-Zs9iWAc-z?qX#M6g^ynJA&q_v;2s7s zg!_1ahZx2qWH5p(atM&eV~pYn#!$dGikQG8rZ9~eJjE>Lbh$F$*l?q&7I9D9AMS!X apsrNdTeaV6{#L49OFhGLT}zc#xBdgEnzP&h diff --git a/backend/ddl_killer/views.py b/backend/ddl_killer/views.py index 30e5c96..49e2f5f 100644 --- a/backend/ddl_killer/views.py +++ b/backend/ddl_killer/views.py @@ -322,40 +322,54 @@ def show_user_courses(request, uid): #用户查看自己所选课程 return JsonResponse(response, json_dumps_params={'ensure_ascii':False}, charset='utf_8_sig') -def admin_add_task(request, cid): #课程管理员为选择了所有课的人添加task,participant由数据表关联得到,不需前端传入 +def admin_add_task(request, uid, cid): # 课程管理员为选择了所有课的人添加task response={} data = json.loads(request.body.decode()) - usercourse = UserCourse.objects.get(user__uid=data["uid"],course__cid=cid) + usercourse = UserCourse.objects.get(user__uid=uid, course__cid=cid) + this_course = Course.objects.get(course_id=cid) if usercourse.isAdmin: - response['code'] = 200 - course_obj = Course.objects.get(cid=cid) - task_obj = Task.objects.create( - title=data["title"], - # course=course_obj, - course_name = course_obj.name, - content=data["content"], - platform = ass['platform'], - category=data["category"], - urls=data["urls"], - ddl_time=data["ddl_time"], - # notification_time=data["notification_time"], - # notification_alert=data["notification_alert"], - create_time=data["create_time"] - ) - response["msg"]="Success." - participants=UserCourse.objects.filter(course__cid=cid) - for p in participants: - user_obj=User.objects.get(uid=p.user.uid) - UserTask.objects.create(user=user_obj,task=task_obj, notification_time=data["notification_time"], notification_alert=data["notification_alert"]) - - ut=UserTask.objects.get(user__uid=data["uid"],task__tid=task_obj.tid) #发布者有修改此task的权利 - ut.isAdmin=True - ut.save() - - CourseTask.objects.create(course=course_obj,task=task_obj) + if data['tid'] != -1: # 若此项task已存在则视为修改此task的属性信息 + print('task already exists, only modify.\n') + try: + this_task = Task.objects.get(tid=data["tid"]) + this_task.title = data["title"] + this_task.content = data["content"] + this_task.platform = data["platform"] + this_task.category = data["category"] + this_task.urls = data["urls"] + this_task.ddl_time = data["ddl_time"] + this_task.save() + response['code'] = 200 + response["msg"] = "Update success." + except: + traceback.print_exc() + + else: # 不存在就创建新的task(传入的tid为-1),对应的course_name由后端自行获取 + task_obj = Task.objects.create( + title=data["title"], + content=data["content"], + category=data["category"], + course_name=this_course.name, + urls=data["urls"], + platform=data["platform"], + ddl_time=data["ddl_time"], + create_time=data["create_time"] + ) + response['data'] = {} + response['data']['tid'] = task_obj.tid + + CourseTask.objects.create(course=this_course, task=task_obj) # 创建CourseTask对应关系 + + all_usercourse = UserCourse.objects.filter(course__cid=cid) + for uc in all_usercourse: # 为所有选课的学生关联该task + UserTask.objects.create(user=uc.user, task=task_obj, notification_alert=data['notification_alert'], + notification_time=data['notification_time'], isAdmin=True) + + response['code'] = 200 + response["msg"] = "Create success." else: - response['code'] = 404 - response["msg"]="The user is not admin." + response['code'] = 501 + response["msg"]="Permission denied. The user is not admin." return JsonResponse(response, json_dumps_params={'ensure_ascii':False}, charset='utf_8_sig') -- Gitee