[Backport] Fixing ordering in archived states
parent
cb6f3bb0fe
commit
e715c7b03e
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
|
from django.db.models import Max
|
||||||
|
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
@ -156,6 +157,10 @@ class UserStoryViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixi
|
||||||
related_data = getattr(obj, "_related_data", {})
|
related_data = getattr(obj, "_related_data", {})
|
||||||
self._role_points = related_data.pop("role_points", None)
|
self._role_points = related_data.pop("role_points", None)
|
||||||
|
|
||||||
|
if obj.kanban_order == -1:
|
||||||
|
if self._max_order:
|
||||||
|
obj.kanban_order = self._max_order + 1;
|
||||||
|
|
||||||
if not obj.id:
|
if not obj.id:
|
||||||
obj.owner = self.request.user
|
obj.owner = self.request.user
|
||||||
else:
|
else:
|
||||||
|
@ -276,6 +281,12 @@ class UserStoryViewSet(OCCResourceMixin, VotedResourceMixin, HistoryResourceMixi
|
||||||
except Project.DoesNotExist:
|
except Project.DoesNotExist:
|
||||||
return response.BadRequest(_("The project doesn't exist"))
|
return response.BadRequest(_("The project doesn't exist"))
|
||||||
|
|
||||||
|
if self.object and self.object.project_id:
|
||||||
|
self._max_order = models.UserStory.objects.filter(
|
||||||
|
project_id=self.object.project_id,
|
||||||
|
status_id=request.DATA.get('status', None)
|
||||||
|
).aggregate(Max('kanban_order'))['kanban_order__max']
|
||||||
|
|
||||||
return super().update(request, *args, **kwargs)
|
return super().update(request, *args, **kwargs)
|
||||||
|
|
||||||
@list_route(methods=["GET"])
|
@list_route(methods=["GET"])
|
||||||
|
|
Loading…
Reference in New Issue