Skip to content

Commit 65202f8

Browse files
committed
Add GroupTeamRelationResource; Other minor changes
1 parent 652ffbe commit 65202f8

File tree

4 files changed

+32
-16
lines changed

4 files changed

+32
-16
lines changed

Diff for: admin.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ class GamePlayerInline(admin.TabularInline):
2222
extra = 1
2323

2424

25+
class GroupTeamInline(admin.TabularInline):
26+
model = handball.models.GroupTeamRelation
27+
extra = 1
28+
29+
2530
class PersonAdmin(admin.ModelAdmin):
2631
inlines = (ClubMemberInline, TeamPlayerInline, TeamCoachInline, GamePlayerInline)
2732

@@ -31,7 +36,7 @@ class ClubAdmin(admin.ModelAdmin):
3136

3237

3338
class TeamAdmin(admin.ModelAdmin):
34-
inlines = (TeamPlayerInline, TeamCoachInline)
39+
inlines = (TeamPlayerInline, TeamCoachInline, GroupTeamInline)
3540

3641

3742
class GameAdmin(admin.ModelAdmin):
@@ -50,4 +55,3 @@ class GameAdmin(admin.ModelAdmin):
5055
admin.site.register(handball.models.EventType)
5156
admin.site.register(handball.models.GamePlayerRelation)
5257
admin.site.register(handball.models.LeagueLevel)
53-
admin.site.register(handball.models.AgeGroup)

Diff for: api.py

+21-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- coding: utf-8 -*-
22

3-
from tastypie.resources import ModelResource, ALL_WITH_RELATIONS
3+
from tastypie.resources import ModelResource, ALL_WITH_RELATIONS, ALL
44
from tastypie import fields
55
from handball.models import *
66
from django.contrib.auth.models import User
@@ -31,7 +31,7 @@ def obj_create(self, bundle, request=None, **kwargs):
3131

3232

3333
class DistrictResource(ModelResource):
34-
union = fields.ForeignKey(UnionResource, 'union')
34+
union = fields.ForeignKey(UnionResource, 'union', full=True)
3535

3636
class Meta:
3737
queryset = District.objects.all()
@@ -53,8 +53,8 @@ def dehydrate(self, bundle):
5353

5454

5555
class GroupResource(ModelResource):
56-
union = fields.ForeignKey(UnionResource, 'union', blank=True, null=True)
57-
district = fields.ForeignKey(DistrictResource, 'district', blank=True, null=True)
56+
union = fields.ForeignKey(UnionResource, 'union', blank=True, null=True, full=True)
57+
district = fields.ForeignKey(DistrictResource, 'district', blank=True, null=True, full=True)
5858

5959
class Meta:
6060
queryset = Group.objects.all()
@@ -63,7 +63,8 @@ class Meta:
6363
authorization = Authorization()
6464
filtering = {
6565
'union': ALL_WITH_RELATIONS,
66-
'district': ALL_WITH_RELATIONS
66+
'district': ALL_WITH_RELATIONS,
67+
'kind': ALL
6768
}
6869

6970

@@ -320,6 +321,21 @@ class Meta:
320321
allowed_methods = ['get']
321322

322323

324+
class GroupTeamRelationResource(ModelResource):
325+
team = fields.ForeignKey(TeamResource, 'team', full=True)
326+
group = fields.ForeignKey(GroupResource, 'group', full=True)
327+
328+
class Meta:
329+
queryset = GroupTeamRelation.objects.all()
330+
authorization = Authorization()
331+
authentication = Authentication()
332+
always_return_data = True
333+
filtering = {
334+
'group': ALL_WITH_RELATIONS,
335+
'team': ALL_WITH_RELATIONS
336+
}
337+
338+
323339
# class LeagueManagerRelationResource(ModelResource):
324340
# league = fields.ForeignKey(LeagueResource, 'league', full=True)
325341
# manager = fields.ForeignKey(PersonResource, 'manager', full=True)

Diff for: models.py

+4-9
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,8 @@ class LeagueLevel(models.Model):
5959
union_specific = models.BooleanField(default=False)
6060
district_specific = models.BooleanField(default=False)
6161

62-
63-
class AgeGroup(models.Model):
64-
name = models.CharField(max_length=20)
65-
66-
min_age = models.IntegerField()
67-
max_age = models.IntegerField()
62+
def __unicode__(self):
63+
return self.name
6864

6965

7066
class Group(models.Model):
@@ -81,15 +77,14 @@ class Group(models.Model):
8177
managers = models.ManyToManyField('Person', blank=True, related_name='groups_managed', through='GroupManagerRelation')
8278

8379
def __unicode__(self):
84-
return u'{0}: {1} {2} {3}'.format(self.kind, self.name, self.gender, self.age_group.name)
80+
return u'{0}: {1} {2} {3}'.format(self.kind, self.name, self.gender, self.age_group)
8581

8682

8783
class GroupTeamRelation(models.Model):
8884
group = models.ForeignKey('Group')
8985
team = models.ForeignKey('Team')
9086

91-
points = models.IntegerField()
92-
position = models.IntegerField()
87+
score = models.IntegerField(default=0)
9388

9489

9590
class Person(models.Model):

Diff for: urls.py

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
v1_api.register(ClubManagerRelationResource())
2222
v1_api.register(TeamManagerRelationResource())
2323
v1_api.register(LeagueLevelResource())
24+
v1_api.register(GroupTeamRelationResource())
2425

2526
urlpatterns = patterns('', (r'^', include(v1_api.urls)))
2627

0 commit comments

Comments
 (0)