mirror of
https://github.com/philomena-dev/philomena.git
synced 2025-01-19 22:27:59 +01:00
more admin permissions
This commit is contained in:
parent
481e29fd50
commit
37836b2c30
4 changed files with 9 additions and 6 deletions
|
@ -102,7 +102,8 @@ defimpl Canada.Can, for: [Atom, Philomena.Users.User] do
|
|||
def can?(%User{role: "moderator"}, :edit, %Tag{}), do: true
|
||||
|
||||
# Award badges
|
||||
def can?(%User{role: "moderator"}, :create, %Award{}), do: true
|
||||
def can?(%User{role: "moderator"}, _action, %Award{}), do: true
|
||||
def can?(%User{role: "moderator"}, _action, Award), do: true
|
||||
|
||||
# Create mod notes
|
||||
def can?(%User{role: "moderator"}, :index, ModNote), do: true
|
||||
|
@ -117,8 +118,6 @@ defimpl Canada.Can, for: [Atom, Philomena.Users.User] do
|
|||
def can?(%User{role: "moderator", role_map: %{"SiteNotice" => "admin"}}, _action, %SiteNotice{}), do: true
|
||||
|
||||
# Manage badges
|
||||
def can?(%User{role: "moderator", role_map: %{"Badge" => "admin"}}, _action, Award), do: true
|
||||
def can?(%User{role: "moderator", role_map: %{"Badge" => "admin"}}, _action, %Award{}), do: true
|
||||
def can?(%User{role: "moderator", role_map: %{"Badge" => "admin"}}, _action, Badge), do: true
|
||||
def can?(%User{role: "moderator", role_map: %{"Badge" => "admin"}}, _action, %Badge{}), do: true
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ defmodule PhilomenaWeb.ProfileController do
|
|||
import Ecto.Query
|
||||
|
||||
plug :load_and_authorize_resource, model: User, only: :show, id_field: "slug", preload: [
|
||||
awards: :badge, public_links: :tag, verified_links: :tag, commission: [sheet_image: :tags, items: [example_image: :tags]]
|
||||
awards: [:badge, :awarded_by], public_links: :tag, verified_links: :tag, commission: [sheet_image: :tags, items: [example_image: :tags]]
|
||||
]
|
||||
plug :set_admin_metadata
|
||||
plug :set_mod_notes
|
||||
|
|
|
@ -28,6 +28,8 @@ h2 Badges
|
|||
= badge_image(badge, width: 32, height: 32)
|
||||
|
||||
td
|
||||
=> link "Users", to: Routes.admin_badge_user_path(@conn, :index, badge)
|
||||
' •
|
||||
= link "Edit", to: Routes.admin_badge_path(@conn, :edit, badge)
|
||||
|
||||
.block__header.block__header--light
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
= render PhilomenaWeb.ProfileView, "_commission.html", user: @user, commission_information: @commission_information, conn: @conn
|
||||
|
||||
.block
|
||||
= if current?(@user, @conn.assigns.current_user) do
|
||||
= if current?(@user, @conn.assigns.current_user) or manages_links?(@conn, @user) do
|
||||
a.block__header--single-item href=Routes.profile_user_link_path(@conn, :new, @user) User Links
|
||||
- else
|
||||
.block__header
|
||||
|
@ -92,7 +92,9 @@
|
|||
br
|
||||
= award_title(award)
|
||||
.flex__grow.center
|
||||
= pretty_time(award.awarded_on)
|
||||
=> pretty_time(award.awarded_on)
|
||||
= if manages_awards?(@conn) do
|
||||
= user_abbrv(@conn, award.awarded_by)
|
||||
|
||||
= if manages_awards?(@conn) do
|
||||
.flex__grow.center
|
||||
|
|
Loading…
Reference in a new issue