From 13c02d65abad740e367bdc69ce29a6a6382d60d7 Mon Sep 17 00:00:00 2001
From: Thorge Petersen <petersen@rz.uni-kiel.de>
Date: Mon, 24 Jun 2024 14:40:51 +0200
Subject: [PATCH] Add missing data.id check for delete button (fixes server
 error for users/editors when adding new datasets)

---
 CHANGELOG.md                                              | 6 ++++++
 ckanext/odsh/templates/package/snippets/package_form.html | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f413e748..e4878c25 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## Unreleased
+
+### Fixed
+
+- Added a check to ensure `data.id` is present before rendering the delete button in the dataset edit form. This prevents server errors when `data.id` is not available, e.g., for new datasets.
+
 ## [2.4.2] - 2024-06-21
 
 ### Fixed
diff --git a/ckanext/odsh/templates/package/snippets/package_form.html b/ckanext/odsh/templates/package/snippets/package_form.html
index 37ef7069..2cb0e5cc 100644
--- a/ckanext/odsh/templates/package/snippets/package_form.html
+++ b/ckanext/odsh/templates/package/snippets/package_form.html
@@ -26,7 +26,7 @@
     <div class="form-actions">
       <div class="row-fluid">
         <div class="span6">
-          {% if h.check_access('package_delete', {'id': data.id}) and not data.state == 'deleted' %}
+          {% if data.id and h.check_access('package_delete', {'id': data.id}) and not data.state == 'deleted' %}
           <a class="btn btn-danger pull-left" href="{% url_for 'dataset.delete', id=data.id %}"
             data-module="confirm-action" data-module-content="{{ _('Are you sure you want to delete this dataset?') }}">
             {% block delete_button_text %}{{ _('Delete') }}{% endblock %}</a>
-- 
GitLab