def GET(self):
     session = Activity.createSession('try')
     lead_teams = Activity.getLeadTeam(session, user_session.get('user')['name'])
     if lead_teams is None:
         return render.dashboard()
     else:
         return render.dashboard(teams=lead_teams, teamlead = True )
 def GET(self):
     session = Activity.createSession('try')
     efjira_render = web.template.render("templates/", globals={}).jiramultiselector("efjira")
     jira_render = web.template.render("templates/", globals={}).jiramultiselector("jira")
     render._add_global(efjira_render, "efjira")
     render._add_global(jira_render, "jira")
     if Activity.getLeadTeam(session, user_session.get('user')['name']) is not None or user_session.get('user')['access_level']<=2 :
         return render.features(feature_editable=True)
     else:
         return render.features(feature_editable=False)
 def GET(self, release):
     session=Activity.createSession('try')
     feature_editable = False 
     render_jira = web.template.render("templates/", globals={}).jiramultiselector("jira")
     render_efjira = web.template.render("templates/", globals={}).jiramultiselector("efjira")
     render_allocation = web.template.render("templates/", globals={}).allocationtool(release_id=release)
     render._add_global(render_allocation,"allocation_tool")
     render._add_global(render_efjira, "efjira")
     render._add_global(render_jira, "jira")
     if Activity.getLeadTeam(session, user_session.get('user')['name']) is not None or user_session.get('user')['access_level']<=2:
         feature_editable = True
     if user_session.get('user')['access_level']<=2 or Activity.check_recursive_lead(session, release, user_session.get('user')['name'])=='true':
         return render.release(release, True, True)
     else:
         return render.release(release, False, feature_editable)
 def POST(self):
     session = Activity.createSession('try')
     web_input = web.input(new_picture={})
     person_profile = {'objectId': web_input['objectId']}
     teams = Activity.getLeadTeam(session, user_session.get('user')['name'])
     rtn_url =  web_input['rtn_url']
     del web_input['rtn_url']
     if web_input.new_picture.filename!='':  #update the profile image
         origin_full_filename="images/profile/origin_"  +web_input.new_picture.filename
         file_ext = web_input.new_picture.filename.split('.')[-1]
         fout = open( origin_full_filename,'wb+') 
         fout.write(web_input.new_picture.file.read())
         fout.close()
         im = Image.open(origin_full_filename)
         thumbnail_file_name= md5(open(origin_full_filename, 'rb').read()).hexdigest() + '.' + file_ext
         im.thumbnail((140,140), Image.ANTIALIAS)
         im.save("images/profile/" + thumbnail_file_name)
         web_input.picture = thumbnail_file_name
         remove(origin_full_filename)
     if user_session.get('user')['access_level'] <=2:   #manager             
         person_profile.update(web_input)
         del person_profile['new_picture']
     elif teams is not None:   #TEAMLEAD
         for team in teams:
             if Activity.check_person_on_team(session, web_input['objectId'], team.objectId) :
                 person_profile['display_name'] = web_input['display_name']
                 person_profile['team'] = web_input['team']
                 person_profile['location'] = web_input['location']
                 person_profile['user_type'] = web_input['user_type']
                 person_profile['email'] = web_input['email']
                 person_profile['name'] = web_input['email'].split('@')[0]
                 break
     if user_session.get('user')['display_name'] == web_input['display_name']:  #person himself
         person_profile['email'] = web_input['email']
         person_profile['name'] = web_input['email'].split('@')[0]
         if 'picture' in web_input.keys():
             person_profile['picture'] = web_input['picture']
         person_profile['mobile_num'] = web_input['mobile_num']
     Activity.editPersonProfile(session, person_profile)
     user_session.user.update(person_profile)
     raise web.seeother(rtn_url)         
 def POST(self, team_name):
     session = Activity.createSession('try')
     if user_session.get('user')['access_level']<=1:
         data  = json.loads(web.data())
         if data["accesslevel"] == '':
             al = 4
         else:
             al = data["accesslevel"]
         Activity.newPerson(session, team=team_name, display_name=data["name"], email=data["email"], position=data["position"], 
                            location=data["location"], user_type=data["user_type"],access_level=al,mobile_num=data["mobile"])
         return
     #check if modified by the team lead
     leadteams = Activity.getLeadTeam(session, user_session.get('user')['name'])
     if leadteams is not None:
         for team in leadteams:
             if team_name==team.name:
                 data  = json.loads(web.data())
                 Activity.newPerson(session, team=team_name, display_name=data["name"], email=data["email"], position=data["position"], 
                                    location=data["location"], user_type=data["user_type"],mobile_num=data["mobile"])
                 return
     return "Permission Denied"
 def GET(self, team):
     session=Activity.createSession('try')
     team_editable = False 
     allocation_render = web.template.render("templates/", globals={}).allocationtool(team_id = team, unstaffed = True)
     render._add_global(allocation_render, "allocation_tool")
     teamTable_render = web.template.render("templates/", globals={'session':user_session}).taskTable(popLink = "/filledassignmentsbyteam/" + team,showAddBtn=False,
                                                                                                      fields=["index", "name", "activity", "person", "start_time", "end_time" ,"status", "description", "operation"],
                                                                                                      reorder=False)
     render._add_global(teamTable_render,"teamTable") 
     if Activity.getLeadTeam(session, user_session.get('user')['name']) is not None:
         tleads = Activity.getTeamLead(session, team)
         for params in tleads:
             if params ==  user_session.get('user')['name']:
                 team_editable = True
     if user_session.get('user')['access_level']<=1 :
         support_render = web.template.render("templates/", globals={}).support(team, True)
         render._add_global(support_render, "support")
         return render.team(team, True)
     else: 
         support_render = web.template.render("templates/", globals={}).support(team, False)
         render._add_global(support_render, "support")
         return render.team(team,team_editable)
 def GET(self, feature):
     session = Activity.createSession('try')
     user = user_session.get('user')
     efjira_render = web.template.render("templates/", globals={}).jiramultiselector("efjira")
     epjira_render = web.template.render("templates/", globals={}).jiramultiselector("epjira")
     jira_render = web.template.render("templates/", globals={}).jiramultiselector("jira")
     render._add_global(efjira_render, "efjira")
     render._add_global(epjira_render, "epjira")
     render._add_global(jira_render, "jira")
     editable = Activity.check_recursive_lead(session, feature, user['name'])=="true" or Activity.getLeadTeam(session, user['name']) is not None or user['access_level']<=2
     return render.feature(feature, editable)