editable saved views

This commit is contained in:
jonaswinkler
2020-12-15 02:35:04 +01:00
parent 67d03c11b9
commit ff71b04848
5 changed files with 84 additions and 27 deletions

View File

@@ -159,11 +159,15 @@ class SavedViewSerializer(serializers.ModelSerializer):
"sort_field", "sort_reverse", "filter_rules"]
def update(self, instance, validated_data):
rules_data = validated_data.pop('filter_rules')
if 'filter_rules' in validated_data:
rules_data = validated_data.pop('filter_rules')
else:
rules_data = None
super(SavedViewSerializer, self).update(instance, validated_data)
SavedViewFilterRule.objects.filter(saved_view=instance).delete()
for rule_data in rules_data:
SavedViewFilterRule.objects.create(saved_view=instance, **rule_data)
if rules_data:
SavedViewFilterRule.objects.filter(saved_view=instance).delete()
for rule_data in rules_data:
SavedViewFilterRule.objects.create(saved_view=instance, **rule_data)
return instance
def create(self, validated_data):