fix: css template permissions for gamma role (#23083)
This commit is contained in:
parent
e5a4c78dc7
commit
c39cf36d27
|
|
@ -164,6 +164,7 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
|
|||
GAMMA_READ_ONLY_MODEL_VIEWS = {
|
||||
"Dataset",
|
||||
"Datasource",
|
||||
"CssTemplate",
|
||||
} | READ_ONLY_MODEL_VIEWS
|
||||
|
||||
ADMIN_ONLY_VIEW_MENUS = {
|
||||
|
|
|
|||
|
|
@ -1328,13 +1328,26 @@ class TestRolePermission(SupersetTestCase):
|
|||
def assert_can_menu(self, view_menu, permissions_set):
|
||||
self.assertIn(("menu_access", view_menu), permissions_set)
|
||||
|
||||
def assert_cannot_menu(self, view_menu, permissions_set):
|
||||
self.assertNotIn(("menu_access", view_menu), permissions_set)
|
||||
|
||||
def assert_cannot_gamma(self, perm_set):
|
||||
self.assert_cannot_write("CssTemplate", perm_set)
|
||||
self.assert_cannot_menu("CSS Templates", perm_set)
|
||||
self.assert_cannot_menu("Manage", perm_set)
|
||||
self.assert_cannot_menu("Queries", perm_set)
|
||||
self.assert_cannot_menu("Import dashboards", perm_set)
|
||||
self.assert_cannot_menu("Upload a CSV", perm_set)
|
||||
self.assert_cannot_menu("ReportSchedule", perm_set)
|
||||
self.assert_cannot_menu("Alerts & Report", perm_set)
|
||||
|
||||
def assert_can_gamma(self, perm_set):
|
||||
self.assert_can_read("CssTemplate", perm_set)
|
||||
self.assert_can_read("Dataset", perm_set)
|
||||
|
||||
# make sure that user can create slices and dashboards
|
||||
self.assert_can_all("Dashboard", perm_set)
|
||||
self.assert_can_all("Chart", perm_set)
|
||||
|
||||
self.assertIn(("can_add_slices", "Superset"), perm_set)
|
||||
self.assertIn(("can_copy_dash", "Superset"), perm_set)
|
||||
self.assertIn(("can_created_dashboards", "Superset"), perm_set)
|
||||
|
|
@ -1477,6 +1490,7 @@ class TestRolePermission(SupersetTestCase):
|
|||
def test_gamma_permissions_basic(self):
|
||||
self.assert_can_gamma(get_perm_tuples("Gamma"))
|
||||
self.assert_cannot_alpha(get_perm_tuples("Gamma"))
|
||||
self.assert_cannot_gamma(get_perm_tuples("Gamma"))
|
||||
|
||||
@pytest.mark.usefixtures("public_role_like_gamma")
|
||||
def test_public_permissions_basic(self):
|
||||
|
|
|
|||
Loading…
Reference in New Issue