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" %}
@@ -548,8 +552,8 @@
{% trans "Full metadata" %}
@@ -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'])