From a7fed2e67a8708a1b4efa0eeac66588e35682e01 Mon Sep 17 00:00:00 2001 From: mattiagiupponi Date: Wed, 17 Aug 2022 16:55:59 +0200 Subject: [PATCH] [Fixes #9861]Cannot open metadata detail with thesaurus installed --- geonode/base/forms.py | 4 ++-- geonode/base/utils.py | 3 +-- geonode/base/views.py | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/geonode/base/forms.py b/geonode/base/forms.py index 9ecd0bebedc..d2bc3b4b12b 100644 --- a/geonode/base/forms.py +++ b/geonode/base/forms.py @@ -51,7 +51,7 @@ from geonode.base.fields import MultiThesauriField from geonode.documents.models import Document from geonode.layers.models import Dataset -from geonode.base.utils import validate_extra_metadata, remove_country_from_lanugecode +from geonode.base.utils import validate_extra_metadata, remove_country_from_languagecode logger = logging.getLogger(__name__) @@ -351,7 +351,7 @@ def _get_thesauro_keyword_label(item, lang): # try find results found for given language e.g. (en-us) if no results found remove country code from language to (en) and try again qs_keyword_ids = ThesaurusKeywordLabel.objects.filter(lang=lang, keyword_id__in=keyword_id_for_given_thesaurus).values("keyword_id") if len(qs_keyword_ids) == 0: - lang = remove_country_from_lanugecode(lang) + lang = remove_country_from_languagecode(lang) qs_keyword_ids = ThesaurusKeywordLabel.objects.filter(lang=lang, keyword_id__in=keyword_id_for_given_thesaurus).values("keyword_id") not_qs_ids = ThesaurusKeywordLabel.objects.exclude(keyword_id__in=qs_keyword_ids).order_by("keyword_id").distinct("keyword_id").values("keyword_id") diff --git a/geonode/base/utils.py b/geonode/base/utils.py index 9abac5bbe72..f899a731c7f 100644 --- a/geonode/base/utils.py +++ b/geonode/base/utils.py @@ -191,8 +191,7 @@ def validate_extra_metadata(data, instance): return data -@staticmethod -def remove_country_from_lanugecode(language: str): +def remove_country_from_languagecode(language: str): """ Remove country code (us) from language name (en-us) >>> remove_country_from_lanugecode("en-us") 'en' diff --git a/geonode/base/views.py b/geonode/base/views.py index 7f49a08c20f..ae59dfe49af 100644 --- a/geonode/base/views.py +++ b/geonode/base/views.py @@ -48,7 +48,7 @@ from geonode.resource.manager import resource_manager from geonode.security.utils import get_visible_resources from geonode.notifications_helper import send_notification -from geonode.base.utils import OwnerRightsRequestViewUtils, remove_country_from_lanugecode +from geonode.base.utils import OwnerRightsRequestViewUtils, remove_country_from_languagecode from geonode.base.forms import UserAndGroupPermissionsForm from geonode.base.forms import ( @@ -310,7 +310,7 @@ def get_queryset(self): # try find results found for given language e.g. (en-us) if no results found remove country code from language to (en) and try again qs_keyword_ids = ThesaurusKeywordLabel.objects.filter(lang=lang, keyword_id__in=keyword_id_for_given_thesaurus).values("keyword_id") if len(qs_keyword_ids) == 0: - lang = remove_country_from_lanugecode(lang) + lang = remove_country_from_languagecode(lang) qs_keyword_ids = ThesaurusKeywordLabel.objects.filter(lang=lang, keyword_id__in=keyword_id_for_given_thesaurus).values("keyword_id") not_qs_ids = ThesaurusKeywordLabel.objects.exclude(keyword_id__in=qs_keyword_ids).order_by("keyword_id").distinct("keyword_id").values("keyword_id")