import web from views.utils import get_nav_bar from views.guestbook import Guestbook from views.login import Login from views.logout import Logout from views.register import Register from views.admin import Admin from views.project import Project from views.my_projects import My_projects import models.project # Define application routes urls = ( '/', 'Index', '/login', 'Login', '/logout', 'Logout', '/register', 'Register', '/guestbook', 'Guestbook', '/new_project', 'Project', '/my_projects', 'My_projects', '/admin', 'Admin', ) # Initialize application using the web py framework app = web.application(urls, globals()) # Get html templates render = web.template.render('templates/') # Workaround to use sessions with reloader (debugger) http://webpy.org/cookbook/session_with_reloader if web.config.get('_session') is None: session = web.session.Session(app, web.session.DiskStore("sessions"), initializer={"username": None}) web.config._session = session else: session = web.config._session # Add session to global variables render._add_global(session, 'session') # Make the session available cross modules through webctx def session_hook(): web.ctx.session = session web.template.Template.globals['session'] = session app.add_processor(web.loadhook(session_hook)) class Index: # Get main page def GET(self): nav = get_nav_bar(session) data = web.input(projects=None) project_bulk_one = [] project_bulk_two = [] if data.projects == 'my': project_bulk_one = models.project.get_projects_by_status_and_owner(str(session.userid), "open") project_bulk_two = models.project.get_projects_by_status_and_owner(str(session.userid), "in progress") elif data.projects == 'customer': project_bulk_one = models.project.get_projects_by_participant_and_status(str(session.userid), "open") project_bulk_two = models.project.get_projects_by_participant_and_status(str(session.userid), "in progress") elif data.projects == 'finished': project_bulk_one = models.project.get_projects_by_status_and_owner(str(session.userid), "finished") project_bulk_two = models.project.get_projects_by_participant_and_status(str(session.userid), "finished") return render.index(nav, project_bulk_one, project_bulk_two, data.projects)