瀏覽代碼

Permissions set incorrectly, now fixed

https
jakobsn 6 年之前
父節點
當前提交
be7e1b144b
共有 4 個檔案被更改,包括 32 行新增16 行删除
  1. +2
    -0
      src/app/templates/project.html
  2. +4
    -3
      src/app/views/forms.py
  3. +19
    -12
      src/app/views/new_project.py
  4. +7
    -1
      src/app/views/project.py

+ 2
- 0
src/app/templates/project.html 查看文件

@@ -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]:


+ 4
- 3
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



+ 19
- 12
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)])


+ 7
- 1
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")


Loading…
取消
儲存