Skip to content

Add strong warning before permanent item deletion (#5044)#5124

Merged
artlowel merged 2 commits intoDSpace:mainfrom
guillermo-escire:feature/5044
Mar 26, 2026
Merged

Add strong warning before permanent item deletion (#5044)#5124
artlowel merged 2 commits intoDSpace:mainfrom
guillermo-escire:feature/5044

Conversation

@guillermo-escire
Copy link
Copy Markdown
Contributor

References

Fixes #5044

Description

Adds a stronger confirmation dialog before permanently deleting an item, warning administrators about irreversible deletion and potential impact on citations and external references.

Instructions for Reviewers

This PR improves the deletion workflow for items by adding a stronger confirmation dialog before permanent deletion.

List of changes in this PR:

  • Added a modal-based confirmation dialog before item deletion.
  • Introduced new i18n translation keys for the deletion warning messages.
  • Displayed a clear warning informing administrators that deletion is permanent and may break external references and scholarly citations.

How to test:

  1. Log in as an administrator.
  2. Navigate to any item and open the edit page.
  3. Click the Delete action.
  4. Verify that a confirmation modal appears with a strong warning message.
  5. Confirm that deletion only proceeds after explicitly confirming in the dialog.

Checklist

This checklist provides a reminder of what we are going to look for when reviewing your PR. You do not need to complete this checklist prior creating your PR (draft PRs are always welcome).
However, reviewers may request that you complete any actions in this list if you have not done so. If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

  • My PR is created against the main branch of code (unless it is a backport or is fixing an issue specific to an older branch).
  • My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
  • My PR passes ESLint validation using npm run lint
  • My PR doesn't introduce circular dependencies (verified via npm run check-circ-deps)
  • My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
  • My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
  • My PR aligns with Accessibility guidelines if it makes changes to the user interface.
  • My PR uses i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
  • My PR includes details on how to test it. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
  • If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
  • If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
  • If my PR fixes an issue ticket, I've linked them together.

@lgeggleston lgeggleston added new feature 1 APPROVAL pull request only requires a single approval to merge component: Item (Archived) Item display or editing labels Feb 19, 2026
@lgeggleston lgeggleston moved this to 🙋 Needs Reviewers Assigned in DSpace 10.0 Release Feb 19, 2026
@alegontarz
Copy link
Copy Markdown

QA testing performed (no code review).

Works as expected:

  1. The confirmation modal is displayed when clicking Delete.
  2. The action buttons in the modal work correctly.

Does not work as expected:

  1. The modal content is not translated according to the selected application language.

@alegontarz alegontarz moved this from 🙋 Needs Reviewers Assigned to 🏗 In Progress in DSpace 10.0 Release Feb 25, 2026
@tdonohue
Copy link
Copy Markdown
Member

@alegontarz : Just for clarification. We do not require translations of every new PR. So, I'm going to consider your review as an "approval" that this PR is working. Translations always occur later (usually during Testathon) by translators.

@tdonohue tdonohue moved this from 🏗 In Progress to 👍 Reviewer Approved in DSpace 10.0 Release Feb 25, 2026
@hostle83
Copy link
Copy Markdown

hostle83 commented Mar 11, 2026

Hi @guillermo-escire, just tested this and everything looks great. Just one small suggestion: to maintain consistency, would it be possible to flip the buttons in the modal? Currently, the main screen presents "Delete" (left) and "Cancel" (right). The modal presents "Delete" (right) and "Cancel" (left). See screenshot.

Screenshot 2026-03-11 103002

@tdonohue tdonohue requested review from artlowel and nwoodward March 26, 2026 15:21
@tdonohue tdonohue removed the request for review from nwoodward March 26, 2026 15:22
Copy link
Copy Markdown
Member

@artlowel artlowel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @guillermo-escire!

The code looks good, and it works.

@artlowel artlowel merged commit 02fb704 into DSpace:main Mar 26, 2026
16 checks passed
@github-project-automation github-project-automation bot moved this from 👍 Reviewer Approved to ✅ Done in DSpace 10.0 Release Mar 26, 2026
@tdonohue tdonohue added this to the 10.0 milestone Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1 APPROVAL pull request only requires a single approval to merge component: Item (Archived) Item display or editing improvement

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

Add citation warning before permanent item deletion

6 participants