瀏覽代碼

checkpoint apply edit

https
jakobsn 6 年之前
父節點
當前提交
19e3f8687e
共有 3 個文件被更改,包括 25 次插入32 次删除
  1. +1
    -1
      src/app/templates/apply.html
  2. +17
    -26
      src/app/views/apply.py
  3. +7
    -5
      src/app/views/forms.py

+ 1
- 1
src/app/templates/apply.html 查看文件

@@ -22,7 +22,7 @@ $def with (nav, apply_form, project, applicants)
<form method="POST">
<p>Users to apply:</p>
$for i, user in enumerate(applicants):
<div>$user[1]<Button name="Remove User" type ="submit" value="$applicants[i]">X</Button></div>
<div>$user[1]<Button name="remove_user" type ="submit" value="$applicants[i]">X</Button></div>
<input hidden="hidden" name="user_name_$i" value="$applicants[i]"/>
$:apply_form.render()
</form>


+ 17
- 26
src/app/views/apply.py 查看文件

@@ -19,19 +19,17 @@ class Apply:
data = web.input(projectid=0)
if data.projectid:
project = models.project.get_project_by_id(data.projectid)
#tasks = models.project.get_tasks_by_project_id(data.projectid)
else:
project = [[]]
tasks = [[]]
#render = web.template.render('templates/', globals={'get_task_files':models.project.get_task_files, 'session':session})
#render_project = render.project(nav, project[0], tasks)

user_dropdown = get_user_dropdown()
apply_form = get_apply_form(user_dropdown)
applicants = [[session.userid, session.username]]
return render.apply(nav, apply_form, project, applicants)

def POST(self):
data = web.input(projectid=0)
data = web.input(projectid=0, add_user=None, remove_user=None, apply=None)
session = web.ctx.session
nav = get_nav_bar(session)
applicants = [session.username]
@@ -41,29 +39,22 @@ class Apply:
print(data)
if data.projectid:
project = models.project.get_project_by_id(data.projectid)
try:
if data["Add User"]:
#project_form = self.compose_form(data, "add_user")
applicants = self.get_applicants(data, "add_user")
return render.apply(nav, apply_form, project, applicants)
except Exception as e:
try:
if data["Remove User"]:
#project_form = self.compose_form(data, "remove_user")

if data.add_user:
applicants = self.get_applicants(data, "add_user")
return render.apply(nav, apply_form, project, applicants)

elif data.remove_user:
applicants = self.get_applicants(data, "remove_user")
return render.apply(nav, apply_form, project, applicants)
except Exception as e:
try:
if data["Apply"]:
applicants = self.get_applicants(data, "")
for applicant in applicants:
print("Add", applicant, data.projectid)
models.project.set_projects_user(data.projectid, str(applicant[0]), "TRUE", "TRUE", "FALSE")
models.project.update_project_status(data.projectid, "in progress")
raise web.seeother(('/project?projectid=' + str(data.projectid)))
except Exception as e:
raise

elif data.apply:
applicants = self.get_applicants(data, "")
for applicant in applicants:
models.project.set_projects_user(data.projectid, str(applicant[0]), "TRUE", "TRUE", "FALSE")
models.project.update_project_status(data.projectid, "in progress")
raise web.seeother(('/project?projectid=' + str(data.projectid)))
def get_applicants(self, data, operation):
print(operation)
print(data)
@@ -77,7 +68,7 @@ class Apply:

if operation == "remove_user":
print("remove")
user_to_remove = data["Remove User"][1:][:-1].split(",")
user_to_remove = data.remove_user[1:][:-1].split(",")
user_to_remove = [int(user_to_remove[0]), user_to_remove[1][2:][:-1]]
for i in range (0, user_count):
print(user_to_remove, applicants[i])


+ 7
- 5
src/app/views/forms.py 查看文件

@@ -102,18 +102,20 @@ project_buttons = form.Form(
def get_apply_form(elements):
try:
apply_form = form.Form(*elements,
form.Button("Add User", type="submit", description="Add User", value="add_user"),
form.Button("Remove User", type="submit", description="Remove User", value="remove_user"),
form.Button("Apply", type="submit", description="Apply", value="apply")
form.Button("add_user", type="submit", description="Add User", value="add_user", html="Add User"),
form.Button("apply", type="submit", description="Apply", value="apply", html="apply")
)
# Exception will occur if the form only contains one element
except TypeError as e:
apply_form = form.Form(elements,
form.Button("Add User", type="submit", description="Add User", value="add_user"),
form.Button("Apply", type="submit", description="Apply", value="apply")
form.Button("add_user", type="submit", description="Add User", value="add_user", html="Add User"),
form.Button("apply", type="submit", description="Apply", value="apply", html="apply")
)
return apply_form

def get_user_dropdown(identifier=0):
users = get_users()
#form.Checkbox("read_permission_" + str(identifier), description="Read Permission", checked=read_permission, value=True),
#form.Checkbox("write_permission_" + str(identifier), description="Write Permission", checked=write_permission, value=True),
#form.Checkbox("modify_permission_" + str(identifier), description="Modify Permission", checked=modify_permission, value=True)
return form.Dropdown("user_id_" + str(identifier), description="User", args=users)

Loading…
取消
儲存