mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
In PHP, this was implemented using an /rpc type 'get-comment-form'. With FastAPI, we've decided to reorganize this into a non-RPC route: `/pkgbase/{name}/comments/{id}/form`, rendered via the new `templates/partials/packages/comment_form.html` template. When the comment_form.html template is provided a `comment` object, it will produce an edit comment form. Otherwise, it will produce a new comment form. A few new FastAPI routes have been introduced: - GET `/pkgbase/{name}/comments/{id}/form` - Produces a JSON response based on {"form": "<form_markup>"}. - POST `/pkgbase/{name}/comments' - Creates a new comment. - POST `/pkgbase/{name}/comments/{id}` - Edits an existing comment. In addition, some Javascript has been modified for our new routes. Signed-off-by: Kevin Morris <kevr@0cost.org>
60 lines
2.9 KiB
HTML
60 lines
2.9 KiB
HTML
<h4 id="comment-{{ comment.ID }}" class="comment-header">
|
|
{% set commented_at = comment.CommentTS | dt | as_timezone(timezone) %}
|
|
{% set view_account_info = 'View account information for %s' | tr | format(comment.User.Username) %}
|
|
{{
|
|
"%s commented on %s" | tr | format(
|
|
('<a href="/account/%s" title="%s">%s</a>' | format(
|
|
comment.User.Username,
|
|
view_account_info,
|
|
comment.User.Username
|
|
)) if request.user.is_authenticated() else
|
|
(comment.User.Username),
|
|
'<a href="#comment-%s" class="date">%s</a>' | format(
|
|
comment.ID,
|
|
commented_at.strftime("%Y-%m-%d %H:%M")
|
|
)
|
|
)
|
|
| safe
|
|
}}
|
|
{% if comment.Editor %}
|
|
{% set edited_on = comment.EditedTS | dt | as_timezone(timezone) %}
|
|
<span class="edited">
|
|
({{ "edited on %s by %s" | tr
|
|
| format(edited_on.strftime('%Y-%m-%d %H:%M'),
|
|
'<a href="/account/%s">%s</a>' | format(
|
|
comment.Editor.Username, comment.Editor.Username))
|
|
| safe
|
|
}})
|
|
</span>
|
|
{% endif %}
|
|
{% if request.user.is_elevated() or pkgbase.Maintainer == request.user %}
|
|
<form class="delete-comment-form" method="post" action="/pkgbase/{{ name }}/">
|
|
<fieldset style="display:inline;">
|
|
<input type="hidden" name="action" value="do_DeleteComment" />
|
|
<input type="hidden" name="comment_id" value="{{ comment.ID }}"/>
|
|
<input type="hidden" name="return_to" value="/pkgbase/{{ name }}/"/>
|
|
<input type="image" class="delete-comment" src="/images/x.min.svg" width="11" height="11" alt="{{ 'Delete comment' | tr }}" title="{{ 'Delete comment' | tr }}" name="submit" value="1" />
|
|
</fieldset>
|
|
</form>
|
|
<a href="/pkgbase/{{ pkgname }}/edit-comment/?comment_id={{ comment.ID }}" class="edit-comment" title="Edit comment"><img src="/images/pencil.min.svg" alt="Edit comment" width="11" height="11"></a>
|
|
|
|
<form class="pin-comment-form" method="post" action="/pkgbase/{{ name }}/">
|
|
<fieldset style="display:inline;">
|
|
<input type="hidden" name="action" value="do_PinComment"/>
|
|
<input type="hidden" name="comment_id" value="{{ comment.ID }}"/>
|
|
<input type="hidden" name="package_base" value="{{ pkgbase.ID }}"/>
|
|
<input type="hidden" name="return_to" value="/pkgbase/{{ name }}/"/>
|
|
<input type="image" class="pin-comment" src="/images/pin.min.svg" width="11" height="11" alt="{{ 'Pin comment' | tr }}" title="{{ 'Pin comment' | tr }}" name="submit" value="1"/>
|
|
</fieldset>
|
|
</form>
|
|
{% endif %}
|
|
</h4>
|
|
<div id="comment-{{ comment.ID }}-content" class="article-content">
|
|
<div>
|
|
{% if comment.RenderedComment %}
|
|
{{ comment.RenderedComment | safe }}
|
|
{% else %}
|
|
{{ comment.Comments }}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|