import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.CdmDataTransfer;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.model.TaxeditorPartService;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.security.RequiredPermissions;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
/**
* <p>
"There should always be a selected object.");
}
getSelectedContainer().setSelected();
+
+ // check permissions
+ TaxonNode taxonNode = ((TaxonEditorInput)getEditorInput()).getTaxonNode();
+ boolean doEnable = CdmStore.currentAuthentiationHasPermission(taxonNode, RequiredPermissions.TAXONNODE_EDIT);
+ if(!doEnable){
+ setDisabled();
+ }
}
/** {@inheritDoc} */
getSite().setSelectionProvider(simpleSelectionProvider);
}
+
/**
*
*/
allGroups.add(getAcceptedGroup());
- List<HomotypicalSynonymGroup> grps = getHeterotypicSynonymGroups();
+// List<HomotypicalSynonymGroup> grps = getHeterotypicSynonymGroups(); // UNUSED => remove
heterotypicSynonymGroups = getHeterotypicSynonymGroups();
}
return getAcceptedNameContainer();
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage#setOnError()
+ */
+ public void setOnError() {
+ Color disabledColor = StoreUtil.getColor(Resources.COLOR_EDITOR_ERROR);
+ setDisabled(disabledColor);
+ }
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage#setDisabled()
+ */
@Override
public void setDisabled(){
+ Color disabledColor = StoreUtil.getColor(Resources.COLOR_TEXT_DISABLED_BACKGROUND);
+ setDisabled(disabledColor);
+ }
+
+ protected void setDisabled(Color disabledColor) {
+
for(AbstractGroupedContainer groupedContainer : getGroupedContainers()){
groupedContainer.setDisabled(true);
}
- // send an empty selection to the current provider
+ // send an empty selection to the current provider - TODO only on error ???
getManagedForm().setInput(null);
- // coloring the widgets
-
- // TODO move this to resources and make configurable via Preferences
- Color disabledColor = Display.getDefault().getSystemColor(SWT.COLOR_RED);
-
for(AbstractGroupedContainer groupedContainer : getGroupedContainers()){
groupedContainer.setBackground(disabledColor);
}
@Override
public void setEnabled(boolean enabled) {
+ //FIXME this method seems incomplete
for(AbstractGroupedContainer groupedContainer : getGroupedContainers()){
groupedContainer.setEnabled(getManagedForm().setInput(selection));
}