11defmodule PlausibleWeb.AdminController do
22 use PlausibleWeb , :controller
3+ use Plausible
34
45 alias Plausible.Teams
56
@@ -9,7 +10,9 @@ defmodule PlausibleWeb.AdminController do
910 team =
1011 case Teams . get_by_owner ( user_id ) do
1112 { :ok , team } ->
12- Teams . with_subscription ( team )
13+ team
14+ |> Teams . with_subscription ( )
15+ |> Plausible.Repo . preload ( :owner )
1316
1417 { :error , :no_team } ->
1518 nil
@@ -69,34 +72,14 @@ defmodule PlausibleWeb.AdminController do
6972 end
7073
7174 defp usage_and_limits_html ( team , usage , limits , embed? ) do
72- sites =
73- if team do
74- Plausible.Repo . preload ( team , :sites ) . sites
75- else
76- [ ]
77- end
78-
79- sites_list =
80- Enum . map_join ( sites , "\n " , fn site ->
81- """
82- <li><a href="/crm/sites/site/#{ site . id } ">#{ site . domain } </a></li>
83- """
84- end )
85-
8675 content = """
8776 <ul>
8877 <li>Team: <b>#{ team && team . name } </b></li>
8978 <li>Sites: <b>#{ usage . sites } </b> / #{ limits . sites } </li>
9079 <li>Team members: <b>#{ usage . team_members } </b> / #{ limits . team_members } </li>
9180 <li>Features: #{ features_usage ( usage . features ) } </li>
9281 <li>Monthly pageviews: #{ monthly_pageviews_usage ( usage . monthly_pageviews , limits . monthly_pageviews ) } </li>
93- <li>
94- Owned sites:
95-
96- <ul>
97- #{ sites_list }
98- </ul>
99- </li>
82+ #{ sites_count_row ( team ) }
10083 </ul>
10184 """
10285
@@ -126,6 +109,32 @@ defmodule PlausibleWeb.AdminController do
126109 end
127110 end
128111
112+ on_ee do
113+ alias PlausibleWeb.Router.Helpers , as: Routes
114+
115+ defp sites_count_row ( % Plausible.Teams.Team { } = team ) do
116+ sites_count =
117+ team
118+ |> Ecto . assoc ( :sites )
119+ |> Plausible.Repo . aggregate ( :count )
120+
121+ sites_link =
122+ Routes . kaffy_resource_url ( PlausibleWeb.Endpoint , :index , :sites , :site ,
123+ custom_search: team . owner . email
124+ )
125+
126+ """
127+ <li>Owner of <a href="#{ sites_link } ">#{ sites_count } site#{ if sites_count != 1 , do: "s" , else: "" } </a></li>
128+ """
129+ end
130+ end
131+
132+ defp sites_count_row ( _ ) do
133+ """
134+ <li>Owner of 0 sites</li>
135+ """
136+ end
137+
129138 defp features_usage ( features_module_list ) do
130139 list_items =
131140 features_module_list
0 commit comments