diff --git a/extra/lib/plausible_web/live/funnel_settings.ex b/extra/lib/plausible_web/live/funnel_settings.ex index 85ed95994f2a..3497c4999908 100644 --- a/extra/lib/plausible_web/live/funnel_settings.ex +++ b/extra/lib/plausible_web/live/funnel_settings.ex @@ -57,7 +57,7 @@ defmodule PlausibleWeb.Live.FunnelSettings do show_content?={!Plausible.Billing.Feature.Funnels.opted_out?(@site)} site={@site} current_user={@current_user} - current_team={@current_team} + current_team={@site_team} > <:title> Funnels diff --git a/lib/plausible_web/live/props_settings.ex b/lib/plausible_web/live/props_settings.ex index 9377d2a45c5e..269d748d71f5 100644 --- a/lib/plausible_web/live/props_settings.ex +++ b/lib/plausible_web/live/props_settings.ex @@ -49,7 +49,7 @@ defmodule PlausibleWeb.Live.PropsSettings do show_content?={!Plausible.Billing.Feature.Props.opted_out?(@site)} site={@site} current_user={@current_user} - current_team={@current_team} + current_team={@site_team} > <:title> Custom properties diff --git a/lib/plausible_web/live/shared_link_settings.ex b/lib/plausible_web/live/shared_link_settings.ex index 97839539d0c9..1592b7a390b1 100644 --- a/lib/plausible_web/live/shared_link_settings.ex +++ b/lib/plausible_web/live/shared_link_settings.ex @@ -31,6 +31,7 @@ defmodule PlausibleWeb.Live.SharedLinkSettings do {:ok, assign(socket, site_id: site_id, + site_team: socket.assigns.site.team, domain: domain, form_shared_link: nil )} @@ -46,7 +47,7 @@ defmodule PlausibleWeb.Live.SharedLinkSettings do feature_mod={Plausible.Billing.Feature.SharedLinks} site={@site} current_user={@current_user} - current_team={@current_team} + current_team={@site_team} > <:title> Shared links diff --git a/test/plausible_web/live/funnel_settings_test.exs b/test/plausible_web/live/funnel_settings_test.exs index 9a51d59396ee..2fb874b2a4d8 100644 --- a/test/plausible_web/live/funnel_settings_test.exs +++ b/test/plausible_web/live/funnel_settings_test.exs @@ -8,7 +8,6 @@ defmodule PlausibleWeb.Live.FunnelSettingsTest do describe "GET /:domain/settings/funnels" do setup [:create_user, :log_in, :create_site] - @tag :ee_only test "premium feature notice renders", %{conn: conn, site: site, user: user} do user |> team_of() @@ -21,6 +20,21 @@ defmodule PlausibleWeb.Live.FunnelSettingsTest do assert text(resp) =~ "upgrade your subscription" end + test "guest editors should be able to access funnel settings", %{site: site, conn: conn} do + guest_user = new_user() + add_guest(site, user: guest_user, role: :editor) + + {:ok, conn: conn} = log_in(%{user: guest_user, conn: conn}) + + lock_notice = + conn + |> get("/#{site.domain}/settings/funnels") + |> html_response(200) + |> text_of_element("#lock-notice") + + refute lock_notice =~ "upgrade your subscription" + end + test "lists funnels for the site and renders help link", %{conn: conn, site: site} do {:ok, _} = setup_funnels(site) conn = get(conn, "/#{site.domain}/settings/funnels") diff --git a/test/plausible_web/live/props_settings_test.exs b/test/plausible_web/live/props_settings_test.exs index 98e73ac6a4b4..1e36e4c6321c 100644 --- a/test/plausible_web/live/props_settings_test.exs +++ b/test/plausible_web/live/props_settings_test.exs @@ -39,6 +39,22 @@ defmodule PlausibleWeb.Live.PropsSettingsTest do refute lock_notice =~ "upgrade your subscription" end + @tag :ee_only + test "guest editors should be able to access prop settings", %{site: site, conn: conn} do + guest_user = new_user() + add_guest(site, user: guest_user, role: :editor) + + {:ok, conn: conn} = log_in(%{user: guest_user, conn: conn}) + + lock_notice = + conn + |> get("/#{site.domain}/settings/properties") + |> html_response(200) + |> text_of_element("#lock-notice") + + refute lock_notice =~ "upgrade your subscription" + end + test "lists props for the site and renders links", %{conn: conn, site: site} do {:ok, site} = Plausible.Props.allow(site, ["amount", "logged_in", "is_customer"]) conn = get(conn, "/#{site.domain}/settings/properties") diff --git a/test/plausible_web/live/shared_link_settings_test.exs b/test/plausible_web/live/shared_link_settings_test.exs index a3dbe90494ae..39fb55d67964 100644 --- a/test/plausible_web/live/shared_link_settings_test.exs +++ b/test/plausible_web/live/shared_link_settings_test.exs @@ -10,6 +10,22 @@ defmodule PlausibleWeb.Live.SharedLinkSettingsTest do {:ok, session: %{"site_id" => site.id, "domain" => site.domain}} end + test "guest editors should be able to access shared link settings", %{ + site: site, + conn: conn, + session: session + } do + insert(:shared_link, site: site, name: "Link 1") + guest_user = new_user() + add_guest(site, user: guest_user, role: :editor) + + {:ok, conn: conn} = log_in(%{user: guest_user, conn: conn}) + lv = get_liveview(conn, session) + lock_notice = render(lv) |> text_of_element("#lock-notice") + + refute lock_notice =~ "upgrade your subscription" + end + test "allows shared link deletion", %{conn: conn, site: site, session: session} do link1 = insert(:shared_link, site: site, name: "Link 1") link2 = insert(:shared_link, site: site, name: "Link 2")