Now can filter issue attachments by issue id
parent
d3cbb2cb24
commit
e0b32366a2
|
@ -100,20 +100,29 @@ class UserStoryDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
permission_classes = (IsAuthenticated, UserStoryDetailPermission,)
|
permission_classes = (IsAuthenticated, UserStoryDetailPermission,)
|
||||||
|
|
||||||
|
|
||||||
|
class IssuesAttachmentFilter(django_filters.FilterSet):
|
||||||
|
issue = django_filters.NumberFilter(name="object_id", lookup_type='exact')
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Attachment
|
||||||
|
fields = ['project', 'issue']
|
||||||
|
|
||||||
|
|
||||||
class IssuesAttachmentList(generics.ListCreateAPIView):
|
class IssuesAttachmentList(generics.ListCreateAPIView):
|
||||||
model = Attachment
|
model = Attachment
|
||||||
serializer_class = AttachmentSerializer
|
serializer_class = AttachmentSerializer
|
||||||
permission_classes = (IsAuthenticated,)
|
permission_classes = (IsAuthenticated,)
|
||||||
|
filter_class = IssuesAttachmentFilter
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return super(IssueAttachmentList, self).get_queryset()\
|
return super(IssuesAttachmentList, self).get_queryset()\
|
||||||
.filter(project__members=self.request.user)
|
.filter(project__members=self.request.user)
|
||||||
|
|
||||||
def pre_save(self, obj):
|
def pre_save(self, obj):
|
||||||
obj.owner = self.request.user
|
obj.owner = self.request.user
|
||||||
|
|
||||||
|
|
||||||
class AttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
class IssuesAttachmentDetail(generics.RetrieveUpdateDestroyAPIView):
|
||||||
model = Attachment
|
model = Attachment
|
||||||
serializer_class = AttachmentSerializer
|
serializer_class = AttachmentSerializer
|
||||||
permission_classes = (IsAuthenticated, AttachmentDetailPermission,)
|
permission_classes = (IsAuthenticated, AttachmentDetailPermission,)
|
||||||
|
|
|
@ -49,9 +49,11 @@ class MilestoneSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class AttachmentSerializer(serializers.ModelSerializer):
|
class AttachmentSerializer(serializers.ModelSerializer):
|
||||||
|
issue = serializers.Field(source='object_id')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Attachment
|
model = Attachment
|
||||||
fields = ('id', 'project', 'owner', 'attached_file', 'created_date',)
|
fields = ('id', 'project', 'owner', 'attached_file', 'created_date', 'issue')
|
||||||
|
|
||||||
|
|
||||||
class TaskSerializer(serializers.ModelSerializer):
|
class TaskSerializer(serializers.ModelSerializer):
|
||||||
|
|
|
@ -19,7 +19,7 @@ urlpatterns = format_suffix_patterns(patterns('',
|
||||||
url(r'^issues/$', api.IssueList.as_view(), name='issues-list'),
|
url(r'^issues/$', api.IssueList.as_view(), name='issues-list'),
|
||||||
url(r'^issues/(?P<pk>[0-9]+)/$', api.IssueDetail.as_view(), name='issues-detail'),
|
url(r'^issues/(?P<pk>[0-9]+)/$', api.IssueDetail.as_view(), name='issues-detail'),
|
||||||
url(r'^issues/attachments/$', api.IssuesAttachmentList.as_view(), name='issues-attachment-list'),
|
url(r'^issues/attachments/$', api.IssuesAttachmentList.as_view(), name='issues-attachment-list'),
|
||||||
url(r'^issues/attachments/(?P<pk>[0-9]+)/$', api.AttachmentDetail.as_view(), name='issues-attachment-detail'),
|
url(r'^issues/attachments/(?P<pk>[0-9]+)/$', api.IssuesAttachmentDetail.as_view(), name='issues-attachment-detail'),
|
||||||
url(r'^issues/statuses/$', api.IssueStatusList.as_view(), name='issues-status-list'),
|
url(r'^issues/statuses/$', api.IssueStatusList.as_view(), name='issues-status-list'),
|
||||||
url(r'^issues/statuses/(?P<pk>[0-9]+)/$', api.IssueStatusDetail.as_view(), name='issues-status-detail'),
|
url(r'^issues/statuses/(?P<pk>[0-9]+)/$', api.IssueStatusDetail.as_view(), name='issues-status-detail'),
|
||||||
url(r'^issues/types/$', api.IssueTypeList.as_view(), name='issues-type-list'),
|
url(r'^issues/types/$', api.IssueTypeList.as_view(), name='issues-type-list'),
|
||||||
|
|
Loading…
Reference in New Issue