def get(self):
     path = 'list_member.html'
     company_id = int(str(self['company_id']))
     c = Company.get_by_id(company_id)
     if not c:
         self.write('no company')
         return
     session = get_current_session()
     user_id = session['me_email']
     access_type = self.get_access_type(c, user_id)
     q = CompanyMember.all().ancestor(c)
     users = [{'name': User.get_by_key_name(company_member.user_id).name, 'influence': company_member.influence, 'expertise': company_member.expertise} for company_member in q]
     donuts = 2
     donuts -= 1
     donut_size = 80-(5*donuts)
     score_font_size = 40-(3*donuts)
     tooltip_font_size = 14-donuts
     template_values = {'company_id': company_id,
                        'name': c.name,
                        'influence': c.influence_avg if c.influence_avg else 0.0,
                        'expertise': c.expertise_avg if c.expertise_avg else [],
                        'users': users,
                        'access_type': access_type,
                        'admin_id': user_id,
                        'donut_size': donut_size,
                        'score_font_size': score_font_size,
                        'tooltip_font_size': tooltip_font_size}
     self.write(self.get_rendered_html(path, template_values), 200)
Exemple #2
0
 def get_companies_for(self, email):
     members = CompanyMember.all().filter('user_id =', email)
     companies = []
     for company_member in members.fetch(100):
         user = User.get_by_key_name(company_member.user_id)
         companies.append({'value' : company_member.parent().key().id(), 'name' : company_member.parent().name, 'member_name' : user.name, 'member_id' : company_member.key().id()})
     return companies
Exemple #3
0
 def get(self):
     path = 'list_member.html'
     company_id = int(str(self['company_id']))
     c = Company.get_by_id(company_id)
     if not c:
         self.write('no company')
         return
     session = get_current_session()
     user_id = session['me_email']
     access_type = self.get_access_type(c, user_id)
     q = CompanyMember.all().ancestor(c)
     users = [{
         'name': User.get_by_key_name(company_member.user_id).name,
         'influence': company_member.influence,
         'expertise': company_member.expertise
     } for company_member in q]
     donuts = 2
     donuts -= 1
     donut_size = 80 - (5 * donuts)
     score_font_size = 40 - (3 * donuts)
     tooltip_font_size = 14 - donuts
     template_values = {
         'company_id': company_id,
         'name': c.name,
         'influence': c.influence_avg if c.influence_avg else 0.0,
         'expertise': c.expertise_avg if c.expertise_avg else [],
         'users': users,
         'access_type': access_type,
         'admin_id': user_id,
         'donut_size': donut_size,
         'score_font_size': score_font_size,
         'tooltip_font_size': tooltip_font_size
     }
     self.write(self.get_rendered_html(path, template_values), 200)
Exemple #4
0
 def get_access_type(self, company, user_id):
     if user_id:
         company_member = CompanyMember.all().ancestor(company).filter(
             'user_id', user_id).get()
         if company_member:
             return 'admin' if company_member.is_admin else 'member'
     return 'public'
Exemple #5
0
def isAdminAccess(req_handler):
    session = get_current_session()
    admin_id = session['me_email']
    company_id = req_handler['company_id']
    c =  model.company.Company.get_by_id(int(company_id))
    from model.company_members import CompanyMember
    company_member = CompanyMember.all().ancestor(c).filter('user_id', admin_id).get()
    return True if (company_member and company_member.is_admin) else False
Exemple #6
0
def isAdminAccess(req_handler):
    session = get_current_session()
    admin_id = session['me_email']
    company_id = req_handler['company_id']
    c = model.company.Company.get_by_id(int(company_id))
    from model.company_members import CompanyMember
    company_member = CompanyMember.all().ancestor(c).filter(
        'user_id', admin_id).get()
    return True if (company_member and company_member.is_admin) else False
Exemple #7
0
 def get(self):
     company = Company.get_by_id(int(str(self['company_id'])))
     if not company:
         self.write('no company')
         return
     members = CompanyMember.all().ancestor(company)
     ret_val = []
     for member in members.fetch(1000):
         user = User.get_by_key_name(member.user_id)
         ret_val.append({'name' : user.name, 'id' : member.key().id()})
     self.write(json.dumps(ret_val))
Exemple #8
0
 def get(self):
     expertise = None
     company = Company.get_by_id(int(str(self['company_id'])))
     if not company:
         self.write('no company')
         return
     if self['member_id']:
         member = CompanyMember.get_by_id(int(str(self['member_id'])), parent=company)
         expertise = member.get_expertise()
     else:
         expertise = company.get_expertise_avg()
     self.write(json.dumps(get_skills_json(expertise)))
 def get(self):
     path = 'startup_details.html'
     company_id = int(str(self['company_id']))
     c = Company.get_by_id(company_id)
     dev_stats = self.get_dev_stats(c)
     tl_stats = self.get_tl_stats()
     if not c:
         self.write('no company')
         return
     aggregated_designs = Design.aggregate_data_for(c)
     session = get_current_session()
     q = CompanyMember.all().ancestor(c)
     design_stats = [('Live Apps', aggregated_designs['live_apps']),
                     ('Shots', aggregated_designs['shots']),
                     ('Likes', aggregated_designs['likes']),
                     ('Followers', aggregated_designs['followers'])]
     picture_rows = []
     picture_row = []
     picture_urls = aggregated_designs['shot_urls']
     for index, picture_url in enumerate(picture_urls, start=1):
         picture_row.append(picture_url)
         if index%3 == 0:
             picture_rows.append(picture_row)
             picture_row = []
         elif index == len(picture_urls):
             picture_rows.append(picture_row)
     scores = [('Design', c.influence_avg if c.influence_avg else 0.0),
               ('Development', (c.influence_avg + 0.23) if c.influence_avg else 0.0),
               ('Community', (c.influence_avg + 0.37) if c.influence_avg else 0.0)]
     template_values = {'company_id': company_id,
                        'city': cities_map[str(company_id)] if str(company_id) in cities_map else cities_map['default'],
                        'name': c.name,
                        'image': c.image,
                        'hello': c.hello if c.hello else '',
                        'profile': c.profile if c.profile else '',
                        'influence': c.influence_avg if c.influence_avg else 0.0,
                        'expertise': c.expertise_avg if c.expertise_avg else [],
                        'design_stats': design_stats,
                        'pictures':picture_rows,
                        'nav_color':'dark-nav',
                        'dev_stats':dev_stats,
                        'tl_stats':tl_stats,
                        'donuts':DonutFactory.get_donuts(128, 0.8, scores, '#333333', '#139fe1', 'transparent')}
     self.write(self.get_rendered_html(path, template_values), 200)
Exemple #10
0
 def get_access_type(self, company, user_id):
     if user_id:
         company_member = CompanyMember.all().ancestor(company).filter('user_id', user_id).get()
         if company_member:
             return 'admin' if company_member.is_admin else 'member'
     return 'public'
Exemple #11
0
 def create_company_member(self, email, company_id):
     company = Company.get_by_id(int(company_id))
     CompanyMember(parent=company, is_admin=False, user_id=email).put()
Exemple #12
0
 def get_size_for(self, c):
     q = CompanyMember.all().ancestor(c)
     return q.count()
Exemple #13
0
 def get(self):
     path = 'startup_details.html'
     company_id = int(str(self['company_id']))
     c = Company.get_by_id(company_id)
     dev_stats = self.get_dev_stats(c)
     tl_stats = self.get_tl_stats()
     if not c:
         self.write('no company')
         return
     aggregated_designs = Design.aggregate_data_for(c)
     session = get_current_session()
     q = CompanyMember.all().ancestor(c)
     design_stats = [('Live Apps', aggregated_designs['live_apps']),
                     ('Shots', aggregated_designs['shots']),
                     ('Likes', aggregated_designs['likes']),
                     ('Followers', aggregated_designs['followers'])]
     picture_rows = []
     picture_row = []
     picture_urls = aggregated_designs['shot_urls']
     for index, picture_url in enumerate(picture_urls, start=1):
         picture_row.append(picture_url)
         if index % 3 == 0:
             picture_rows.append(picture_row)
             picture_row = []
         elif index == len(picture_urls):
             picture_rows.append(picture_row)
     scores = [('Design', c.influence_avg if c.influence_avg else 0.0),
               ('Development',
                (c.influence_avg + 0.23) if c.influence_avg else 0.0),
               ('Community',
                (c.influence_avg + 0.37) if c.influence_avg else 0.0)]
     template_values = {
         'company_id':
         company_id,
         'city':
         cities_map[str(company_id)]
         if str(company_id) in cities_map else cities_map['default'],
         'name':
         c.name,
         'image':
         c.image,
         'hello':
         c.hello if c.hello else '',
         'profile':
         c.profile if c.profile else '',
         'influence':
         c.influence_avg if c.influence_avg else 0.0,
         'expertise':
         c.expertise_avg if c.expertise_avg else [],
         'design_stats':
         design_stats,
         'pictures':
         picture_rows,
         'nav_color':
         'dark-nav',
         'dev_stats':
         dev_stats,
         'tl_stats':
         tl_stats,
         'donuts':
         DonutFactory.get_donuts(128, 0.8, scores, '#333333', '#139fe1',
                                 'transparent')
     }
     self.write(self.get_rendered_html(path, template_values), 200)
Exemple #14
0
def fetch_users_for(company):
    return CompanyMember.all().ancestor(company)
Exemple #15
0
def fetch_users_for(company):
    return CompanyMember.all().ancestor(company)