diff --git a/lib/OpenQA/Schema/Result/Comments.pm b/lib/OpenQA/Schema/Result/Comments.pm index 9c54da6d4a36..20a8a129e250 100644 --- a/lib/OpenQA/Schema/Result/Comments.pm +++ b/lib/OpenQA/Schema/Result/Comments.pm @@ -169,11 +169,11 @@ sub event_data ($self) { return $data; } -sub extended_hash ($self) { +sub extended_hash ($self, $render_markdown = 1) { return { id => $self->id, text => $self->text, - renderedMarkdown => $self->rendered_markdown->to_string, + renderedMarkdown => ($render_markdown) ? $self->rendered_markdown->to_string : undef, bugrefs => $self->bugrefs, created => $self->t_created->strftime("%Y-%m-%d %H:%M:%S %z"), updated => $self->t_updated->strftime("%Y-%m-%d %H:%M:%S %z"), diff --git a/lib/OpenQA/WebAPI/Controller/API/V1/Comment.pm b/lib/OpenQA/WebAPI/Controller/API/V1/Comment.pm index c30e46a661bc..b14b7b5697d5 100644 --- a/lib/OpenQA/WebAPI/Controller/API/V1/Comment.pm +++ b/lib/OpenQA/WebAPI/Controller/API/V1/Comment.pm @@ -82,7 +82,8 @@ text, date of update and the user name that created the comment. sub list ($self) { my $comments = $self->_comments(); return unless $comments; - $self->render(json => [map { $_->extended_hash } $comments->all]); + my $render_markdown = $self->param('render_markdown') // 0; + $self->render(json => [map { $_->extended_hash($render_markdown) } $comments->all]); } diff --git a/t/16-markdown.t b/t/16-markdown.t index 43fd2dc32e41..5ef1ce35f6d1 100644 --- a/t/16-markdown.t +++ b/t/16-markdown.t @@ -165,7 +165,8 @@ subtest 'bugrefs to markdown' => sub { 'fdo#9876', 'right markdown for fdo'; is bugref_to_html('jsc#9876'), - 'jsc#9876', 'right markdown for jsc'; + 'jsc#9876', + 'right markdown for jsc'; is bugref_to_html('pio#foo#1234'), 'pio#foo#1234', 'right markdown for pio'; diff --git a/t/api/09-comments.t b/t/api/09-comments.t index 06fbc7aabf77..5f6a6bb19c1d 100644 --- a/t/api/09-comments.t +++ b/t/api/09-comments.t @@ -120,7 +120,7 @@ sub test_comments ($in, $id) { }; subtest 'list multiple comments' => sub { - $t->get_ok("/api/v1/$in/$id/comments")->status_is(200) + $t->get_ok("/api/v1/$in/$id/comments?render_markdown=1")->status_is(200) ->json_is('/0/text' => $edited_test_message, 'text correct')->json_is( '/0/renderedMarkdown' => "
This is a cool test \x{2620} - http://open.qa - this message will be\\nappended if editing works \x{2620}
\n",