def METHOD_NAME(self, request):
    se = SearchEngineFactory().create()
    datatype_factory = DataTypeFactory()
    datatypes = models.DDataType.objects.all()
    widgets = models.Widget.objects.all()
    map_markers = models.MapMarker.objects.all()
    icons = models.Icon.objects.order_by("name")
    context = self.get_context_data(
        icons=JSONSerializer().serialize(icons),
        datatypes=datatypes,
        widgets=widgets,
        map_markers=map_markers,
        datatypes_json=JSONSerializer().serialize(datatypes),
        main_script="views/map-layer-manager",
    )
    def get_resource_bounds(node):
        query = Query(se, start=0, limit=0)
        search_query = Bool()
        query.add_query(search_query)
        query.add_aggregation(GeoBoundsAgg(field="points.point", name="bounds"))
        query.add_query(Term(field="graph_id", term=str(node.graph.graphid)))
        results = query.search(index=RESOURCES_INDEX)
        bounds = results["aggregations"]["bounds"]["bounds"] if "bounds" in results["aggregations"]["bounds"] else None
        return bounds
    context["geom_nodes_json"] = JSONSerializer().serialize(context["geom_nodes"])
    resource_layers = []
    resource_sources = []
    permissions = {}
    for node in context["geom_nodes"]:
        datatype = datatype_factory.get_instance(node.datatype)
        map_layer = datatype.get_map_layer(node=node, preview=True)
        if map_layer is not None:
            count = models.TileModel.objects.filter(nodegroup_id=node.nodegroup_id, data__has_key=str(node.nodeid)).count()
            if count > 0:
                map_layer["bounds"] = get_resource_bounds(node)
            else:
                map_layer["bounds"] = None
            resource_layers.append(map_layer)
        map_source = datatype.get_map_source(node=node, preview=True)
        if map_source is not None:
            resource_sources.append(map_source)
        permissions[str(node.pk)] = {
            "users": sorted([user.email or user.username for user in get_users_for_object("read_nodegroup", node.nodegroup)]),
            "groups": sorted([group.name for group in get_groups_for_object("read_nodegroup", node.nodegroup)]),
        }
    context["resource_map_layers_json"] = JSONSerializer().serialize(resource_layers)
    context["resource_map_sources_json"] = JSONSerializer().serialize(resource_sources)
    context["node_permissions"] = JSONSerializer().serialize(permissions)
    context["nav"]["title"] = _("Map Layer Manager")
    context["nav"]["icon"] = "fa-server"
    context["nav"]["help"] = {"title": _("Map Layer Manager"), "templates": ["map-manager-help"]}
    return render(request, "views/map-layer-manager.htm", context)