logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 80f6ac412a632da090be9f3d86971eac0b95a53d
parent: baf66caefd0e8d483ed6feca768b6ad98ab55260
Author: eal <eal@waifu.club>
Date:   Mon, 15 Jan 2018 20:26:49 +0000

Merge branch 'default-pictures' into 'develop'

Add a default profile picture and banner.

See merge request pleroma/pleroma!48

Diffstat:

Mlib/pleroma/user.ex4++--
Mlib/pleroma/web/mastodon_api/views/account_view.ex6+-----
Mlib/pleroma/web/twitter_api/views/user_view.ex2+-
Apriv/static/static/avi.png0
Apriv/static/static/banner.png0
Mtest/web/mastodon_api/account_view_test.exs8++++----
Mtest/web/ostatus/user_representer_test.exs1+
Mtest/web/twitter_api/views/user_view_test.exs23+++++++++++++++--------
8 files changed, 24 insertions(+), 20 deletions(-)

diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex @@ -29,14 +29,14 @@ defmodule Pleroma.User do def avatar_url(user) do case user.avatar do %{"url" => [%{"href" => href} | _]} -> href - _ -> "https://placehold.it/48x48" + _ -> "#{Web.base_url()}/static/avi.png" end end def banner_url(user) do case user.info["banner"] do %{"url" => [%{"href" => href} | _]} -> href - _ -> nil + _ -> "#{Web.base_url()}/static/banner.png" end end diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex @@ -5,19 +5,15 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do alias Pleroma.Web.CommonAPI.Utils alias Pleroma.Web.MediaProxy - defp image_url(%{"url" => [ %{ "href" => href } | _ ]}), do: href - defp image_url(_), do: nil - def render("accounts.json", %{users: users} = opts) do render_many(users, AccountView, "account.json", opts) end def render("account.json", %{user: user}) do image = User.avatar_url(user) |> MediaProxy.url() + header = User.banner_url(user) |> MediaProxy.url() user_info = User.user_info(user) - header = (image_url(user.info["banner"]) || "https://placehold.it/700x335") |> MediaProxy.url() - %{ id: to_string(user.id), username: hd(String.split(user.nickname, "@")), diff --git a/lib/pleroma/web/twitter_api/views/user_view.ex b/lib/pleroma/web/twitter_api/views/user_view.ex @@ -45,7 +45,7 @@ defmodule Pleroma.Web.TwitterAPI.UserView do "screen_name" => user.nickname, "statuses_count" => user_info[:note_count], "statusnet_profile_url" => user.ap_id, - "cover_photo" => image_url(user.info["banner"]) |> MediaProxy.url(), + "cover_photo" => User.banner_url(user) |> MediaProxy.url(), "background_image" => image_url(user.info["background"]) |> MediaProxy.url(), } diff --git a/priv/static/static/avi.png b/priv/static/static/avi.png Binary files differ. diff --git a/priv/static/static/banner.png b/priv/static/static/banner.png Binary files differ. diff --git a/test/web/mastodon_api/account_view_test.exs b/test/web/mastodon_api/account_view_test.exs @@ -19,10 +19,10 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do statuses_count: 5, note: user.bio, url: user.ap_id, - avatar: "https://placehold.it/48x48", - avatar_static: "https://placehold.it/48x48", - header: "https://placehold.it/700x335", - header_static: "https://placehold.it/700x335", + avatar: "http://localhost:4001/static/avi.png", + avatar_static: "http://localhost:4001/static/avi.png", + header: "http://localhost:4001/static/banner.png", + header_static: "http://localhost:4001/static/banner.png", source: %{ note: "", privacy: "public", diff --git a/test/web/ostatus/user_representer_test.exs b/test/web/ostatus/user_representer_test.exs @@ -21,6 +21,7 @@ defmodule Pleroma.Web.OStatus.UserRepresenterTest do <summary>#{user.bio}</summary> <name>#{user.nickname}</name> <link rel="avatar" href="#{User.avatar_url(user)}" /> + <link rel="header" href="#{User.banner_url(user)}" /> """ assert clean(res) == clean(expected) diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs @@ -33,7 +33,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do {:ok, user} = User.update_follower_count(user) Cachex.set(:user_cache, "user_info:#{user.id}", User.user_info(Repo.get!(User, user.id))) - image = "https://placehold.it/48x48" + image = "http://localhost:4001/static/avi.png" + banner = "http://localhost:4001/static/banner.png" represented = %{ "id" => user.id, @@ -54,7 +55,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "statusnet_blocking" => false, "rights" => %{}, "statusnet_profile_url" => user.ap_id, - "cover_photo" => nil, + "cover_photo" => banner, "background_image" => nil } @@ -64,7 +65,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do test "A user for a given other follower", %{user: user} do {:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]}) {:ok, user} = User.update_follower_count(user) - image = "https://placehold.it/48x48" + image = "http://localhost:4001/static/avi.png" + banner = "http://localhost:4001/static/banner.png" + represented = %{ "id" => user.id, "name" => user.name, @@ -84,7 +87,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "statusnet_blocking" => false, "rights" => %{}, "statusnet_profile_url" => user.ap_id, - "cover_photo" => nil, + "cover_photo" => banner, "background_image" => nil } @@ -95,7 +98,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do follower = insert(:user) {:ok, follower} = User.follow(follower, user) {:ok, user} = User.update_follower_count(user) - image = "https://placehold.it/48x48" + image = "http://localhost:4001/static/avi.png" + banner = "http://localhost:4001/static/banner.png" + represented = %{ "id" => follower.id, "name" => follower.name, @@ -115,7 +120,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "statusnet_blocking" => false, "rights" => %{}, "statusnet_profile_url" => follower.ap_id, - "cover_photo" => nil, + "cover_photo" => banner, "background_image" => nil } @@ -126,7 +131,9 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do user = insert(:user) blocker = insert(:user) User.block(blocker, user) - image = "https://placehold.it/48x48" + image = "http://localhost:4001/static/avi.png" + banner = "http://localhost:4001/static/banner.png" + represented = %{ "id" => user.id, "name" => user.name, @@ -146,7 +153,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "statusnet_blocking" => true, "rights" => %{}, "statusnet_profile_url" => user.ap_id, - "cover_photo" => nil, + "cover_photo" => banner, "background_image" => nil }