From 69a534e248f2b4fcdc48ec37dc5d282284b86a13 Mon Sep 17 00:00:00 2001 From: Robert Sehr Date: Fri, 30 Aug 2024 07:15:06 +0200 Subject: [PATCH] select new node after duplication --- .../plugins/ArchiveManagementAdministrationPlugin.java | 7 ++++--- .../de/intranda/goobi/plugins/model/EadMetadataField.java | 6 +++++- .../uii/plugin_administration_archive_management.xhtml | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/module-base/src/main/java/de/intranda/goobi/plugins/ArchiveManagementAdministrationPlugin.java b/module-base/src/main/java/de/intranda/goobi/plugins/ArchiveManagementAdministrationPlugin.java index bb4b8c5..83aaae1 100644 --- a/module-base/src/main/java/de/intranda/goobi/plugins/ArchiveManagementAdministrationPlugin.java +++ b/module-base/src/main/java/de/intranda/goobi/plugins/ArchiveManagementAdministrationPlugin.java @@ -1067,9 +1067,7 @@ public void addNode() { entry.setNodeType(selectedEntry.getNodeType()); selectedEntry.addSubEntry(entry); selectedEntry.setDisplayChildren(true); - selectedEntry.setSelected(false); - selectedEntry = entry; - selectedEntry.setSelected(true); + setSelectedEntry(entry); flatEntryList = null; selectedEntry.calculateFingerprint(); ArchiveManagementManager.saveNode(recordGroup.getId(), entry); @@ -2733,6 +2731,9 @@ public void duplicateNode() { updateChangeHistory(selectedEntry); } ArchiveManagementManager.saveNode(recordGroup.getId(), copy); + + setSelectedEntry(copy); + resetFlatList(); } } diff --git a/module-base/src/main/java/de/intranda/goobi/plugins/model/EadMetadataField.java b/module-base/src/main/java/de/intranda/goobi/plugins/model/EadMetadataField.java index b456e18..0b7f45d 100644 --- a/module-base/src/main/java/de/intranda/goobi/plugins/model/EadMetadataField.java +++ b/module-base/src/main/java/de/intranda/goobi/plugins/model/EadMetadataField.java @@ -198,7 +198,11 @@ public IMetadataField copy(String prefix, String suffix) { } else { for (IFieldValue val : values) { IFieldValue newValue = new FieldValue(field); - newValue.setValue(prefix + val.getValue() + suffix); + if (val.getValue() != null) { + newValue.setValue(prefix + val.getValue() + suffix); + } else { + newValue.setValue(prefix + suffix); + } newValue.setAuthorityType(val.getAuthorityType()); newValue.setAuthorityValue(val.getAuthorityValue()); field.addFieldValue(newValue); diff --git a/module-gui/src/main/webapp/resources/uii/plugin_administration_archive_management.xhtml b/module-gui/src/main/webapp/resources/uii/plugin_administration_archive_management.xhtml index 2ebb7d0..b40e2e2 100644 --- a/module-gui/src/main/webapp/resources/uii/plugin_administration_archive_management.xhtml +++ b/module-gui/src/main/webapp/resources/uii/plugin_administration_archive_management.xhtml @@ -430,7 +430,7 @@ value="tooltip" />