fix #7041: do not allow to drag a classification in taxonNavigator
authorKatja Luther <k.luther@bgbm.org>
Wed, 1 Nov 2017 12:05:44 +0000 (13:05 +0100)
committerKatja Luther <k.luther@bgbm.org>
Wed, 1 Nov 2017 12:05:44 +0000 (13:05 +0100)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java

index 7feafa83438fb06aa7b8af1f5b56cdd352e736ab..e8359299a9652a66eac1d61a55a78b8283268889 100644 (file)
@@ -146,16 +146,23 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter {
                            if (logger.isDebugEnabled()){
                                logger.debug("selectedTaxa: " + taxonNode.getTaxon() == null? "-" : taxonNode.getTaxon().getTitleCache()); //$NON-NLS-1$
                            }
+                           boolean isClassification = !taxonNode.hasTaxon();
+                           if (isClassification) {
+                           if(logger.isDebugEnabled()){
+                               logger.debug("CANCEL_STATUS for selected taxonNode " + taxonNode.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+                           }
+                           return false;
+                       }
                            boolean isSameTaxonNode = taxonNode.equals(target);
                                boolean hasTaxonNodePermission = CdmStore.currentAuthentiationHasPermission(taxonNode, UPDATE);
-                               boolean hasTaxonPermission = taxonNode.getTaxon() == null ?
-                                       true :
+
+                               boolean hasTaxonPermission =
                                        CdmStore.currentAuthentiationHasPermission(taxonNode.getTaxon(), UPDATE);CdmStore.currentAuthentiationHasPermission(taxonNode.getTaxon(), UPDATE);
                 if (
                                isSameTaxonNode
                                || !hasTaxonNodePermission
                    || !hasTaxonPermission
-                       ) {
+                   ) {
                     if(logger.isDebugEnabled()){
                         logger.debug("CANCEL_STATUS for selected  " + isSameTaxonNode + Messages.TreeNodeDropAdapter_10 + hasTaxonNodePermission + " " + hasTaxonPermission + " "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
                     }