Switch decorator to validate

This commit is contained in:
littlewolf 2019-09-25 11:11:12 +03:00
parent d006184b14
commit 6bbbd1d6fe

View File

@ -1,7 +1,7 @@
def with_base_attributes(cls): def with_base_attributes(cls):
def create(self, validated_data): def validate(self, data):
user = None user = None
request = self.context.get("request") request = self.context.get("request")
@ -9,28 +9,13 @@ def with_base_attributes(cls):
user = request.user user = request.user
if user is not None: if user is not None:
validated_data['created_by'] = user data.update({'modified_by': user})
validated_data['modified_by'] = user
obj = self.Meta.model.objects.create(**validated_data) if not self.instance:
return obj data.update({'created_by': user})
def update(self, instance, validated_data): return data
user = None
request = self.context.get("request")
if request and hasattr(request, "user"): setattr(cls, "validate", validate)
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)
return cls return cls