Esempio n. 1
0
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,
    )
Esempio n. 2
0
    def get_template_version_managers(self):
        """ Get global template version managers

        Returns:

        """
        return template_version_manager_api.get_global_version_managers()
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
    def get_template_version_managers(self):
        """ Get GlobalTemplateVersionManager

        Returns:

            List of GlobalTemplateVersionManager
        """
        return template_version_manager_api.get_global_version_managers()
Esempio n. 6
0
    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))
Esempio n. 7
0
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)
Esempio n. 8
0
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)
Esempio n. 9
0
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,
    )
Esempio n. 10
0
    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,
        )
Esempio n. 11
0
    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))
Esempio n. 12
0
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)
Esempio n. 13
0
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)