diff --git a/geonode/geoserver/helpers.py b/geonode/geoserver/helpers.py index e57291f84dd..d1e1af82cc9 100755 --- a/geonode/geoserver/helpers.py +++ b/geonode/geoserver/helpers.py @@ -1162,7 +1162,7 @@ def save_style(gs_style, layer): try: style, created = Style.objects.get_or_create(name=style_name) style.workspace = gs_style.workspace - style.sld_title = gs_style.sld_title if gs_style.style_format != 'css' else sld_name + style.sld_title = gs_style.sld_title if gs_style.style_format != 'css' and gs_style.sld_title else sld_name style.sld_body = gs_style.sld_body style.sld_url = gs_style.body_href style.save() diff --git a/geonode/geoserver/views.py b/geonode/geoserver/views.py index 2f4295d62c2..480a9c1604c 100644 --- a/geonode/geoserver/views.py +++ b/geonode/geoserver/views.py @@ -533,13 +533,13 @@ def strip_prefix(path, prefix): "[geoserver_proxy] Updating Style ---> url %s" % url.geturl()) _style_name, _style_ext = os.path.splitext(os.path.basename(urlsplit(url.geturl()).path)) + _parsed_get_args = dict(parse_qsl(urlsplit(url.geturl()).query)) if _style_name == 'styles.json' and request.method == "PUT": - _parsed_get_args = dict(parse_qsl(urlsplit(url.geturl()).query)) - if 'name' in _parsed_get_args: - _style_name, _style_ext = os.path.splitext(_parsed_get_args['name']) + if _parsed_get_args.get('name'): + _style_name, _style_ext = os.path.splitext(_parsed_get_args.get('name')) else: _style_name, _style_ext = os.path.splitext(_style_name) - if _style_name != 'style-check' and _style_ext == '.json' and \ + if _style_name != 'style-check' and (_style_ext == '.json' or _parsed_get_args.get('raw')) and \ not re.match(temp_style_name_regex, _style_name): affected_layers = style_update(request, raw_url) elif downstream_path == 'rest/layers': diff --git a/geonode/layers/templates/layers/layer_detail.html b/geonode/layers/templates/layers/layer_detail.html index fdb7ef54a68..1693a5f2201 100644 --- a/geonode/layers/templates/layers/layer_detail.html +++ b/geonode/layers/templates/layers/layer_detail.html @@ -602,7 +602,8 @@

{%trans "Legend" %}

{% if resource.default_style %} {% get_all_resource_styles resource as resource_styles_all%} {% for style in resource_styles_all %} - {% if resource.default_style == style or resource.default_style.name == style.name or resource.default_style.sld_title == style.sld_title %} + {% if style.name or style.sld_title %} + {% if resource.default_style == style or resource.default_style.name == style.name or style.sld_title and resource.default_style.sld_title == style.sld_title %} {% for legend in resource.get_legend %} {% get_sld_name_from_url style.sld_url as sld_name %} {% with "STYLE="|add:sld_name as style_name %} @@ -619,6 +620,7 @@

{%trans "Legend" %}

{% endwith %} {% endfor %} {% endif %} + {% endif %} {% endfor %} {% else %} {% for legend in resource.get_legend %}