Skip to content

Commit

Permalink
[Fixes #8712] Improve/fix GEONODE_APPS_ENABLE handling (#8730)
Browse files Browse the repository at this point in the history
* [Fixes #8712] Improve/fix GEONODE_APPS_ENABLE handling

* [Fixes #8712] Exclusion of geoapp from geonode urls if GEONODE_APPS_ENABLE is false
  • Loading branch information
mattiagiupponi committed Feb 4, 2022
1 parent 34a9746 commit a3b682d
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 20 deletions.
5 changes: 4 additions & 1 deletion geonode/api/resourcebase_api.py
Expand Up @@ -50,7 +50,7 @@
from geonode.base.models import HierarchicalKeyword
from geonode.base.bbox_utils import filter_bbox
from geonode.groups.models import GroupProfile
from geonode.utils import check_ogc_backend, get_subclasses_by_model
from geonode.utils import check_ogc_backend, get_geoapps_models, get_subclasses_by_model
from geonode.security.utils import get_visible_resources
from .authentication import OAuthAuthentication
from .authorization import GeoNodeAuthorization, GeonodeApiKeyAuthentication
Expand Down Expand Up @@ -242,6 +242,9 @@ def apply_filters(self, request, applicable_filters):
if keywords:
filtered = self.filter_h_keywords(filtered, keywords)

if not settings.GEONODE_APPS_ENABLE:
geoapps_model = get_geoapps_models()
filtered = filtered.exclude(resource_type__in=[list(x.models.items())[0][0] for x in geoapps_model])
if metadata_filters:
filtered = filtered.filter(**metadata_filters)

Expand Down
31 changes: 16 additions & 15 deletions geonode/base/templatetags/base_tags.py
Expand Up @@ -305,21 +305,22 @@ def facets(context):

facets['layer'] = facets['raster'] + facets['vector'] + facets['remote'] + facets['wms']

facet_geoapp = _facets_geoapps(
request,
title_filter,
abstract_filter,
purpose_filter,
category_filter,
regions_filter,
owner_filter,
date_gte_filter,
date_lte_filter,
date_range_filter,
extent_filter,
keywords_filter,
authorized
)
if settings.GEONODE_APPS_ENABLE:
facet_geoapp = _facets_geoapps(
request,
title_filter,
abstract_filter,
purpose_filter,
category_filter,
regions_filter,
owner_filter,
date_gte_filter,
date_lte_filter,
date_range_filter,
extent_filter,
keywords_filter,
authorized
)

facets = {
**facets,
Expand Down
6 changes: 5 additions & 1 deletion geonode/geoapps/models.py
Expand Up @@ -17,6 +17,7 @@
#
#########################################################################
import logging
from django.conf import settings

from django.db import models
from django.urls import reverse
Expand Down Expand Up @@ -124,7 +125,10 @@ def keywords_list(self):
return []

def get_absolute_url(self):
return reverse('geoapp_detail', None, [str(self.id)])
geoapp_view = (
reverse("geoapp_detail", None, [str(self.id)]) if settings.GEONODE_APPS_ENABLE else reverse("home")
)
return geoapp_view

@property
def embed_url(self):
Expand Down
1 change: 1 addition & 0 deletions geonode/geoapps/urls.py
Expand Up @@ -29,6 +29,7 @@

apps_list = register_url_event()(TemplateView.as_view(template_name='apps/app_list.html'))


urlpatterns = [
# 'geonode.geoapps.views',
url(r'^$',
Expand Down
6 changes: 3 additions & 3 deletions geonode/urls.py
Expand Up @@ -106,9 +106,6 @@
# Documents views
url(r'^documents/', include('geonode.documents.urls')),

# Apps views
url(r'^apps/', include('geonode.geoapps.urls')),

# Catalogue views
url(r'^catalogue/', include('geonode.catalogue.urls')),

Expand Down Expand Up @@ -183,6 +180,9 @@
url(r'^tinymce/', include('tinymce.urls')),
]

if settings.GEONODE_APPS_ENABLE:
urlpatterns += [url(r'^apps/', include('geonode.geoapps.urls'))]

urlpatterns += i18n_patterns(
url(r'^grappelli/', include('grappelli.urls')),
url(r'^admin/', admin.site.urls, name="admin"),
Expand Down
2 changes: 2 additions & 0 deletions geonode/utils.py
Expand Up @@ -2104,6 +2104,8 @@ def verify_image(stream):


def get_subclasses_by_model(model: str):
if not settings.GEONODE_APPS_ENABLE:
return []
from django.apps import apps
_app_subclasses = []
for _model in apps.get_models():
Expand Down

0 comments on commit a3b682d

Please sign in to comment.