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