ref #8810: check for taxonnode permission and whether the user has taxon node granted...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / taxon / TaxonRelationshipDetailSection.java
index 87be89877866be9d16cd27cf21a9c806022dec9d..0751d9285a3317e873be20a811601ed0e5286154 100644 (file)
@@ -22,9 +22,12 @@ import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
+import eu.etaxonomy.taxeditor.event.EventUtility;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonBaseSelectionDialog;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
@@ -94,10 +97,17 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
                             name = taxon.getName();
                             TaxonRelationship rel = getEntity();
                             rel.setFromTaxon(taxon);
+                            taxon.addTaxonRelation(rel);
                             setEntity(rel);
                             setTaxonBase(taxon);
+//                            firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
+                            detailElement.firePropertyChangeEvent(new CdmPropertyChangeEvent(detailElement, null));
+                            EventUtility.postEvent(WorkbenchEventConstants.REFRESH_DETAILS, true);
+                            EventUtility.postEvent(WorkbenchEventConstants.REFRESH_SUPPLEMENTAL, true);
+                            EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, rel.getToTaxon());
+                            ((TaxonRelationshipDetailElement)detailElement).getTaxonElement().setSelected(true);;
+
 
-                            firePropertyChangeEvent(TaxonRelationshipDetailSection.this);
                            }
                        }
                    };
@@ -109,4 +119,6 @@ public class TaxonRelationshipDetailSection extends AbstractCdmDetailSection<Tax
                return toolBarManager.createControl(this);
        }
 
+
+
 }