mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-24 12:37:58 +01:00
73 lines
3.8 KiB
Text
73 lines
3.8 KiB
Text
elixir:
|
|
post_link = ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}?#{[post_id: @post.id]}" <> "#post_#{@post.id}"
|
|
|
|
- options = if true do
|
|
.flex__spacer.hidden--desktop
|
|
a.communication__interaction.hidden--desktop title="Link to post" href="#{post_link}"
|
|
i.fa.fa-link
|
|
= if not is_nil(@post.edited_at) and can?(@conn, :show, @post) do
|
|
a href=~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/history"
|
|
' Edited
|
|
=> pretty_time(@post.edited_at)
|
|
|
|
= if @post.edit_reason not in [nil, ""] do
|
|
' because:
|
|
=> @post.edit_reason
|
|
|
|
article.block.communication id="post_#{@post.id}"
|
|
= if not @post.approved and not @post.hidden_from_users and (can?(@conn, :hide, @post) or @post.user_id == @conn.assigns.current_user.id) do
|
|
.block__content
|
|
.block.block--fixed.block--danger
|
|
p
|
|
i.fas.fa-exclamation-triangle>
|
|
' This post is pending approval from a staff member.
|
|
= if can?(@conn, :approve, @post) do
|
|
p
|
|
ul.horizontal-list
|
|
li
|
|
= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/approve", data: [confirm: "Are you sure?"], method: "post", class: "button") do
|
|
i.fas.fa-check>
|
|
' Approve
|
|
li
|
|
a.button.togglable-delete-form-link href="#" data-click-toggle="#inline-reject-form-post-#{@post.id}"
|
|
i.fa.fa-times>
|
|
' Reject
|
|
|
|
= form_for :post, ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/hide", [class: "togglable-delete-form hidden flex", id: "inline-reject-form-post-#{@post.id}"], fn f ->
|
|
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Deletion Reason", id: "inline-reject-reason-post-#{@post.id}", required: true
|
|
= submit "Delete", class: "button"
|
|
|
|
.block__content.flex.flex--no-wrap class=communication_body_class(@post)
|
|
= render PhilomenaWeb.CommunicationView, "_body.html", object: @post, body: @body, conn: @conn, name: "post", options: options
|
|
|
|
.block__content.communication__options
|
|
.flex.flex--wrap.flex--spaced-out
|
|
= render PhilomenaWeb.PostView, "_post_options.html", conn: @conn, post: @post
|
|
|
|
= if can?(@conn, :hide, @post) and not hide_staff_tools?(@conn) do
|
|
= cond do
|
|
- @post.hidden_from_users and not @post.destroyed_content ->
|
|
= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/hide", data: [confirm: "Are you sure?"], method: "delete", class: "communication__interaction") do
|
|
i.fas.fa-check>
|
|
' Restore
|
|
= if can?(@conn, :delete, @post) do
|
|
= link(to: ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/delete", data: [confirm: "Are you sure?"], method: "post", class: "communication__interaction") do
|
|
i.fas.fa-times>
|
|
' Delete Contents
|
|
|
|
- not @post.hidden_from_users and not @post.destroyed_content ->
|
|
a.communication__interaction.togglable-delete-form-link href="#" data-click-toggle="#inline-del-form-post-#{@post.id}"
|
|
i.fa.fa-times>
|
|
' Delete
|
|
|
|
- true ->
|
|
|
|
= if can?(@conn, :show, :ip_address) do
|
|
.communication__info
|
|
=<> link_to_ip(@conn, @post.ip)
|
|
.communication__info
|
|
=<> link_to_fingerprint(@conn, @post.fingerprint)
|
|
|
|
= form_for :post, ~p"/forums/#{@post.topic.forum}/topics/#{@post.topic}/posts/#{@post}/hide", [class: "togglable-delete-form hidden flex", id: "inline-del-form-post-#{@post.id}"], fn f ->
|
|
= text_input f, :deletion_reason, class: "input input--wide", placeholder: "Deletion Reason", id: "inline-del-reason-post-#{@post.id}", required: true
|
|
= submit "Delete", class: "button"
|