Distribution_status_selection=Status Selection
DistributionAdminPreferences_SELECT_STATUS=List of available distribution status
DistributionAdminPreferences_PER_AREA_STATUS=List of preferences defining available status per area.\nWith the mostright button you can edit the selected area specific status preference.\nFor defining new area specific status preference please use the button below the table
+DistributionAdminPreferences_DEFAULT_AREA_STATUS_NOT_ALLOWED=Actual status selection, the area specific selection is only available for serverside preferences.\nThe editing of the general status is not allowed in local preferences, if you need to edit them please contact an administrator.
+DistributionAdminPreferences_DEFAULT_AREA_STATUS=Actual status selection, the area specific selection is only available for serverside preferences.\nFor editing the general status selection use the button below
MarkerTypeMenuPreferences_display=Choose available markers
MeasurementUnitMenuPreferences_edit=Edit displayed measurement units
Distribution_status_selection=Status Auswahl
DistributionAdminPreferences_SELECT_STATUS=Liste der verfügbaren Verbreitungs-Status
DistributionAdminPreferences_PER_AREA_STATUS=Liste der pro Area definierten Status Preferenzen\nMit dem Button auf der rechten Seite können Sie die Präferenz für das Gebiet editieren.\nWenn Sie neue gebietsspezifische Statusangaben definieren wollen, müssen Sie den Button unter der Tabelle verwenden.
+DistributionAdminPreferences_DEFAULT_AREA_STATUS_NOT_ALLOWED=Liste der pro Area definierten Status Preferenzen. Die gebietsspezifische Statusauswahl ist aktuell nur serverseitig verfügbar.\nDie Bearbeitung der allgemeinen Statusauswahl ist durch die serverseitige Präferenz nicht erlaubt. Wenn Sie dennoch die Status ändern wollen, kontaktieren Sie bitte eine Administrator.
+DistributionAdminPreferences_DEFAULT_AREA_STATUS=Liste der pro Area definierten Status Preferenzen. Die gebietsspezifische Statusauswahl ist aktuell nur serverseitig verfügbar.\nUm die allgemeine Statusauswahl zu bearbeiten, nutzen Sie bitte den Button unterhalb der Tabelle
MarkerTypeMenuPreferences_display=Auswahl der zur Verf\u00FCgung stehenden Marker
MeasurementUnitMenuPreferences_edit=Angezeigte Maßeinheiten
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceResolver;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
}else{
final CLabel labelPerAreaStatus = new CLabel(composite, SWT.NULL);
- labelPerAreaStatus.setText("Actual status selection, the area specific selection is only available for serverside preferences.\n"
- + "For editing the general status selection use the button below");
- labelPerAreaStatus.setLayoutData(textGrid);
+ if (pref != null && !pref.isAllowOverride()){
+ labelPerAreaStatus.setText(Messages.DistributionAdminPreferences_DEFAULT_AREA_STATUS_NOT_ALLOWED);
+ }else{
+ labelPerAreaStatus.setText(Messages.DistributionAdminPreferences_DEFAULT_AREA_STATUS);
+ labelPerAreaStatus.setLayoutData(textGrid);
+ }
}
createStatusTable();
});
button_openStatusWizard.setText(Messages.Distribution_status_selection);
-
+ if (!isAdminPreference && pref != null && !pref.isAllowOverride()){
+ button_openStatusWizard.setEnabled(false);
+ }
return composite;
}else if (col == 2){
+ List<UUID> uuidList = null;
+ if ((isAdminPreference || !override)&& pref.getValue() == null){
+ item.setText(col, "All status");
+ }else{
- if ((isAdminPreference || !override)&& pref.getValue() == null){
- item.setText(col, "All status");
+ if (!isAdminPreference && override && ((pref != null && pref.isAllowOverride()) || pref == null)){
+ uuidList = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.AvailableDistributionStatus.getKey(), true);
}else{
- List<UUID> uuidList;
- if (isAdminPreference || (!override || (!(pref.getSubject().equals(PreferenceSubject.ROOT) || pref.getSubject().equals(PreferenceSubject.TAX_EDITOR))))){
+ if (pref != null && pref.getValue() != null){
uuidList = PreferencesUtil.createUuidList(pref.getValue());
}else{
- uuidList = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.AvailableDistributionStatus.getKey(), true);
+ item.setText(col, "All status");
}
+ }
+ if (uuidList != null){
List<PresenceAbsenceTerm> terms = CdmStore.getTermManager().getTerms(uuidList, PresenceAbsenceTerm.class);
String status = "";
int index = 1;
}
item.setText(col, status);
-
}
+ }
}else if (col == 3 && isAdminPreference){
type = TermType.NamedArea;
CdmPreferenceCache cache = CdmPreferenceCache.instance();
cache.getAllTaxEditorDBPreferences();
-
+ PrefKey defaultPref = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus);
+ this.pref = cache.get(defaultPref);
prefStatus = cache.getAllForPredicate(PreferencePredicate.AvailableDistributionStatus.getKey());
if (prefStatus == null){
prefStatus = new ArrayList();