diff --git a/src/app/templates/apply.html b/src/app/templates/apply.html
index c1c4f7a..c665c48 100644
--- a/src/app/templates/apply.html
+++ b/src/app/templates/apply.html
@@ -1,4 +1,4 @@
-$def with (nav, apply_form, project, applicants)
+$def with (nav, apply_form, get_apply_permission_form, project, applicants)
Beelance2
@@ -21,10 +21,17 @@ $def with (nav, apply_form, project, applicants)
\ No newline at end of file
diff --git a/src/app/views/apply.py b/src/app/views/apply.py
index 9815489..350e255 100644
--- a/src/app/views/apply.py
+++ b/src/app/views/apply.py
@@ -2,7 +2,7 @@ import web
import models.project
from models.login import get_user_name_by_id
from views.utils import get_nav_bar, get_element_count
-from views.forms import get_apply_form, get_user_dropdown
+from views.forms import get_apply_form, get_user_dropdown, get_apply_permissions_form
# Get html templates
render = web.template.render('templates/')
@@ -25,8 +25,11 @@ class Apply:
user_dropdown = get_user_dropdown()
apply_form = get_apply_form(user_dropdown)
+ apply_permissions_form = get_apply_permissions_form()
applicants = [[session.userid, session.username]]
- return render.apply(nav, apply_form, project, applicants)
+ render = web.template.render('templates/', globals={"get_apply_permissions_form":get_apply_permissions_form, 'session':session})
+
+ return render.apply(nav, apply_form, get_apply_permissions_form, project, applicants)
def POST(self):
data = web.input(projectid=0, add_user=None, remove_user=None, apply=None)
@@ -35,19 +38,20 @@ class Apply:
applicants = [session.username]
user_dropdown = get_user_dropdown()
apply_form = get_apply_form(user_dropdown)
+ apply_permission_form = get_apply_permissions_form()
print("POST")
print(data)
+ render = web.template.render('templates/', globals={"get_apply_permissions_form":get_apply_permissions_form, 'session':session})
if data.projectid:
project = models.project.get_project_by_id(data.projectid)
if data.add_user:
applicants = self.get_applicants(data, "add_user")
- return render.apply(nav, apply_form, project, applicants)
+ return render.apply(nav, apply_form, get_apply_permissions_form, project, applicants)
elif data.remove_user:
applicants = self.get_applicants(data, "remove_user")
- return render.apply(nav, apply_form, project, applicants)
-
+ return render.apply(nav, apply_form, get_apply_permissions_form, project, applicants)
elif data.apply:
applicants = self.get_applicants(data, "")
for applicant in applicants:
@@ -58,12 +62,12 @@ class Apply:
def get_applicants(self, data, operation):
print(operation)
print(data)
- user_count = get_element_count(data, "user_name_")
+ user_count = get_element_count(data, "user_")
print("count", user_count)
applicants = []
for i in range (0, user_count):
- print("Raw applicant", data["user_name_"+str(i)])
- applicant = data["user_name_"+str(i)][1:][:-1].split(",")
+ print("Raw applicant", data["user_"+str(i)])
+ applicant = data["user_"+str(i)][1:][:-1].split(",")
applicants.append([ int(applicant[0]), applicant[1][2:][:-1] ])
if operation == "remove_user":
@@ -78,7 +82,7 @@ class Apply:
elif operation == "add_user":
- user_id_to_add = data.user_id_0
+ user_id_to_add = data.user_to_add
user_name_to_add = get_user_name_by_id(user_id_to_add)
new_applicant = [ int(user_id_to_add), user_name_to_add ]
if new_applicant not in applicants:
diff --git a/src/app/views/forms.py b/src/app/views/forms.py
index 956683a..9a5264d 100644
--- a/src/app/views/forms.py
+++ b/src/app/views/forms.py
@@ -113,9 +113,16 @@ def get_apply_form(elements):
)
return apply_form
-def get_user_dropdown(identifier=0):
+def get_user_dropdown():
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)
+ return form.Dropdown("user_to_add", description="User", args=users)
+
+def get_apply_permissions_form(identifier=0, read_permission=True, write_permission=False, modify_permission=False, userid=None):
+ user_permissions = form.Form(
+ form.Button("remove_user", type="submit", description="User to remove", value=userid, html="X"),
+ form.Hidden("user_"+str(identifier), description="User to apply for project", value=userid),
+ 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 user_permissions