| @@ -21,6 +21,8 @@ $def with (nav, project, tasks, permissions) | |||
| <ul> | |||
| $for task in tasks: | |||
| <li id="$task[0]">$task | |||
| <br> | |||
| $permissions | |||
| <br> | |||
| $if project[5] != "open" or session.userid == project[2]: | |||
| @@ -67,9 +67,10 @@ def get_project_form_elements(project_title="", project_description="", category | |||
| def get_user_form_elements(identifier=0, user_name="", read_permission=True, write_permission=False, modify_permission=False): | |||
| users = get_users() | |||
| user_form_elements = ( | |||
| form.Textbox("user_name_" + str(identifier), description="User", value=user_name), form.Checkbox("read_permission_" + str(identifier), description="Read Permission", checked=read_permission, value=read_permission), | |||
| form.Checkbox("write_permission_" + str(identifier), description="Write Permission", checked=write_permission, value=write_permission), | |||
| form.Checkbox("modify_permission_" + str(identifier), description="Modify Permission", checked=modify_permission, value=modify_permission) | |||
| form.Textbox("user_name_" + str(identifier), description="User", value=user_name), | |||
| form.Checkbox("read_permission_" + str(identifier), description="Read Permission", checked=read_permission), | |||
| form.Checkbox("write_permission_" + str(identifier), description="Write Permission", checked=write_permission), | |||
| form.Checkbox("modify_permission_" + str(identifier), description="Modify Permission", checked=modify_permission) | |||
| ) | |||
| return user_form_elements | |||
| @@ -82,19 +82,25 @@ class New_project: | |||
| userid = models.login.get_user_id_by_name(data["user_name_"+str(i)]) | |||
| read, write, modify = "FALSE", "FALSE", "FALSE" | |||
| try: | |||
| if data["read_permission_"+str(i)]: | |||
| read = "TRUE" | |||
| data["read_permission_"+str(i)] | |||
| read = "TRUE" | |||
| except Exception as e: | |||
| try: | |||
| if data["write_permission_"+str(i)]: | |||
| write = "TRUE" | |||
| except Exception as e: | |||
| try: | |||
| if data["modify_permission_"+str(i)]: | |||
| modify = "TRUE" | |||
| except Exception as e: | |||
| # This error will be raised if no permission is set | |||
| raise e | |||
| read = "FALSE" | |||
| pass | |||
| try: | |||
| data["write_permission_"+str(i)] | |||
| write = "TRUE" | |||
| except Exception as e: | |||
| write = "FALSE" | |||
| pass | |||
| try: | |||
| data["modify_permission_"+str(i)] | |||
| modify = "TRUE" | |||
| except Exception as e: | |||
| # This error will be raised if no permission is set | |||
| modify = "FALSE" | |||
| pass | |||
| print(read, write, modify) | |||
| models.project.set_projects_user(str(projectid), str(userid), read, write, modify) | |||
| raise web.seeother('/') | |||
| except Exception as e: | |||
| @@ -128,6 +134,7 @@ class New_project: | |||
| task_form_elements = (task_form_elements + old_task_form_element) | |||
| for i in range(0, user_count): | |||
| try: | |||
| old_user_form_element = get_user_form_elements(i, data["user_name_"+str(i)], | |||
| data["read_permission_"+str(i)], data["write_permission_"+str(i)], data["modify_permission_"+str(i)]) | |||
| @@ -50,7 +50,7 @@ class Project: | |||
| print(data) | |||
| # Test if the file was uploaded | |||
| if fileitem.filename and tasks[int(data.taskid) == "waiting for delivery" or tasks[int(data.taskid) == "declined"]: | |||
| if fileitem.filename and tasks[int(data.taskid)] == "waiting for delivery" or tasks[int(data.taskid)] == "declined": | |||
| if not permissions[1]: | |||
| print("Permission denied") | |||
| raise web.seeother(('/project?projectid=' + data.projectid)) | |||
| @@ -78,6 +78,12 @@ class Project: | |||
| elif data.deliver: | |||
| models.project.update_task_status(data.taskid, "delivered") | |||
| print(data.taskid) | |||
| all_tasks_accepted = True | |||
| for task in tasks: | |||
| if task[6] != "accepted": | |||
| all_tasks_accepted = False | |||
| if all_tasks_accepted: | |||
| models.project.update_project_status("finished") | |||
| elif data.accepted: | |||
| print("accept") | |||
| models.project.update_task_status(data.taskid, "accepted") | |||