/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties |
---|
166,4 → 166,11 |
prenom = Prénom |
courriel = Courriel |
anonyme = Anonyme |
identifie = Identifié |
identifie = Identifié |
#preferences utilisateur |
messageTemporaireMails = Identiplante permettra bientôt de recevoir des courriels journaliers récapitulant les propositions, commentaires et observations nouvellement ajoutés. En cochant ces cases vous avez la possibilité de recevoir ces courriels dès qu'il seront mis en service (vous pouvez changer cela à tout moment en revenant sur cette interface) |
recevoirMailsMesObs = Recevoir le mail récapitulant les commentaires et propositions faits sur mes observations (1 fois par jour) |
recevoirMailsToutesObs = Recevoir le mail récapitulant les nouvelles observations proposées à la détermination (1 fois par jour) |
sauvegarder = Sauvegarder |
preferences = Préférences |
/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.java |
---|
619,6 → 619,15 |
String login(); |
/** |
* Translated "Identiplante permettra bientôt de recevoir des courriels journaliers récapitulant les propositions, commentaires et observations nouvellement ajoutés. En cochant ces cases vous avez la possibilité de recevoir ces courriels dès qu'il seront mis en service (vous pouvez changer cela à tout moment en revenant sur cette interface)". |
* |
* @return translated "Identiplante permettra bientôt de recevoir des courriels journaliers récapitulant les propositions, commentaires et observations nouvellement ajoutés. En cochant ces cases vous avez la possibilité de recevoir ces courriels dès qu'il seront mis en service (vous pouvez changer cela à tout moment en revenant sur cette interface)" |
*/ |
@DefaultStringValue("Identiplante permettra bientôt de recevoir des courriels journaliers récapitulant les propositions, commentaires et observations nouvellement ajoutés. En cochant ces cases vous avez la possibilité de recevoir ces courriels dès qu'il seront mis en service (vous pouvez changer cela à tout moment en revenant sur cette interface)") |
@Key("messageTemporaireMails") |
String messageTemporaireMails(); |
/** |
* Translated "Famille". |
* |
* @return translated "Famille" |
808,6 → 817,15 |
String par(); |
/** |
* Translated "Préférences". |
* |
* @return translated "Préférences" |
*/ |
@DefaultStringValue("Préférences") |
@Key("preferences") |
String preferences(); |
/** |
* Translated "Prénom". |
* |
* @return translated "Prénom" |
880,6 → 898,24 |
String publiee(); |
/** |
* Translated "Recevoir le mail récapitulant les commentaires et propositions faits sur mes observations (1 fois par jour)". |
* |
* @return translated "Recevoir le mail récapitulant les commentaires et propositions faits sur mes observations (1 fois par jour)" |
*/ |
@DefaultStringValue("Recevoir le mail récapitulant les commentaires et propositions faits sur mes observations (1 fois par jour)") |
@Key("recevoirMailsMesObs") |
String recevoirMailsMesObs(); |
/** |
* Translated "Recevoir le mail récapitulant les nouvelles observations proposées à la détermination (1 fois par jour)". |
* |
* @return translated "Recevoir le mail récapitulant les nouvelles observations proposées à la détermination (1 fois par jour)" |
*/ |
@DefaultStringValue("Recevoir le mail récapitulant les nouvelles observations proposées à la détermination (1 fois par jour)") |
@Key("recevoirMailsToutesObs") |
String recevoirMailsToutesObs(); |
/** |
* Translated "Recherche avancée". |
* |
* @return translated "Recherche avancée" |
934,6 → 970,15 |
String rechercherTaxon(); |
/** |
* Translated "Sauvegarder". |
* |
* @return translated "Sauvegarder" |
*/ |
@DefaultStringValue("Sauvegarder") |
@Key("sauvegarder") |
String sauvegarder(); |
/** |
* Translated "Se connecter". |
* |
* @return translated "Se connecter" |
/trunk/src/org/tela_botanica/del/client/navigation/evenement/changementPreferences/EvenementChangementPreferences.java |
---|
New file |
0,0 → 1,22 |
package org.tela_botanica.del.client.navigation.evenement.changementPreferences; |
import com.google.gwt.event.shared.GwtEvent; |
public class EvenementChangementPreferences extends GwtEvent<GestionnaireEvenementChangementPreferences> { |
public static com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementChangementPreferences> TYPE = new com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementChangementPreferences>(); |
public EvenementChangementPreferences() { |
} |
@Override |
protected void dispatch(GestionnaireEvenementChangementPreferences handler) { |
handler.onChangementPreferences(this); |
} |
@Override |
public com.google.gwt.event.shared.GwtEvent.Type<GestionnaireEvenementChangementPreferences> getAssociatedType() { |
return TYPE; |
} |
} |
/trunk/src/org/tela_botanica/del/client/navigation/evenement/changementPreferences/GestionnaireEvenementChangementPreferences.java |
---|
New file |
0,0 → 1,7 |
package org.tela_botanica.del.client.navigation.evenement.changementPreferences; |
import com.google.gwt.event.shared.EventHandler; |
public interface GestionnaireEvenementChangementPreferences extends EventHandler { |
public void onChangementPreferences(EvenementChangementPreferences event); |
} |
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java |
---|
432,6 → 432,26 |
return utilisateur; |
} |
/** |
* Recupere un utilisateur à partir du JSON |
* |
* @param imageJson |
* @return |
*/ |
public static HashMap<String, String> parserPreferencesUtilisateur(JSONValue valeurJson) { |
JSONObject utilisateurJson = valeurJson.isObject(); |
HashMap<String, String> preferences = new HashMap<String, String>(); |
JSONObject preferencesJson = utilisateurJson.get("preferences").isObject(); |
java.util.Iterator<String> it = preferencesJson.keySet().iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
preferences.put(cle, preferencesJson.get(cle).isString().stringValue()); |
} |
return preferences; |
} |
/** |
* Retourne un objet {@link ProtocoleServiceResultat} à partir d'un objet |
/trunk/src/org/tela_botanica/del/client/services/rest/PreferencesServiceConcret.java |
---|
New file |
0,0 → 1,72 |
package org.tela_botanica.del.client.services.rest; |
import java.util.HashMap; |
import java.util.Iterator; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.services.rest.async.ListePreferencesCallback; |
import org.tela_botanica.del.client.services.rest.async.ModificationPreferencesCallback; |
import org.tela_botanica.del.client.services.rest.async.PHPCallback.ModeRequete; |
import com.google.gwt.http.client.RequestBuilder; |
import com.google.gwt.user.client.Window; |
public class PreferencesServiceConcret implements PreferencesService { |
private String baseUrl; |
public PreferencesServiceConcret() { |
Config config = new Config(); |
this.baseUrl = config.getServiceBaseUrl(); |
} |
public PreferencesServiceConcret(Config config) { |
this.baseUrl = config.getServiceBaseUrl(); |
} |
@Override |
public void modifierPreferences(Utilisateur utilisateur, HashMap<String, String> preferences, ModificationPreferencesCallback callback) { |
String idUtilisateur = utilisateur.getId(); |
String urlService = baseUrl+"utilisateurs/"+idUtilisateur+"/preferences/"; |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, urlService); |
callback.setMode(ModeRequete.MODIFICATION); |
String chainePost = assemblerRequeteModification(preferences); |
try { |
rb.sendRequest(chainePost, callback); |
} catch (Exception e) { |
//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ? |
} |
} |
private String assemblerRequeteModification(HashMap<String, String> preferences) { |
Window.alert(""+preferences.size()); |
String chaine = ""; |
Iterator<String> it = preferences.keySet().iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if(!chaine.equals("")) { |
chaine += "&"; |
} |
chaine += cle+"="+preferences.get(cle); |
} |
return chaine; |
} |
@Override |
public void chargerPreferences(Utilisateur utilisateur, |
ListePreferencesCallback callback) { |
String idUtilisateur = utilisateur.getId(); |
String urlService = baseUrl+"utilisateurs/"+idUtilisateur+"/preferences/"; |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlService); |
callback.setMode(ModeRequete.LECTURE); |
try { |
rb.sendRequest(null, callback); |
} catch (Exception e) { |
//TODO: quoi faire si la requete est mal formée coté client avant d'être envoyée ? |
} |
} |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/PreferencesService.java |
---|
New file |
0,0 → 1,14 |
package org.tela_botanica.del.client.services.rest; |
import java.util.HashMap; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.services.rest.async.ListePreferencesCallback; |
import org.tela_botanica.del.client.services.rest.async.ModificationPreferencesCallback; |
public interface PreferencesService { |
public void modifierPreferences(Utilisateur utilisateur, HashMap<String, String> preferences, ModificationPreferencesCallback modificationPreferencesCallback); |
public void chargerPreferences(Utilisateur utilisateur, ListePreferencesCallback listePreferencesCallbackCallback); |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/async/ModificationPreferencesCallback.java |
---|
New file |
0,0 → 1,15 |
package org.tela_botanica.del.client.services.rest.async; |
/** |
* Objet passé en paramètre d'un service de modification des préférences utilisateur |
* @author LIENS |
* |
*/ |
public abstract class ModificationPreferencesCallback extends PHPCallback<String>{ |
@Override |
public String parserJSON(String retourService) { |
return null; |
} |
} |
/trunk/src/org/tela_botanica/del/client/services/rest/async/ListePreferencesCallback.java |
---|
New file |
0,0 → 1,19 |
package org.tela_botanica.del.client.services.rest.async; |
import java.util.HashMap; |
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat; |
import com.google.gwt.json.client.JSONParser; |
/** |
* Objet passé en paramètre d'un service de chargement des préférences utilisateur |
* |
*/ |
public abstract class ListePreferencesCallback extends PHPCallback<HashMap<String, String>>{ |
@Override |
public HashMap<String, String> parserJSON(String retourService) { |
return UtilitairesServiceResultat.parserPreferencesUtilisateur(JSONParser.parseStrict(retourService)); |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/identification/FormulaireIdentificationVue.ui.xml |
---|
10,7 → 10,10 |
<g:HTMLPanel styleName="{style.zoneIdentification}"> |
<g:HTMLPanel ui:field="zoneUtilisateur"> |
<g:Label ui:field="connecter" styleName="{style.connecter}" text="{constants.seConnecter}" /> |
<g:HorizontalPanel><g:Label ui:field="email" styleName="{style.email}">Email</g:Label><g:Label ui:field="deconnecter" styleName="{style.deconnecter}" text="{constants.seDeconnecter}" /></g:HorizontalPanel> |
<g:HorizontalPanel><g:Label ui:field="email" styleName="{style.email}">Email</g:Label> |
<g:Label ui:field="preferences" styleName="{style.preferences}" text="{constants.preferences}"></g:Label> |
<g:Label ui:field="deconnecter" styleName="{style.deconnecter}" text="{constants.seDeconnecter}" /></g:HorizontalPanel> |
</g:HTMLPanel> |
<g:HTMLPanel ui:field="zoneFormulaire" styleName="{style.zoneFormulaire} ombre-forte"> |
<g:Label ui:field="erreurIdentification" styleName="{style.erreur}"></g:Label> |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/identification/FormulaireIdentificationPresenteur.java |
---|
1,7 → 1,17 |
package org.tela_botanica.del.client.composants.formulaires.identification; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur; |
import org.tela_botanica.del.client.composants.preferences.PreferencesPresenteur; |
import org.tela_botanica.del.client.composants.preferences.PreferencesVue; |
import org.tela_botanica.del.client.modeles.Utilisateur; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.changementPreferences.EvenementChangementPreferences; |
import org.tela_botanica.del.client.navigation.evenement.changementPreferences.GestionnaireEvenementChangementPreferences; |
import org.tela_botanica.del.client.services.rest.PreferencesServiceConcret; |
import org.tela_botanica.del.client.services.rest.UtilisateurService; |
import org.tela_botanica.del.client.services.rest.async.UtilisateurCallback; |
17,6 → 27,8 |
import com.google.gwt.user.client.ui.IsWidget; |
public class FormulaireIdentificationPresenteur { |
FenetreOverlaySimplePresenteur fenetreModalePresenteur = null; |
public abstract interface Vue extends IsWidget { |
public void ajouterVue(HasWidgets composite); |
48,6 → 60,8 |
public HasKeyPressHandlers getLoginHasKeyPressHandler(); |
public HasKeyPressHandlers getMotdepasseHasKeyPressHandler(); |
HasClickHandlers getZonePreferencesClickHandler(); |
} |
private Vue vue; |
100,6 → 114,26 |
vue.getLoginHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree()); |
vue.getMotdepasseHasKeyPressHandler().addKeyPressHandler(creerGestionnaireEvenementToucheEntree()); |
vue.getZonePreferencesClickHandler().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
if(utilisateur.estIdentifie()) { |
PreferencesPresenteur preferencesPresenteur = new PreferencesPresenteur(new PreferencesVue(), new PreferencesServiceConcret()); |
fenetreModalePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreModalePresenteur.ouvrirFenetreModale(preferencesPresenteur); |
} |
} |
}); |
BusEvenementiel.getInstance().addHandler(EvenementChangementPreferences.TYPE, new GestionnaireEvenementChangementPreferences() { |
@Override |
public void onChangementPreferences(EvenementChangementPreferences event) { |
if(fenetreModalePresenteur != null && fenetreModalePresenteur.fenetreModaleEstOuverte()) { |
fenetreModalePresenteur.fermerFenetreModale(); |
} |
} |
}); |
} |
private void surTentativeLogin() { |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/identification/FormulaireIdentificationVue.java |
---|
7,9 → 7,9 |
import com.google.gwt.event.dom.client.HasKeyPressHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FocusPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Panel; |
24,7 → 24,7 |
private static Binder uiBinder = GWT.create(Binder.class); |
@UiField |
Label connecter, deconnecter, email, erreurIdentification; |
Label connecter, deconnecter, email, erreurIdentification, preferences; |
@UiField Panel zoneFormulaire; |
59,6 → 59,7 |
boolean estConnecte = utilisateur.estIdentifie(); |
connecter.setVisible(!estConnecte); |
deconnecter.setVisible(estConnecte); |
preferences.setVisible(estConnecte); |
email.setText(utilisateur.getNomPrenomFormate()); |
email.setVisible(estConnecte); |
124,4 → 125,9 |
public HasKeyPressHandlers getMotdepasseHasKeyPressHandler() { |
return motdepasse; |
} |
@Override |
public HasClickHandlers getZonePreferencesClickHandler() { |
return preferences; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/identification/identification.css |
---|
9,13 → 9,13 |
cursor: pointer |
} |
.deconnecter { |
.deconnecter, .preferences { |
text-decoration: underline; |
color: blue; |
cursor: pointer |
} |
.email { |
.email, .preferences { |
padding-right: 10px |
} |
/trunk/src/org/tela_botanica/del/client/composants/preferences/PreferencesVue.ui.xml |
---|
New file |
0,0 → 1,29 |
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> |
<ui:UiBinder |
xmlns:ui='urn:ui:com.google.gwt.uibinder' |
xmlns:g='urn:import:com.google.gwt.user.client.ui'> |
<ui:with field="constants" type="org.tela_botanica.del.client.i18n.Vocabulary"/> |
<ui:style src="preferences.css" /> |
<g:HTMLPanel styleName="{style.conteneurPreferences}"> |
<g:Label text="{constants.preferences}" styleName="titre"/> |
<g:Label styleName="petit {style.messageTemporaire}" text="{constants.messageTemporaireMails}" /> |
<g:HTML><br /></g:HTML> |
<g:VerticalPanel ui:field="panneauChargement"> |
<g:Image url="./img/wait.gif"></g:Image> |
</g:VerticalPanel> |
<g:HTMLPanel styleName="{style.colonneGauche}" ui:field="conteneurChamps"> |
<g:HTMLPanel styleName="{style.zoneMailsMesObs}"> |
<g:Label text="{constants.recevoirMailsMesObs}" styleName="petit" /> |
<g:CheckBox ui:field="recevoirMailsMesObs"/> |
</g:HTMLPanel> |
<g:HTMLPanel styleName="{style.zoneMailsToutesObs}"> |
<g:Label text="{constants.recevoirMailsToutesObs}" styleName="petit" /> |
<g:CheckBox ui:field="recevoirMailsToutesObs"/> |
</g:HTMLPanel> |
<g:Button text="{constants.sauvegarder}" ui:field="boutonSauvegarderPreferences" styleName="{style.boutonSauvegarder} arrondi"/> |
</g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/composants/preferences/PreferencesPresenteur.java |
---|
New file |
0,0 → 1,89 |
package org.tela_botanica.del.client.composants.preferences; |
import java.util.HashMap; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.changementPreferences.EvenementChangementPreferences; |
import org.tela_botanica.del.client.services.rest.PreferencesService; |
import org.tela_botanica.del.client.services.rest.async.ListePreferencesCallback; |
import org.tela_botanica.del.client.services.rest.async.ModificationPreferencesCallback; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
public class PreferencesPresenteur extends Presenteur { |
private Vue vue; |
private PreferencesService preferencesService; |
private HashMap<String, String> preferences = null; |
public interface Vue extends IsWidget { |
public void afficherMessageChargement(); |
public void cacherMessageChargement(); |
public String getValeurRecevoirMailsMesObs(); |
public String getValeurRecevoirMailsToutesObs(); |
public void setValeurRecevoirMailsMesObs(boolean valeur); |
public void setValeurRecevoirMailsToutesObs(boolean valeur); |
public HasClickHandlers getBoutonSauvegarder(); |
} |
public PreferencesPresenteur(Vue vue, PreferencesService preferencesService) { |
this.vue = vue; |
this.preferencesService = preferencesService; |
gererEvenements(); |
} |
@Override |
public void go(HasWidgets composite) { |
preferences = CacheClient.getInstance().getUtilisateur().getPreferences(); |
if (preferences == null) { |
preferencesService.chargerPreferences(CacheClient.getInstance().getUtilisateur(), new ListePreferencesCallback() { |
@Override |
public void surRetour(java.util.HashMap<String, String> objetRetour) { |
preferences = objetRetour; |
CacheClient.getInstance().getUtilisateur().setPreferences(objetRetour); |
affecterValeursChamps(preferences); |
vue.cacherMessageChargement(); |
} |
}); |
} else { |
vue.cacherMessageChargement(); |
affecterValeursChamps(preferences); |
} |
composite.add(vue.asWidget()); |
} |
private void affecterValeursChamps(HashMap<String, String> preferences) { |
vue.setValeurRecevoirMailsMesObs(getPreferenceBool(preferences.get("mail_notification_mes_obs"))); |
vue.setValeurRecevoirMailsToutesObs(getPreferenceBool(preferences.get("mail_notification_toutes_obs"))); |
} |
private boolean getPreferenceBool(String valeur) { |
return (valeur.equals("1")) ? true : false; |
} |
@Override |
protected void gererEvenements() { |
vue.getBoutonSauvegarder().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
vue.afficherMessageChargement(); |
preferences.put("mail_notification_mes_obs", vue.getValeurRecevoirMailsMesObs()); |
preferences.put("mail_notification_toutes_obs", vue.getValeurRecevoirMailsToutesObs()); |
preferencesService.modifierPreferences(CacheClient.getInstance().getUtilisateur(), preferences, new ModificationPreferencesCallback() { |
@Override |
public void surRetour(String objetRetour) { |
vue.cacherMessageChargement(); |
BusEvenementiel.getInstance().fireEvent(new EvenementChangementPreferences()); |
} |
}); |
} |
}); |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/preferences/PreferencesVue.java |
---|
New file |
0,0 → 1,73 |
package org.tela_botanica.del.client.composants.preferences; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.CheckBox; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.Panel; |
import com.google.gwt.user.client.ui.Widget; |
public class PreferencesVue extends Composite implements PreferencesPresenteur.Vue { |
@UiField |
Panel panneauChargement, conteneurChamps; |
@UiField |
public CheckBox recevoirMailsMesObs; |
@UiField |
public CheckBox recevoirMailsToutesObs; |
@UiField |
public Button boutonSauvegarderPreferences; |
interface PreferencesVueUIiBinder extends UiBinder<Widget, PreferencesVue> { |
}; |
PreferencesVueUIiBinder uiBinder = GWT.create(PreferencesVueUIiBinder.class); |
public PreferencesVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
@Override |
public void afficherMessageChargement() { |
panneauChargement.setHeight(this.getOffsetHeight()+"px"); |
panneauChargement.setVisible(true); |
conteneurChamps.setVisible(false); |
} |
@Override |
public void cacherMessageChargement() { |
panneauChargement.setVisible(false); |
conteneurChamps.setVisible(true); |
} |
@Override |
public void setValeurRecevoirMailsMesObs(boolean valeur) { |
recevoirMailsMesObs.setValue(valeur); |
} |
@Override |
public void setValeurRecevoirMailsToutesObs(boolean valeur) { |
recevoirMailsToutesObs.setValue(valeur); |
} |
@Override |
public String getValeurRecevoirMailsMesObs() { |
return (recevoirMailsMesObs.getValue()) ? "1" : "0"; |
} |
@Override |
public String getValeurRecevoirMailsToutesObs() { |
return (recevoirMailsToutesObs.getValue()) ? "1" : "0"; |
} |
@Override |
public HasClickHandlers getBoutonSauvegarder() { |
return boutonSauvegarderPreferences; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/preferences/preferences.css |
---|
New file |
0,0 → 1,57 |
.conteneurPreferences { |
z-index: 1500; |
padding: 30px; |
padding-right: 21px; |
padding-top: 20px; |
background: white; |
width: 370px; |
margin: 0 auto; |
margin-top: 5%; |
padding-bottom:50px; |
} |
.messageTemporaire { |
font-style: italic; |
} |
.boutonSauvegarder:hover { |
background-color: #AAA |
} |
.colonneGauche,.colonneDroite { |
width: 300px; |
} |
.colonneGauche { |
padding-right: 30px |
} |
.colonneGauche select { |
width: 100% |
} |
.colonneGauche input { |
width: 95% |
} |
.boutonSauvegarder { |
border: solid 1px #AAA; |
cursor: pointer; |
float: left; |
margin-top: 10px; |
margin-bottom: 5px; |
margin-right: 5px; |
float: right; |
background: url(./img/add.png) no-repeat 5px 7px #DDD; |
padding: 5px; |
padding-left: 25px; |
cursor: pointer |
} |
.zoneMailsMesObs { |
margin-bottom: 10px; |
} |
.zoneMailsToutesObs { |
margin-bottom: 10px; |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Utilisateur.java |
---|
1,5 → 1,7 |
package org.tela_botanica.del.client.modeles; |
import java.util.HashMap; |
import org.tela_botanica.del.client.i18n.I18n; |
public class Utilisateur { |
9,6 → 11,7 |
private String courriel = ""; |
private String id = "0"; |
private boolean identifie = false; |
private HashMap<String, String> preferences = null; |
public Utilisateur(String id) { |
this.id = id; |
56,4 → 59,12 |
public String getNomPrenomFormate() { |
return identifie ? prenom+" "+nom : I18n.getVocabulary().anonyme(); |
} |
public HashMap<String, String> getPreferences() { |
return preferences; |
} |
public void setPreferences(HashMap<String, String> preferences) { |
this.preferences = preferences; |
} |
} |