From ec47ba99dd9b3043e27374258fb64bf13b1bdea2 Mon Sep 17 00:00:00 2001
From: Thorge Petersen <petersen@rz.uni-kiel.de>
Date: Thu, 26 Oct 2023 12:44:35 +0200
Subject: [PATCH] Show dataset slug/name in basic field form

---
 .../snippets/package_basic_fields.html        | 32 +++++++++++++++----
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/ckanext/odsh/templates/package/snippets/package_basic_fields.html b/ckanext/odsh/templates/package/snippets/package_basic_fields.html
index 4b835d31..944dee9b 100644
--- a/ckanext/odsh/templates/package/snippets/package_basic_fields.html
+++ b/ckanext/odsh/templates/package/snippets/package_basic_fields.html
@@ -7,10 +7,11 @@
 
 {# field title #}
 {% block package_basic_fields_title %}
-{% set error_string = _(_('Title') + ': '+errors.title[0]) if errors.title %}
-{{ 
-    form.input(
-        'title', id='field-title', 
+  {% set error_string = _(_('Title') + ': '+errors.title[0]) if errors.title %}
+  {{ 
+      form.input(
+        'title',
+        id='field-title', 
         label=_('Title'), 
         value=data.title,
         error=error_string, 
@@ -18,10 +19,29 @@
         attrs={'data-module': 'slug-preview-target'},
         is_required=true,
         placeholder=_('Enter title')
-    ) 
-}}
+      ) 
+  }}
 {% endblock package_basic_fields_title %}
 
+{# field name #}
+{% block package_basic_fields_url %}
+  {% set prefix = h.url_for('dataset.read', id='') %}
+  {% set domain = h.url_for('dataset.read', id='', qualified=true) %}
+  {% set domain = domain|replace("http://", "")|replace("https://", "") %}
+  {% set attrs = {'data-module': 'slug-preview-slug', 'data-module-prefix': domain, 'data-module-placeholder': '<dataset>', 'class': 'form-control input-sm'} %}
+  {{ 
+    form.prepend('name',
+      id='field-name',
+      label=_('URL'),
+      prepend=prefix,
+      placeholder=_('eg. my-dataset'),
+      value=data.name,
+      error=errors.name,
+      attrs=attrs,
+      is_required=true
+    )
+  }}
+{% endblock %}
 
 {# field note #}
 {% block package_basic_fields_description %}
-- 
GitLab