示例#1
0
    def update(self, request, *args, **kwargs):
        self.object = self.get_object_or_none()
        season_id = request.DATA.get('season', None)
        team_id = request.DATA.get('team', None)
        season = None
        team = None
        if season_id:
            try:
                season = common.Season.objects.get(id=season_id)
                common.add_player_to_season(player=self.object, season=season)
            except common.PermissionsException as e:
                return Response({'error': e.message}, status.HTTP_500_INTERNAL_SERVER_ERROR)
            except common.Season.DoesNotExist:
                return Response({}, status.HTTP_404_NOT_FOUND)
        if season_id and team_id:
            team = common.Team.objects.get(id=team_id)
            try:
                common.add_player_to_team(user=request.user, player=self.object, season=season, team=team)
            except common.PermissionsException as e:
                return Response({'error': e.message}, status.HTTP_500_INTERNAL_SERVER_ERROR)
            except common.Team.DoesNotExist:
                return Response({}, status.HTTP_404_NOT_FOUND)

        serializer = self.get_serializer(self.object)
        return Response(serializer.data)
示例#2
0
 def test_gender_rules(self):
     self.assertRaisesMessage(
         common.PermissionsException,
         common.PermissionsException.MSG_ELIGIBLE,
         common.add_player_to_season,
         player=self.player1,
         season=self.season_womens,
     )
     common.add_player_to_season(player=self.player2, season=self.season_womens)
示例#3
0
 def add_players(ranked_players, pick_order):
     if not isinstance(ranked_players, list):
         ranked_players = ranked_players.iterator()  # assuming queryset
     while True:
         for pick in pick_order:
             team = pick.team
             try:
                 ranked_player = next(ranked_players)
             except StopIteration:
                 return
             common.add_player_to_season(ranked_player.player, season=rankset.season)
             common.add_player_to_team(
                 user=ranked_player.player, player=ranked_player.player, team=team, season=rankset.season
             )
         if serpentine:
             pick_order.reverse()