| @@ -21,6 +21,8 @@ $def with (nav, project, tasks, permissions) | |||||
| <ul> | <ul> | ||||
| $for task in tasks: | $for task in tasks: | ||||
| <li id="$task[0]">$task | <li id="$task[0]">$task | ||||
| <br> | |||||
| $permissions | |||||
| <br> | <br> | ||||
| $if project[5] != "open" or session.userid == project[2]: | $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): | def get_user_form_elements(identifier=0, user_name="", read_permission=True, write_permission=False, modify_permission=False): | ||||
| users = get_users() | users = get_users() | ||||
| user_form_elements = ( | 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 | return user_form_elements | ||||
| @@ -82,19 +82,25 @@ class New_project: | |||||
| userid = models.login.get_user_id_by_name(data["user_name_"+str(i)]) | userid = models.login.get_user_id_by_name(data["user_name_"+str(i)]) | ||||
| read, write, modify = "FALSE", "FALSE", "FALSE" | read, write, modify = "FALSE", "FALSE", "FALSE" | ||||
| try: | try: | ||||
| if data["read_permission_"+str(i)]: | |||||
| read = "TRUE" | |||||
| data["read_permission_"+str(i)] | |||||
| read = "TRUE" | |||||
| except Exception as e: | 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) | models.project.set_projects_user(str(projectid), str(userid), read, write, modify) | ||||
| raise web.seeother('/') | raise web.seeother('/') | ||||
| except Exception as e: | except Exception as e: | ||||
| @@ -128,6 +134,7 @@ class New_project: | |||||
| task_form_elements = (task_form_elements + old_task_form_element) | task_form_elements = (task_form_elements + old_task_form_element) | ||||
| for i in range(0, user_count): | for i in range(0, user_count): | ||||
| try: | try: | ||||
| old_user_form_element = get_user_form_elements(i, data["user_name_"+str(i)], | 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)]) | data["read_permission_"+str(i)], data["write_permission_"+str(i)], data["modify_permission_"+str(i)]) | ||||
| @@ -50,7 +50,7 @@ class Project: | |||||
| print(data) | print(data) | ||||
| # Test if the file was uploaded | # 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]: | if not permissions[1]: | ||||
| print("Permission denied") | print("Permission denied") | ||||
| raise web.seeother(('/project?projectid=' + data.projectid)) | raise web.seeother(('/project?projectid=' + data.projectid)) | ||||
| @@ -78,6 +78,12 @@ class Project: | |||||
| elif data.deliver: | elif data.deliver: | ||||
| models.project.update_task_status(data.taskid, "delivered") | models.project.update_task_status(data.taskid, "delivered") | ||||
| print(data.taskid) | 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: | elif data.accepted: | ||||
| print("accept") | print("accept") | ||||
| models.project.update_task_status(data.taskid, "accepted") | models.project.update_task_status(data.taskid, "accepted") | ||||