Skip to content

Commit

Permalink
[Fixes: 10521] Make metadata wizard more flexible for custom metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
t-book committed Feb 2, 2023
1 parent 36f414d commit 888a713
Show file tree
Hide file tree
Showing 17 changed files with 103 additions and 18 deletions.
1 change: 1 addition & 0 deletions geonode/documents/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,5 @@ class Meta:
"executions",
"file_path",
"doc_file",
"metadata",
)
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ <h2 class="page-title">{% trans "Metadata" %}&nbsp;{% blocktrans with document.t

{% csrf_token %}
<div id="mdeditor_form" class="col-md-12 form-controls">
{% form document_form using "layouts/doc_panels.html" %}
{% form document_form using panel_template %}
{# document_form|as_bootstrap #}
</div>

Expand Down
4 changes: 4 additions & 0 deletions geonode/documents/templates/layouts/doc_panels.html
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,8 @@
<a>{% trans "Optional Metadata" %}</a>
{% endif %}
</li>
{% block extra_metadata_steps %}
{% endblock %}
</ul>
{% block mandatory %}
<div id="mandatory" class="tab-pane fade in active">
Expand Down Expand Up @@ -580,6 +582,8 @@
</div>
</div></div></div>
</div>
{% block extra_metadata_content %}
{% endblock %}
</div>
{% endblock ownership %}

Expand Down
20 changes: 17 additions & 3 deletions geonode/documents/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,14 @@ def form_valid(self, form):

@login_required
@check_keyword_write_perms
def document_metadata(request, docid, template="documents/document_metadata.html", ajax=True):
def document_metadata(
request,
docid,
template="documents/document_metadata.html",
panel_template="layouts/doc_panels.html",
custom_metadata=None,
ajax=True,
):
document = None
try:
document = _resolve_document(request, docid, "base.change_resourcebase_metadata", _PERMISSION_MSG_METADATA)
Expand Down Expand Up @@ -503,6 +510,8 @@ def document_metadata(request, docid, template="documents/document_metadata.html
context={
"resource": document,
"document": document,
"panel_template": panel_template,
"custom_metadata": custom_metadata,
"document_form": document_form,
"poc_form": poc_form,
"author_form": author_form,
Expand All @@ -524,7 +533,7 @@ def document_metadata_advanced(request, docid):
return document_metadata(request, docid, template="documents/document_metadata_advanced.html")


def document_metadata_detail(request, docid, template="documents/document_metadata_detail.html"):
def document_metadata_detail(request, docid, template="documents/document_metadata_detail.html", custom_metadata=None):
try:
document = _resolve_document(request, docid, "view_resourcebase", _PERMISSION_MSG_METADATA)
except PermissionDenied:
Expand All @@ -542,7 +551,12 @@ def document_metadata_detail(request, docid, template="documents/document_metada
group = None
site_url = settings.SITEURL.rstrip("/") if settings.SITEURL.startswith("http") else settings.SITEURL
register_event(request, EventType.EVENT_VIEW_METADATA, document)
return render(request, template, context={"resource": document, "group": group, "SITEURL": site_url})

return render(
request,
template,
context={"resource": document, "group": group, "SITEURL": site_url, "custom_metadata": custom_metadata},
)


@login_required
Expand Down
2 changes: 1 addition & 1 deletion geonode/geoapps/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class Meta:
model = GeoApp
name = "geoapp"
view_name = "geoapps-list"
fields = ("pk", "uuid", "data", "name", "executions")
fields = ("pk", "uuid", "data", "name", "executions", "metadata")

def extra_update_checks(self, validated_data):
_user_profiles = {}
Expand Down
2 changes: 1 addition & 1 deletion geonode/geoapps/templates/apps/app_metadata.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ <h2 class="page-title">{% trans "Metadata" %}&nbsp;{% blocktrans with geoapp.tit

{% csrf_token %}
<div id="mdeditor_form" class="col-md-12 form-controls">
{% form geoapp_form using "layouts/app_panels.html" %}
{% form geoapp_form using panel_template %}
{# geoapp_form|as_bootstrap #}
</div>

Expand Down
4 changes: 4 additions & 0 deletions geonode/geoapps/templates/layouts/app_panels.html
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,8 @@
<li data-step="3" data-toggle="tab" href="#ownership">
<a>{% trans "Optional Metadata" %}</a>
</li>
{% block extra_metadata_steps %}
{% endblock %}
</ul>
<div id="mandatory" class="tab-pane fade in active">
<!--<br />-->
Expand Down Expand Up @@ -510,6 +512,8 @@
</div>
</div></div></div>
</div>
{% block extra_metadata_content %}
{% endblock %}
</div>
<div id="settings" class="tab-pane fade" style="overflow: hidden;">
<!--<br />-->
Expand Down
25 changes: 22 additions & 3 deletions geonode/geoapps/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ def geoapp_edit(request, geoappid, template="apps/app_edit.html"):
return render(request, template, context=_ctx)


def geoapp_metadata_detail(request, geoappid, template="apps/app_metadata_detail.html"):
def geoapp_metadata_detail(request, geoappid, template="apps/app_metadata_detail.html", custom_metadata=None):
try:
geoapp_obj = _resolve_geoapp(request, geoappid, "view_resourcebase", _PERMISSION_MSG_METADATA)
except PermissionDenied:
Expand All @@ -172,12 +172,29 @@ def geoapp_metadata_detail(request, geoappid, template="apps/app_metadata_detail
group = None
site_url = settings.SITEURL.rstrip("/") if settings.SITEURL.startswith("http") else settings.SITEURL
register_event(request, EventType.EVENT_VIEW_METADATA, geoapp_obj)
return render(request, template, context={"resource": geoapp_obj, "group": group, "SITEURL": site_url})

return render(
request,
template,
context={
"resource": geoapp_obj,
"group": group,
"SITEURL": site_url,
"custom_metadata": custom_metadata,
},
)


@login_required
@check_keyword_write_perms
def geoapp_metadata(request, geoappid, template="apps/app_metadata.html", ajax=True):
def geoapp_metadata(
request,
geoappid,
template="apps/app_metadata.html",
ajax=True,
panel_template="layouts/app_panels.html",
custom_metadata=None,
):
geoapp_obj = None
try:
geoapp_obj = _resolve_geoapp(request, geoappid, "base.change_resourcebase_metadata", _PERMISSION_MSG_METADATA)
Expand Down Expand Up @@ -394,6 +411,8 @@ def geoapp_metadata(request, geoappid, template="apps/app_metadata.html", ajax=T
context={
"resource": geoapp_obj,
"geoapp": geoapp_obj,
"panel_template": panel_template,
"custom_metadata": custom_metadata,
"geoapp_form": geoapp_form,
"poc_form": poc_form,
"author_form": author_form,
Expand Down
1 change: 1 addition & 0 deletions geonode/layers/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ class Meta:
"styles",
"attribute_set",
"executions",
"metadata",
)

name = serializers.CharField(read_only=True)
Expand Down
2 changes: 1 addition & 1 deletion geonode/layers/templates/datasets/dataset_metadata.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ <h2 class="page-title">{% trans "Metadata" %}&nbsp;{% blocktrans with dataset.ti

{% csrf_token %}
<div id="mdeditor_form" class="col-md-12 form-controls">
{% form dataset_form using "layouts/panels.html" %}
{% form dataset_form using panel_template %}
{# dataset_form|as_bootstrap #}
</div>

Expand Down
4 changes: 4 additions & 0 deletions geonode/layers/templates/layouts/panels.html
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,8 @@
<li data-step="4" data-toggle="tab" href="#dataset">
<a>{% trans "Dataset Attributes" %}</a>
</li>
{% block extra_metadata_steps%}
{% endblock %}
</ul>
{% endblock breadcrumbs %}
{% block mandatory %}
Expand Down Expand Up @@ -644,6 +646,8 @@
</div>
{% endblock %}
</div>
{% block extra_metadata_content %}
{% endblock %}
</div>
<div id="preview" class="tab-pane fade" style="overflow: hidden;">
<!-- <iframe id="preview_encoder_iframe" height="100%" width="100%" style="width:0;height:0;border:0;border:none;" src="{% url 'dataset_metadata_detail' resource.alternate %}"></iframe> -->
Expand Down
23 changes: 20 additions & 3 deletions geonode/layers/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,14 @@ def dataset_feature_catalogue(request, layername, template="../../catalogue/temp

@login_required
@check_keyword_write_perms
def dataset_metadata(request, layername, template="datasets/dataset_metadata.html", ajax=True):
def dataset_metadata(
request,
layername,
template="datasets/dataset_metadata.html",
panel_template="layouts/panels.html",
custom_metadata=None,
ajax=True,
):
try:
layer = _resolve_dataset(request, layername, "base.change_resourcebase_metadata", _PERMISSION_MSG_METADATA)
except PermissionDenied as e:
Expand Down Expand Up @@ -686,6 +693,8 @@ def dataset_metadata(request, layername, template="datasets/dataset_metadata.htm
context={
"resource": layer,
"dataset": layer,
"panel_template": panel_template,
"custom_metadata": custom_metadata,
"dataset_form": dataset_form,
"poc_form": poc_form,
"author_form": author_form,
Expand Down Expand Up @@ -942,7 +951,7 @@ def decimal_default(obj):
)


def dataset_metadata_detail(request, layername, template="datasets/dataset_metadata_detail.html"):
def dataset_metadata_detail(request, layername, template="datasets/dataset_metadata_detail.html", custom_metadata=None):
try:
layer = _resolve_dataset(request, layername, "view_resourcebase", _PERMISSION_MSG_METADATA)
except PermissionDenied:
Expand All @@ -964,7 +973,15 @@ def dataset_metadata_detail(request, layername, template="datasets/dataset_metad
perms_list = list(layer.get_self_resource().get_user_perms(request.user).union(layer.get_user_perms(request.user)))

return render(
request, template, context={"resource": layer, "perms_list": perms_list, "group": group, "SITEURL": site_url}
request,
template,
context={
"resource": layer,
"perms_list": perms_list,
"group": group,
"SITEURL": site_url,
"custom_metadata": custom_metadata,
},
)


Expand Down
2 changes: 1 addition & 1 deletion geonode/maps/api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ class Meta:
model = Map
name = "map"
view_name = "maps-list"
fields = ("pk", "uuid", "urlsuffix", "featuredurl", "data", "maplayers", "executions")
fields = ("pk", "uuid", "urlsuffix", "featuredurl", "data", "maplayers", "executions", "metadata")


class SimpleMapSerializer(BaseDynamicModelSerializer):
Expand Down
4 changes: 4 additions & 0 deletions geonode/maps/templates/layouts/map_panels.html
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,8 @@
<a>{% trans "Optional Metadata" %}</a>
{% endif %}
</li>
{% block extra_metadata_steps %}
{% endblock %}
</ul>
<div id="mandatory" class="tab-pane fade in active">
<!--<br />-->
Expand Down Expand Up @@ -568,6 +570,8 @@
</div>
</div></div></div>
</div>
{% block extra_metadata_content %}
{% endblock %}
</div>
<div id="settings" class="tab-pane fade" style="overflow: hidden;">
<!--<br />-->
Expand Down
2 changes: 1 addition & 1 deletion geonode/maps/templates/maps/map_metadata.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ <h2 class="page-title">{% trans "Metadata" %}&nbsp;{% blocktrans with map.title

{% csrf_token %}
<div id="mdeditor_form" class="col-md-12 form-controls">
{% form map_form using "layouts/map_panels.html" %}
{% form map_form using panel_template %}
{# map_form|as_bootstrap #}
</div>

Expand Down
20 changes: 17 additions & 3 deletions geonode/maps/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,14 @@ def _resolve_map(request, id, permission="base.change_resourcebase", msg=_PERMIS

@login_required
@check_keyword_write_perms
def map_metadata(request, mapid, template="maps/map_metadata.html", ajax=True):
def map_metadata(
request,
mapid,
template="maps/map_metadata.html",
ajax=True,
panel_template="layouts/map_panels.html",
custom_metadata=None,
):
try:
map_obj = _resolve_map(request, mapid, "base.change_resourcebase_metadata", _PERMISSION_MSG_VIEW)
except PermissionDenied:
Expand Down Expand Up @@ -285,6 +292,8 @@ def map_metadata(request, mapid, template="maps/map_metadata.html", ajax=True):
"resource": map_obj,
"map": map_obj,
"config": json.dumps(map_obj.blob),
"panel_template": panel_template,
"custom_metadata": custom_metadata,
"map_form": map_form,
"poc_form": poc_form,
"author_form": author_form,
Expand Down Expand Up @@ -554,7 +563,7 @@ def ajax_url_lookup(request):
return HttpResponse(content=json.dumps(json_dict), content_type="text/plain")


def map_metadata_detail(request, mapid, template="maps/map_metadata_detail.html"):
def map_metadata_detail(request, mapid, template="maps/map_metadata_detail.html", custom_metadata=None):
try:
map_obj = _resolve_map(request, mapid, "view_resourcebase")
except PermissionDenied:
Expand All @@ -572,7 +581,12 @@ def map_metadata_detail(request, mapid, template="maps/map_metadata_detail.html"
group = None
site_url = settings.SITEURL.rstrip("/") if settings.SITEURL.startswith("http") else settings.SITEURL
register_event(request, EventType.EVENT_VIEW_METADATA, map_obj)
return render(request, template, context={"resource": map_obj, "group": group, "SITEURL": site_url})

return render(
request,
template,
context={"resource": map_obj, "group": group, "SITEURL": site_url, "custom_metadata": custom_metadata},
)


@login_required
Expand Down
3 changes: 3 additions & 0 deletions geonode/templates/metadata_detail.html
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,9 @@ <h2 class="page-title">{% trans "Metadata" %} : {{ resource.title }}</h2>
{% endif %}
{% endblock supplemental_information %}

{% block extra_metadata %}
{% endblock extra_metadata %}

{% block spatial_representation_type %}
{% if resource.spatial_representation_type %}
<dt>{% trans "Spatial Representation Type" %}</dt>
Expand Down

0 comments on commit 888a713

Please sign in to comment.