Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

66 lines
2.4KB

  1. import web
  2. from views.utils import get_nav_bar
  3. from views.guestbook import Guestbook
  4. from views.login import Login
  5. from views.logout import Logout
  6. from views.register import Register
  7. from views.admin import Admin
  8. from views.project import Project
  9. from views.my_projects import My_projects
  10. import models.project
  11. # Define application routes
  12. urls = (
  13. '/', 'Index',
  14. '/login', 'Login',
  15. '/logout', 'Logout',
  16. '/register', 'Register',
  17. '/guestbook', 'Guestbook',
  18. '/new_project', 'Project',
  19. '/my_projects', 'My_projects',
  20. '/admin', 'Admin',
  21. )
  22. # Initialize application using the web py framework
  23. app = web.application(urls, globals())
  24. # Get html templates
  25. render = web.template.render('templates/')
  26. # Workaround to use sessions with reloader (debugger) http://webpy.org/cookbook/session_with_reloader
  27. if web.config.get('_session') is None:
  28. session = web.session.Session(app, web.session.DiskStore("sessions"), initializer={"username": None})
  29. web.config._session = session
  30. else:
  31. session = web.config._session
  32. # Add session to global variables
  33. render._add_global(session, 'session')
  34. # Make the session available cross modules through webctx
  35. def session_hook():
  36. web.ctx.session = session
  37. web.template.Template.globals['session'] = session
  38. app.add_processor(web.loadhook(session_hook))
  39. class Index:
  40. # Get main page
  41. def GET(self):
  42. nav = get_nav_bar(session)
  43. data = web.input(projects=None)
  44. project_bulk_one = []
  45. project_bulk_two = []
  46. if data.projects == 'my':
  47. project_bulk_one = models.project.get_projects_by_status_and_owner(str(session.userid), "open")
  48. project_bulk_two = models.project.get_projects_by_status_and_owner(str(session.userid), "in progress")
  49. elif data.projects == 'customer':
  50. project_bulk_one = models.project.get_projects_by_participant_and_status(str(session.userid), "open")
  51. project_bulk_two = models.project.get_projects_by_participant_and_status(str(session.userid), "in progress")
  52. elif data.projects == 'finished':
  53. project_bulk_one = models.project.get_projects_by_status_and_owner(str(session.userid), "finished")
  54. project_bulk_two = models.project.get_projects_by_participant_and_status(str(session.userid), "finished")
  55. return render.index(nav, project_bulk_one, project_bulk_two, data.projects)