Skip to content
Snippets Groups Projects
Commit 46a8c2db authored by Samuel GAIST's avatar Samuel GAIST
Browse files

[common][serializers] Use annotate_full_name method

parent fce0c3b0
No related branches found
No related tags found
1 merge request!327Refactor update creation api
...@@ -29,13 +29,11 @@ ...@@ -29,13 +29,11 @@
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.utils import six from django.utils import six
from django.db.models import CharField, Value as V
from django.db.models.functions import Concat
from rest_framework import serializers from rest_framework import serializers
from ..team.models import Team from ..team.models import Team
from ..common.utils import ensure_html from ..common.utils import ensure_html
from ..common.utils import annotate_full_name
from .models import Shareable, Versionable, Contribution from .models import Shareable, Versionable, Contribution
from .exceptions import ContributionCreationError from .exceptions import ContributionCreationError
...@@ -364,16 +362,9 @@ class ContributionCreationSerializer(serializers.ModelSerializer): ...@@ -364,16 +362,9 @@ class ContributionCreationSerializer(serializers.ModelSerializer):
if previous_version is not None: if previous_version is not None:
try: try:
previous_object = self.Meta.model.objects.annotate( previous_object = annotate_full_name(self.Meta.model).get(
fullname=Concat( full_name=previous_version
"author__username", )
V("/"),
"name",
V("/"),
"version",
output_field=CharField(),
)
).get(fullname=previous_version)
except self.Meta.model.DoesNotExist: except self.Meta.model.DoesNotExist:
raise serializers.ValidationError( raise serializers.ValidationError(
"{} '{}' not found".format( "{} '{}' not found".format(
...@@ -398,16 +389,9 @@ class ContributionCreationSerializer(serializers.ModelSerializer): ...@@ -398,16 +389,9 @@ class ContributionCreationSerializer(serializers.ModelSerializer):
raise serializers.ValidationError("A fork starts at 1") raise serializers.ValidationError("A fork starts at 1")
try: try:
forked_of_object = self.Meta.model.objects.annotate( forked_of_object = annotate_full_name(self.Meta.model).get(
fullname=Concat( full_name=fork_of
"author__username", )
V("/"),
"name",
V("/"),
"version",
output_field=CharField(),
)
).get(fullname=fork_of)
except self.Meta.model.DoesNotExist: except self.Meta.model.DoesNotExist:
raise serializers.ValidationError( raise serializers.ValidationError(
"{} '{}' fork origin not found".format( "{} '{}' fork origin not found".format(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment