Ejemplo n.º 1
0
 def list_teams(self, request):
     current_user = endpoints.get_current_user()
     if current_user is None:
         raise endpoints.UnauthorizedException()
     organisation = Organisation.get_by_id(request.code_organisation)
     if organisation is None:
         raise endpoints.BadRequestException("Organisation %s does not exists" % request.code_organisation)
     if current_user.email() not in organisation.admins_mail:
         teams = Team.query(Team.users_mails == current_user.email(), ancestor=organisation.key).fetch()
     else:
         teams = Team.query(ancestor=organisation.key).fetch()
     return OrganisationConverter().convert_team_collection(teams)
Ejemplo n.º 2
0
 def add_team(self, request):
     current_user = endpoints.get_current_user()
     organisation = Organisation.get_by_id(request.code_organisation)
     if current_user is None or current_user.email() not in organisation.admins_mail:
         raise endpoints.UnauthorizedException(message="Team creation is reserved to admins")
     team = Team(
         name=request.name,
         parent=organisation.key
     )
     team.put()
     organisation.teams.append(team.key)
     organisation.put()
     return OrganisationConverter().convert_team(team)
Ejemplo n.º 3
0
 def add_member_to_team(self, request):
     if request.mail is None:
         raise endpoints.BadRequestException(message="User's email is mandatory")
     team = Team.get_by_id(request.team_id, parent=ndb.Key(Organisation, request.code_organisation))
     if team is None:
         raise endpoints.BadRequestException(message="No such team")
     team.users_mail.append(request.mail)
     team.put()
     return OrganisationConverter().convert_team(team)