Example #1
0
 def get(self):
     #lists all projects a user can see
     
     #check login status
     project_member = login.getProjectMember()
     if project_member is None:
         self.redirect(login.getLoginScreen(self.request.uri))
         return
     
     #NEED TO EXPORT TO TEMPLATE
     render = getProjectListTemplate(project_member.key().id())
     if render is not None:
         self.response.out.write(render)
         return
     else:
         #commented out since we'll have the htm make an ajax update call on load
         #defs = getProjectListForUser(project_member.key().id())
         defs = {'u_name': project_member.name,
                 'u_id': project_member.key().id(),
                 'logout': login.getLogoutScreen("/")
                }
         
         template = jinja_environment.get_template('project_list.htm')
         render = template.render(defs)
         storeProjectListTemplate(project_member.key().id(), render)
     
     self.response.out.write(render)
Example #2
0
    def get(self):
        #check login status
        pjc = login.getProjectMember()
        if pjc is None:
            self.redirect(login.getLoginScreen(self.request.uri))
            return
    
        project_id = self.request.get("p", default_value=None)
        if project_id is None:
            logging.error("pj_id_invalid %s" % project_id)
            self.error(500)
            return
        
        project = Project.get_by_id(int(project_id))
        if project is None:
            logging.error("pj_notfound %s" % project_id)
            self.error(500)
            return    
        
        #check permissions
        if pjc.key() not in project.users:
            self.error(500)
            return
        
        

        #NEED TO EXPORT TO TEMPLATE (using dat values)
        render = getProjectViewTemplate(project_id)
        if render is not None:
            self.response.out.write(render)
            return
        else:
            #commented out since we'll have the htm make an ajax update call on load
            #json_dat = page_update_handler(getProjectData(project)) #stored as JSON to make updates easier
            #defs = json.loads(json_dat)
            defs = {'u_name': pjc.name,
                    'u_id': pjc.key().id(),
                    'logout': login.getLogoutScreen("/"),
                    'pj_name': project.name
                   }
            
            template = jinja_environment.get_template('project_view.htm')
            render = template.render(defs)
            storeProjectViewTemplate(project_id, render)
        
        self.response.out.write(render)