diff --git a/geonode/client/templates/leaflet/layers/layer_leaflet_map.html b/geonode/client/templates/leaflet/layers/layer_leaflet_map.html new file mode 100644 index 00000000000..ce9fa957403 --- /dev/null +++ b/geonode/client/templates/leaflet/layers/layer_leaflet_map.html @@ -0,0 +1,242 @@ +{% load static from staticfiles %} +{% load leaflet_tags %} +{% load i18n %} + +{% leaflet_js %} +{% leaflet_css %} + + + diff --git a/geonode/layers/templates/layers/layer_detail.html b/geonode/layers/templates/layers/layer_detail.html index cf6714dece1..ee15c48a46a 100644 --- a/geonode/layers/templates/layers/layer_detail.html +++ b/geonode/layers/templates/layers/layer_detail.html @@ -482,7 +482,11 @@

{% trans "Metadata" %}

{% trans "Styles" %}

- {% trans "Edit" %} + {% if preview == 'react' or preview == 'leaflet' %} + {% trans "Edit" %} + {% else %} + {% trans "Edit" %} + {% endif %} {% trans "Upload" %} {% trans "Manage" %}
@@ -548,8 +552,8 @@
@@ -795,10 +799,17 @@

{% trans "Processing..." %}

{% block thumbnail_script %} {% endblock thumbnail_script %} diff --git a/geonode/maps/urls.py b/geonode/maps/urls.py index 92987cc31f6..c0624fc4680 100644 --- a/geonode/maps/urls.py +++ b/geonode/maps/urls.py @@ -20,6 +20,9 @@ from django.conf.urls import url, include from django.views.generic import TemplateView + +from geonode import geoserver +from geonode.utils import check_ogc_backend from geonode.monitoring import register_url_event from . import views @@ -30,10 +33,15 @@ new_map_view = views.new_map existing_map_view = views.map_view -map_embed = views.map_embed -map_edit = views.map_edit -map_json = views.map_json -map_thumbnail = views.map_thumbnail + +if check_ogc_backend(geoserver.BACKEND_PACKAGE): + new_map_view = views.new_map + existing_map_view = views.map_view + map_embed = views.map_embed + map_edit = views.map_edit + map_json = views.map_json + map_thumbnail = views.map_thumbnail + maps_list = register_url_event()(TemplateView.as_view(template_name='maps/map_list.html')) urlpatterns = [ diff --git a/pavement.py b/pavement.py index d246be4e368..193b221ad89 100644 --- a/pavement.py +++ b/pavement.py @@ -27,10 +27,7 @@ import signal import sys import time -import pytz import logging -import datetime -from dateutil.parser import parse as parsedate from urllib.parse import urlparse from urllib.request import urlopen, Request @@ -105,23 +102,9 @@ def grab(src, dest, name): logger.info("Downloading {}".format(name)) elif not zipfile.is_zipfile(dest): logger.info("Downloading {} (corrupt file)".format(name)) - elif not src.startswith("file://"): - r = requests.head(src) - file_time = datetime.datetime.fromtimestamp(os.path.getmtime(dest)) - url_time = file_time - for _k in ['last-modified', 'Date']: - if _k in r.headers: - url_time = r.headers[_k] - url_date = parsedate(url_time) - utc = pytz.utc - url_date = url_date.replace(tzinfo=utc) - file_time = file_time.replace(tzinfo=utc) - if url_date < file_time : - # Do not download if older than the local one - return - logger.info("Downloading updated {}".format(name)) + else: + return - # Local file does not exist or remote one is newer if src.startswith("file://"): src2 = src.replace("file://", '') if not os.path.exists(src2): @@ -182,8 +165,6 @@ def setup_geoserver(options): os.path.basename(urlparse(dev_config['GEOSERVER_URL']).path) jetty_runner = download_dir / \ os.path.basename(urlparse(dev_config['JETTY_RUNNER_URL']).path) - geoserver_data = download_dir / \ - os.path.basename(urlparse(dev_config['DATA_DIR_URL']).path) grab( options.get( 'geoserver', @@ -196,13 +177,6 @@ def setup_geoserver(options): dev_config['JETTY_RUNNER_URL']), jetty_runner, "jetty runner") - grab( - options.get( - 'geoserver data', - dev_config['DATA_DIR_URL']), - geoserver_data, - "geoserver data-dir") - if not geoserver_dir.exists(): geoserver_dir.makedirs() @@ -213,12 +187,7 @@ def setup_geoserver(options): logger.info("extracting geoserver") z = zipfile.ZipFile(geoserver_bin, "r") z.extractall(webapp_dir) - - logger.info("extracting geoserver data dir") - z = zipfile.ZipFile(geoserver_data, "r") - z.extractall(geoserver_dir) - - _configure_data_dir() + _install_data_dir() def _robust_rmtree(path, logger=None, max_retries=5): @@ -242,7 +211,17 @@ def _robust_rmtree(path, logger=None, max_retries=5): shutil.rmtree(path) -def _configure_data_dir(): +def _install_data_dir(): + target_data_dir = path('geoserver/data') + if target_data_dir.exists(): + try: + target_data_dir.rmtree() + except OSError: + _robust_rmtree(target_data_dir, logger=True) + + original_data_dir = path('geoserver/geoserver/data') + justcopy(original_data_dir, target_data_dir) + try: config = path( 'geoserver/data/global.xml') @@ -412,7 +391,6 @@ def sync(options): if 'django_celery_beat' in INSTALLED_APPS: sh("%s python -W ignore manage.py loaddata geonode/base/fixtures/django_celery_beat.json" % settings) sh("%s python -W ignore manage.py set_all_layers_alternate" % settings) - sh("%s python -W ignore manage.py collectstatic --noinput" % settings) @task @@ -929,7 +907,7 @@ def _reset(): ) sh("rm -rf geonode/development.db") sh("rm -rf geonode/uploaded/*") - _configure_data_dir() + _install_data_dir() @needs(['reset'])