Skip to content

Commit a5ee251

Browse files
committed
Fixing received AnnualSplit processing
1 parent 22e8ef7 commit a5ee251

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

deployments/serializers.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -377,11 +377,6 @@ class Meta:
377377
}
378378

379379
def validate(self, data):
380-
if self.context and 'request' in self.context:
381-
if 'is_annual_report' in self.context['request'].data:
382-
data['is_annual_report'] = self.context['request'].data['is_annual_report']
383-
if 'annual_split_detail' in self.context['request'].data:
384-
data['annual_split_detail'] = self.context['request'].data['annual_split_detail']
385380
d_project_districts = data['project_districts']
386381
# Override country with district's country
387382
if isinstance(d_project_districts, list) and len(d_project_districts):
@@ -401,12 +396,23 @@ def validate(self, data):
401396

402397
def create(self, validated_data):
403398
project = super().create(validated_data)
399+
# create does not bear the non-Project extra fields (which are needed for AnnualSplits), so we must đouble:
400+
if self.context and 'request' in self.context:
401+
if 'is_annual_report' in self.context['request'].data:
402+
project.is_annual_report = self.context['request'].data['is_annual_report']
403+
if 'annual_split_detail' in self.context['request'].data:
404+
project.annual_split_detail = self.context['request'].data['annual_split_detail']
404405
project.user = self.context['request'].user
405406
project.save()
406407
return project
407408

408409
def update(self, instance, validated_data):
409410
validated_data['modified_by'] = self.context['request'].user
411+
if self.context and 'request' in self.context: # code đuplication
412+
if 'is_annual_report' in self.context['request'].data:
413+
validated_data['is_annual_report'] = self.context['request'].data['is_annual_report']
414+
if 'annual_split_detail' in self.context['request'].data:
415+
validated_data['annual_split_detail'] = self.context['request'].data['annual_split_detail']
410416
return super().update(instance, validated_data)
411417

412418

0 commit comments

Comments
 (0)