Improve voters mixins
parent
25489ad901
commit
73c148f0fb
|
@ -44,6 +44,7 @@ from taiga.projects.mixins.on_destroy import MoveOnDestroyMixin
|
||||||
from taiga.projects.userstories.models import UserStory, RolePoints
|
from taiga.projects.userstories.models import UserStory, RolePoints
|
||||||
from taiga.projects.tasks.models import Task
|
from taiga.projects.tasks.models import Task
|
||||||
from taiga.projects.issues.models import Issue
|
from taiga.projects.issues.models import Issue
|
||||||
|
from taiga.projects.votes.mixins.viewsets import LikedResourceMixin, FansViewSetMixin
|
||||||
from taiga.permissions import service as permissions_service
|
from taiga.permissions import service as permissions_service
|
||||||
|
|
||||||
from . import serializers
|
from . import serializers
|
||||||
|
@ -51,8 +52,6 @@ from . import models
|
||||||
from . import permissions
|
from . import permissions
|
||||||
from . import services
|
from . import services
|
||||||
|
|
||||||
from .votes.mixins.viewsets import LikedResourceMixin, VotersViewSetMixin
|
|
||||||
|
|
||||||
|
|
||||||
######################################################
|
######################################################
|
||||||
## Project
|
## Project
|
||||||
|
@ -292,7 +291,7 @@ class ProjectViewSet(LikedResourceMixin, HistoryResourceMixin, ModelCrudViewSet)
|
||||||
return response.NoContent()
|
return response.NoContent()
|
||||||
|
|
||||||
|
|
||||||
class ProjectFansViewSet(VotersViewSetMixin, ModelListViewSet):
|
class ProjectFansViewSet(FansViewSetMixin, ModelListViewSet):
|
||||||
permission_classes = (permissions.ProjectFansPermission,)
|
permission_classes = (permissions.ProjectFansPermission,)
|
||||||
resource_model = models.Project
|
resource_model = models.Project
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ class VotedResourceMixin(BaseVotedResource):
|
||||||
return self._remove_vote("downvote", request, pk)
|
return self._remove_vote("downvote", request, pk)
|
||||||
|
|
||||||
|
|
||||||
class VotersViewSetMixin:
|
class BaseVotersViewSetMixin:
|
||||||
# Is a ModelListViewSet with two required params: permission_classes and resource_model
|
# Is a ModelListViewSet with two required params: permission_classes and resource_model
|
||||||
serializer_class = serializers.VoterSerializer
|
serializer_class = serializers.VoterSerializer
|
||||||
list_serializer_class = serializers.VoterSerializer
|
list_serializer_class = serializers.VoterSerializer
|
||||||
|
@ -112,3 +112,11 @@ class VotersViewSetMixin:
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
resource = self.resource_model.objects.get(pk=self.kwargs.get("resource_id"))
|
resource = self.resource_model.objects.get(pk=self.kwargs.get("resource_id"))
|
||||||
return services.get_voters(resource)
|
return services.get_voters(resource)
|
||||||
|
|
||||||
|
|
||||||
|
class VotersViewSetMixin(BaseVotersViewSetMixin):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class FansViewSetMixin(BaseVotersViewSetMixin):
|
||||||
|
pass
|
||||||
|
|
Loading…
Reference in New Issue