philomena/lib/philomena_web/templates/admin/user/index.html.slime

94 lines
2.7 KiB
Text

h1 Users
= form_for :user, ~p"/admin/users", [method: "get", class: "hform"], fn f ->
.field
=> text_input f, :q, name: "q", class: "hform__text input", placeholder: "Search query"
= submit "Search", class: "button hform__button"
=> link "Site staff", to: ~p"/admin/users?#{[staff: 1]}"
' •
=> link "2FA users", to: ~p"/admin/users?#{[twofactor: 1]}"
- route = fn p -> ~p"/admin/users?#{p}" end
- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn, params: page_params(@conn.params)
.block
.block__header
= pagination
.block__content
table.table
thead
tr
th Name
th Email
th Activated
th Role
th Created
th Options
tbody
= for user <- @users do
tr
td
= link user.name, to: ~p"/profiles/#{user}"
= cond do
- user.otp_required_for_login ->
span.banner__2fa.success
i.fas.fa-check>
' 2FA
- user.role != "user" and !user.otp_required_for_login ->
span.banner__2fa.danger
i.fas.fa-times>
' 2FA
- true ->
td
= if can?(@conn, :edit, Philomena.Users.User) do
= user.email
- else
i N/A
td
= cond do
- user.deleted_at ->
strong> Deactivated
= pretty_time user.deleted_at
- user.confirmed_at ->
' Active
- true ->
strong> Unconfirmed
td
= String.capitalize(user.role)
td
= pretty_time user.created_at
td
= if can?(@conn, :edit, user) do
=> link to: ~p"/admin/users/#{user}/edit" do
i.fa.icon--padded.small.fa-user-edit
' Edit
/= if user.deleted_at do
/ => link_to 'Reactivate', admin_user_activation_path(user), data: { confirm: t('are_you_sure') }, method: :create
/- else
/ => link_to 'Deactivate', admin_user_activation_path(user), data: { confirm: t('are_you_sure') }, method: :delete
/' &bull;
= if can?(@conn, :index, Philomena.Bans.User) do
=> link to: ~p"/admin/user_bans/new?#{[user_id: user.id]}" do
i.fa.icon--padded.small.fa-ban
' Ban
= if can?(@conn, :edit, Philomena.ArtistLinks.ArtistLink) do
=> link to: ~p"/profiles/#{user}/artist_links/new" do
i.fa.icon--padded.small.fa-link
' Add link
.block__header.block__header--light
= pagination