Search in sources :

Example 1 with DroitProfilFonc

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc in project esup-ecandidat by EsupPortail.

the class MainUI method buildMenuCtrCand.

/**
 * Construit le menu centre de candidature
 */
private void buildMenuCtrCand(final Authentication auth) {
    itemMenuCtrCand.removeAllButtons();
    viewAccordionCtrCand.forEach((key, value) -> {
        viewButtons.remove(key);
        viewAccordion.remove(key);
    });
    viewAccordionCtrCand.clear();
    final SecurityCentreCandidature centreCandidature = userController.getCentreCandidature(auth);
    if (centreCandidature != null) {
        idCtrCandEnCours = centreCandidature.getIdCtrCand();
        final OneClickButton ctrCandBtn = constructCtrCandChangeBtn(centreCandidature.getLibCtrCand());
        ctrCandBtn.setDescription(applicationContext.getMessage("ctrCand.window.change", new Object[] { centreCandidature.getLibCtrCand() }, getLocale()));
        itemMenuCtrCand.addButton(ctrCandBtn);
        final Boolean isScolCentrale = userController.isScolCentrale(auth);
        final List<DroitProfilFonc> listFonctionnalite = centreCandidature.getListFonctionnalite();
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_PARAM)) {
            final LinkedList<SubMenu> subMenuParam = new LinkedList<>();
            subMenuParam.add(new SubMenu(CtrCandParametreView.NAME, FontAwesome.COG));
            subMenuParam.add(new SubMenu(CtrCandTagView.NAME, FontAwesome.TAGS));
            addItemMenu(applicationContext.getMessage("param.menus.title", null, getLocale()), CtrCandStatFormView.NAME, FontAwesome.COGS, subMenuParam, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandParametreView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandTagView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* Stats */
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_STATS)) {
            final LinkedList<SubMenu> subMenuStats = new LinkedList<>();
            subMenuStats.add(new SubMenu(CtrCandStatFormView.NAME, FontAwesome.BAR_CHART));
            subMenuStats.add(new SubMenu(CtrCandStatCommView.NAME, FontAwesome.PIE_CHART));
            addItemMenu(applicationContext.getMessage("stat.menus.title", null, getLocale()), CtrCandStatFormView.NAME, FontAwesome.LINE_CHART, subMenuStats, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandStatFormView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandStatCommView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* Paramétrage CC */
        if (userController.isMenuParamCCOpen(idCtrCandEnCours) && hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_GEST_PARAM_CC)) {
            final LinkedList<SubMenu> subMenuParamCC = new LinkedList<>();
            subMenuParamCC.add(new SubMenu(CtrCandMailTypeDecView.NAME, FontAwesome.ENVELOPE));
            subMenuParamCC.add(new SubMenu(CtrCandTypeDecisionView.NAME, FontAwesome.GAVEL));
            subMenuParamCC.add(new SubMenu(CtrCandMotivAvisView.NAME, FontAwesome.BALANCE_SCALE));
            addItemMenu(applicationContext.getMessage("paramDecision.menus.title", null, getLocale()), CtrCandTypeDecisionView.NAME, FontAwesome.GAVEL, subMenuParamCC, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandMailTypeDecView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandTypeDecisionView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandMotivAvisView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* Commission */
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_GEST_COMMISSION)) {
            addItemMenu(applicationContext.getMessage(CtrCandCommissionView.NAME + ".title", null, getLocale()), CtrCandCommissionView.NAME, FontAwesome.CALENDAR, null, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandCommissionView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* PJ */
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_GEST_PJ)) {
            final LinkedList<SubMenu> subMenuPj = new LinkedList<>();
            subMenuPj.add(new SubMenu(CtrCandPieceJustifView.NAME, FontAwesome.FILE_TEXT_O));
            subMenuPj.add(new SubMenu(CtrCandPieceJustifCommunView.NAME, FontAwesome.FILES_O));
            addItemMenu(applicationContext.getMessage(CtrCandPieceJustifView.NAME + ".title", null, getLocale()), CtrCandPieceJustifView.NAME, FontAwesome.FILE_TEXT_O, subMenuPj, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandPieceJustifView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandPieceJustifCommunView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* Formulaires */
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_GEST_FORMULAIRE)) {
            final LinkedList<SubMenu> subMenuForm = new LinkedList<>();
            subMenuForm.add(new SubMenu(CtrCandFormulaireView.NAME, FontAwesome.FILE_ZIP_O));
            subMenuForm.add(new SubMenu(CtrCandFormulaireCommunView.NAME, FontAwesome.FILES_O));
            addItemMenu(applicationContext.getMessage(CtrCandFormulaireView.NAME + ".title", null, getLocale()), CtrCandFormulaireView.NAME, FontAwesome.FILE_ZIP_O, subMenuForm, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandFormulaireView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandFormulaireCommunView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* Formation */
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_GEST_FORMATION)) {
            addItemMenu(applicationContext.getMessage(CtrCandFormationView.NAME + ".title", null, getLocale()), CtrCandFormationView.NAME, FontAwesome.LEAF, null, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandFormationView.NAME, (String) itemMenuCtrCand.getData());
        }
        /* Candidatures */
        if (hasAccessToFonctionnalite(isScolCentrale, listFonctionnalite, NomenclatureUtils.FONCTIONNALITE_GEST_CANDIDATURE)) {
            final LinkedList<SubMenu> subMenuCandidatures = new LinkedList<>();
            subMenuCandidatures.add(new SubMenu(CtrCandCandidatureView.NAME, FontAwesome.BRIEFCASE));
            subMenuCandidatures.add(new SubMenu(CtrCandCandidatureCanceledView.NAME, FontAwesome.WARNING));
            subMenuCandidatures.add(new SubMenu(CtrCandCandidatureArchivedView.NAME, FontAwesome.FOLDER_OPEN));
            addItemMenu(applicationContext.getMessage(CtrCandCandidatureView.NAME + ".title", null, getLocale()), CtrCandCandidatureView.NAME, FontAwesome.BRIEFCASE, subMenuCandidatures, itemMenuCtrCand);
            viewAccordionCtrCand.put(CtrCandCandidatureView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandCandidatureCanceledView.NAME, (String) itemMenuCtrCand.getData());
            viewAccordionCtrCand.put(CtrCandCandidatureArchivedView.NAME, (String) itemMenuCtrCand.getData());
            /* L'utilisateur a accès aux ecran de candidature-->on ajoute les css */
            initAlertSva();
        }
    } else {
        final OneClickButton ctrCandBtn = constructCtrCandChangeBtn(applicationContext.getMessage("ctrCand.window.change.default", null, getLocale()));
        itemMenuCtrCand.addButton(ctrCandBtn);
    }
}
Also used : DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) SubMenu(fr.univlorraine.ecandidat.vaadin.menu.SubMenu) LinkedList(java.util.LinkedList)

Example 2 with DroitProfilFonc

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc in project esup-ecandidat by EsupPortail.

the class DroitProfilController method saveDroitProfil.

/**
 * Enregistre un droit profil
 *
 * @param droitProfil
 * @param fonctionnaliteMap
 */
public void saveDroitProfil(final DroitProfil droitProfil, final HashMap<DroitFonctionnalite, Boolean> fonctionnaliteMap) {
    Assert.notNull(droitProfil, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
    /* Verrou */
    if (droitProfil.getIdProfil() != null && !lockController.getLockOrNotify(droitProfil, null)) {
        return;
    }
    final DroitProfil droitProfilSaved = droitProfilRepository.saveAndFlush(droitProfil);
    droitProfilSaved.getDroitProfilFoncs().clear();
    fonctionnaliteMap.forEach((k, v) -> droitProfilSaved.addFonctionnalite(new DroitProfilFonc(k, droitProfilSaved, v)));
    /* on met a jour la date pour que l'entity soit push */
    droitProfilSaved.setDatModProfil(LocalDateTime.now());
    droitProfilRepository.saveAndFlush(droitProfilSaved);
    lockController.releaseLock(droitProfilSaved);
}
Also used : DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) DroitProfil(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfil)

Example 3 with DroitProfilFonc

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc in project esup-ecandidat by EsupPortail.

the class NomenclatureController method majDroitProfilFonc.

/**
 * Met à jour la liste des fonctionnalités
 * @param droitProfil
 * @param droitFonctionnalite
 */
private void majDroitProfilFonc(final DroitProfil droitProfilCtrCand, final DroitProfil droitProfilCommission, DroitFonctionnalite droitFonctionnalite) {
    droitFonctionnalite = droitFonctionnaliteRepository.saveAndFlush(droitFonctionnalite);
    if (droitProfilCommission != null && droitFonctionnalite.getTemOpenComFonc()) {
        droitProfilCommission.addFonctionnalite(new DroitProfilFonc(droitFonctionnalite, droitProfilCommission, true));
        droitProfilRepository.saveAndFlush(droitProfilCommission);
    }
    droitProfilCtrCand.addFonctionnalite(new DroitProfilFonc(droitFonctionnalite, droitProfilCtrCand, false));
    droitProfilRepository.saveAndFlush(droitProfilCtrCand);
}
Also used : DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc)

Example 4 with DroitProfilFonc

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc in project esup-ecandidat by EsupPortail.

the class DroitProfilController method getCandidatureFonctionnalite.

/**
 * @param typGestionCandidature
 * @param candidature
 * @return les fonctionnalites dont l'utilisateur a le droit pour une candidature
 */
public List<DroitFonctionnalite> getCandidatureFonctionnalite(final String typGestionCandidature, final Candidature candidature) {
    Authentication auth = userController.getCurrentAuthentication();
    /* Ce sera la liste d'action a renvoyer */
    List<DroitFonctionnalite> listeFoncToRet = new ArrayList<>();
    if ((userController.isGestionnaireCandidat(auth) || userController.isGestionnaireCandidatLS(auth))) {
        listeFoncToRet.add(new DroitFonctionnalite(NomenclatureUtils.FONCTIONNALITE_OPEN_CANDIDAT, applicationContext.getMessage("candidature.action.open", null, UI.getCurrent().getLocale()), 0, true));
    }
    /* Utilisateur ScolCentrale, on ajoute toutes les fonctionnalités */
    if (userController.isScolCentrale(auth)) {
        List<DroitFonctionnalite> listeFonc = cacheController.getListeDroitFonctionnaliteCandidature();
        /* On place tout les éléments en ecriture */
        listeFonc.forEach(e -> listeFoncToRet.add(new DroitFonctionnalite(e, false)));
    } else {
        List<DroitProfilFonc> listFonctionnalite = new ArrayList<>();
        /* On provient du menu centre de candidature-->on a accès au droits du profil du centre de candidature */
        if (MethodUtils.isGestionCandidatureCtrCand(typGestionCandidature)) {
            SecurityCentreCandidature scc = userController.getCentreCandidature(auth);
            if (scc != null) {
                listFonctionnalite = scc.getListFonctionnalite();
            }
        } else /* On provient du menu commission-->on a accès au droits du profil de la commission */
        if (MethodUtils.isGestionCandidatureCommission(typGestionCandidature)) {
            SecurityCommission sc = userController.getCommission(auth);
            if (sc != null) {
                listFonctionnalite = sc.getListFonctionnalite();
            }
        } else /* On provient du menu candidat-->on a accès au droits du profil de la commission et du centre de candidature */
        if (MethodUtils.isGestionCandidatureCandidat(typGestionCandidature)) {
            SecurityCentreCandidature scc = userController.getCentreCandidature(auth);
            if (scc != null && candidature != null && (scc.getIsGestAllCommission() || MethodUtils.isIdInListId(candidature.getFormation().getCommission().getIdComm(), scc.getListeIdCommission()))) {
                listFonctionnalite.addAll(scc.getListFonctionnalite());
            }
            SecurityCommission sc = userController.getCommission(auth);
            if (sc != null && candidature != null && sc.getIdComm().equals(candidature.getFormation().getCommission().getIdComm())) {
                listFonctionnalite.addAll(sc.getListFonctionnalite());
            }
            /* Il faut eviter les doublons et prendre les fonctionnalités en ecriture prioritairement-->on trie sur le temoin pour passer les readonly en dernier */
            listFonctionnalite.sort((d1, d2) -> d1.getTemReadOnly().compareTo(d2.getTemReadOnly()));
        }
        /* On traite la liste-->dédoublon + gestion du read only */
        listFonctionnalite.stream().filter(e -> e.getDroitFonctionnalite().getTemActionCandFonc() && (!e.getTemReadOnly() || (e.getTemReadOnly() && e.getDroitFonctionnalite().getCodFonc().equals(NomenclatureUtils.FONCTIONNALITE_GEST_POST_IT)) || (e.getTemReadOnly() && e.getDroitFonctionnalite().getCodFonc().equals(NomenclatureUtils.FONCTIONNALITE_VISU_HISTO_AVIS)))).forEach(f -> {
            listeFoncToRet.add(new DroitFonctionnalite(f.getDroitFonctionnalite(), f.getTemReadOnly()));
        });
    }
    /* On trie et on envoie */
    listeFoncToRet.sort((d1, d2) -> d1.getOrderFonc().compareTo(d2.getOrderFonc()));
    return listeFoncToRet.stream().distinct().collect(Collectors.toList());
}
Also used : DroitProfilRepository(fr.univlorraine.ecandidat.repositories.DroitProfilRepository) LocalDateTime(java.time.LocalDateTime) UI(com.vaadin.ui.UI) HashMap(java.util.HashMap) DroitProfilInd(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilInd) ArrayList(java.util.ArrayList) Value(org.springframework.beans.factory.annotation.Value) DroitFonctionnaliteRepository(fr.univlorraine.ecandidat.repositories.DroitFonctionnaliteRepository) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) SecurityCommission(fr.univlorraine.ecandidat.services.security.SecurityCommission) NomenclatureUtils(fr.univlorraine.ecandidat.utils.NomenclatureUtils) Notification(com.vaadin.ui.Notification) CommissionRepository(fr.univlorraine.ecandidat.repositories.CommissionRepository) ScolGestCandidatMasseWindow(fr.univlorraine.ecandidat.views.windows.ScolGestCandidatMasseWindow) PreferenceInd(fr.univlorraine.ecandidat.entities.ecandidat.PreferenceInd) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) Resource(javax.annotation.Resource) DroitProfilIndividuWindow(fr.univlorraine.ecandidat.views.windows.DroitProfilIndividuWindow) Collectors(java.util.stream.Collectors) ApplicationContext(org.springframework.context.ApplicationContext) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite) CentreCandidatureRepository(fr.univlorraine.ecandidat.repositories.CentreCandidatureRepository) Commission(fr.univlorraine.ecandidat.entities.ecandidat.Commission) List(java.util.List) Component(org.springframework.stereotype.Component) Type(com.vaadin.ui.Notification.Type) DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) DroitProfil(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfil) Optional(java.util.Optional) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) AdminDroitProfilWindow(fr.univlorraine.ecandidat.views.windows.AdminDroitProfilWindow) Authentication(org.springframework.security.core.Authentication) Individu(fr.univlorraine.ecandidat.entities.ecandidat.Individu) DroitProfilIndRepository(fr.univlorraine.ecandidat.repositories.DroitProfilIndRepository) SimpleBeanPresentation(fr.univlorraine.ecandidat.utils.bean.presentation.SimpleBeanPresentation) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) Assert(org.springframework.util.Assert) DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) Authentication(org.springframework.security.core.Authentication) SecurityCentreCandidature(fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature) SecurityCommission(fr.univlorraine.ecandidat.services.security.SecurityCommission) ArrayList(java.util.ArrayList) DroitFonctionnalite(fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)

Example 5 with DroitProfilFonc

use of fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc in project esup-ecandidat by EsupPortail.

the class ScolDroitProfilView method init.

/**
 * Initialise la vue
 */
@PostConstruct
public void init() {
    /* Style */
    setSizeFull();
    setMargin(true);
    setSpacing(true);
    /* Titre */
    Label title = new Label(applicationContext.getMessage("droitprofil.title", null, UI.getCurrent().getLocale()));
    title.addStyleName(StyleConstants.VIEW_TITLE);
    addComponent(title);
    /* Boutons */
    HorizontalLayout buttonsLayout = new HorizontalLayout();
    buttonsLayout.setWidth(100, Unit.PERCENTAGE);
    buttonsLayout.setSpacing(true);
    addComponent(buttonsLayout);
    HorizontalLayout leftButtonsLayout = new HorizontalLayout();
    leftButtonsLayout.setSpacing(true);
    buttonsLayout.addComponent(leftButtonsLayout);
    buttonsLayout.setComponentAlignment(leftButtonsLayout, Alignment.MIDDLE_LEFT);
    btnNouveauProfil.setCaption(applicationContext.getMessage("droitprofil.btnNouveau", null, UI.getCurrent().getLocale()));
    btnNouveauProfil.addClickListener(e -> droitProfilController.editNewDroitProfil());
    leftButtonsLayout.addComponent(btnNouveauProfil);
    btnEditProfil.setCaption(applicationContext.getMessage("btnEdit", null, UI.getCurrent().getLocale()));
    btnEditProfil.setEnabled(false);
    btnEditProfil.addClickListener(e -> {
        if (droitProfilTable.getValue() instanceof DroitProfil) {
            droitProfilController.editDroitProfil((DroitProfil) droitProfilTable.getValue());
        }
    });
    buttonsLayout.addComponent(btnEditProfil);
    buttonsLayout.setComponentAlignment(btnEditProfil, Alignment.MIDDLE_CENTER);
    btnSupprimerProfil.setCaption(applicationContext.getMessage("btnDelete", null, UI.getCurrent().getLocale()));
    btnSupprimerProfil.setEnabled(false);
    btnSupprimerProfil.addClickListener(e -> {
        if (droitProfilTable.getValue() instanceof DroitProfil) {
            droitProfilController.deleteDroitProfil((DroitProfil) droitProfilTable.getValue());
        }
    });
    buttonsLayout.addComponent(btnSupprimerProfil);
    buttonsLayout.setComponentAlignment(btnSupprimerProfil, Alignment.MIDDLE_RIGHT);
    /* Table des batchs */
    droitProfilTable.addGeneratedColumn("fonctionnalite", new ColumnGenerator() {

        /**
         * serialVersionUID
         */
        private static final long serialVersionUID = 7461290324017459118L;

        @Override
        public Object generateCell(Table source, Object itemId, Object columnId) {
            final DroitProfil profil = (DroitProfil) itemId;
            if (profil.getCodProfil().equals(NomenclatureUtils.DROIT_PROFIL_ADMIN)) {
                return applicationContext.getMessage("droitprofil.descriptif.admin", null, UI.getCurrent().getLocale());
            } else if (profil.getCodProfil().equals(NomenclatureUtils.DROIT_PROFIL_SCOL_CENTRALE)) {
                return applicationContext.getMessage("droitprofil.descriptif.scol", null, UI.getCurrent().getLocale());
            }
            String fonc = "";
            for (DroitProfilFonc droit : profil.getDroitProfilFoncs()) {
                fonc += droit.getDroitFonctionnalite().getLibFonc();
                if (droit.getTemReadOnly()) {
                    fonc += " (LS)";
                }
                fonc += ", ";
            }
            if (!fonc.equals("")) {
                fonc = fonc.substring(0, fonc.length() - 2);
            }
            return new Label(fonc);
        }
    });
    droitProfilTable.setSizeFull();
    droitProfilTable.setVisibleColumns((Object[]) DROIT_PROFIL_FIELDS_ORDER);
    for (String fieldName : DROIT_PROFIL_FIELDS_ORDER) {
        droitProfilTable.setColumnHeader(fieldName, applicationContext.getMessage("droitprofil.table." + fieldName, null, UI.getCurrent().getLocale()));
    }
    droitProfilTable.setSortContainerPropertyId(DroitProfil_.codProfil.getName());
    droitProfilTable.setColumnCollapsingAllowed(true);
    droitProfilTable.setColumnReorderingAllowed(true);
    droitProfilTable.setSelectable(true);
    droitProfilTable.setImmediate(true);
    droitProfilTable.addItemSetChangeListener(e -> droitProfilTable.sanitizeSelection());
    droitProfilTable.addValueChangeListener(e -> {
        /* Les boutons d'édition, de programme et de lancement de batch sont actifs seulement si un droit est sélectionné. */
        boolean droitIsSelected = droitProfilTable.getValue() instanceof DroitProfil && ((DroitProfil) droitProfilTable.getValue()).getTemUpdatable();
        btnEditProfil.setEnabled(droitIsSelected);
        btnSupprimerProfil.setEnabled(droitIsSelected);
    });
    droitProfilTable.addItemClickListener(e -> {
        if (e.isDoubleClick() && droitProfilTable.getValue() instanceof DroitProfil && ((DroitProfil) droitProfilTable.getValue()).getTemUpdatable()) {
            droitProfilTable.select(e.getItemId());
            btnEditProfil.click();
        }
    });
    addComponent(droitProfilTable);
    setExpandRatio(droitProfilTable, 1);
    /* Inscrit la vue aux mises à jour de droitProfil */
    droitProfilEntityPusher.registerEntityPushListener(this);
}
Also used : DroitProfilFonc(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc) Table(com.vaadin.ui.Table) DroitProfil(fr.univlorraine.ecandidat.entities.ecandidat.DroitProfil) ColumnGenerator(com.vaadin.ui.Table.ColumnGenerator) Label(com.vaadin.ui.Label) HorizontalLayout(com.vaadin.ui.HorizontalLayout) PostConstruct(javax.annotation.PostConstruct)

Aggregations

DroitProfilFonc (fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilFonc)6 DroitProfil (fr.univlorraine.ecandidat.entities.ecandidat.DroitProfil)3 SecurityCentreCandidature (fr.univlorraine.ecandidat.services.security.SecurityCentreCandidature)2 SecurityCommission (fr.univlorraine.ecandidat.services.security.SecurityCommission)2 OneClickButton (fr.univlorraine.ecandidat.vaadin.components.OneClickButton)2 HorizontalLayout (com.vaadin.ui.HorizontalLayout)1 Label (com.vaadin.ui.Label)1 Notification (com.vaadin.ui.Notification)1 Type (com.vaadin.ui.Notification.Type)1 Table (com.vaadin.ui.Table)1 ColumnGenerator (com.vaadin.ui.Table.ColumnGenerator)1 UI (com.vaadin.ui.UI)1 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)1 CentreCandidature (fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature)1 Commission (fr.univlorraine.ecandidat.entities.ecandidat.Commission)1 DroitFonctionnalite (fr.univlorraine.ecandidat.entities.ecandidat.DroitFonctionnalite)1 DroitProfilInd (fr.univlorraine.ecandidat.entities.ecandidat.DroitProfilInd)1 Individu (fr.univlorraine.ecandidat.entities.ecandidat.Individu)1 PreferenceInd (fr.univlorraine.ecandidat.entities.ecandidat.PreferenceInd)1 CentreCandidatureRepository (fr.univlorraine.ecandidat.repositories.CentreCandidatureRepository)1