From e6be3278f4cfdfa8d01f6b9652c8bc9f2cec00a2 Mon Sep 17 00:00:00 2001 From: dimasciput Date: Mon, 20 Mar 2023 16:36:31 +0700 Subject: [PATCH 01/22] Upgrading geonode to 4.0.3 --- deployment/docker-compose.yml | 2 +- deployment/docker/Dockerfile | 4 +- deployment/docker/REQUIREMENTS.txt | 20 +- django_project/core/api/layer.py | 9 +- django_project/core/settings/base.py | 5 +- django_project/gwml2 | 2 +- django_project/igrac/admin.py | 4 +- .../igrac/templates/account/signup.html | 2 +- .../igrac/templates/apps/app_detail.html | 2 +- django_project/igrac/templates/base.html | 1043 ++++++----------- .../igrac/templates/g3p_timeseries_chart.html | 2 +- .../g3p_timeseries_chart_iframe.html | 2 +- .../snippets/footer.html | 26 + .../templates/igrac/blog_index_page.html | 2 +- .../igrac/templates/igrac/blog_page.html | 2 +- .../igrac/disclaimer_license_page.html | 2 +- .../igrac/templates/igrac/manual_page.html | 2 +- .../igrac/templates/landing_page.html | 6 +- .../igrac/templates/layers/layer_detail.html | 2 +- django_project/igrac/urls.py | 7 +- django_project/igrac/views.py | 4 +- 21 files changed, 459 insertions(+), 691 deletions(-) create mode 100644 django_project/igrac/templates/geonode-mapstore-client/snippets/footer.html diff --git a/deployment/docker-compose.yml b/deployment/docker-compose.yml index 8a9d495..47583a8 100644 --- a/deployment/docker-compose.yml +++ b/deployment/docker-compose.yml @@ -55,7 +55,7 @@ x-common-django: - ASYNC_SIGNALS=True - SESSION_EXPIRED_CONTROL_ENABLED=False - MONITORING_ENABLED=False - - PYTHONPATH=/home/web/django_project:/spcgeonode + - PYTHONPATH=/home/web/django_project:/geonode - ADD_TIMESTAMP_IN_THUMBNAIL=True volumes: - ../django_project:/home/web/django_project diff --git a/deployment/docker/Dockerfile b/deployment/docker/Dockerfile index 2568db3..144f710 100644 --- a/deployment/docker/Dockerfile +++ b/deployment/docker/Dockerfile @@ -11,9 +11,9 @@ RUN echo "Activate memcached" && \ WORKDIR / RUN rm -r /usr/src/geonode -RUN git clone --branch 3.3.x --single-branch https://github.com/kartoza/geonode.git spcgeonode +RUN git clone --branch 4.0.3 --single-branch https://github.com/kartoza/geonode.git geonode -WORKDIR /spcgeonode +WORKDIR /geonode RUN pip install -r requirements.txt RUN pip uninstall -y django-geonode-mapstore-client diff --git a/deployment/docker/REQUIREMENTS.txt b/deployment/docker/REQUIREMENTS.txt index fe65dea..3de0a61 100644 --- a/deployment/docker/REQUIREMENTS.txt +++ b/deployment/docker/REQUIREMENTS.txt @@ -1,10 +1,10 @@ -psycopg2-binary==2.8.6 -django-admin-sortable==2.1.8 -django-braces==1.14.0 -django-model-utils==1.4.0 -django-pipeline==1.6.14 +psycopg2-binary==2.9.5 +django-admin-sortable==2.3 +django-braces==1.15.0 +django-model-utils==4.3.1 +django-pipeline==2.1.0 django-preferences==1.0.0 -django-role-permissions==2.2.0 +django-role-permissions==3.1.1 raven==6.10.0 django-sentry==1.13.5 @@ -12,12 +12,12 @@ django-sentry==1.13.5 service_identity # igrac -wagtail==2.9.3 -wagtailmenus==3.1.3 -openpyxl==3.0.5 +wagtail==4.2.1 +wagtailmenus==3.1.5 +openpyxl==3.1.2 pyexcel-xls==0.7.0 pyexcel-xlsx==0.6.0 -git+https://github.com/kartoza/geonode-mapstore-client.git@3.2.x +# git+https://github.com/kartoza/geonode-mapstore-client.git@3.2.x # git+https://github.com/kartoza/django-mapstore-adapter.git@geonode_latest # git+https://github.com/kartoza/geonode-mapstore-client.git@2.0.16 diff --git a/django_project/core/api/layer.py b/django_project/core/api/layer.py index ab11052..e39a3c0 100644 --- a/django_project/core/api/layer.py +++ b/django_project/core/api/layer.py @@ -1,7 +1,7 @@ from django.http import Http404 from rest_framework.views import APIView from rest_framework.response import Response -from geonode.layers.models import Layer +from geonode.layers.models import Dataset from core.serializer.attribute import AttributeSerializer @@ -13,7 +13,8 @@ class LayerAttributeAPI(APIView): def get(self, request, alternate, *args): try: - layer = Layer.objects.get(alternate=alternate) - return Response(AttributeSerializer(layer.attribute_set.all(), many=True).data) - except Layer.DoesNotExist: + dataset = Dataset.objects.get(alternate=alternate) + return Response(AttributeSerializer( + dataset.attribute_set.all(), many=True).data) + except Dataset.DoesNotExist: raise Http404('Layer not found') diff --git a/django_project/core/settings/base.py b/django_project/core/settings/base.py index 2cd7cc3..794ad28 100644 --- a/django_project/core/settings/base.py +++ b/django_project/core/settings/base.py @@ -26,7 +26,7 @@ 'wagtail.images', 'wagtail.search', 'wagtail.admin', - 'wagtail.core', + 'wagtail', 'wagtail.contrib.modeladmin', 'wagtailmenus', 'modelcluster', @@ -47,12 +47,13 @@ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', + 'whitenoise.middleware.WhiteNoiseMiddleware', 'oauth2_provider.middleware.OAuth2TokenMiddleware', + 'django_user_agents.middleware.UserAgentMiddleware', 'geonode.base.middleware.MaintenanceMiddleware', 'geonode.base.middleware.ReadOnlyMiddleware', # a Middleware enabling Read Only mode of Geonode # Wagtail moddleware - 'wagtail.core.middleware.SiteMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware', ) diff --git a/django_project/gwml2 b/django_project/gwml2 index 7f29998..136e6ab 160000 --- a/django_project/gwml2 +++ b/django_project/gwml2 @@ -1 +1 @@ -Subproject commit 7f299980a4c1c135d7466b9aba254f1ee8620605 +Subproject commit 136e6abb0eaf0a3cf77cc80d552ca5ff0dd28d9e diff --git a/django_project/igrac/admin.py b/django_project/igrac/admin.py index 0894a30..a7b83c8 100644 --- a/django_project/igrac/admin.py +++ b/django_project/igrac/admin.py @@ -1,7 +1,7 @@ from adminsortable.admin import SortableAdmin from django.contrib import admin from django.utils.translation import ugettext_lazy as _ -from geonode.base.admin import set_user_and_group_layer_permission +from geonode.base.admin import set_user_and_group_dataset_permission from geonode.people.admin import ProfileAdmin from geonode.people.models import Profile from preferences.admin import PreferencesAdmin @@ -37,7 +37,7 @@ class IgracProfileAdmin(ProfileAdmin): 'username', 'organization', 'profile', 'first_name', 'last_name', 'email' ) - actions = [set_user_and_group_layer_permission, make_active] + actions = [set_user_and_group_dataset_permission, make_active] fieldsets = ( (None, {'fields': ('username', 'password')}), (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}), diff --git a/django_project/igrac/templates/account/signup.html b/django_project/igrac/templates/account/signup.html index 0d2a1c3..e7b63d8 100644 --- a/django_project/igrac/templates/account/signup.html +++ b/django_project/igrac/templates/account/signup.html @@ -1,7 +1,7 @@ {% extends "account/base.html" %} {% load i18n %} -{% load staticfiles %} +{% load static %} {% load bootstrap_tags %} {% load igrac_bootstrap_tags %} {% load account socialaccount %} diff --git a/django_project/igrac/templates/apps/app_detail.html b/django_project/igrac/templates/apps/app_detail.html index 20abc3a..9891e72 100644 --- a/django_project/igrac/templates/apps/app_detail.html +++ b/django_project/igrac/templates/apps/app_detail.html @@ -1,7 +1,7 @@ {% extends "apps/app_base.html" %} {% load i18n %} {% load l10n %} -{% load staticfiles %} +{% load static %} {% load dialogos_tags %} {% load pinax_ratings_tags %} {% load bootstrap_tags %} diff --git a/django_project/igrac/templates/base.html b/django_project/igrac/templates/base.html index 0641a4f..28cdf76 100644 --- a/django_project/igrac/templates/base.html +++ b/django_project/igrac/templates/base.html @@ -18,14 +18,13 @@ ---------------------------------------------------------------------- --> {% load i18n avatar_tags %} -{% load static from staticfiles %} +{% load static %} {% load account socialaccount %} {% load base_tags %} -{% load menu_tags %} -{% load gwml2_menu %} +{% load client_lib_tags %} - - + + @@ -37,247 +36,95 @@ {% block title %}{{ SITE_NAME }}{% endblock %} - - + + + + + + {% block head %} - - - {% if DEBUG_STATIC %} - - - - - - - - {% else %} - + {% if DEBUG_STATIC %} + + + + + + + + {% else %} + + {% endif %} + + + + + - - {% block extra_head %} - {% endblock %} + {% if custom_theme.jumbotron_bg %} + .home .jumbotron .container { + position: relative; + z-index: 1; + } + .home .jumbotron:after { + content: ""; + background-image: url({{ custom_theme.jumbotron_bg.url }}); + background-repeat: no-repeat; + background-position: center; + background-size: cover; + {% if not custom_theme.jumbotron_welcome_hide %} + opacity: 0.5; + {% endif %} + top: 0; + left: 0; + bottom: 0; + right: 0; + position: absolute; + z-index: 0; + } + {% endif %} + + {% block extra_head %} + {% endblock %} {% endblock %} - + - {% block additional_head %} - {% endblock %} + + {% get_current_language_bidi as LANGUAGE_BIDI %} + {% if LANGUAGE_BIDI %} + + {% if DEBUG_STATIC %} + + {% else %} + + {% endif %} + {% endif %} + + + + +
+ + {% block header %} + -{% endblock header %} - - - - -{% block banner %} -{% endblock %} + + {% endblock header %} + + + -
+
{% block middle %} -
- {% include "_status_message.html" %} - {% include "_announcements.html" %} - {% include "_messages.html" %} - {% block body_outer %} -
-
- {% block body %}{% endblock %} -
-
- {% block sidebar %}{% endblock %} -
-
- {% endblock %} +
+ {% include "_status_message.html" %} + {% include "_announcements.html" %} + {% include "_messages.html" %} + {% block body_outer %} +
+
+ {% block body %}{% endblock %} +
+
+ {% block sidebar %}{% endblock %}
+
+ {% endblock %} +
{% endblock middle %} {% block extra_mainbody %} {% endblock extra_mainbody %} -
- -{% block monitoring %} -{% endblock %} +
+ {% block monitoring %} + {% endblock %} {% block footer %} {% endblock %} -{% block additional_footer %}{% endblock %} - -{% if not user.is_authenticated %} + + {% if not user.is_authenticated %}