philomena/lib/philomena_web/templates/profile/_admin_block.html.slime
2024-05-20 22:30:41 +02:00

176 lines
6.5 KiB
Text

.block.block--danger
.block__header
i.fa.fa-tools
| Admin
.block__content
i.fa.icon--padded.small.fa-calendar>
' Account created
= @user.created_at
br
i.fa.icon--padded.small.fa-filter>
' Current Filter:
= if @filter do
= link @filter.name, to: Routes.filter_path(@conn, :show, @filter)
- else
em
' (none)
br
i.far.icon--padded.small.fa-clock>
' Last seen
= if @last_ip do
=> pretty_time(@last_ip.updated_at)
' from
=> link_to_ip(@conn, @last_ip.ip)
= if @last_fp do
=> link_to_fingerprint(@conn, @last_fp.fingerprint)
- else
em
' (never)
br
i.fas.icon--padded.small.fa-key>
' Two factor auth:
strong = enabled_text(@user.otp_required_for_login)
br
= if @user.locked_at do
i.fas.icon--padded.small.fa-lock>
strong.comment_deleted>
' Account locked,
=> @user.failed_attempts
' failed login attempts
- else
i.fas.icon--padded.small.fa-unlock>
' Not currently locked
hr.separator.separator--danger
a.button.button--danger href="#" data-click-toggle=".js-admin__options__toggle" title="Toggle Controls"
i.fa.icon--padded.small.fa-bars
span Toggle Controls
.profile-top__options.js-admin__options__toggle.hidden
ul.profile-admin__options__column
li
= link to: Routes.profile_detail_path(@conn, :index, @user) do
i.fa.icon--padded.small.fa-eye
span.admin__button View Details
li
= link to: Routes.search_path(@conn, :index, q: "upvoted_by_id:#{@user.id}") do
i.fa.icon--padded.small.fa-arrow-up
span.admin__button Upvotes
li
= link to: Routes.search_path(@conn, :index, q: "downvoted_by_id:#{@user.id}") do
i.fa.icon--padded.small.fa-arrow-down
span.admin__button Downvotes
li
= link to: Routes.search_path(@conn, :index, q: "hidden_by_id:#{@user.id}") do
i.fa.icon--padded.small.fa-eye-slash
span.admin__button Hidden Images
li
= link to: Routes.admin_report_path(@conn, :index, rq: "user_id:#{@user.id}") do
i.fa.icon--padded.small.fa-exclamation
span.admin__button Reports
li
= link to: Routes.profile_ip_history_path(@conn, :index, @user) do
i.fab.icon--padded.small.fa-internet-explorer
span.admin__button IP History
li
= link to: Routes.profile_fp_history_path(@conn, :index, @user) do
i.fa.icon--padded.small.fa-desktop
span.admin__button FP History
li
= link to: Routes.profile_alias_path(@conn, :index, @user) do
i.fa.icon--padded.small.fa-users
span.admin__button Potential Aliases
= if can?(@conn, :index, %Philomena.Donations.Donation{}) do
li
= link to: Routes.admin_donation_user_path(@conn, :show, @user) do
i.fas.icon--padded.small.fa-dollar-sign
span.admin__button Donations
ul.profile-admin__options__column
= if can?(@conn, :edit, @user) do
li
= link to: Routes.admin_user_path(@conn, :edit, @user) do
i.fas.icon--padded.small.fa-edit
span.admin__button Edit User
li
= link to: Routes.admin_user_force_filter_path(@conn, :new, @user) do
i.fas.faw-fw.fa-filter
span.admin__button Force Filter
= if @forced do
li
= link to: Routes.profile_detail_path(@conn, :index, @user) do
i.fa.icon--padded.small.fa-eye
span.admin__button View Details
li
= link to: Routes.search_path(@conn, :index, q: "upvoted_by_id:#{@user.id}") do
i.fa.icon--padded.small.fa-arrow-up
span.admin__button Upvotes
li
= link to: Routes.search_path(@conn, :index, q: "downvoted_by_id:#{@user.id}") do
i.fa.icon--padded.small.fa-arrow-down
span.admin__button Downvotes
li
= link to: Routes.admin_user_unlock_path(@conn, :create, @user), data: [method: "post"] do
i.fas.icon--padded.small.fa-unlock
span.admin__button Unlock Account
li
= link to: Routes.admin_user_wipe_path(@conn, :create, @user), data: [confirm: "This is irreversible, destroying all identifying information including email. Are you sure?", method: "post"] do
i.fas.icon--padded.small.fa-eraser
span.admin__button Wipe PII
= if can?(@conn, :edit, %Philomena.ArtistLinks.ArtistLink{}) do
li
= link to: Routes.profile_artist_link_path(@conn, :new, @user) do
i.fa.icon--padded.small.fa-link
span.admin__button Add Artist Link
li
= link to: Routes.admin_user_force_filter_path(@conn, :new, @user) do
i.fas.faw-fw.fa-filter
span.admin__button Force Filter
ul.profile-admin__options__column
= if can?(@conn, :index, Philomena.Users.User) do
li
= link to: Routes.admin_user_api_key_path(@conn, :delete, @user), data: [confirm: "Are you really, really sure?", method: "delete"] do
i.fas.icon--padded.small.fa-key
span.admin__button Reset API key
li
= if @user.verified do
= link to: Routes.admin_user_verification_path(@conn, :delete, @user), data: [confirm: "Are you really, really sure?", method: "delete"] do
i.fas.icon--padded.small.fa-user-times
span.admin__button Revoke Verification
- else
= link to: Routes.admin_user_verification_path(@conn, :create, @user), data: [confirm: "Are you really, really sure?", method: "create"] do
i.fas.icon--padded.small.fa-user-check
span.admin__button Grant Verification
ul.profile-admin__options__column
= if can?(@conn, :index, Philomena.Users.User) do
li
= link to: Routes.admin_user_vote_path(@conn, :delete, @user), data: [confirm: "Are you really, really sure?", method: "delete"] do
i.far.icon--padded.small.fa-file-excel
span.admin__button Remove All Votes/Faves
li
= link to: Routes.admin_user_downvote_path(@conn, :delete, @user), data: [confirm: "Are you really, really sure?", method: "delete"] do
i.fa.icon--padded.small.fa-arrow-down
span.admin__button Remove All Downvotes
= if @user.role == "user" and can?(@conn, :revert, Philomena.TagChanges.TagChange) do
li
= link to: Routes.tag_change_full_revert_path(@conn, :create, [user_id: @user.id]), data: [confirm: "Are you really, really sure?", method: "create"] do
i.fa.icon--padded.small.fa-tag
span.admin__button Revert All Tag Changes