Skip to content

Commit 93b6b2c

Browse files
committed
Add some admin inlines; Replace manager_confirmed and person_confirmed fields with single validated field; Remove appointed_by field in manager relations; other minor changes
1 parent 65202f8 commit 93b6b2c

File tree

4 files changed

+76
-64
lines changed

4 files changed

+76
-64
lines changed

admin.py

+39-3
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,53 @@ class GroupTeamInline(admin.TabularInline):
2727
extra = 1
2828

2929

30+
class UnionManagerInline(admin.TabularInline):
31+
model = handball.models.UnionManagerRelation
32+
extra = 1
33+
34+
35+
class DistrictManagerInline(admin.TabularInline):
36+
model = handball.models.DistrictManagerRelation
37+
extra = 1
38+
39+
40+
class GroupManagerInline(admin.TabularInline):
41+
model = handball.models.GroupManagerRelation
42+
extra = 1
43+
44+
45+
class ClubManagerInline(admin.TabularInline):
46+
model = handball.models.ClubManagerRelation
47+
extra = 1
48+
49+
50+
class TeamManagerInline(admin.TabularInline):
51+
model = handball.models.TeamManagerRelation
52+
extra = 1
53+
54+
3055
class PersonAdmin(admin.ModelAdmin):
3156
inlines = (ClubMemberInline, TeamPlayerInline, TeamCoachInline, GamePlayerInline)
3257

3358

59+
class UnionAdmin(admin.ModelAdmin):
60+
inlines = (UnionManagerInline,)
61+
62+
63+
class DistrictAdmin(admin.ModelAdmin):
64+
inlines = (DistrictManagerInline,)
65+
66+
67+
class GroupAdmin(admin.ModelAdmin):
68+
inlines = (GroupManagerInline,)
69+
70+
3471
class ClubAdmin(admin.ModelAdmin):
35-
inlines = (ClubMemberInline,)
72+
inlines = (ClubMemberInline, ClubManagerInline)
3673

3774

3875
class TeamAdmin(admin.ModelAdmin):
39-
inlines = (TeamPlayerInline, TeamCoachInline, GroupTeamInline)
76+
inlines = (TeamPlayerInline, TeamCoachInline, GroupTeamInline, TeamManagerInline)
4077

4178

4279
class GameAdmin(admin.ModelAdmin):
@@ -52,6 +89,5 @@ class GameAdmin(admin.ModelAdmin):
5289
admin.site.register(handball.models.Team, TeamAdmin)
5390
admin.site.register(handball.models.Site)
5491
admin.site.register(handball.models.Event)
55-
admin.site.register(handball.models.EventType)
5692
admin.site.register(handball.models.GamePlayerRelation)
5793
admin.site.register(handball.models.LeagueLevel)

api.py

+13-31
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def dehydrate(self, bundle):
152152

153153
bundle.data['players'] = []
154154
resource = PersonResource()
155-
for membership in TeamPlayerRelation.objects.filter(player=bundle.obj, manager_confirmed=True):
155+
for membership in TeamPlayerRelation.objects.filter(player=bundle.obj, validated=True):
156156
playerBundle = resource.build_bundle(obj=membership.player, request=bundle.request)
157157
bundle.data['players'].append(resource.full_dehydrate(playerBundle))
158158
return bundle
@@ -189,17 +189,9 @@ def hydrate_m2m(self, bundle):
189189
return super(GameResource, self).hydrate_m2m(bundle)
190190

191191

192-
class EventTypeResource(ModelResource):
193-
class Meta:
194-
queryset = EventType.objects.all()
195-
authorization = Authorization()
196-
authentication = Authentication()
197-
198-
199192
class EventResource(ModelResource):
200193
person = fields.ForeignKey(PersonResource, 'person', full=True)
201194
game = fields.ForeignKey(GameResource, 'game')
202-
event_type = fields.ForeignKey(EventTypeResource, 'event_type')
203195
team = fields.ForeignKey(TeamResource, 'team')
204196

205197
class Meta:
@@ -220,7 +212,8 @@ class Meta:
220212
always_return_data = True
221213
filtering = {
222214
'member': ALL_WITH_RELATIONS,
223-
'club': ALL_WITH_RELATIONS
215+
'club': ALL_WITH_RELATIONS,
216+
'validated': ALL
224217
}
225218

226219

@@ -247,7 +240,8 @@ class Meta:
247240
always_return_data = True
248241
filtering = {
249242
'player': ALL_WITH_RELATIONS,
250-
'team': ALL_WITH_RELATIONS
243+
'team': ALL_WITH_RELATIONS,
244+
'validated': ALL
251245
}
252246

253247

@@ -262,14 +256,14 @@ class Meta:
262256
always_return_data = True
263257
filtering = {
264258
'coach': ALL_WITH_RELATIONS,
265-
'team': ALL_WITH_RELATIONS
259+
'team': ALL_WITH_RELATIONS,
260+
'validated': ALL
266261
}
267262

268263

269264
class ClubManagerRelationResource(ModelResource):
270265
club = fields.ForeignKey(ClubResource, 'club', full=True)
271266
manager = fields.ForeignKey(PersonResource, 'manager', full=True)
272-
appointed_by = fields.ForeignKey(UserResource, 'appointed_by', null=True, blank=True)
273267

274268
class Meta:
275269
queryset = ClubManagerRelation.objects.all()
@@ -278,21 +272,14 @@ class Meta:
278272
always_return_data = True
279273
filtering = {
280274
'club': ALL_WITH_RELATIONS,
281-
'manager': ALL_WITH_RELATIONS
275+
'manager': ALL_WITH_RELATIONS,
276+
'validated': ALL
282277
}
283278

284-
def obj_create(self, bundle, request=None, **kwargs):
285-
if request.user:
286-
user_resource = UserResource()
287-
bundle.data['appointed_by'] = user_resource.get_resource_uri(request.user)
288-
289-
return super(ClubManagerRelationResource, self).obj_create(bundle, request)
290-
291279

292280
class TeamManagerRelationResource(ModelResource):
293281
team = fields.ForeignKey(TeamResource, 'team', full=True)
294282
manager = fields.ForeignKey(PersonResource, 'manager', full=True)
295-
appointed_by = fields.ForeignKey(UserResource, 'appointed_by', null=True, blank=True)
296283

297284
class Meta:
298285
queryset = TeamManagerRelation.objects.all()
@@ -301,16 +288,10 @@ class Meta:
301288
always_return_data = True
302289
filtering = {
303290
'team': ALL_WITH_RELATIONS,
304-
'manager': ALL_WITH_RELATIONS
291+
'manager': ALL_WITH_RELATIONS,
292+
'validated': ALL
305293
}
306294

307-
def obj_create(self, bundle, request=None, **kwargs):
308-
if request.user:
309-
user_resource = UserResource()
310-
bundle.data['appointed_by'] = user_resource.get_resource_uri(request.user)
311-
312-
return super(TeamManagerRelationResource, self).obj_create(bundle, request)
313-
314295

315296
class LeagueLevelResource(ModelResource):
316297
class Meta:
@@ -332,7 +313,8 @@ class Meta:
332313
always_return_data = True
333314
filtering = {
334315
'group': ALL_WITH_RELATIONS,
335-
'team': ALL_WITH_RELATIONS
316+
'team': ALL_WITH_RELATIONS,
317+
'validated': ALL
336318
}
337319

338320

models.py

+24-29
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ class Team(models.Model):
4545

4646
players = models.ManyToManyField('Person', blank=True, related_name='teams', through='TeamPlayerRelation')
4747
coaches = models.ManyToManyField('Person', blank=True, related_name='teams_coached', through='TeamCoachRelation')
48-
# league = models.ForeignKey('League', related_name='league', blank=True)
4948
club = models.ForeignKey('Club', related_name='teams')
5049
managers = models.ManyToManyField('Person', blank=True, related_name='teams_managed', through='TeamManagerRelation')
5150

@@ -67,6 +66,7 @@ class Group(models.Model):
6766
name = models.CharField(max_length=50)
6867
kind = models.CharField(max_length=20, choices=(('league', _('league')), ('cup', _('cup')), ('tournament', _('tournament'))))
6968
gender = models.CharField(max_length=10, choices=(('male', _('male')), ('female', _('female'))), default='male')
69+
validated = models.BooleanField(default=False)
7070

7171
level = models.ForeignKey('LeagueLevel', blank=True, null=True)
7272
age_group = models.CharField(max_length=20, choices=(('adults', _('adults')), ('juniors_a', _('juniors a')),
@@ -85,6 +85,7 @@ class GroupTeamRelation(models.Model):
8585
team = models.ForeignKey('Team')
8686

8787
score = models.IntegerField(default=0)
88+
validated = models.BooleanField(default=False)
8889

8990

9091
class Person(models.Model):
@@ -99,6 +100,7 @@ class Person(models.Model):
99100
pass_number = models.IntegerField(null=True, blank=True)
100101
gender = models.CharField(max_length=10, choices=(('male', _('male')), ('female', _('female'))), default='male')
101102
mobile_number = models.CharField(max_length=20, blank=True)
103+
validated = models.BooleanField(default=False)
102104

103105
def __unicode__(self):
104106
return self.first_name + ' ' + self.last_name
@@ -110,6 +112,9 @@ class Game(models.Model):
110112
score_home = models.IntegerField()
111113
score_away = models.IntegerField()
112114
duration = models.IntegerField(default=60)
115+
home_validated = models.BooleanField(default=False)
116+
away_validated = models.BooleanField(default=False)
117+
referee_validated = models.BooleanField(default=False)
113118

114119
home = models.ForeignKey('Team', related_name='games_home')
115120
away = models.ForeignKey('Team', related_name='games_away')
@@ -144,86 +149,76 @@ class GamePlayerRelation(models.Model):
144149

145150
team = models.ForeignKey('Team')
146151
shirt_number = models.IntegerField(blank=True, null=True)
147-
# goals = models.IntegerField()
148-
# warnings = models.IntegerField()
149-
# penalties = models.IntegerField()
150-
# disqualifications = models.IntegerField()
151-
# team_penalties = models.IntegerField()
152-
# penalty_shots_hit = models.IntegerField()
153-
# penalty_shots_miss = models.IntegerField()
154152

155153

156154
class ClubMemberRelation(models.Model):
157155
member = models.ForeignKey('Person')
158156
club = models.ForeignKey('Club')
159157

160-
primary = models.BooleanField()
161-
member_confirmed = models.BooleanField(default=False)
162-
manager_confirmed = models.BooleanField(default=False)
158+
primary = models.BooleanField(default=False)
159+
validated = models.BooleanField(default=False)
163160

164161

165162
class TeamPlayerRelation(models.Model):
166163
player = models.ForeignKey('Person')
167164
team = models.ForeignKey('Team')
168165

169-
player_confirmed = models.BooleanField(default=False)
170-
manager_confirmed = models.BooleanField(default=False)
166+
validated = models.BooleanField(default=False)
171167

172168

173169
class TeamCoachRelation(models.Model):
174170
coach = models.ForeignKey('Person')
175171
team = models.ForeignKey('Team')
176172

177-
coach_confirmed = models.BooleanField(default=False)
178-
manager_confirmed = models.BooleanField(default=False)
173+
validated = models.BooleanField(default=False)
179174

180175

181176
class ClubManagerRelation(models.Model):
182177
club = models.ForeignKey('Club')
183178
manager = models.ForeignKey('Person')
184-
appointed_by = models.ForeignKey(User, related_name='handball_club_managers_appointed', blank=True, null=True)
179+
180+
validated = models.BooleanField(default=False)
185181

186182

187183
class TeamManagerRelation(models.Model):
188184
team = models.ForeignKey('Team')
189185
manager = models.ForeignKey('Person')
190-
appointed_by = models.ForeignKey(User, related_name='handball_team_managers_appointed', blank=True, null=True)
186+
187+
validated = models.BooleanField(default=False)
191188

192189

193190
class GroupManagerRelation(models.Model):
194191
group = models.ForeignKey('Group')
195192
manager = models.ForeignKey('Person')
196-
appointed_by = models.ForeignKey(User, related_name='handball_group_managers_appointed', blank=True, null=True)
193+
194+
validated = models.BooleanField(default=False)
197195

198196

199197
class DistrictManagerRelation(models.Model):
200198
district = models.ForeignKey('District')
201199
manager = models.ForeignKey('Person')
202-
appointed_by = models.ForeignKey(User, related_name='handball_district_managers_appointed', blank=True, null=True)
200+
201+
validated = models.BooleanField(default=False)
203202

204203

205204
class UnionManagerRelation(models.Model):
206205
union = models.ForeignKey('Union')
207206
manager = models.ForeignKey('Person')
208-
appointed_by = models.ForeignKey(User, related_name='handball_union_managers_appointed', blank=True, null=True)
207+
208+
validated = models.BooleanField(default=False)
209209

210210

211211
class Event(models.Model):
212212
time = models.IntegerField()
213+
event_type = models.CharField(max_length=20, choices=(('goal', _('goal')), ('warning', _('yellow card')),
214+
('disqualification', _('disqualification')), ('time_penalty', _('time penalty')), ('team_time_penalty', _('team time penalty')),
215+
('penalty_shot_goal', _('penalty shot (goal)')), ('penalty_shot_miss', _('penalty shot (miss)'))))
213216

214217
person = models.ForeignKey('Person')
215-
event_type = models.ForeignKey('EventType')
216218
game = models.ForeignKey('Game', related_name='events')
217219
team = models.ForeignKey('Team')
218220

219221

220-
class EventType(models.Model):
221-
name = models.CharField(max_length=20)
222-
223-
def __unicode__(self):
224-
return self.name
225-
226-
227222
def set_union_by_district(sender, instance, **kwargs):
228223
# If district is set, set according union
229224
if instance.district:
@@ -256,7 +251,7 @@ def add_player_to_team(sender, instance, created, **kwargs):
256251
def club_member_to_manager(sender, instance, created, **kwargs):
257252
managers = ClubManagerRelation.objects.filter(club=instance.club)
258253
if len(managers) == 0:
259-
ClubManagerRelation.objects.create(club=instance.club, manager=instance.member)
254+
ClubManagerRelation.objects.create(club=instance.club, manager=instance.member, validated=True)
260255

261256

262257
def team_player_to_manager(sender, instance, created, **kwargs):

urls.py

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
v1_api.register(SiteResource())
1515
v1_api.register(GroupResource())
1616
v1_api.register(EventResource())
17-
v1_api.register(EventTypeResource())
1817
v1_api.register(GamePlayerRelationResource())
1918
v1_api.register(TeamPlayerRelationResource())
2019
v1_api.register(TeamCoachRelationResource())

0 commit comments

Comments
 (0)