----- Original Message ----- > From: "Stephen Finucane" <step...@that.guru> > To: patchwork@lists.ozlabs.org > Cc: "Stephen Finucane" <step...@that.guru>, "Veronika Kabatova" > <vkaba...@redhat.com> > Sent: Friday, April 27, 2018 5:35:06 PM > Subject: [PATCH] REST: Show 'comments' in '/patches', '/comments' > > This link is only shown for individual resources at the moment. Modify > this behavior. > > Signed-off-by: Stephen Finucane <step...@that.guru> > Cc: Veronika Kabatova <vkaba...@redhat.com>
Acked-by: Veronika Kabatova <vkaba...@redhat.com> Thanks, Veronika > --- > patchwork/api/cover.py | 20 +++++++++----------- > patchwork/api/patch.py | 37 +++++++++++++++++++------------------ > 2 files changed, 28 insertions(+), 29 deletions(-) > > diff --git a/patchwork/api/cover.py b/patchwork/api/cover.py > index 01c9fbb6..7c80064c 100644 > --- a/patchwork/api/cover.py > +++ b/patchwork/api/cover.py > @@ -38,18 +38,23 @@ class > CoverLetterListSerializer(BaseHyperlinkedModelSerializer): > submitter = PersonSerializer(read_only=True) > mbox = SerializerMethodField() > series = SeriesSerializer(many=True, read_only=True) > + comments = SerializerMethodField() > > def get_mbox(self, instance): > request = self.context.get('request') > return request.build_absolute_uri(instance.get_mbox_url()) > > + def get_comments(self, cover): > + return self.context.get('request').build_absolute_uri( > + reverse('api-comment-list', kwargs={'pk': cover.id})) > + > class Meta: > model = CoverLetter > fields = ('id', 'url', 'project', 'msgid', 'date', 'name', > 'submitter', > - 'mbox', 'series') > + 'mbox', 'series', 'comments') > read_only_fields = fields > versioned_fields = { > - '1.1': ('mbox', ), > + '1.1': ('mbox', 'comments'), > } > extra_kwargs = { > 'url': {'view_name': 'api-cover-detail'}, > @@ -59,11 +64,6 @@ class > CoverLetterListSerializer(BaseHyperlinkedModelSerializer): > class CoverLetterDetailSerializer(CoverLetterListSerializer): > > headers = SerializerMethodField() > - comments = SerializerMethodField() > - > - def get_comments(self, cover): > - return self.context.get('request').build_absolute_uri( > - reverse('api-comment-list', kwargs={'pk': cover.id})) > > def get_headers(self, instance): > headers = {} > @@ -82,12 +82,10 @@ class > CoverLetterDetailSerializer(CoverLetterListSerializer): > class Meta: > model = CoverLetter > fields = CoverLetterListSerializer.Meta.fields + ( > - 'headers', 'content', 'comments') > + 'headers', 'content') > read_only_fields = fields > extra_kwargs = CoverLetterListSerializer.Meta.extra_kwargs > - versioned_fields = { > - '1.1': ('mbox', 'comments'), > - } > + versioned_fields = CoverLetterListSerializer.Meta.versioned_fields > > > class CoverLetterList(ListAPIView): > diff --git a/patchwork/api/patch.py b/patchwork/api/patch.py > index 8aca8915..d1931c01 100644 > --- a/patchwork/api/patch.py > +++ b/patchwork/api/patch.py > @@ -83,6 +83,7 @@ class PatchListSerializer(BaseHyperlinkedModelSerializer): > delegate = UserSerializer() > mbox = SerializerMethodField() > series = SeriesSerializer(many=True, read_only=True) > + comments = SerializerMethodField() > check = SerializerMethodField() > checks = SerializerMethodField() > tags = SerializerMethodField() > @@ -91,10 +92,9 @@ class PatchListSerializer(BaseHyperlinkedModelSerializer): > request = self.context.get('request') > return request.build_absolute_uri(instance.get_mbox_url()) > > - def get_tags(self, instance): > - # TODO(stephenfin): Make tags performant, possibly by reworking the > - # model > - return {} > + def get_comments(self, patch): > + return self.context.get('request').build_absolute_uri( > + reverse('api-comment-list', kwargs={'pk': patch.id})) > > def get_check(self, instance): > return instance.combined_check_state > @@ -103,15 +103,23 @@ class > PatchListSerializer(BaseHyperlinkedModelSerializer): > return self.context.get('request').build_absolute_uri( > reverse('api-check-list', kwargs={'patch_id': instance.id})) > > + def get_tags(self, instance): > + # TODO(stephenfin): Make tags performant, possibly by reworking the > + # model > + return {} > + > class Meta: > model = Patch > fields = ('id', 'url', 'project', 'msgid', 'date', 'name', > 'commit_ref', 'pull_url', 'state', 'archived', 'hash', > - 'submitter', 'delegate', 'mbox', 'series', 'check', > 'checks', > - 'tags') > + 'submitter', 'delegate', 'mbox', 'series', 'comments', > + 'check', 'checks', 'tags') > read_only_fields = ('project', 'msgid', 'date', 'name', 'hash', > - 'submitter', 'mbox', 'mbox', 'series', 'check', > - 'checks', 'tags') > + 'submitter', 'mbox', 'mbox', 'series', > 'comments', > + 'check', 'checks', 'tags') > + versioned_fields = { > + '1.1': ('comments', ), > + } > extra_kwargs = { > 'url': {'view_name': 'api-patch-detail'}, > } > @@ -121,11 +129,6 @@ class PatchDetailSerializer(PatchListSerializer): > > headers = SerializerMethodField() > prefixes = SerializerMethodField() > - comments = SerializerMethodField() > - > - def get_comments(self, patch): > - return self.context.get('request').build_absolute_uri( > - reverse('api-comment-list', kwargs={'pk': patch.id})) > > def get_headers(self, patch): > headers = {} > @@ -147,13 +150,11 @@ class PatchDetailSerializer(PatchListSerializer): > class Meta: > model = Patch > fields = PatchListSerializer.Meta.fields + ( > - 'headers', 'content', 'diff', 'prefixes', 'comments') > + 'headers', 'content', 'diff', 'prefixes') > read_only_fields = PatchListSerializer.Meta.read_only_fields + ( > - 'headers', 'content', 'diff', 'prefixes', 'comments') > + 'headers', 'content', 'diff', 'prefixes') > + versioned_fields = PatchListSerializer.Meta.versioned_fields > extra_kwargs = PatchListSerializer.Meta.extra_kwargs > - versioned_fields = { > - '1.1': ('comments', ), > - } > > > class PatchList(ListAPIView): > -- > 2.14.3 > > _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork