Skip to content

Commit

Permalink
- SITEURL rstrip (/) consistently
Browse files Browse the repository at this point in the history
  • Loading branch information
Alessio Fabiani committed Jun 12, 2018
1 parent 7b798d8 commit 878ac6e
Show file tree
Hide file tree
Showing 17 changed files with 47 additions and 38 deletions.
4 changes: 2 additions & 2 deletions geonode/base/management/commands/fixsitename.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ class Command(BaseCommand):
def handle(self, *args, **options):
from django.conf import settings
name = getattr(settings, 'SITENAME', 'GeoNode')
url = getattr(settings, 'SITEURL')

site_url = getattr(settings, 'SITEURL')
url = site_url.rstrip('/') if site_url.startswith('http') else site_url
parsed = urlsplit(url)

site = Site.objects.get_current()
Expand Down
4 changes: 2 additions & 2 deletions geonode/base/management/commands/migrate_layers.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,11 @@ def handle(self, **options):

print "Deserializing "+fixture_file
mangler = helpers.load_class(mangler)

site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
obj = helpers.load_fixture(app_name, fixture_file, mangler=mangler,
basepk=higher_pk, owner=owner,
datastore=settings.OGC_SERVER['default']['DATASTORE'],
siteurl=settings.SITEURL)
siteurl=site_url)

from django.core import serializers

Expand Down
3 changes: 2 additions & 1 deletion geonode/base/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -1121,7 +1121,8 @@ def save_thumbnail(self, filename, image):
filename).replace(
'\\',
'/')
url = urljoin(settings.SITEURL, url_path)
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
url = urljoin(site_url, url_path)

# should only have one 'Thumbnail' link
obj, created = Link.objects.get_or_create(resource=self,
Expand Down
2 changes: 1 addition & 1 deletion geonode/catalogue/backends/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ def csw_gen_xml(self, layer, template):
id_pname = 'dc:identifier'
if self.type == 'deegree':
id_pname = 'apiso:Identifier'
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
tpl = get_template(template)
ctx = {'layer': layer,
'SITEURL': site_url,
Expand Down
2 changes: 1 addition & 1 deletion geonode/catalogue/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ def opensearch_dispatch(request):
'contact': settings.PYCSW['CONFIGURATION']['metadata:main']['contact_email'],
'attribution': settings.PYCSW['CONFIGURATION']['metadata:main']['provider_name'],
'tags': settings.PYCSW['CONFIGURATION']['metadata:main']['identification_keywords'].replace(',', ' '),
'url': settings.SITEURL.rstrip('/')
'url': settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
}

return render(request, 'catalogue/opensearch_description.xml', context=ctx,
Expand Down
4 changes: 2 additions & 2 deletions geonode/contrib/metadataxsl/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ def add_xsl_link(resourcebase):
"""

urlpath = reverse('prefix_xsl_line', args=[resourcebase.id])

url = urljoin(settings.SITEURL, urlpath)
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
url = urljoin(site_url, urlpath)

link, created = Link.objects.get_or_create(
resource=resourcebase,
Expand Down
4 changes: 2 additions & 2 deletions geonode/contrib/metadataxsl/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ def prefix_xsl_line(req, id):
return HttpResponse(
"Resource Metadata not available!"
)

xsl_path = '{}/static/metadataxsl/metadata.xsl'.format(settings.SITEURL.rstrip('/'))
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
xsl_path = '{}/static/metadataxsl/metadata.xsl'.format(site_url)
xsl_line = '<?xml-stylesheet type="text/xsl" href="{}"?>'.format(xsl_path)

return HttpResponse(
Expand Down
10 changes: 5 additions & 5 deletions geonode/contrib/slack/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,15 @@

def _build_state_resourcebase(resource):
site = Site.objects.get_current()
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
thumbnail_url = resource.get_thumbnail_url()
owner_url = "{base}{context}".format(base=site_url, context=resource.owner.get_absolute_url())

state = {
'title': resource.title,
'type': resource.polymorphic_ctype,
'sitename': site.name,
'baseurl': settings.SITEURL,
'baseurl': site_url,
'owner_name': (resource.owner.get_full_name() or resource.owner.username),
'owner_url': owner_url,
'thumbnail_url': thumbnail_url
Expand All @@ -60,7 +60,7 @@ def _build_state_resourcebase(resource):

def _build_state_layer(layer):
state = _build_state_resourcebase(layer)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
url_detail = "{base}{context}".format(
base=site_url,
context=reverse('layer_detail', args=(layer.service_typename,)))
Expand All @@ -82,7 +82,7 @@ def _build_state_layer(layer):

def _build_state_map(map):
state = _build_state_resourcebase(map)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
url_detail = "{base}{context}".format(
base=site_url,
context=reverse('map_detail', args=(map.id,)))
Expand All @@ -102,7 +102,7 @@ def _build_state_map(map):

def _build_state_document(document):
state = _build_state_resourcebase(document)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
url_detail = "{base}{context}".format(
base=site_url,
context=reverse('document_detail', args=(document.id,)))
Expand Down
2 changes: 1 addition & 1 deletion geonode/documents/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ def post_save_document(instance, *args, **kwargs):

if instance.doc_file:
name = "Hosted Document"
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
url = '%s%s' % (
site_url,
reverse('document_download', args=(instance.id,)))
Expand Down
4 changes: 2 additions & 2 deletions geonode/documents/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ def document_thumb_upload(
status=401
)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
if request.method == 'GET':
return render(request, template, context={
"resource": document,
Expand Down Expand Up @@ -688,7 +688,7 @@ def document_metadata_detail(
group = GroupProfile.objects.get(slug=document.group.name)
except GroupProfile.DoesNotExist:
group = None
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
"resource": document,
"group": group,
Expand Down
4 changes: 2 additions & 2 deletions geonode/geoserver/signals.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ def geoserver_post_save_local(instance, *args, **kwargs):
'url': None,
'type': None}
profile = Profile.objects.get(username=instance.poc.username)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
gs_resource.attribution_link = site_url + profile.get_absolute_url()
# gs_resource should only be called if
# ogc_server_settings.BACKEND_WRITE_ENABLED == True
Expand Down Expand Up @@ -477,7 +477,7 @@ def command_url(command):
)
)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
html_link_url = '%s%s' % (
site_url, instance.get_absolute_url())

Expand Down
2 changes: 1 addition & 1 deletion geonode/layers/templates/layouts/panels.html
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,7 @@
<option
{% ifequal category_form.initial choice.0 %} selected="selected" {% endifequal %}
value="{{ choice.0 }}"
data-content="<span class='has-popover' data-container='body' data-toggle='popover' data-placement='top' data-content=' {{ choice.2.description }}' rigger='hover'><i class='fa {{choice.2.fa_class}}'></i> {{ choice.2.identifier }}<span>"
data-content="<span class='has-popover' data-container='body' data-toggle='popover' data-placement='top' data-content=' {{ choice.2.description }}' rigger='hover'><i class='fa {{choice.2.fa_class}}'></i> {{ choice.2.gn_description }}<span>"
>{{ choice.2.gn_description }}</option>
{% endfor %}
</select>
Expand Down
6 changes: 3 additions & 3 deletions geonode/layers/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1454,7 +1454,7 @@ def layer_metadata_detail(
group = GroupProfile.objects.get(slug=layer.group.name)
except GroupProfile.DoesNotExist:
group = None
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
"resource": layer,
"group": group,
Expand All @@ -1471,7 +1471,7 @@ def layer_metadata_upload(
layername,
'base.change_resourcebase',
_PERMISSION_MSG_METADATA)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
"resource": layer,
"layer": layer,
Expand All @@ -1488,7 +1488,7 @@ def layer_sld_upload(
layername,
'base.change_resourcebase',
_PERMISSION_MSG_METADATA)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
"resource": layer,
"layer": layer,
Expand Down
4 changes: 2 additions & 2 deletions geonode/maps/management/commands/updatemaplayerip.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class Command(BaseCommand):
def handle(self, *args, **options):
from geonode.maps.models import MapLayer
from django.conf import settings

site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
map_layers = MapLayer.objects.filter(local=True)
for maplayer in map_layers:
maplayer.ows_url = settings.SITEURL + "geoserver/wms"
maplayer.ows_url = site_url + "/geoserver/wms"
maplayer.save()
10 changes: 5 additions & 5 deletions geonode/maps/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1143,15 +1143,15 @@ def perm_filter(layer):
if len(
[_l for _l in downloadable_layers if _l.name == lyr.name]) == 0:
downloadable_layers.append(lyr)

site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
"geoserver": ogc_server_settings.PUBLIC_LOCATION,
"map_status": map_status,
"map": map_obj,
"locked_layers": locked_layers,
"remote_layers": remote_layers,
"downloadable_layers": downloadable_layers,
"site": settings.SITEURL
"site": site_url
})


Expand Down Expand Up @@ -1187,10 +1187,10 @@ def map_wmc(request, mapid, template="maps/wmc.xml"):
mapid,
'base.view_resourcebase',
_PERMISSION_MSG_VIEW)

site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
'map': map_obj,
'siteurl': settings.SITEURL,
'siteurl': site_url,
}, content_type='text/xml')


Expand Down Expand Up @@ -1428,7 +1428,7 @@ def map_metadata_detail(
group = GroupProfile.objects.get(slug=map_obj.group.name)
except GroupProfile.DoesNotExist:
group = None
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
return render(request, template, context={
"resource": map_obj,
"group": group,
Expand Down
16 changes: 12 additions & 4 deletions geonode/tests/csw.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,18 @@

from .base import GeoNodeBaseTestSupport

import glob
import os
from lxml import etree
import glob
import gisdata
from geonode.catalogue import get_catalogue
from geonode.utils import check_ogc_backend
import logging

from lxml import etree

from geonode import geoserver, qgis_server
from geonode.utils import check_ogc_backend
from geonode.catalogue import get_catalogue

logger = logging.getLogger(__name__)


class GeoNodeCSWTest(GeoNodeBaseTestSupport):
Expand Down Expand Up @@ -239,6 +244,8 @@ def test_csw_outputschema_dc_bbox(self):
'Expected a specific CRS code value in Dublin Core model')
# test BBOX properties in Dublin Core
from decimal import Decimal
logger.debug([Decimal(record.bbox.minx), Decimal(record.bbox.miny),
Decimal(record.bbox.maxx), Decimal(record.bbox.maxy)])
self.assertEqual(
Decimal(record.bbox.minx),
Decimal('-81.8593555'),
Expand Down Expand Up @@ -289,6 +296,7 @@ def test_csw_query_bbox(self):

csw = get_catalogue()
csw.catalogue.getrecords(bbox=[-140, -70, 80, 70])
logger.debug(csw.catalogue.results)
self.assertEqual(
csw.catalogue.results,
{'matches': 7, 'nextrecord': 0, 'returned': 7},
Expand Down
4 changes: 2 additions & 2 deletions geonode/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,9 @@ def ident_json(request):
reverse('account_login') +
'?next=' +
request.get_full_path())

site_url = settings.SITEURL.rstrip('/') if settings.SITEURL.startswith('http') else settings.SITEURL
json_data = {}
json_data['siteurl'] = settings.SITEURL
json_data['siteurl'] = site_url
json_data['name'] = settings.PYCSW['CONFIGURATION']['metadata:main']['identification_title']

json_data['poc'] = {
Expand Down

0 comments on commit 878ac6e

Please sign in to comment.