diff --git a/src/app/templates/project.html b/src/app/templates/project.html
index cabeb1e..d2fb6c4 100644
--- a/src/app/templates/project.html
+++ b/src/app/templates/project.html
@@ -21,6 +21,8 @@ $def with (nav, project, tasks, permissions)
$for task in tasks:
- $task
+
+ $permissions
$if project[5] != "open" or session.userid == project[2]:
diff --git a/src/app/views/forms.py b/src/app/views/forms.py
index cdfb64d..e53d27c 100644
--- a/src/app/views/forms.py
+++ b/src/app/views/forms.py
@@ -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
diff --git a/src/app/views/new_project.py b/src/app/views/new_project.py
index 3144253..03327c2 100644
--- a/src/app/views/new_project.py
+++ b/src/app/views/new_project.py
@@ -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)])
diff --git a/src/app/views/project.py b/src/app/views/project.py
index 2e8a24a..82ddc73 100644
--- a/src/app/views/project.py
+++ b/src/app/views/project.py
@@ -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")