+
+ User: $applicants[i][1]
$ apply_permissions_form = get_apply_permissions_form(i, permissions[i][0], permissions[i][1], permissions[i][2], applicants[i])
- $applicants[i][1]
- $:apply_permissions_form.render()
+ $:apply_permissions_form.render()
diff --git a/src/app/templates/new_project.html b/src/app/templates/new_project.html
index 70a72ae..244d094 100644
--- a/src/app/templates/new_project.html
+++ b/src/app/templates/new_project.html
@@ -18,7 +18,7 @@ $def with (nav, project_form, project_buttons, messasge)
$:project_form.render()
-
+
- $:project_buttons.create_project.render()
$messasge
diff --git a/src/app/templates/project.html b/src/app/templates/project.html
index f90c736..0075c11 100644
--- a/src/app/templates/project.html
+++ b/src/app/templates/project.html
@@ -12,11 +12,11 @@ $def with (nav, project_form, project, tasks, permissions, categories)
$:nav
- $if len(project) and permissions[0]:
+ $if len(project) and (permissions[0] or project[5] == "open") and session.username:
Project: $project[3]
- $if project[5] == "open" and session.userid != project[2]:
-
Apply for this project
+ $if session.userid != project[2] and project[5] == "open":
+
Apply for this project
Status: $project[5]
diff --git a/src/app/views/apply.py b/src/app/views/apply.py
index 464d2bd..94c9bd4 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, get_apply_permissions_form
+from views.forms import get_apply_form, get_apply_permissions_form
# Get html templates
render = web.template.render('templates/')
@@ -26,8 +26,7 @@ class Apply:
tasks = [[]]
# Assemble form and set the user in context as an applicant with all permissions
- user_dropdown = get_user_dropdown()
- apply_form = get_apply_form(user_dropdown)
+ apply_form = get_apply_form()
apply_permissions_form = get_apply_permissions_form()
applicants = [[session.userid, session.username]]
permissions = [["TRUE", "TRUE", "TRUE"]]
@@ -45,8 +44,7 @@ class Apply:
# Assemble form
applicants = [session.username]
- user_dropdown = get_user_dropdown()
- apply_form = get_apply_form(user_dropdown)
+ apply_form = get_apply_form()
apply_permission_form = get_apply_permissions_form()
# Prepare globals
diff --git a/src/app/views/forms.py b/src/app/views/forms.py
index ded25c9..d99f5cb 100644
--- a/src/app/views/forms.py
+++ b/src/app/views/forms.py
@@ -99,23 +99,14 @@ project_buttons = form.Form(
form.Button("create_project", type="submit", description="Create Project", value="create_project", html="Create Project")
)
-def get_apply_form(elements):
- try:
- apply_form = form.Form(*elements,
- 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", html="Add User"),
- form.Button("apply", type="submit", description="Apply", value="apply", html="Apply")
- )
- return apply_form
-
-def get_user_dropdown():
+def get_apply_form():
users = get_users()
- return form.Dropdown("user_to_add", description="User", args=users)
+ apply_form = form.Form(
+ form.Dropdown("user_to_add", description="User", args=users),
+ 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_apply_permissions_form(identifier=0, read_permission="TRUE", write_permission="FALSE", modify_permission="FALSE", userid=None):
user_permissions = form.Form(