Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

66 lignes
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)