Skip to content

Commit 3324423

Browse files
committed
Add basic saving functionality for rounds->results
1 parent 52791bf commit 3324423

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

tabbycat/api/serializers.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,11 +1625,31 @@ class Meta:
16251625
class FullRoundPairingSerializer(RoundPairingSerializer):
16261626
confirmed_ballot = BallotSerializer()
16271627

1628+
def create(self, validated_data):
1629+
confirmed_ballot = validated_data.pop('confirmed_ballot', None)
1630+
debate = super().create(validated_data)
1631+
1632+
if confirmed_ballot is not None:
1633+
save_related(BallotSerializer, confirmed_ballot, self.context, {'debate': debate})
1634+
1635+
return debate
1636+
16281637

16291638
class FullRoundSerializer(RoundSerializer):
16301639
pairings = FullRoundPairingSerializer(many=True, source='debate_set')
16311640
preformed_panels = PreformedPanelSerializer(many=True, source='preformedpanel_set')
16321641

1642+
def create(self, validated_data):
1643+
pairings = validated_data.pop('debate_set', [])
1644+
preformed_panels = validated_data.pop('preformedpanel_set', [])
1645+
1646+
round = super().create(validated_data)
1647+
1648+
save_related(FullRoundPairingSerializer, pairings, self.context, {'round': round})
1649+
save_related(PreformedPanelSerializer, preformed_panels, self.context, {'round': round})
1650+
1651+
return round
1652+
16331653

16341654
class FullAdjudicatorSerializer(AdjudicatorSerializer):
16351655
feedback = FeedbackSerializer(many=True, source='adjudicatorfeedback_set')

0 commit comments

Comments
 (0)