Skip to content
Snippets Groups Projects

Refactor update creation api

Merged Samuel GAIST requested to merge refactor_update_creation_api into master
All threads resolved!
1 file
+ 7
23
Compare changes
  • Side-by-side
  • Inline
@@ -29,13 +29,11 @@
from django.contrib.auth.models import User
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 ..team.models import Team
from ..common.utils import ensure_html
from ..common.utils import annotate_full_name
from .models import Shareable, Versionable, Contribution
from .exceptions import ContributionCreationError
@@ -364,16 +362,9 @@ class ContributionCreationSerializer(serializers.ModelSerializer):
if previous_version is not None:
try:
previous_object = self.Meta.model.objects.annotate(
fullname=Concat(
"author__username",
V("/"),
"name",
V("/"),
"version",
output_field=CharField(),
)
).get(fullname=previous_version)
previous_object = annotate_full_name(self.Meta.model).get(
full_name=previous_version
)
except self.Meta.model.DoesNotExist:
raise serializers.ValidationError(
"{} '{}' not found".format(
@@ -398,16 +389,9 @@ class ContributionCreationSerializer(serializers.ModelSerializer):
raise serializers.ValidationError("A fork starts at 1")
try:
forked_of_object = self.Meta.model.objects.annotate(
fullname=Concat(
"author__username",
V("/"),
"name",
V("/"),
"version",
output_field=CharField(),
)
).get(fullname=fork_of)
forked_of_object = annotate_full_name(self.Meta.model).get(
full_name=fork_of
)
except self.Meta.model.DoesNotExist:
raise serializers.ValidationError(
"{} '{}' fork origin not found".format(
Loading