def test_install_check_but_different_specific_id(self): self.organization.plugins_access_level = Organization.PluginsAccessLevel.INSTALL self.organization.save() result_install = can_install_plugins(self.organization, "5802AE1C-FA8E-4559-9D7A-3206E371A350") self.assertFalse(result_install)
def test_no_org_check(self): result_root = can_globally_manage_plugins(None) result_install = can_install_plugins(None) result_config = can_configure_plugins(None) result_view = can_view_plugins(None) self.assertFalse(result_root) self.assertFalse(result_install) self.assertFalse(result_config) self.assertFalse(result_view)
def test_none_check(self): self.organization.plugins_access_level = Organization.PluginsAccessLevel.NONE self.organization.save() result_root = can_globally_manage_plugins(self.organization) result_install = can_install_plugins(self.organization) result_config = can_configure_plugins(self.organization) result_view = can_view_plugins(self.organization) self.assertFalse(result_root) self.assertFalse(result_install) self.assertFalse(result_config) self.assertFalse(result_view)
def preinstall_plugins_for_new_organization(sender, instance: Organization, created: bool, **kwargs): if created and not settings.MULTI_TENANCY and can_install_plugins(instance): for plugin_url in settings.PLUGINS_PREINSTALLED_URLS: try: Plugin.objects.install( organization=instance, plugin_type=Plugin.PluginType.REPOSITORY, url=plugin_url, is_preinstalled=True, ) except Exception as e: print( f"⚠️ Cannot preinstall plugin from {plugin_url}, skipping it for organization {instance.name}:\n", e )
def test_config_check_with_id_str(self): self.organization.plugins_access_level = Organization.PluginsAccessLevel.CONFIG self.organization.save() organization_id = str(self.organization.id) result_root = can_globally_manage_plugins(organization_id) result_install = can_install_plugins(organization_id) result_config = can_configure_plugins(organization_id) result_view = can_view_plugins(organization_id) self.assertFalse(result_root) self.assertFalse(result_install) self.assertTrue(result_config) self.assertTrue(result_view)