Project

General

Profile

« Previous | Next » 

Revision 56432bdd

Added by Andreas Kohlbecker almost 6 years ago

fix #7533 typeStatus filter for registration list view

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/registration/ListPresenter.java
20 20
import org.vaadin.spring.events.EventScope;
21 21
import org.vaadin.spring.events.annotation.EventBusListenerMethod;
22 22

  
23
import com.vaadin.data.util.BeanItemContainer;
23 24
import com.vaadin.navigator.Navigator;
24 25
import com.vaadin.spring.annotation.SpringComponent;
25 26
import com.vaadin.spring.annotation.ViewScope;
......
27 28

  
28 29
import eu.etaxonomy.cdm.api.service.dto.RegistrationDTO;
29 30
import eu.etaxonomy.cdm.api.service.pager.Pager;
31
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
30 32
import eu.etaxonomy.cdm.model.common.User;
31 33
import eu.etaxonomy.cdm.model.name.RegistrationStatus;
34
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
35
import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;
32 36
import eu.etaxonomy.cdm.model.reference.Reference;
33 37
import eu.etaxonomy.cdm.service.IRegistrationWorkingSetService;
34 38
import eu.etaxonomy.cdm.vaadin.component.CdmBeanItemContainerFactory;
......
37 41
import eu.etaxonomy.cdm.vaadin.event.PagingEvent;
38 42
import eu.etaxonomy.cdm.vaadin.event.ShowDetailsEvent;
39 43
import eu.etaxonomy.cdm.vaadin.event.UpdateResultsEvent;
44
import eu.etaxonomy.cdm.vaadin.model.registration.RegistrationTermLists;
40 45
import eu.etaxonomy.vaadin.mvp.AbstractPresenter;
41 46
import eu.etaxonomy.vaadin.ui.navigation.NavigationEvent;
42 47

  
......
99 104
            getView().getSubmitterFilter().setItemCaptionPropertyId("username");
100 105
        }
101 106

  
107
        List<UUID> typeDesignationStatusUUIDS = new ArrayList<>();
108
        typeDesignationStatusUUIDS.addAll(RegistrationTermLists.NAME_TYPE_DESIGNATION_STATUS_UUIDS());
109
        typeDesignationStatusUUIDS.addAll(RegistrationTermLists.SPECIMEN_TYPE_DESIGNATION_STATUS_UUIDS());
110
        BeanItemContainer<DefinedTermBase> buildTermItemContainer = selectFieldFactory.buildTermItemContainer(typeDesignationStatusUUIDS);
111
        getView().getStatusTypeFilter().setContainerDataSource(buildTermItemContainer);
112
        for(DefinedTermBase dt : buildTermItemContainer.getItemIds()){
113
            String classAbbreviation = dt instanceof SpecimenTypeDesignationStatus ? "ST" : "NT";
114
            getView().getStatusTypeFilter().setItemCaption(dt, classAbbreviation + " - " + dt.getLabel());
115
        }
116

  
102 117
        getView().populate(pageRegistrations(null, null));
103 118
    }
104 119

  
......
119 134
        } else {
120 135
            identifierFilter = getView().getIdentifierFilter().getValue();
121 136
        }
137

  
122 138
        String nameFilter;
123 139
        if(textFieldOverride != null && textFieldOverride == getView().getTaxonNameFilter()){
124 140
            nameFilter = alternativeText;
125 141
        } else {
126 142
            nameFilter = getView().getTaxonNameFilter().getValue();
127 143
        }
144

  
128 145
        User submitter = null;
129 146
        if(getView().getSubmitterFilter() != null){
130 147
            Object o = getView().getSubmitterFilter().getValue();
......
134 151
        } else {
135 152
            submitter = (User) authentication.getPrincipal();
136 153
        }
154

  
155
        Set<TypeDesignationStatusBase> typeStatusFilter = (Set<TypeDesignationStatusBase>) getView().getStatusTypeFilter().getValue();
156
        if(typeStatusFilter.isEmpty()){
157
            typeStatusFilter = null;
158
        }
159

  
137 160
        EnumSet<RegistrationStatus> includeStatus = inProgressStatus;
138 161
        if(getView().getViewMode().equals(ListView.Mode.all)){
139 162
            includeStatus = null;
......
148 171
                includeStatus,
149 172
                StringUtils.trimToNull(identifierFilter),
150 173
                StringUtils.trimToNull(nameFilter),
174
                typeStatusFilter ,
151 175
                pageSize,
152 176
                pageIndex);
153 177
        return dtoPager;

Also available in: Unified diff