@@ -103,19 +103,18 @@ def __unicode__(self):
103
103
104
104
105
105
class Game (models .Model ):
106
- number = models .IntegerField (primary_key = True )
106
+ number = models .IntegerField (unique = True , blank = True , null = True )
107
107
start = models .DateTimeField ()
108
- goals_home = models .IntegerField ()
109
- goals_away = models .IntegerField ()
108
+ score_home = models .IntegerField ()
109
+ score_away = models .IntegerField ()
110
110
111
111
home = models .ForeignKey ('Team' , related_name = 'games_home' )
112
112
away = models .ForeignKey ('Team' , related_name = 'games_away' )
113
113
referee = models .ForeignKey ('Person' , related_name = 'games_as_referee' )
114
114
timer = models .ForeignKey ('Person' , related_name = 'games_as_timer' )
115
115
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 )
119
118
group = models .ForeignKey ('Group' , related_name = 'games' )
120
119
game_type = models .ForeignKey ('GameType' )
121
120
site = models .ForeignKey ('Site' )
@@ -137,7 +136,7 @@ class Site(models.Model):
137
136
address = models .CharField (max_length = 50 )
138
137
city = models .CharField (max_length = 50 )
139
138
zip_code = models .IntegerField ()
140
- number = models .IntegerField (primary_key = True )
139
+ number = models .IntegerField (unique = True , blank = True , null = True )
141
140
142
141
def __unicode__ (self ):
143
142
return '{0}, {1} {2} (#{3})' .format (self .address , self .zip_code , self .city , self .number )
@@ -148,14 +147,14 @@ class GamePlayerRelation(models.Model):
148
147
game = models .ForeignKey ('Game' )
149
148
150
149
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()
159
158
160
159
161
160
class ClubMemberRelation (models .Model ):
@@ -214,17 +213,32 @@ def set_union_by_district(sender, instance, **kwargs):
214
213
instance .union = instance .district .union
215
214
216
215
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()
224
223
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 )
225
237
226
238
# Create API key for a new user
227
239
post_save .connect (create_api_key , sender = User )
228
240
post_save .connect (create_default_leagues , sender = District )
229
241
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