|
1 | 1 | defmodule PlausibleWeb.AdminController do |
2 | 2 | use PlausibleWeb, :controller |
| 3 | + use Plausible |
3 | 4 |
|
4 | 5 | alias Plausible.Teams |
5 | 6 |
|
6 | | - alias PlausibleWeb.Router.Helpers, as: Routes |
7 | | - |
8 | 7 | def usage(conn, params) do |
9 | 8 | user_id = String.to_integer(params["user_id"]) |
10 | 9 |
|
@@ -73,35 +72,14 @@ defmodule PlausibleWeb.AdminController do |
73 | 72 | end |
74 | 73 |
|
75 | 74 | defp usage_and_limits_html(team, usage, limits, embed?) do |
76 | | - sites_row = |
77 | | - if team do |
78 | | - sites_count = |
79 | | - team |
80 | | - |> Ecto.assoc(:sites) |
81 | | - |> Plausible.Repo.aggregate(:count) |
82 | | - |
83 | | - sites_link = |
84 | | - Routes.kaffy_resource_url(PlausibleWeb.Endpoint, :index, :sites, :site, |
85 | | - custom_search: team.owner.email |
86 | | - ) |
87 | | - |
88 | | - """ |
89 | | - <li>Owner of <a href="#{sites_link}">#{sites_count} site#{if sites_count != 1, do: "s", else: ""}</a></li> |
90 | | - """ |
91 | | - else |
92 | | - """ |
93 | | - <li>Owner of 0 sites</li> |
94 | | - """ |
95 | | - end |
96 | | - |
97 | 75 | content = """ |
98 | 76 | <ul> |
99 | 77 | <li>Team: <b>#{team && team.name}</b></li> |
100 | 78 | <li>Sites: <b>#{usage.sites}</b> / #{limits.sites}</li> |
101 | 79 | <li>Team members: <b>#{usage.team_members}</b> / #{limits.team_members}</li> |
102 | 80 | <li>Features: #{features_usage(usage.features)}</li> |
103 | 81 | <li>Monthly pageviews: #{monthly_pageviews_usage(usage.monthly_pageviews, limits.monthly_pageviews)}</li> |
104 | | - #{sites_row} |
| 82 | + #{sites_count_row(team)} |
105 | 83 | </ul> |
106 | 84 | """ |
107 | 85 |
|
@@ -131,6 +109,32 @@ defmodule PlausibleWeb.AdminController do |
131 | 109 | end |
132 | 110 | end |
133 | 111 |
|
| 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 | + |
134 | 138 | defp features_usage(features_module_list) do |
135 | 139 | list_items = |
136 | 140 | features_module_list |
|
0 commit comments