def manage_templates(request): """View that allows template management. Args: request: Returns: """ # get all current templates templates = template_version_manager_api.get_global_version_managers( request=request) context = { "object_name": "Template", "available": [template for template in templates if not template.is_disabled], "disabled": [template for template in templates if template.is_disabled], } assets = {} modals = [] return admin_render( request, "core_main_app/admin/templates/list.html", assets=assets, context=context, modals=modals, )
def get_template_version_managers(self): """ Get global template version managers Returns: """ return template_version_manager_api.get_global_version_managers()
def get_dependency_resolver_html(imports, includes, xsd_data, filename): """Return HTML for dependency resolver form. Args: imports: includes: xsd_data: filename: Returns: """ # build the list of dependencies current_templates = template_version_manager_api.get_global_version_managers(_cls=False) list_dependencies_template = loader.get_template('core_main_app/admin/list_dependencies.html') context = { 'templates': [template for template in current_templates if not template.is_disabled], } list_dependencies_html = list_dependencies_template.render(context) # build the dependency resolver form dependency_resolver_template = loader.get_template('core_main_app/admin/dependency_resolver.html') context = { 'imports': imports, 'includes': includes, 'xsd_content': html_escape(xsd_data), 'filename': filename, 'dependencies': list_dependencies_html, } return dependency_resolver_template.render(context)
def manage_templates(request): """View that allows template management. Args: request: Returns: """ # get all current templates templates = template_version_manager_api.get_global_version_managers() context = { 'object_name': 'Template', 'available': [template for template in templates if not template.is_disabled], 'disabled': [template for template in templates if template.is_disabled] } assets = {} modals = [] return admin_render(request, 'core_main_app/admin/templates/list.html', assets=assets, context=context, modals=modals)
def get_template_version_managers(self): """ Get GlobalTemplateVersionManager Returns: List of GlobalTemplateVersionManager """ return template_version_manager_api.get_global_version_managers()
def test_get_global_version_managers_returns_templates(self, mock_get_global_version_managers): # Arrange mock_template1 = _create_mock_template() mock_template2 = _create_mock_template() mock_get_global_version_managers.return_value = [mock_template1, mock_template2] result = version_manager_api.get_global_version_managers() # Assert self.assertTrue(all(isinstance(item, Template) for item in result))
def template_list(request): """ Display the last HOMEPAGE_NB_LAST_TEMPLATES templates. Args: request: Returns: """ context = { "templates": [version_manager for version_manager in get_global_version_managers() if not version_manager.is_disabled][:settings.HOMEPAGE_NB_LAST_TEMPLATES] } return render(request, "mdcs_home/template_list.html", context)
def template_list(request): """ Display the last HOMEPAGE_NB_LAST_TEMPLATES templates. Args: request: Returns: """ context = { "templates": [version_manager for version_manager in get_global_version_managers() if not version_manager.is_disabled][:settings.HOMEPAGE_NB_LAST_TEMPLATES] } return render(request, "mdcs_home/template_list.html", context)
def manage_templates(request): """View that allows template management. Args: request: Returns: """ # get all current templates templates = template_version_manager_api.get_global_version_managers( request=request) context = { "object_name": "Template", "available": [template for template in templates if not template.is_disabled], "disabled": [template for template in templates if template.is_disabled], } assets = { "js": [ { "path": "core_main_app/common/js/templates/list/restore.js", "is_raw": False, }, { "path": "core_main_app/common/js/templates/list/modals/disable.js", "is_raw": False, }, EditTemplateVersionManagerView.get_modal_js_path(), ] } modals = [ "core_main_app/admin/templates/list/modals/disable.html", EditTemplateVersionManagerView.get_modal_html_path(), ] return admin_render( request, "core_main_app/admin/templates/list.html", assets=assets, context=context, modals=modals, )
def get(self, request, *args, **kwargs): data_context_list = [] global_template_version_manager = ( template_version_manager_api.get_global_version_managers( request=request)) if len(global_template_version_manager) == 1: template_version_manager = list(global_template_version_manager)[0] # get the current version current_template_version = template_version_manager.current # for each template versions for version in template_version_manager.versions: # get the template template = template_api.get(version, request=request) # get all the template's custom resources custom_resources = custom_resource_api.get_all_by_template( template) # append to list for the context data_context_list.append({ "template_name": template.display_name, "count": custom_resources.count(), "template_id": str(template.id), "is_current": current_template_version == str(template.id), }) else: logger.error("We should only have one template.") modals = [] assets = { "js": [], } context = { "objects": data_context_list, "object_name": "Custom Resources" } return admin_render( request, "core_main_registry_app/admin/custom_registry/list.html", modals=modals, assets=assets, context=context, )
def test_get_global_version_managers_returns_templates( self, mock_get_global_version_managers): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(mock_user) mock_template1 = _create_mock_template() mock_template2 = _create_mock_template() mock_get_global_version_managers.return_value = [ mock_template1, mock_template2 ] result = version_manager_api.get_global_version_managers( request=mock_request) # Assert self.assertTrue(all(isinstance(item, Template) for item in result))
def template_list(request): """Display the last HOMEPAGE_NB_LAST_TEMPLATES templates. Args: request: Returns: """ try: templates = [ version_manager for version_manager in get_global_version_managers(request=request) if not version_manager.is_disabled ][:settings.HOMEPAGE_NB_LAST_TEMPLATES] except AccessControlError: templates = [] logger.warning("Access Forbidden: unable to get template list.") context = {"templates": templates} return render(request, "mdcs_home/template_list.html", context)
def get_dependency_resolver_html(imports, includes, xsd_data, filename, request): """Return HTML for dependency resolver form. Args: imports: includes: xsd_data: filename: request: Returns: """ # build the list of dependencies current_templates = template_version_manager_api.get_global_version_managers( request=request, _cls=False) list_dependencies_template = loader.get_template( "core_main_app/admin/list_dependencies.html") context = { "templates": [ template for template in current_templates if not template.is_disabled ], } list_dependencies_html = list_dependencies_template.render(context) # build the dependency resolver form dependency_resolver_template = loader.get_template( "core_main_app/admin/dependency_resolver.html") context = { "imports": imports, "includes": includes, "xsd_content": html_escape(xsd_data), "filename": filename, "dependencies": list_dependencies_html, } return dependency_resolver_template.render(context)
def test_get_global_version_managers_as_superuser_returns_global_tvm(self): mock_request = create_mock_request(user=self.superuser1) list_tvm = template_vm_api.get_global_version_managers( request=mock_request) for tvm in list_tvm: self.assertEqual(tvm.user, None)
def test_get_global_version_managers_as_anonymous_raises_acces_control_error( self): mock_request = create_mock_request(user=self.anonymous_user) with self.assertRaises(AccessControlError): template_vm_api.get_global_version_managers(request=mock_request)