Project

General

Profile

« Previous | Next » 

Revision c02fc11a

Added by Andreas Kohlbecker almost 5 years ago

fix #8346 flexible editing of annotations for Curator and Admin roles

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/name/SpecimenTypeDesignationWorkingsetPopupEditor.java
27 27
import com.vaadin.ui.Panel;
28 28
import com.vaadin.ui.TextArea;
29 29

  
30
import eu.etaxonomy.cdm.api.utility.RoleProber;
30 31
import eu.etaxonomy.cdm.model.common.AnnotationType;
31 32
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
33
import eu.etaxonomy.cdm.service.UserHelperAccess;
32 34
import eu.etaxonomy.cdm.vaadin.component.CollectionRowRepresentative;
33 35
import eu.etaxonomy.cdm.vaadin.component.common.FilterableAnnotationsField;
34 36
import eu.etaxonomy.cdm.vaadin.component.common.GeoLocationField;
......
38 40
import eu.etaxonomy.cdm.vaadin.model.registration.SpecimenTypeDesignationDTO;
39 41
import eu.etaxonomy.cdm.vaadin.model.registration.SpecimenTypeDesignationWorkingSetDTO;
40 42
import eu.etaxonomy.cdm.vaadin.permission.AccessRestrictedView;
43
import eu.etaxonomy.cdm.vaadin.permission.RolesAndPermissions;
41 44
import eu.etaxonomy.cdm.vaadin.ui.RegistrationUIDefaults;
42 45
import eu.etaxonomy.cdm.vaadin.util.TeamOrPersonBaseCaptionGenerator;
43 46
import eu.etaxonomy.cdm.vaadin.util.converter.DoubleConverter;
......
242 245
        row++;
243 246
        annotationsListField = new FilterableAnnotationsField("Editorial notes");
244 247
        annotationsListField.setWidth(100, Unit.PERCENTAGE);
245
        annotationsListField.setAnnotationTypesVisible(editableAnotationTypes);
248
        boolean isCurator = UserHelperAccess.userHelper().userIs(new RoleProber(RolesAndPermissions.ROLE_CURATION));
249
        boolean isAdmin = UserHelperAccess.userHelper().userIsAdmin();
250
        if(isCurator || isAdmin){
251
            annotationsListField.withNewButton(true);
252
        } else {
253
            annotationsListField.setAnnotationTypesVisible(editableAnotationTypes);
254
        }
246 255
        addField(annotationsListField, "annotations", 0, row, 2, row);
247 256

  
248 257
     }

Also available in: Unified diff