diff --git a/src/app/templates/project.html b/src/app/templates/project.html index 15f8636..bb34cba 100644 --- a/src/app/templates/project.html +++ b/src/app/templates/project.html @@ -31,16 +31,16 @@ $def with (nav, project_form, project, tasks, permissions)
+ $project_form.taskid.set_value(task[0]) + $:project_form.taskid.render() $if (task[5] == "waiting for delivery" or task[5] == "declined"): $:project_form.myfile.render() - $project_form.taskid.set_value(task[0]) - $:project_form.taskid.render() $:project_form.submit.render() $if permissions[2]: $:project_form.deliver.render() - $if session.userid == project[2] and task[5] == "delivered": - $:project_form.accepted.render() - $:project_form.declined.render() + $if session.userid == project[2] and task[5] == "delivered": + $:project_form.accepted.render() + $:project_form.declined.render()
diff --git a/src/app/views/project.py b/src/app/views/project.py index 7c8be9e..2b44597 100644 --- a/src/app/views/project.py +++ b/src/app/views/project.py @@ -43,14 +43,11 @@ class Project: session = web.ctx.session data = web.input(myfile={}, deliver=None, accepted=None, declined=None) - fileitem = data['myfile'] - - permissions = models.project.get_user_permissions(str(session.userid), data.projectid) tasks = models.project.get_tasks_by_project_id(data.projectid) - print(data) + # Determine task status all_tasks_accepted = True task_waiting = False task_delivered = False @@ -67,8 +64,29 @@ class Project: print(task_waiting, task_delivered) print(permissions) print(not permissions[1], not task_waiting) - # Test if the file was uploaded - if fileitem.filename: + + if data.deliver and not task_delivered: + models.project.update_task_status(data.taskid, "delivered") + elif data.accepted: + print("accept") + models.project.update_task_status(data.taskid, "accepted") + print(data.taskid) + all_tasks_accepted = True + print("================================================") + print("================================================") + + tasks = models.project.get_tasks_by_project_id(data.projectid) + for task in tasks: + print("task", task) + if task[5] != "accepted": + all_tasks_accepted = False + if all_tasks_accepted: + models.project.update_project_status(str(data.projectid), "finished") + + elif data.declined: + models.project.update_task_status(data.taskid, "declined") + # Test if the file was inserted + elif fileitem.filename: if not permissions[1] or not task_waiting: print("Permission denied") raise web.seeother(('/project?projectid=' + data.projectid)) @@ -93,26 +111,6 @@ class Project: open(path + '/' + fn, 'wb').write(fileitem.file.read()) message = 'The file "' + fn + '" was uploaded successfully' models.project.set_task_file(data.taskid, (path + "/" + fn)) - elif data.deliver and not task_delivered: - models.project.update_task_status(data.taskid, "delivered") - elif data.accepted: - print("accept") - models.project.update_task_status(data.taskid, "accepted") - print(data.taskid) - all_tasks_accepted = True - print("================================================") - print("================================================") - - tasks = models.project.get_tasks_by_project_id(data.projectid) - for task in tasks: - print("task", task) - if task[5] != "accepted": - all_tasks_accepted = False - if all_tasks_accepted: - models.project.update_project_status(str(data.projectid), "finished") - - elif data.declined: - models.project.update_task_status(data.taskid, "declined") else: message = 'No file was uploaded'