Skip to content

Commit

Permalink
[Backport 3.3.x][Fixes GeoNode#7764] Implement GeoApp for Dashboards (G…
Browse files Browse the repository at this point in the history
…eoNode#7879)

* Dashboard skeleton (geosolutions-it#1)

Skeleton for dashboards integrations

* Fix req

* Update requirements.txt

* Update requirements

* Fix setupcfg for build

* Fix flake8 issues

* [Fixes GeoNode#7764] Fix broken tests on geonode.layers.tests.LayersTest

Co-authored-by: Alessio Fabiani <alessio.fabiani@geo-solutions.it>
  • Loading branch information
mattiagiupponi and Alessio Fabiani authored Jul 29, 2021
1 parent f1ff696 commit 77f217c
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 3 deletions.
2 changes: 2 additions & 0 deletions geonode/context_processors.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#
#########################################################################

from geonode.utils import get_subclasses_by_model
import warnings
from django.conf import settings
from geonode import get_version
Expand Down Expand Up @@ -201,5 +202,6 @@ def resource_urls(request):
],
ADVANCED_EDIT_EXCLUDE_FIELD=getattr(settings, "ADVANCED_EDIT_EXCLUDE_FIELD", []),
PROFILE_EDIT_EXCLUDE_FIELD=getattr(settings, "PROFILE_EDIT_EXCLUDE_FIELD", []),
GEONODE_APPS_INSTALLED=get_subclasses_by_model('GeoApp')
)
return defaults
2 changes: 1 addition & 1 deletion geonode/layers/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ def test_layer_save(self):
self.assertEqual(response.status_code, 200)

from geonode.base.models import HierarchicalKeyword as hk
keywords = hk.resource_keywords_tree(get_user_model().objects.get(username='admin'), type='layer')
keywords = hk.resource_keywords_tree(get_user_model().objects.get(username='admin'), resource_type='layer')

self.assertEqual(len(keywords), 13)

Expand Down
1 change: 1 addition & 0 deletions geonode/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -1514,6 +1514,7 @@
'mapstore2_adapter',
'mapstore2_adapter.geoapps',
'mapstore2_adapter.geoapps.geostories',
'mapstore2_adapter.geoapps.dashboards',
'geonode_mapstore_client',)

def get_geonode_catalogue_service():
Expand Down
10 changes: 10 additions & 0 deletions geonode/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2125,6 +2125,16 @@ def verify_image(stream):
return False


def get_subclasses_by_model(model: str):
from django.apps import apps
_app_subclasses = []
for _model in apps.get_models():
if _model.__name__ == model:
for _geoapp in _model.__subclasses__():
_app_subclasses.append(_geoapp.__name__)
return _app_subclasses


def find_by_attr(lst, val, attr="id"):
""" Returns an object if the id matches in any list of objects """
for item in lst:
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ pinax-notifications==6.0.0
pinax-ratings==4.0.0

# GeoNode org maintained apps.
# django-geonode-mapstore-client==3.2.1,<4.0.0
# django-geonode-mapstore-client>=3.3.0,<4.0.0
-e git+https://github.com/GeoNode/geonode-mapstore-client.git@3.3.x#egg=django_geonode_mapstore_client
geonode-avatar==5.0.7
geonode-oauth-toolkit==2.2.1
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ install_requires =
pinax-ratings==4.0.0

# GeoNode org maintained apps.
django-geonode-mapstore-client>=3.2.1,<4.0.0
django-geonode-mapstore-client>=3.3.0,<4.0.0
geonode-avatar==5.0.7
geonode-oauth-toolkit==2.2.1
geonode-user-messages==2.0.2
Expand Down

0 comments on commit 77f217c

Please sign in to comment.