Skip to content

Commit 2570655

Browse files
committed
A couple of model adjustments; Make sure that if a player has participated in a game, he is also registered at the appropriate team
1 parent 63834fb commit 2570655

File tree

1 file changed

+37
-23
lines changed

1 file changed

+37
-23
lines changed

models.py

+37-23
Original file line numberDiff line numberDiff line change
@@ -103,19 +103,18 @@ def __unicode__(self):
103103

104104

105105
class Game(models.Model):
106-
number = models.IntegerField(primary_key=True)
106+
number = models.IntegerField(unique=True, blank=True, null=True)
107107
start = models.DateTimeField()
108-
goals_home = models.IntegerField()
109-
goals_away = models.IntegerField()
108+
score_home = models.IntegerField()
109+
score_away = models.IntegerField()
110110

111111
home = models.ForeignKey('Team', related_name='games_home')
112112
away = models.ForeignKey('Team', related_name='games_away')
113113
referee = models.ForeignKey('Person', related_name='games_as_referee')
114114
timer = models.ForeignKey('Person', related_name='games_as_timer')
115115
secretary = models.ForeignKey('Person', related_name='games_as_secretary')
116-
winner = models.ForeignKey('Team', related_name='games_won')
117-
# union = models.ForeignKey('Union')
118-
# league = models.ForeignKey('League')
116+
supervisor = models.ForeignKey('Person', related_name='games_as_supervisor')
117+
winner = models.ForeignKey('Team', related_name='games_won', blank=True, null=True)
119118
group = models.ForeignKey('Group', related_name='games')
120119
game_type = models.ForeignKey('GameType')
121120
site = models.ForeignKey('Site')
@@ -137,7 +136,7 @@ class Site(models.Model):
137136
address = models.CharField(max_length=50)
138137
city = models.CharField(max_length=50)
139138
zip_code = models.IntegerField()
140-
number = models.IntegerField(primary_key=True)
139+
number = models.IntegerField(unique=True, blank=True, null=True)
141140

142141
def __unicode__(self):
143142
return '{0}, {1} {2} (#{3})'.format(self.address, self.zip_code, self.city, self.number)
@@ -148,14 +147,14 @@ class GamePlayerRelation(models.Model):
148147
game = models.ForeignKey('Game')
149148

150149
team = models.ForeignKey('Team')
151-
shirt_number = models.IntegerField()
152-
goals = models.IntegerField()
153-
warnings = models.IntegerField()
154-
penalties = models.IntegerField()
155-
disqualifications = models.IntegerField()
156-
team_penalties = models.IntegerField()
157-
penalty_shots_hit = models.IntegerField()
158-
penalty_shots_miss = models.IntegerField()
150+
shirt_number = models.IntegerField(blank=True, null=True)
151+
# goals = models.IntegerField()
152+
# warnings = models.IntegerField()
153+
# penalties = models.IntegerField()
154+
# disqualifications = models.IntegerField()
155+
# team_penalties = models.IntegerField()
156+
# penalty_shots_hit = models.IntegerField()
157+
# penalty_shots_miss = models.IntegerField()
159158

160159

161160
class ClubMemberRelation(models.Model):
@@ -214,17 +213,32 @@ def set_union_by_district(sender, instance, **kwargs):
214213
instance.union = instance.district.union
215214

216215

217-
def set_club_by_team(sender, instance, action, reverse, model, pk_set, **kwargs):
218-
if action == 'post_add':
219-
for pk in pk_set:
220-
player = model.objects.get(pk=pk)
221-
# player.clubs.add(instance.club)
222-
ClubMemberRelation.objects.create(member=player, club=instance)
223-
player.save()
216+
# def set_club_by_team(sender, instance, action, reverse, model, pk_set, **kwargs):
217+
# if action == 'post_add':
218+
# for pk in pk_set:
219+
# player = model.objects.get(pk=pk)
220+
# # player.clubs.add(instance.club)
221+
# ClubMemberRelation.objects.create(member=player, club=instance)
222+
# player.save()
224223

224+
def set_club_by_team(sender, instance, created, **kwargs):
225+
try:
226+
ClubMemberRelation.objects.get(member=instance.player, club=instance.team.club)
227+
except ClubMemberRelation.DoesNotExist:
228+
ClubMemberRelation.objects.create(member=instance.player, club=instance.team.club,
229+
manager_confirmed=instance.manager_confirmed, member_confirmed=instance.player_confirmed)
230+
231+
232+
def add_player_to_team(sender, instance, created, **kwargs):
233+
try:
234+
TeamPlayerRelation.objects.get(team=instance.team, player=instance.player)
235+
except TeamPlayerRelation.DoesNotExist:
236+
TeamPlayerRelation.objects.create(team=instance.team, player=instance.player, manager_confirmed=True, player_confirmed=True)
225237

226238
# Create API key for a new user
227239
post_save.connect(create_api_key, sender=User)
228240
post_save.connect(create_default_leagues, sender=District)
229241
pre_save.connect(set_union_by_district, sender=League)
230-
m2m_changed.connect(set_club_by_team, sender=Team.players.through)
242+
post_save.connect(set_club_by_team, sender=TeamPlayerRelation)
243+
post_save.connect(add_player_to_team, sender=GamePlayerRelation)
244+
# m2m_changed.connect(set_club_by_team, sender=Team.players.through)

0 commit comments

Comments
 (0)