Bläddra i källkod

checkpoint apply edit

https
jakobsn 6 år sedan
förälder
incheckning
e433f3d3a5
3 ändrade filer med 34 tillägg och 16 borttagningar
  1. +9
    -2
      src/app/templates/apply.html
  2. +13
    -9
      src/app/views/apply.py
  3. +12
    -5
      src/app/views/forms.py

+ 9
- 2
src/app/templates/apply.html Visa fil

@@ -1,4 +1,4 @@
$def with (nav, apply_form, project, applicants)
$def with (nav, apply_form, get_apply_permission_form, project, applicants)

<head>
<title>Beelance2</title>
@@ -21,10 +21,17 @@ $def with (nav, apply_form, project, applicants)
<form method="POST">
<p>Users to apply:</p>
$applicants
$:apply_form.render()

$for i, user in enumerate(applicants):
<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()

$ apply_permissions_form = get_apply_permissions_form(i, userid=user)
$:apply_permissions_form.render()
</form>
</body>

+ 13
- 9
src/app/views/apply.py Visa fil

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


+ 12
- 5
src/app/views/forms.py Visa fil

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

Laddar…
Avbryt
Spara