forked from AkkomaGang/akkoma
Merge branch 'admin-logo-upload' into 'develop'
Ability to upload background, logo, default user avatar, instance thumbnail, and the NSFW hiding image See merge request pleroma/pleroma!2388
This commit is contained in:
commit
ab1154e13f
7 changed files with 48 additions and 7 deletions
|
@ -969,6 +969,13 @@
|
|||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
%{
|
||||
key: :instance_thumbnail,
|
||||
type: :string,
|
||||
description:
|
||||
"The instance thumbnail image. It will appear in [Pleroma Instances](http://distsn.org/pleroma-instances.html)",
|
||||
suggestions: ["/instance/thumbnail.jpeg"]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -1112,7 +1119,7 @@
|
|||
logoMask: true,
|
||||
minimalScopesMode: false,
|
||||
noAttachmentLinks: false,
|
||||
nsfwCensorImage: "",
|
||||
nsfwCensorImage: "/static/img/nsfw.74818f9.png",
|
||||
postContentType: "text/plain",
|
||||
redirectRootLogin: "/main/friends",
|
||||
redirectRootNoLogin: "/main/all",
|
||||
|
@ -1226,7 +1233,7 @@
|
|||
type: :string,
|
||||
description:
|
||||
"URL of the image to use for hiding NSFW media attachments in the timeline.",
|
||||
suggestions: ["/static/img/nsfw.png"]
|
||||
suggestions: ["/static/img/nsfw.74818f9.png"]
|
||||
},
|
||||
%{
|
||||
key: :postContentType,
|
||||
|
@ -1346,6 +1353,12 @@
|
|||
suggestions: [
|
||||
:pleroma_fox_tan
|
||||
]
|
||||
},
|
||||
%{
|
||||
key: :default_user_avatar,
|
||||
type: :string,
|
||||
description: "URL of the default user avatar.",
|
||||
suggestions: ["/images/avi.png"]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
|
@ -14,8 +14,10 @@ def new_users(to, users_and_statuses) do
|
|||
styling = Pleroma.Config.get([Pleroma.Emails.UserEmail, :styling])
|
||||
|
||||
logo_url =
|
||||
Pleroma.Web.Endpoint.url() <>
|
||||
Pleroma.Config.get([:frontend_configurations, :pleroma_fe, :logo])
|
||||
Pleroma.Helpers.UriHelper.maybe_add_base(
|
||||
Pleroma.Config.get([:frontend_configurations, :pleroma_fe, :logo]),
|
||||
Pleroma.Web.Endpoint.url()
|
||||
)
|
||||
|
||||
new()
|
||||
|> to({to.name, to.email})
|
||||
|
|
|
@ -24,4 +24,7 @@ def append_param_if_present(%{} = params, param_name, param_value) do
|
|||
params
|
||||
end
|
||||
end
|
||||
|
||||
def maybe_add_base("/" <> uri, base), do: Path.join([base, uri])
|
||||
def maybe_add_base(uri, _base), do: uri
|
||||
end
|
||||
|
|
|
@ -305,8 +305,13 @@ def invisible?(_), do: false
|
|||
|
||||
def avatar_url(user, options \\ []) do
|
||||
case user.avatar do
|
||||
%{"url" => [%{"href" => href} | _]} -> href
|
||||
_ -> !options[:no_default] && "#{Web.base_url()}/images/avi.png"
|
||||
%{"url" => [%{"href" => href} | _]} ->
|
||||
href
|
||||
|
||||
_ ->
|
||||
unless options[:no_default] do
|
||||
Config.get([:assets, :default_user_avatar], "#{Web.base_url()}/images/avi.png")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ def render("show.json", _) do
|
|||
streaming_api: Pleroma.Web.Endpoint.websocket_url()
|
||||
},
|
||||
stats: Pleroma.Stats.get_stats(),
|
||||
thumbnail: Pleroma.Web.base_url() <> "/instance/thumbnail.jpeg",
|
||||
thumbnail: instance_thumbnail(),
|
||||
languages: ["en"],
|
||||
registrations: Keyword.get(instance, :registrations_open),
|
||||
# Extra (not present in Mastodon):
|
||||
|
@ -87,4 +87,9 @@ def federation do
|
|||
end
|
||||
|> Map.put(:enabled, Config.get([:instance, :federating]))
|
||||
end
|
||||
|
||||
defp instance_thumbnail do
|
||||
Pleroma.Config.get([:instance, :instance_thumbnail]) ||
|
||||
"#{Pleroma.Web.base_url()}/instance/thumbnail.jpeg"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1777,4 +1777,16 @@ test "Notifications are updated", %{user: user} do
|
|||
assert result.email_notifications["digest"] == false
|
||||
end
|
||||
end
|
||||
|
||||
test "avatar fallback" do
|
||||
user = insert(:user)
|
||||
assert User.avatar_url(user) =~ "/images/avi.png"
|
||||
|
||||
Pleroma.Config.put([:assets, :default_user_avatar], "avatar.png")
|
||||
|
||||
user = User.get_cached_by_nickname_or_id(user.nickname)
|
||||
assert User.avatar_url(user) =~ "avatar.png"
|
||||
|
||||
assert User.avatar_url(user, no_default: true) == nil
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,6 +28,7 @@ test "it sends new users digest emails" do
|
|||
assert email.html_body =~ user.nickname
|
||||
assert email.html_body =~ user2.nickname
|
||||
assert email.html_body =~ "cofe"
|
||||
assert email.html_body =~ "#{Pleroma.Web.Endpoint.url()}/static/logo.png"
|
||||
end
|
||||
|
||||
test "it doesn't fail when admin has no email" do
|
||||
|
|
Loading…
Reference in a new issue