Improve voters mixins

remotes/origin/logger
David Barragán Merino 2015-09-30 10:58:28 +02:00
parent 25489ad901
commit 73c148f0fb
2 changed files with 11 additions and 4 deletions

View File

@ -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

View File

@ -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