fix #8476: fix paste not allowed for nodes if tree is flat
authorKatja Luther <k.luther@bgbm.org>
Wed, 2 Jun 2021 08:17:20 +0000 (10:17 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 2 Jun 2021 08:17:20 +0000 (10:17 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/termtree/e4/handler/PasteTermHandler.java

index 8fa15c6ca696f5cc04c1c92c01e4824226f4ca1e..dca5e3ad8192351303bb51febc4f360f5f6f3c30 100644 (file)
@@ -38,8 +38,9 @@ public class PasteTermHandler {
         if (((IStructuredSelection)transferSelection).getFirstElement() instanceof TermNodeDto){
             term = ((TermNodeDto)((IStructuredSelection)transferSelection).getFirstElement()).getTerm();
         }
+        TermNodeDto selectedNode = null;
         if (selection.getFirstElement() instanceof TermNodeDto){
-            TermNodeDto selectedNode = (TermNodeDto)selection.getFirstElement();
+            selectedNode = (TermNodeDto)selection.getFirstElement();
             moveToTree = selectedNode.getTree();
         }else if (selection.getFirstElement() instanceof TermTreeDto){
             moveToTree = (TermTreeDto)selection.getFirstElement();
@@ -50,7 +51,8 @@ public class PasteTermHandler {
                 && transferSelection instanceof IStructuredSelection
                 && ((IStructuredSelection)transferSelection).size()==1
                 && ((IStructuredSelection)transferSelection).getFirstElement() instanceof TermNodeDto
-                && !moveToTree.getTerms().contains(term) || moveToTree.isAllowDuplicate();
+                && !moveToTree.getTerms().contains(term) || moveToTree.isAllowDuplicate()
+                && !moveToTree.isFlat() || selectedNode == null;
         menuItem.setVisible(canExecute);
         return canExecute;
     }