@@ -60,6 +60,13 @@ def dehydrate(self, bundle):
60
60
return bundle
61
61
62
62
63
+ class GroupResource (ModelResource ):
64
+ class Meta :
65
+ queryset = Group .objects .all ()
66
+ authorization = Authorization ()
67
+ authentication = Authentication ()
68
+
69
+
63
70
class ClubResource (ModelResource ):
64
71
district = fields .ForeignKey (DistrictResource , 'district' , full = True )
65
72
# teams = fields.ToManyField('handball.api.TeamResource', 'teams')
@@ -150,26 +157,19 @@ def dehydrate(self, bundle):
150
157
clubBundle = resource .build_bundle (obj = membership .club , request = bundle .request )
151
158
bundle .data ['clubs' ].append (resource .full_dehydrate (clubBundle ))
152
159
153
- # del bundle.data['clubs']
154
- # del bundle.data['clubs_managed']
155
- # del bundle.data['teams']
156
- # del bundle.data['teams_managed']
157
- # del bundle.data['teams_coached']
158
160
return bundle
159
161
160
162
161
163
class GameTypeResource (ModelResource ):
162
164
class Meta :
163
165
queryset = GameType .objects .all ()
164
- include_resource_uri = False
165
166
authorization = Authorization ()
166
167
authentication = Authentication ()
167
168
168
169
169
170
class SiteResource (ModelResource ):
170
171
class Meta :
171
172
queryset = Site .objects .all ()
172
- include_resource_uri = False
173
173
authorization = Authorization ()
174
174
authentication = Authentication ()
175
175
@@ -180,33 +180,37 @@ class GameResource(ModelResource):
180
180
referee = fields .ForeignKey (PersonResource , 'referee' )
181
181
timer = fields .ForeignKey (PersonResource , 'timer' )
182
182
secretary = fields .ForeignKey (PersonResource , 'secretary' )
183
- winner = fields .ForeignKey (TeamResource , 'winner' )
184
- union = fields .ForeignKey (UnionResource , 'union' , full = True )
185
- league = fields .ForeignKey (LeagueResource , 'league' , full = True )
186
- game_type = fields .ForeignKey (GameTypeResource , 'game_type' , full = True )
187
- site = fields .ForeignKey (SiteResource , 'site' , full = True )
188
- players = fields .ManyToManyField (PersonResource , 'players' )
183
+ supervisor = fields .ForeignKey (PersonResource , 'supervisor' )
184
+ winner = fields .ForeignKey (TeamResource , 'winner' , null = True )
185
+ group = fields .ForeignKey (GroupResource , 'group' )
186
+ game_type = fields .ForeignKey (GameTypeResource , 'game_type' )
187
+ site = fields .ForeignKey (SiteResource , 'site' )
189
188
events = fields .ToManyField ('handball.api.EventResource' , 'events' , full = True )
190
189
191
190
class Meta :
192
191
queryset = Game .objects .all ()
193
192
authorization = Authorization ()
194
193
authentication = Authentication ()
194
+ always_return_data = True
195
195
196
+ def hydrate_m2m (self , bundle ):
197
+ for item in bundle .data ['events' ]:
198
+ item [u'game' ] = self .get_resource_uri (bundle )
199
+ return super (GameResource , self ).hydrate_m2m (bundle )
196
200
197
- class EventTypeResource (ModelResource ):
198
- game = fields .ForeignKey (GameResource , 'game' )
199
201
202
+ class EventTypeResource (ModelResource ):
200
203
class Meta :
201
204
queryset = EventType .objects .all ()
202
- include_resource_uri = False
203
205
authorization = Authorization ()
204
206
authentication = Authentication ()
205
207
206
208
207
209
class EventResource (ModelResource ):
208
- player = fields .ForeignKey (PersonResource , 'person' )
210
+ person = fields .ForeignKey (PersonResource , 'person' , full = True )
209
211
game = fields .ForeignKey (GameResource , 'game' )
212
+ event_type = fields .ForeignKey (EventTypeResource , 'event_type' )
213
+ team = fields .ForeignKey (TeamResource , 'team' )
210
214
211
215
class Meta :
212
216
queryset = Event .objects .all ()
@@ -226,6 +230,18 @@ class Meta:
226
230
always_return_data = True
227
231
228
232
233
+ class GamePlayerRelationResource (ModelResource ):
234
+ game = fields .ForeignKey (GameResource , 'game' , full = True )
235
+ player = fields .ForeignKey (PersonResource , 'player' , full = True )
236
+ team = fields .ForeignKey (TeamResource , 'team' )
237
+
238
+ class Meta :
239
+ queryset = GamePlayerRelation .objects .all ()
240
+ authorization = Authorization ()
241
+ authentication = Authentication ()
242
+ always_return_data = True
243
+
244
+
229
245
class SiteResource (ModelResource ):
230
246
class Meta :
231
247
queryset = Site .objects .all ()
@@ -238,13 +254,6 @@ def dehydrate(self, bundle):
238
254
return bundle
239
255
240
256
241
- class GroupResource (ModelResource ):
242
- class Meta :
243
- queryset = Group .objects .all ()
244
- authorization = Authorization ()
245
- authentication = Authentication ()
246
-
247
-
248
257
"""
249
258
Non-resource api endpoints
250
259
"""
0 commit comments