Pārlūkot izejas kodu

Add task to project frontend

https
jakobsn pirms 6 gadiem
vecāks
revīzija
fd9b18cee6
5 mainītis faili ar 94 papildinājumiem un 34 dzēšanām
  1. +1
    -12
      src/app/templates/index.html
  2. +26
    -9
      src/app/views/forms.py
  3. +4
    -8
      src/app/views/index.py
  4. +61
    -4
      src/app/views/project.py
  5. +2
    -1
      src/app/views/utils.py

+ 1
- 12
src/app/templates/index.html Parādīt failu

@@ -1,4 +1,4 @@
$def with (nav, categories, open_projects)
$def with (nav)


<head> <head>
<title>Beelance2</title> <title>Beelance2</title>
@@ -11,17 +11,6 @@ $def with (nav, categories, open_projects)


$:nav $:nav
<h1 class="title">Open Projects:</h1>
<div class="categories">
$for category in categories:
<div class="category" onclick="location.href='/?categoryid=$category[0]'">$category[1]</div>
</div>

<div class="projects">
$for project in open_projects:
<div class="project"><h4>$project[3]</h4><p>$project[4]</p></div>
</div>


<img src="static/honeybee.png" alt="Honeybee"> <img src="static/honeybee.png" alt="Honeybee">




+ 26
- 9
src/app/views/forms.py Parādīt failu

@@ -23,20 +23,37 @@ register_form = form.Form(
form.Button("Register", type="submit", description="Register"), form.Button("Register", type="submit", description="Register"),
) )


# Define the project form

# Define the project form elements
categories = get_categories() categories = get_categories()


project_form = form.Form(
form.Textbox("project_title", description="Title"),
form.Textbox("project_description", description="Description"),
form.Dropdown("category_name", args=categories),
form.Button("Submit", type="submit", description="submit")
)
# Define the task form elements
def get_task_form_elements(count=0, task_title="", task_description="", budget=""):
task_form_elements = (
form.Textbox("task_title_" + str(count), description="Title", value=task_title),
form.Textarea("task_description_" + str(count), description="Description", value=task_description),
form.Textbox("budget_" + str(count), description="Budget", value=budget)
)
return task_form_elements

def get_project_form_elements(project_title="", project_description="", category_name=""):
project_form_elements = (
form.Textbox("project_title", description="Title", value=project_title),
form.Textarea("project_description", description="Description", value=project_description),
form.Dropdown("category_name", description="Category Name", args=categories)
#form.Button("Submit", type="submit", description="submit")
)
return project_form_elements

def get_new_project_form(elements):
return form.Form(*elements,
form.Button("Add Task", type="submit", description="Add Task", value = "add_task"),
form.Button("Remove Task", type="submit", description="Remove Task ", value = "remove_task"),
form.Button("Create Project", type="submit", description="Create Project", value = "create_project")
)


# Define the guestbook form # Define the guestbook form
guestbook_form = form.Form( guestbook_form = form.Form(
form.Textbox("entry", description="Entry"), form.Textbox("entry", description="Entry"),
form.Button("Submit", type="submit", description="submit")
) )



+ 4
- 8
src/app/views/index.py Parādīt failu

@@ -6,7 +6,7 @@ from views.logout import Logout
from views.register import Register from views.register import Register
from views.admin import Admin from views.admin import Admin
from views.project import Project from views.project import Project
from models.project import get_categories, get_projects_by_status_and_category
from views.my_projects import My_projects


# Define application routes # Define application routes
urls = ( urls = (
@@ -15,7 +15,8 @@ urls = (
'/logout', 'Logout', '/logout', 'Logout',
'/register', 'Register', '/register', 'Register',
'/guestbook', 'Guestbook', '/guestbook', 'Guestbook',
'/project', 'Project',
'/new_project', 'Project',
'/my_projects', 'My_projects',
'/admin', 'Admin', '/admin', 'Admin',
) )
@@ -46,10 +47,5 @@ class Index:
# Get main page # Get main page
def GET(self): def GET(self):
data = web.input(categoryid=0)
projects=[]
if data.categoryid != 0:
open_projects = get_projects_by_status_and_category(data.categoryid, "open")
nav = get_nav_bar(session) nav = get_nav_bar(session)
categories = get_categories()
return render.index(nav, categories, open_projects)
return render.index(nav)

+ 61
- 4
src/app/views/project.py Parādīt failu

@@ -1,5 +1,5 @@
import web import web
from views.forms import project_form
from views.forms import get_task_form_elements, get_new_project_form, get_project_form_elements
import models.project import models.project
from views.utils import get_nav_bar from views.utils import get_nav_bar


@@ -12,15 +12,72 @@ class Project:
def GET(self): def GET(self):
session = web.ctx.session session = web.ctx.session
nav = get_nav_bar(session) nav = get_nav_bar(session)
project_form_elements = get_project_form_elements()
task_form_elements = get_task_form_elements()
project_form = get_new_project_form((project_form_elements + task_form_elements))
return render.project(nav, project_form) return render.project(nav, project_form)


# Register new user in database
# Register new project in database
def POST(self): def POST(self):
data = web.input() data = web.input()
session = web.ctx.session session = web.ctx.session
nav = get_nav_bar(session)
print(data) print(data)
print(session.userid)

task_count = self.get_task_count(data)
try:
if data["Add Task"]:
print("tiss")
project_form = self.compose_form(task_count, data, True)
return render.project(nav, project_form)
except Exception as e:
try:
if data["Remove Task"]:
print("ass")
project_form = self.compose_form(task_count, data, False)
return render.project(nav, project_form)
else:
pass
except Exception as e:
try:
if data["Create Project"]:
pass
else:
pass
except Exception as e:
pass

categories = models.project.set_project(data.category_name, str(session.userid), categories = models.project.set_project(data.category_name, str(session.userid),
data.project_title, data.project_description, "open") data.project_title, data.project_description, "open")
print(categories)
raise web.seeother('/') raise web.seeother('/')

def get_task_count(self, data):
task_count = 0
while True:
try:
if data["task_title_"+str(task_count)] or data["task_description_"+str(task_count)] or data["task_budget_"+str(task_count)]:
task_count += 1
except Exception as e:
pass
break
return task_count

def compose_form(self, task_count, data, add):
project_form_elements = get_project_form_elements(data.project_title, data.project_description, data.category_name)
task_form_elements = ()
old_task_form_element = ()
print(task_count)
for i in range(0, task_count):
print("i: ", i)
old_task_form_element = get_task_form_elements(i, data["task_title_"+str(i)],
data["task_description_"+str(i)], data["budget_"+str(i)])
task_form_elements = (task_form_elements + old_task_form_element)
print(len(task_form_elements))

if add:
new_task_form_elements = get_task_form_elements(task_count)
project_form = get_new_project_form((project_form_elements + task_form_elements + new_task_form_elements))
else:
project_form = get_new_project_form((project_form_elements + task_form_elements))
return project_form

+ 2
- 1
src/app/views/utils.py Parādīt failu

@@ -9,7 +9,8 @@ def get_nav_bar(session):
else: else:
result += ' <li><a href="register">Register</a></li>' result += ' <li><a href="register">Register</a></li>'
result += ' <li><a href="login">Login</a></li>' result += ' <li><a href="login">Login</a></li>'
result += ' <li><a href="project">Projects</a></li>'
result += ' <li><a href="new_project">New</a></li>'
result += ' <li><a href="my_projects">Projects</a></li>'
result += ' <li><a href="guestbook">Guestbook</a></li>' result += ' <li><a href="guestbook">Guestbook</a></li>'
result += ' </ul>' result += ' </ul>'
result += '</nav>' result += '</nav>'


Notiek ielāde…
Atcelt
Saglabāt