Project

General

Profile

« Previous | Next » 

Revision c82a0bdd

Added by Katja Luther over 4 years ago

ref #8489: some issues in DistributionStatusPreferences

View differences:

eu.etaxonomy.taxeditor.store/plugin.xml
770 770
            name="%page.name.22">
771 771
      </page>
772 772
    <page 
773
         category="eu.etaxonomy.taxeditor.preferences.general"
773
          category="eu.etaxonomy.taxeditor.store.UIAdminPreference"
774 774
         class="eu.etaxonomy.taxeditor.preference.DistributionGeneralPreference"
775 775
         id="eu.etaxonomy.taxeditor.store.Distribution"
776 776
         name="%page.name.104">
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
591 591
    public static String Distribution_status_selection;
592 592
    public static String DistributionAdminPreferences_SELECT_STATUS;
593 593
    public static String DistributionAdminPreferences_PER_AREA_STATUS;
594
    public static String DistributionAdminPreferences_DEFAULT_AREA_STATUS_NOT_ALLOWED;
595
    public static String DistributionAdminPreferences_DEFAULT_AREA_STATUS;
594 596

  
595 597
    public static String DatabasePreferncesPage_Show_MediaView;
596 598
    public static String DatabasePreferncesPage_Show_ChecklistPerspective;
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
476 476
Distribution_status_selection=Status Selection
477 477
DistributionAdminPreferences_SELECT_STATUS=List of available distribution status
478 478
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
479
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.
480
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
479 481

  
480 482
MarkerTypeMenuPreferences_display=Choose available markers
481 483
MeasurementUnitMenuPreferences_edit=Edit displayed measurement units
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
476 476
Distribution_status_selection=Status Auswahl
477 477
DistributionAdminPreferences_SELECT_STATUS=Liste der verf?gbaren Verbreitungs-Status
478 478
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.
479
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.
480
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
479 481

  
480 482
MarkerTypeMenuPreferences_display=Auswahl der zur Verf\u00FCgung stehenden Marker
481 483
MeasurementUnitMenuPreferences_edit=Angezeigte Ma?einheiten
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/DistributionStatusPreferencePage.java
38 38
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
39 39
import eu.etaxonomy.cdm.model.location.NamedArea;
40 40
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
41
import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
41 42
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
42 43
import eu.etaxonomy.cdm.model.metadata.PreferenceResolver;
43 44
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
......
86 87

  
87 88
        }else{
88 89
            final CLabel labelPerAreaStatus = new CLabel(composite, SWT.NULL);
89
            labelPerAreaStatus.setText("Actual status selection, the area specific selection is only available for serverside preferences.\n"
90
                    + "For editing the general status selection use the button below");
91
            labelPerAreaStatus.setLayoutData(textGrid);
90
            if (pref != null && !pref.isAllowOverride()){
91
                labelPerAreaStatus.setText(Messages.DistributionAdminPreferences_DEFAULT_AREA_STATUS_NOT_ALLOWED);
92
            }else{
93
                labelPerAreaStatus.setText(Messages.DistributionAdminPreferences_DEFAULT_AREA_STATUS);
94
                labelPerAreaStatus.setLayoutData(textGrid);
95
            }
92 96

  
93 97
        }
94 98
        createStatusTable();
......
125 129

  
126 130
        });
127 131
        button_openStatusWizard.setText(Messages.Distribution_status_selection);
128

  
132
        if (!isAdminPreference && pref != null && !pref.isAllowOverride()){
133
            button_openStatusWizard.setEnabled(false);
134
        }
129 135

  
130 136

  
131 137
        return composite;
......
202 208

  
203 209

  
204 210
            }else if (col == 2){
211
               List<UUID> uuidList = null;
212
               if ((isAdminPreference || !override)&& pref.getValue() == null){
213
                   item.setText(col, "All status");
214
               }else{
205 215

  
206
                   if ((isAdminPreference || !override)&& pref.getValue() == null){
207
                       item.setText(col, "All status");
216
                   if (!isAdminPreference && override && ((pref != null && pref.isAllowOverride()) || pref == null)){
217
                       uuidList = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.AvailableDistributionStatus.getKey(), true);
208 218
                   }else{
209
                       List<UUID> uuidList;
210
                       if (isAdminPreference || (!override || (!(pref.getSubject().equals(PreferenceSubject.ROOT) || pref.getSubject().equals(PreferenceSubject.TAX_EDITOR))))){
219
                       if (pref != null && pref.getValue() != null){
211 220
                           uuidList = PreferencesUtil.createUuidList(pref.getValue());
212 221
                       }else{
213
                           uuidList = PreferencesUtil.createUUIDListFromStringPref(PreferencePredicate.AvailableDistributionStatus.getKey(), true);
222
                           item.setText(col, "All status");
214 223
                       }
224
                   }
225
                   if (uuidList != null){
215 226
                       List<PresenceAbsenceTerm> terms = CdmStore.getTermManager().getTerms(uuidList, PresenceAbsenceTerm.class);
216 227
                       String status = "";
217 228
                       int index = 1;
......
224 235

  
225 236
                       }
226 237
                       item.setText(col, status);
227

  
228 238
                   }
239
               }
229 240

  
230 241

  
231 242
             }else if (col == 3 && isAdminPreference){
......
327 338
        type = TermType.NamedArea;
328 339
        CdmPreferenceCache cache = CdmPreferenceCache.instance();
329 340
        cache.getAllTaxEditorDBPreferences();
330

  
341
        PrefKey defaultPref = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.AvailableDistributionStatus);
342
        this.pref = cache.get(defaultPref);
331 343
        prefStatus = cache.getAllForPredicate(PreferencePredicate.AvailableDistributionStatus.getKey());
332 344
        if (prefStatus == null){
333 345
            prefStatus = new ArrayList();

Also available in: Unified diff