Search in sources :

Example 1 with I18nTraduction

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

the class I18nField method initContent.

/**
 * @see com.vaadin.ui.CustomField#initContent()
 */
@Override
protected Component initContent() {
    /* Ajout de la langue par defaut */
    HorizontalLayout hlLangueDef = new HorizontalLayout();
    listLayoutTraductions.add(hlLangueDef);
    hlLangueDef.setSpacing(true);
    hlLangueDef.setWidth(100, Unit.PERCENTAGE);
    layoutLangue.addComponent(hlLangueDef);
    /* Si il y a d'autres langue en service on met le drapeau */
    if (listeLangueEnService.size() > 0 || listeTraduction.size() > 1) {
        Image flag = new Image(null, new ThemeResource("images/flags/" + langueParDefaut.getCodLangue() + ".png"));
        HorizontalLayout hlFlag = new HorizontalLayout();
        hlFlag.setWidth(75, Unit.PIXELS);
        hlFlag.addComponent(flag);
        hlFlag.setComponentAlignment(flag, Alignment.MIDDLE_CENTER);
        hlLangueDef.addComponent(hlFlag);
    }
    /* La valeur de la traduction */
    AbstractField<String> tfVal = getNewValueComponent();
    tfVal.setId(langueParDefaut.getCodLangue());
    tfVal.setWidth(100, Unit.PERCENTAGE);
    /* Recuperation de la valeur de la traduction par defaut dans la liste des traductions */
    if (listeTraduction.size() != 0) {
        Optional<I18nTraduction> opt = listeTraduction.stream().filter(l -> l.getLangue().getCodLangue().equals(langueParDefaut.getCodLangue())).findFirst();
        if (opt.isPresent()) {
            tfVal.setValue(opt.get().getValTrad());
        }
    }
    hlLangueDef.addComponent(tfVal);
    hlLangueDef.setExpandRatio(tfVal, 1);
    listeTraduction.stream().filter(l -> !l.getLangue().getCodLangue().equals(langueParDefaut.getCodLangue())).forEach(traductionOther -> {
        /* Ajout d'une langue inactive si elle existe */
        Optional<Langue> opt = listeLangueEnService.stream().filter(langueEnService -> langueEnService.getCodLangue().equals(traductionOther.getLangue().getCodLangue())).findFirst();
        if (opt.isPresent()) {
            /* Ajout des autres langues si elles n'existent pas déjà */
            layoutLangue.addComponent(getLangueLayout(traductionOther));
        } else {
            layoutLangue.addComponent(getLangueLayoutInactive(traductionOther));
        }
    });
    checkVisibleAddLangue();
    return layoutComplet;
}
Also used : ThemeResource(com.vaadin.server.ThemeResource) CustomField(com.vaadin.ui.CustomField) TextField(com.vaadin.ui.TextField) VerticalLayout(com.vaadin.ui.VerticalLayout) Alignment(com.vaadin.ui.Alignment) ComboBox(com.vaadin.ui.ComboBox) Langue(fr.univlorraine.ecandidat.entities.ecandidat.Langue) ArrayList(java.util.ArrayList) FontAwesome(com.vaadin.server.FontAwesome) Image(com.vaadin.ui.Image) IRequiredField(fr.univlorraine.ecandidat.vaadin.form.IRequiredField) InvalidValueException(com.vaadin.data.Validator.InvalidValueException) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n) ComboBoxLangue(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxLangue) ValoTheme(com.vaadin.ui.themes.ValoTheme) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) RichTextArea(com.vaadin.ui.RichTextArea) StyleConstants(fr.univlorraine.ecandidat.StyleConstants) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) Serializable(java.io.Serializable) TypeTraduction(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction) List(java.util.List) AbstractField(com.vaadin.ui.AbstractField) HorizontalLayout(com.vaadin.ui.HorizontalLayout) Optional(java.util.Optional) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) Component(com.vaadin.ui.Component) Langue(fr.univlorraine.ecandidat.entities.ecandidat.Langue) ComboBoxLangue(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxLangue) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) ThemeResource(com.vaadin.server.ThemeResource) Image(com.vaadin.ui.Image) HorizontalLayout(com.vaadin.ui.HorizontalLayout)

Example 2 with I18nTraduction

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

the class I18nField method checkVisibleAddLangue.

/**
 * Modifie la visibilité du bouton d'ajout de langue
 */
private void checkVisibleAddLangue() {
    if (listeLangueEnService.size() == 0) {
        btnAddLangue.setVisible(false);
    } else {
        List<I18nTraduction> i18nTraductions = getValue().getI18nTraductions();
        for (Langue langue : listeLangueEnService) {
            Optional<I18nTraduction> opt = i18nTraductions.stream().filter(l -> l.getLangue().getCodLangue().equals(langue.getCodLangue())).findFirst();
            if (!opt.isPresent()) {
                btnAddLangue.setVisible(true);
                return;
            }
        }
        btnAddLangue.setVisible(false);
    }
}
Also used : ThemeResource(com.vaadin.server.ThemeResource) CustomField(com.vaadin.ui.CustomField) TextField(com.vaadin.ui.TextField) VerticalLayout(com.vaadin.ui.VerticalLayout) Alignment(com.vaadin.ui.Alignment) ComboBox(com.vaadin.ui.ComboBox) Langue(fr.univlorraine.ecandidat.entities.ecandidat.Langue) ArrayList(java.util.ArrayList) FontAwesome(com.vaadin.server.FontAwesome) Image(com.vaadin.ui.Image) IRequiredField(fr.univlorraine.ecandidat.vaadin.form.IRequiredField) InvalidValueException(com.vaadin.data.Validator.InvalidValueException) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n) ComboBoxLangue(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxLangue) ValoTheme(com.vaadin.ui.themes.ValoTheme) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) RichTextArea(com.vaadin.ui.RichTextArea) StyleConstants(fr.univlorraine.ecandidat.StyleConstants) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) Serializable(java.io.Serializable) TypeTraduction(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction) List(java.util.List) AbstractField(com.vaadin.ui.AbstractField) HorizontalLayout(com.vaadin.ui.HorizontalLayout) Optional(java.util.Optional) OneClickButton(fr.univlorraine.ecandidat.vaadin.components.OneClickButton) Component(com.vaadin.ui.Component) Langue(fr.univlorraine.ecandidat.entities.ecandidat.Langue) ComboBoxLangue(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxLangue) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction)

Example 3 with I18nTraduction

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

the class I18nField method getValueField.

/**
 * Recupere la valeur du champs contenant la liste de traduction
 *
 * @param i18n
 * @return la liste des traductions
 */
@SuppressWarnings("unchecked")
private List<I18nTraduction> getValueField(final I18n i18n) {
    List<I18nTraduction> listeToRet = new ArrayList<>();
    listLayoutTraductions.forEach(e -> {
        if (e.getComponentCount() == 0) {
            return;
        }
        // langue par défaut
        if (e.getComponent(0) instanceof TextField || e.getComponent(0) instanceof RichTextArea) {
            AbstractField<String> tf = (AbstractField<String>) e.getComponent(0);
            listeToRet.add(new I18nTraduction(MethodUtils.cleanHtmlValue(tf.getValue()), i18n, langueParDefaut));
        } else if (e.getComponent(0) instanceof HorizontalLayout) {
            AbstractField<String> tf = (AbstractField<String>) e.getComponent(1);
            listeToRet.add(new I18nTraduction(MethodUtils.cleanHtmlValue(tf.getValue()), i18n, new Langue(tf.getId())));
        } else {
            ComboBox cbLangue = (ComboBox) e.getComponent(0);
            Langue langue = (Langue) cbLangue.getValue();
            AbstractField<String> tf = (AbstractField<String>) e.getComponent(1);
            listeToRet.add(new I18nTraduction(tf.getValue(), i18n, langue));
        }
    });
    return listeToRet;
}
Also used : RichTextArea(com.vaadin.ui.RichTextArea) AbstractField(com.vaadin.ui.AbstractField) Langue(fr.univlorraine.ecandidat.entities.ecandidat.Langue) ComboBoxLangue(fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxLangue) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) ComboBox(com.vaadin.ui.ComboBox) ArrayList(java.util.ArrayList) TextField(com.vaadin.ui.TextField) HorizontalLayout(com.vaadin.ui.HorizontalLayout)

Example 4 with I18nTraduction

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

the class NomenclatureController method majMail.

/**
 * Mise à jour d'un mail
 * @param  mail
 * @param  content
 * @return         le mail maj
 */
private Mail majMail(Mail mail, String sujet, String content) {
    final Mail mailLoad = mailRepository.findByCodMail(mail.getCodMail());
    if (sujet == null || sujet.equals("")) {
        sujet = mail.getLibMail();
    }
    if (content == null || content.equals("")) {
        content = mail.getLibMail();
    }
    if (mailLoad == null) {
        final TypeTraduction typeTradSujet = typeTraductionRepository.findOne(NomenclatureUtils.TYP_TRAD_MAIL_SUJET);
        final I18n i18nSujetMail = i18nRepository.saveAndFlush(new I18n(typeTradSujet));
        i18nTraductionRepository.saveAndFlush(new I18nTraduction(sujet, i18nSujetMail, cacheController.getLangueDefault()));
        mail.setI18nSujetMail(i18nSujetMail);
        final TypeTraduction typeTradCorps = typeTraductionRepository.findOne(NomenclatureUtils.TYP_TRAD_MAIL_CORPS);
        final I18n i18nCorpsMail = i18nRepository.saveAndFlush(new I18n(typeTradCorps));
        i18nTraductionRepository.saveAndFlush(new I18nTraduction(content, i18nCorpsMail, cacheController.getLangueDefault()));
        mail.setI18nCorpsMail(i18nCorpsMail);
        mail = mailRepository.saveAndFlush(mail);
        return mail;
    } else if (mailLoad.getTemIsModeleMail() && mail.getTemIsModeleMail() && !mailLoad.getLibMail().equals(mail.getLibMail())) {
        mailLoad.setLibMail(mail.getLibMail());
        return mailRepository.saveAndFlush(mailLoad);
    }
    return mailLoad;
}
Also used : Mail(fr.univlorraine.ecandidat.entities.ecandidat.Mail) TypeTraduction(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n)

Example 5 with I18nTraduction

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

the class NomenclatureController method majTypeStatutPiece.

/**
 * Met a jour un type de statut de piece
 * @param typeStatutPiece
 */
private void majTypeStatutPiece(final TypeStatutPiece typeStatutPiece) {
    final TypeStatutPiece typeStatutPiceLoad = typeStatutPieceRepository.findByCodTypStatutPiece(typeStatutPiece.getCodTypStatutPiece());
    if (typeStatutPiceLoad == null) {
        final TypeTraduction typeTrad = typeTraductionRepository.findOne(NomenclatureUtils.TYP_TRAD_TYP_STATUT_PIECE);
        final I18n i18n = i18nRepository.saveAndFlush(new I18n(typeTrad));
        final I18nTraduction trad = new I18nTraduction(typeStatutPiece.getLibTypStatutPiece(), i18n, cacheController.getLangueDefault());
        i18nTraductionRepository.saveAndFlush(trad);
        typeStatutPiece.setI18nLibTypStatutPiece(i18n);
        typeStatutPieceRepository.saveAndFlush(typeStatutPiece);
    }
}
Also used : TypeStatutPiece(fr.univlorraine.ecandidat.entities.ecandidat.TypeStatutPiece) TypeTraduction(fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction) I18nTraduction(fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction) I18n(fr.univlorraine.ecandidat.entities.ecandidat.I18n)

Aggregations

I18nTraduction (fr.univlorraine.ecandidat.entities.ecandidat.I18nTraduction)13 I18n (fr.univlorraine.ecandidat.entities.ecandidat.I18n)11 TypeTraduction (fr.univlorraine.ecandidat.entities.ecandidat.TypeTraduction)10 ArrayList (java.util.ArrayList)5 AbstractField (com.vaadin.ui.AbstractField)4 ComboBox (com.vaadin.ui.ComboBox)4 HorizontalLayout (com.vaadin.ui.HorizontalLayout)4 RichTextArea (com.vaadin.ui.RichTextArea)4 TextField (com.vaadin.ui.TextField)4 Langue (fr.univlorraine.ecandidat.entities.ecandidat.Langue)4 ComboBoxLangue (fr.univlorraine.ecandidat.vaadin.form.combo.ComboBoxLangue)4 InvalidValueException (com.vaadin.data.Validator.InvalidValueException)3 FontAwesome (com.vaadin.server.FontAwesome)3 ThemeResource (com.vaadin.server.ThemeResource)3 Alignment (com.vaadin.ui.Alignment)3 Component (com.vaadin.ui.Component)3 CustomField (com.vaadin.ui.CustomField)3 Image (com.vaadin.ui.Image)3 VerticalLayout (com.vaadin.ui.VerticalLayout)3 ValoTheme (com.vaadin.ui.themes.ValoTheme)3