From 6bbbd1d6fe2414b8c5cabf9b84519c9da4722566 Mon Sep 17 00:00:00 2001 From: littlewolf Date: Wed, 25 Sep 2019 11:11:12 +0300 Subject: [PATCH] Switch decorator to validate --- apps/utils/decorators.py | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/apps/utils/decorators.py b/apps/utils/decorators.py index e22fc3dc..c48a26c7 100644 --- a/apps/utils/decorators.py +++ b/apps/utils/decorators.py @@ -1,7 +1,7 @@ def with_base_attributes(cls): - def create(self, validated_data): + def validate(self, data): user = None request = self.context.get("request") @@ -9,28 +9,13 @@ def with_base_attributes(cls): user = request.user if user is not None: - validated_data['created_by'] = user - validated_data['modified_by'] = user + data.update({'modified_by': user}) - obj = self.Meta.model.objects.create(**validated_data) - return obj + if not self.instance: + data.update({'created_by': user}) - def update(self, instance, validated_data): - user = None - request = self.context.get("request") + return data - if request and hasattr(request, "user"): - user = request.user - - if user is not None: - validated_data['modified_by'] = user - - obj = self.Meta.model - obj.objects.filter(pk=instance.id).update(**validated_data) - - return instance - - setattr(cls, "create", create) - setattr(cls, "update", update) + setattr(cls, "validate", validate) return cls