Subversion Repositories eFlore/Applications.coel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 65 → Rev 66

/trunk/doc/bdd/coel.xml
258,12 → 258,12
</SETTINGS>
<METADATA>
<REGIONS>
<REGION ID="21340" RegionName="Projet" XPos="28" YPos="504" Width="744" Height="410" RegionColor="5" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Projets.\nAbreviation : CPR\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="74" />
<REGION ID="21218" RegionName="Publication" XPos="24" YPos="2357" Width="747" Height="286" RegionColor="4" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Publications.\nAbreviation : CPU\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="63" />
<REGION ID="18447" RegionName="M\195\169tadonn\195\169e" XPos="20" YPos="16" Width="1464" Height="480" RegionColor="3" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des M\195\169tadonn\195\169es.\nAbreviation : CM\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="19" />
<REGION ID="18417" RegionName="Personne" XPos="784" YPos="505" Width="700" Height="872" RegionColor="2" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Personnes.\nAbreviation : CP\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="16" />
<REGION ID="18416" RegionName="Structure" XPos="785" YPos="1386" Width="701" Height="959" RegionColor="1" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Structures.\nAbreviation : CS\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="15" />
<REGION ID="1443" RegionName="Collection" XPos="28" YPos="924" Width="741" Height="1421" RegionColor="0" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Collections.\nAbreviation : CC\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="2" />
<REGION ID="18416" RegionName="Structure" XPos="785" YPos="1386" Width="701" Height="959" RegionColor="1" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Structures.\nAbreviation : CS\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="15" />
<REGION ID="18417" RegionName="Personne" XPos="784" YPos="505" Width="700" Height="872" RegionColor="2" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Personnes.\nAbreviation : CP\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="16" />
<REGION ID="18447" RegionName="M\195\169tadonn\195\169e" XPos="20" YPos="16" Width="1464" Height="480" RegionColor="3" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des M\195\169tadonn\195\169es.\nAbreviation : CM\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="19" />
<REGION ID="21218" RegionName="Publication" XPos="24" YPos="2357" Width="747" Height="286" RegionColor="4" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Publications.\nAbreviation : CPU\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="63" />
<REGION ID="21340" RegionName="Projet" XPos="28" YPos="504" Width="744" Height="410" RegionColor="5" TablePrefix="0" TableType="0" OverwriteTablePrefix="0" OverwriteTableType="0" Comments="Module de gestion des Projets.\nAbreviation : CPR\nAide : OK\nEtat: OK\nRevision : $Revision$" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="74" />
</REGIONS>
<TABLES>
<TABLE ID="1444" Tablename="coel_collection" PrevTableName="Table_01" XPos="36" YPos="1151" TableType="0" TablePrefix="0" nmTable="0" Temporary="0" UseStandardInserts="0" StandardInserts="\n" TableOptions="DelayKeyTblUpdates=0\nPackKeys=0\nRowChecksum=0\nRowFormat=0\nUseRaid=0\nRaidType=0\n" Comments="Contient les informations sur les collections.INFO : cc_nom\n" Collapsed="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="5" >
659,7 → 659,7
</INDEX>
</INDICES>
</TABLE>
<TABLE ID="1446" Tablename="coel_personne" PrevTableName="Table_03" XPos="865" YPos="726" TableType="0" TablePrefix="0" nmTable="0" Temporary="0" UseStandardInserts="0" StandardInserts="\n" TableOptions="DelayKeyTblUpdates=0\nPackKeys=0\nRowChecksum=0\nRowFormat=0\nUseRaid=0\nRaidType=0\n" Comments="Contient les informations sur les personnes.\nPar personne nous entendons \195\160 la fois les utilisateurs de l\aapplication mais aussi les personnes contacts, les botanistes collecteurs, auteurs...\nINFO : cp_fmt_nom_complet" Collapsed="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="67" >
<TABLE ID="1446" Tablename="coel_personne" PrevTableName="Table_03" XPos="865" YPos="719" TableType="0" TablePrefix="0" nmTable="0" Temporary="0" UseStandardInserts="0" StandardInserts="\n" TableOptions="DelayKeyTblUpdates=0\nPackKeys=0\nRowChecksum=0\nRowFormat=0\nUseRaid=0\nRaidType=0\n" Comments="Contient les informations sur les personnes.\nPar personne nous entendons \195\160 la fois les utilisateurs de l\aapplication mais aussi les personnes contacts, les botanistes collecteurs, auteurs...\nINFO : cp_fmt_nom_complet" Collapsed="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="67" >
<COLUMNS>
<COLUMN ID="1456" ColName="cp_id_personne" PrevColName="cco_id_contact" Pos="0" idDatatype="5" DatatypeParams="" Width="-1" Prec="-1" PrimaryKey="1" NotNull="1" AutoInc="1" IsForeignKey="0" DefaultValue="" Comments="Identifiant d\aun contact.">
<OPTIONSELECTED>
814,12 → 814,17
<OPTIONSELECTED>
</OPTIONSELECTED>
</COLUMN>
<COLUMN ID="21966" ColName="cp_session_id" PrevColName="" Pos="34" idDatatype="20" DatatypeParams="(100)" Width="-1" Prec="-1" PrimaryKey="0" NotNull="0" AutoInc="0" IsForeignKey="0" DefaultValue="" Comments="Identifiant de session de la personne utilisatrice de l\aapplication.">
<OPTIONSELECTED>
<OPTIONSELECT Value="0" />
</OPTIONSELECTED>
</COLUMN>
<COLUMN ID="18438" ColName="cp_login" PrevColName="" Pos="31" idDatatype="20" DatatypeParams="(50)" Width="-1" Prec="-1" PrimaryKey="0" NotNull="0" AutoInc="0" IsForeignKey="0" DefaultValue="" Comments="Login de la personne pour acc\195\169der \195\160 l\aapplication.">
<OPTIONSELECTED>
<OPTIONSELECT Value="0" />
</OPTIONSELECTED>
</COLUMN>
<COLUMN ID="18439" ColName="cp_mot_de_passe" PrevColName="" Pos="32" idDatatype="20" DatatypeParams="(100)" Width="-1" Prec="-1" PrimaryKey="0" NotNull="0" AutoInc="0" IsForeignKey="0" DefaultValue="" Comments="Mot de passe de la personne pour acc\195\169der \195\160 l\aapplication.">
<COLUMN ID="18439" ColName="cp_mot_de_passe" PrevColName="" Pos="32" idDatatype="20" DatatypeParams="(100)" Width="-1" Prec="-1" PrimaryKey="0" NotNull="0" AutoInc="0" IsForeignKey="0" DefaultValue="" Comments="Mot de passe de la personne pour acc\195\169der \195\160 l\aapplication. Encod\195\169 par SHA1.">
<OPTIONSELECTED>
<OPTIONSELECT Value="0" />
</OPTIONSELECTED>
2053,7 → 2058,7
</TABLES>
<RELATIONS>
<RELATION ID="18419" RelationName="fk_cs_csap" Kind="1" SrcTable="1445" DestTable="1447" FKFields="cs_id_structure=csap_id_structure\n" FKFieldsComments="Identifiant de la structure.\n" relDirection="2" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="-9" CaptionOffsetY="0" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="1" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="17" />
<RELATION ID="18425" RelationName="fk_cp_csap" Kind="1" SrcTable="1446" DestTable="1447" FKFields="cp_id_personne=csap_id_personne\n" FKFieldsComments="Identifiant de la personne constituant l\a\195\169quipe d\aun service d\aune structure.\n" relDirection="3" MidOffset="-88" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="0" CaptionOffsetY="0" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="1" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="18" />
<RELATION ID="18425" RelationName="fk_cp_csap" Kind="1" SrcTable="1446" DestTable="1447" FKFields="cp_id_personne=csap_id_personne\n" FKFieldsComments="Identifiant de la personne constituant l\a\195\169quipe d\aun service d\aune structure.\n" relDirection="3" MidOffset="-87" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="0" CaptionOffsetY="0" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="1" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="18" />
<RELATION ID="18470" RelationName="fk_cmc_cmd" Kind="2" SrcTable="18456" DestTable="18452" FKFields="cmc_id_champ=cmd_ce_champ\n" FKFieldsComments="\n" relDirection="4" MidOffset="-6" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="57" CaptionOffsetY="-25" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="1" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="33" />
<RELATION ID="18504" RelationName="fk_cmc_cmh" Kind="2" SrcTable="18456" DestTable="18498" FKFields="cmc_id_champ=cmhc_ce_champ\n" FKFieldsComments="\n" relDirection="2" MidOffset="5" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="-49" CaptionOffsetY="-21" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="1" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="42" />
<RELATION ID="20817" RelationName="fk_cs_cc" Kind="2" SrcTable="1445" DestTable="1444" FKFields="cs_id_structure=cc_ce_structure\n" FKFieldsComments="\n" relDirection="4" MidOffset="203" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="9" CaptionOffsetY="19" StartIntervalOffsetX="-7" StartIntervalOffsetY="-27" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="44" />
2066,7 → 2071,7
<RELATION ID="21163" RelationName="fk_cs_cs_parente" Kind="2" SrcTable="1445" DestTable="1445" FKFields="cs_id_structure=cs_ce_mere\n" FKFieldsComments="Identifiant de la structure parente.\n" relDirection="2" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="-35" CaptionOffsetY="-3" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="61" />
<RELATION ID="21223" RelationName="fk_cc_ccapu" Kind="1" SrcTable="1444" DestTable="21219" FKFields="cc_id_collection=ccapu_id_collection\n" FKFieldsComments="Identifiant de la collection ayant des publications.\n" relDirection="3" MidOffset="-3" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="-49" CaptionOffsetY="-7" StartIntervalOffsetX="0" StartIntervalOffsetY="3" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="65" />
<RELATION ID="21226" RelationName="fk_cpu_ccapu" Kind="1" SrcTable="21188" DestTable="21219" FKFields="cpu_id_publication=ccapu_id_publication\n" FKFieldsComments="Identifiant de la publication traitant d\aune collection.\n" relDirection="1" MidOffset="6" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="25" CaptionOffsetY="-3" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="66" />
<RELATION ID="21239" RelationName="fk_cp_cpuap" Kind="1" SrcTable="1446" DestTable="21235" FKFields="cp_id_personne=cpuap_id_personne\n" FKFieldsComments="Identifiant de la personne ayant un rapport avec une publication.\n" relDirection="3" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="53" CaptionOffsetY="-20" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="1" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="70" />
<RELATION ID="21239" RelationName="fk_cp_cpuap" Kind="1" SrcTable="1446" DestTable="21235" FKFields="cp_id_personne=cpuap_id_personne\n" FKFieldsComments="Identifiant de la personne ayant un rapport avec une publication.\n" relDirection="3" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="53" CaptionOffsetY="-20" StartIntervalOffsetX="99" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="1" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="70" />
<RELATION ID="21241" RelationName="fk_cpu_cpuap" Kind="1" SrcTable="21188" DestTable="21235" FKFields="cpu_id_publication=cpuap_id_publication\n" FKFieldsComments="Identifiant de la publication li\195\169e \195\160 une personne.\n" relDirection="2" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="0" CaptionOffsetY="-2" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="0" EndIntervalOffsetY="0" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="71" />
<RELATION ID="21496" RelationName="fk_cc_ccar_01" Kind="1" SrcTable="1444" DestTable="21486" FKFields="cc_id_collection=ccar_id_collection_01\n" FKFieldsComments="Identifiant de la collection n\194\1761.\n" relDirection="1" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="39" CaptionOffsetY="-2" StartIntervalOffsetX="7" StartIntervalOffsetY="-2" EndIntervalOffsetX="6" EndIntervalOffsetY="3" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="64" />
<RELATION ID="21498" RelationName="fk_cc_ccar_02" Kind="1" SrcTable="1444" DestTable="21486" FKFields="cc_id_collection=ccar_id_collection_02\n" FKFieldsComments="Identifiant de la collection n\194\1762.\n" relDirection="1" MidOffset="0" OptionalStart="0" OptionalEnd="0" CaptionOffsetX="-44" CaptionOffsetY="-2" StartIntervalOffsetX="0" StartIntervalOffsetY="0" EndIntervalOffsetX="4" EndIntervalOffsetY="6" CreateRefDef="0" Invisible="0" RefDef="Matching=0\nOnDelete=3\nOnUpdate=3\n" Comments="" FKRefDefIndex_Obj_id="-1" Splitted="0" IsLinkedObject="0" IDLinkedModel="-1" Obj_id_Linked="-1" OrderPos="65" />
/trunk/Coel-shell
1,3 → 1,3
#!/bin/sh
APPDIR=`dirname $0`;
java -Xmx512M -cp "$APPDIR/src:$APPDIR/bin:/opt/gwt-1.5.3/gwt-user.jar:/opt/gwt-1.5.3/gwt-dev-linux.jar:/opt/gxt-1.2.1/gxt.jar" com.google.gwt.dev.GWTShell -noserver -port 80 -out "$APPDIR/www" "$@" org.tela_botanica.Coel/Coel.php;
java -Xmx512M -cp "$APPDIR/src:$APPDIR/bin:/opt/gwt-1.5.3/gwt-user.jar:/opt/gwt-1.5.3/gwt-dev-linux.jar:/opt/gxt-1.2.1/gxt.jar" com.google.gwt.dev.GWTShell -noserver -port 80 -out "$APPDIR/www" "$@" 162.38.234.1/org.tela_botanica.Coel/Coel.php;
/trunk/src/org/tela_botanica/client/modeles/UtilisateurAsynchroneDAO.java
File deleted
\ No newline at end of file
/trunk/src/org/tela_botanica/client/modeles/Utilisateur.java
14,8 → 14,8
*/
private static final long serialVersionUID = 3;
public Utilisateur(String identifiant, boolean identifie) {
set("identifiant", identifiant);
public Utilisateur(String login, boolean identifie) {
set("login", login);
set("identifie", identifie);
}
 
57,20 → 57,16
set("identifie", bool);
}
public void setIdentifiant(String i) {
set("identifiant", i);
public void setLogin(String l) {
set("login", l);
}
/**
* Retourne l'identifiant de l'utilisateur identifié ou un identifiant de session.
* @return String identifiant
*/
public String getIdentifiant() {
return get("identifiant");
public void setMotDePasse(String mdp) {
set("mot_de_passe", mdp);
}
 
/**
* Retourne le login de l'utilisateur
* Retourne le login de l'utilisateur ou l'identifiant de session si la personne n'est pas identifiée.
* @return String login
*/
public String getLogin() {
92,14 → 88,5
public boolean isIdentifie() {
return get("identifie");
}
 
public void setLogin(String l) {
set("login", l);
}
public void setMotDePasse(String mdp) {
set("mot_de_passe", mdp);
}
}
/trunk/src/org/tela_botanica/client/modeles/UtilisateurAsyncDAO.java
New file
0,0 → 1,142
package org.tela_botanica.client.modeles;
 
/**
* Modele DAO, specifique, permettant la validation, l'acces aux donnees distantes et la présentation des donnees en retour
*
*/
 
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.extjs.gxt.ui.client.Registry;
import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.http.client.RequestCallback;
import com.google.gwt.http.client.RequestException;
import com.google.gwt.http.client.Response;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONBoolean;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONString;
import com.google.gwt.json.client.JSONValue;
 
public class UtilisateurAsyncDAO {
 
private Utilisateur utilisateur = null;
private String urlServiceBase = null;
private Rafraichissable rafraichissement = null;
/**
* Constructeur
* @param retour : méthode appellée en retour d'appel.
*/
public UtilisateurAsyncDAO(Rafraichissable r) {
rafraichissement = r;
urlServiceBase = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR);
}
/**
* Méthode de classe d'appel du service des gestion d'identification.
*/
public void getEtatUtilisateur() {
// Recherche identifiant utilisateur identifie
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlServiceBase+"CoelUtilisateur/") ;
try {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP
}
 
public void onResponseReceived(Request request, Response response) {
JSONValue jsonValue = JSONParser.parse(response.getText());
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
// Identifiant utilisateur ou identifiant de session si non identifié
String login = ((JSONString) jsonArray.get(0)).stringValue();
// Drapeau leve si utilisateur deja identifié
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
utilisateur.setIdentifie(identifie);
utilisateur.setLogin(login);
rafraichissement.rafraichir(utilisateur);
}
}
}) ;
} catch (RequestException e) {
e.printStackTrace();
}
}
 
/**
* Méthode déconnectant un utilisateur de l'application.
* @param identifiant de l'utilisateur à déconnecter.
*/
public void deconnecterUtilisateur() {
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlServiceBase+"CoelUtilisateur/"+utilisateur.getLogin()) ;
try {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP
}
 
public void onResponseReceived(Request request, Response response) {
JSONValue jsonValue = JSONParser.parse(response.getText());
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
// Identifiant utilisateur ou identifiant de session si non identifié
String login = ((JSONString) jsonArray.get(0)).stringValue();
// Drapeau levé si l'utilisateur est déjà identifié
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
utilisateur.setIdentifie(identifie);
utilisateur.setLogin(login);
rafraichissement.rafraichir(utilisateur);
}
}
}) ;
} catch (RequestException e) {
e.printStackTrace();
}
}
/**
* Méthode déconnectant un utilisateur de l'application.
* @param Utilisateur l'utilisateur courant.
*/
public void connecterUtilisateur () {
String login = utilisateur.getLogin();
String password = utilisateur.getMotDePasse();
String url = urlServiceBase+"CoelUtilisateur/";
if (login != null & password != null) {
url = url+login+"/"+password;
}
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url);
try {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
// TODO : ajouter un message d'erreur en cas d'erreur de requête HTTP
}
 
public void onResponseReceived(Request request, Response response) {
JSONValue jsonValue = JSONParser.parse(response.getText());
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
// Identifiant utilisateur ou identifiant de session si non identifié
String login = ((JSONString) jsonArray.get(0)).stringValue();
// Drapeau levé si l'utilisateur est déjà identifié
boolean identifie = ((JSONBoolean) jsonArray.get(1)).booleanValue();
utilisateur.setIdentifie(identifie);
utilisateur.setLogin(login);
rafraichissement.rafraichir(utilisateur);
}
}
}) ;
} catch (RequestException e) {
e.printStackTrace();
}
}
}
Property changes:
Added: svn:mergeinfo
/trunk/src/org/tela_botanica/client/modeles/Aide.java
New file
0,0 → 1,42
package org.tela_botanica.client.modeles;
 
import com.extjs.gxt.ui.client.data.BaseTreeModel;
import com.extjs.gxt.ui.client.data.TreeModel;
 
public class Aide extends BaseTreeModel<TreeModel> {
 
public Aide() {
}
 
public Aide(String n) {
set("nom", n);
}
 
public Aide(String nom, String code, String auteur, String groupe) {
set("nom", nom);
set("code", code);
set("auteur", auteur);
set("groupe", groupe);
}
 
public String getNom() {
return (String) get("nom");
}
public String getCode() {
return (String) get("code");
}
 
public String getAuteur() {
return (String) get("auteur");
}
 
public String getGroupe() {
return (String) get("groupe");
}
 
public String toString() {
return getNom();
}
}
/trunk/src/org/tela_botanica/client/modeles/Configuration.java
15,7 → 15,13
* L'url de base du serveur jrest
*/
private String serviceBaseUrl;
/**
* L'url de base de l'aide
*/
private String aideBaseUrl;
/**
* L'url de base du Carnet en Ligne
*/
private String celUrl;
27,6 → 33,7
// on utilise le dictionnaire d'internationalisation pour lire les variables du fichier javascript
Dictionary configuration = Dictionary.getDictionary("configuration");
serviceBaseUrl = configuration.get("serviceBaseUrl");
aideBaseUrl = configuration.get("aideBaseUrl");
celUrl = configuration.get("celUrl");
}
 
38,6 → 45,15
public String getServiceBaseUrl() {
return serviceBaseUrl;
}
/**
* Accesseur pour l'url de base de l'aide
*
* @return une url
*/
public String getAideBaseUrl() {
return aideBaseUrl;
}
 
/**
* Accesseur pour l'url de base du Carnet en Ligne
/trunk/src/org/tela_botanica/client/Mediateur.java
2,6 → 2,7
 
import org.tela_botanica.client.composants.AideFenetre;
import org.tela_botanica.client.composants.IdentificationFenetre;
import org.tela_botanica.client.composants.ParametreFenetre;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Menu;
import org.tela_botanica.client.modeles.Structure;
15,7 → 16,6
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.fx.FxConfig;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.Viewport;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
128,18 → 128,18
public void ouvrirAide() {
AideFenetre aideFenetre = new AideFenetre();
aideFenetre.show();
aideFenetre.el().fadeIn(FxConfig.NONE);
// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
//aideFenetre.el().fadeIn(FxConfig.NONE);
}
 
public void ouvrirParametres() {
//ParametreFenetre parametresFenetre = new ParametreFenetre();
//parametresFenetre.show();
ParametreFenetre parametresFenetre = new ParametreFenetre();
parametresFenetre.show();
}
 
public void ouvrirIdentification() {
IdentificationFenetre identifFenetre = new IdentificationFenetre();
identifFenetre.show();
// identifFenetre.el().fadeIn(FxConfig.NONE);
}
 
public void ouvrirApplis(String id) {
161,4 → 161,5
public void mettreAJourEtatIdentification(Utilisateur utilisateur) {
panneauNord.rafraichir(utilisateur);
}
 
}
/trunk/src/org/tela_botanica/client/ComposantId.java
7,5 → 7,6
public static final String BTN_APPLIS = "coel-id-btn-applis";
public static final String MENU_CEL = "coel-id-menu-cel";
public static final String MENU_BEL = "coel-id-menu-bel";
public static final String BTN_DECONNEXION = "coel-id-btn-deconnexion";;
public static final String BTN_DECONNEXION = "coel-id-btn-deconnexion";
public static final String PANNEAU_AIDE = "coel-id-pano-aide";;
}
/trunk/src/org/tela_botanica/client/Coel.java
24,6 → 24,7
Registry.register(RegistreId.APPLI_VERSION, "0.1");
Registry.register(RegistreId.APPLI_REVISION, "$Revision$");
Registry.register(RegistreId.CONFIG, new Configuration());
 
new Mediateur();
}
}
/trunk/src/org/tela_botanica/client/vues/EntetePanneauVue.java
9,10 → 9,10
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style;
import com.extjs.gxt.ui.client.Style.Orientation;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.MenuEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.util.Format;
import com.extjs.gxt.ui.client.util.Params;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
21,15 → 21,15
import com.extjs.gxt.ui.client.widget.button.SplitButton;
import com.extjs.gxt.ui.client.widget.layout.RowData;
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
import com.extjs.gxt.ui.client.widget.menu.Item;
import com.extjs.gxt.ui.client.widget.menu.Menu;
import com.extjs.gxt.ui.client.widget.menu.MenuItem;
import com.google.gwt.user.client.Window;
 
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable {
private ButtonBar barreBoutons = null;
private Button identificationBouton = null;
private String identificationInfoTpl = "<div id='coel-identification'>{0}</div>";
private HtmlContainer identificationInfoHtml = null;
public EntetePanneauVue() {
setLayout(new RowLayout(Orientation.HORIZONTAL));
42,11 → 42,9
html.setHtml(sb.toString());
html.setEnableState(false);
HtmlContainer htmlIdentification = new HtmlContainer();
StringBuffer sb2 = new StringBuffer();
sb2.append(" <div id='coel-identification'></div>");
html.setHtml(sb.toString());
html.setEnableState(false);
identificationInfoHtml = new HtmlContainer();
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
identificationInfoHtml.setEnableState(false);
// Création des écouteurs
SelectionListener<ComponentEvent> boutonEcouteur = new SelectionListener<ComponentEvent>() {
111,17 → 109,20
barreBoutons.add(applisBouton);
add(html, new RowData(.3, 1));
add(htmlIdentification, new RowData(.2, 50));
add(barreBoutons, new RowData(.5, 50));
add(identificationInfoHtml, new RowData(.3, 50));
add(barreBoutons, new RowData(.4, 50));
}
 
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Utilisateur) {
if (((Utilisateur) nouvelleDonnees).isIdentifie() == true) {
identificationBouton.setText("Deconnexion"+((Utilisateur) nouvelleDonnees).getIdentifiant());
Utilisateur utilisateur = (Utilisateur) nouvelleDonnees;
if (utilisateur.isIdentifie() == true) {
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getLogin())));
identificationBouton.setText("Deconnexion");
identificationBouton.setId(ComposantId.BTN_DECONNEXION);
} else {
identificationBouton.setText("Identifiez vous...2");
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme")));
identificationBouton.setText("Identifiez vous...");
identificationBouton.setId(ComposantId.BTN_CONNEXION);
}
}
/trunk/src/org/tela_botanica/client/Modele.java
4,7 → 4,7
import org.tela_botanica.client.modeles.ListeStructure;
import org.tela_botanica.client.modeles.ListeStructureAsyncDao;
import org.tela_botanica.client.modeles.Utilisateur;
import org.tela_botanica.client.modeles.UtilisateurAsynchroneDAO;
import org.tela_botanica.client.modeles.UtilisateurAsyncDAO;
 
import com.extjs.gxt.ui.client.Registry;
 
32,12 → 32,12
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR);
utilisateur.setLogin(login);
utilisateur.setMotDePasse(mdp);
UtilisateurAsynchroneDAO uDao = new UtilisateurAsynchroneDAO(this);
UtilisateurAsyncDAO uDao = new UtilisateurAsyncDAO(this);
uDao.connecterUtilisateur();
}
public void deconnecterUtilisateur() {
UtilisateurAsynchroneDAO uDao = new UtilisateurAsynchroneDAO(this);
UtilisateurAsyncDAO uDao = new UtilisateurAsyncDAO(this);
uDao.deconnecterUtilisateur();
}
 
/trunk/src/org/tela_botanica/client/composants/ParametreFenetre.java
2,7 → 2,9
 
import org.tela_botanica.client.RegistreId;
 
import com.extjs.gxt.ui.client.GXT;
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Version;
import com.extjs.gxt.ui.client.widget.TabItem;
import com.extjs.gxt.ui.client.widget.TabPanel;
import com.extjs.gxt.ui.client.widget.Window;
18,28 → 20,37
setHeading("Paramêtres et préférences");
setLayout(new FitLayout());
TabPanel panel = new TabPanel();
panel.setBorders(false);
TabItem item1 = new TabItem("Paramêtres");
item1.addText("Paramêtres de l'application...");
item1.addStyleName("pad-text");
TabPanel panneaux = new TabPanel();
panneaux.setBorders(false);
TabItem parametresOnglet = new TabItem("Paramêtres");
parametresOnglet.addText("Paramêtres de l'application...");
parametresOnglet.addStyleName("pad-text");
TabItem item2 = new TabItem("Préférences");
item2.addText("Préférences de l'application...");
item2.addStyleName("pad-text");
TabItem preferencesOnglet = new TabItem("Préférences");
preferencesOnglet.addText("Préférences de l'application...");
preferencesOnglet.addStyleName("pad-text");
TabItem item3 = new TabItem("A propos...");
item3.addText("Application : "+(String) Registry.get(RegistreId.APPLI_NOM));
item3.addText("Application abréviation : "+(String) Registry.get(RegistreId.APPLI_CODE));
item3.addText("Version : "+(String) Registry.get(RegistreId.APPLI_VERSION));
item3.addText("Révision : "+(String) Registry.get(RegistreId.APPLI_REVISION));
item3.addText("Version de GWT : "+GWT.getVersion());
item3.addStyleName("pad-text");
TabItem aproposOnglet = new TabItem("A propos...");
aproposOnglet.addText("<h1>"+(String) Registry.get(RegistreId.APPLI_NOM)+"</h1>");
aproposOnglet.addText("Code : "+(String) Registry.get(RegistreId.APPLI_CODE));
aproposOnglet.addText("Version : "+(String) Registry.get(RegistreId.APPLI_VERSION));
aproposOnglet.addText("Révision : "+(String) Registry.get(RegistreId.APPLI_REVISION));
aproposOnglet.addText("<hr />");
aproposOnglet.addText("<h1>"+"Cadre de travail"+"</h1>");
aproposOnglet.addText("GWT : v"+GWT.getVersion());
Version gxtVersion = GXT.getVersion();
aproposOnglet.addText("GXT : v"+gxtVersion.getRelease());
aproposOnglet.addText("<hr />");
aproposOnglet.addText("<h1>"+"Navigateur"+"</h1>");
aproposOnglet.addText("COEL fonctionne actuellement dans : "+GXT.getUserAgent());
panel.add(item1);
panel.add(item2);
aproposOnglet.addStyleName("pad-text");
add(panel, new FitData(4));
panneaux.add(parametresOnglet);
panneaux.add(preferencesOnglet);
panneaux.add(aproposOnglet);
add(panneaux, new FitData(4));
}
 
}
/trunk/src/org/tela_botanica/client/composants/AideFenetre.java
1,53 → 1,220
package org.tela_botanica.client.composants;
 
import java.io.Console;
import java.util.ArrayList;
import java.util.List;
 
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.modeles.Aide;
import org.tela_botanica.client.modeles.Aide;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Menu;
 
import com.extjs.gxt.ui.client.Events;
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.binder.TreeBinder;
import com.extjs.gxt.ui.client.data.BaseTreeLoader;
import com.extjs.gxt.ui.client.data.BaseTreeModel;
import com.extjs.gxt.ui.client.data.DataProxy;
import com.extjs.gxt.ui.client.data.MemoryProxy;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelStringProvider;
import com.extjs.gxt.ui.client.data.TreeLoader;
import com.extjs.gxt.ui.client.data.TreeModel;
import com.extjs.gxt.ui.client.data.TreeModelReader;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.TreeEvent;
import com.extjs.gxt.ui.client.event.WidgetListener;
import com.extjs.gxt.ui.client.event.WindowListener;
import com.extjs.gxt.ui.client.fx.FxConfig;
import com.extjs.gxt.ui.client.store.Store;
import com.extjs.gxt.ui.client.store.TreeStore;
import com.extjs.gxt.ui.client.util.Format;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.util.Params;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.HtmlContainer;
import com.extjs.gxt.ui.client.widget.StoreFilterField;
import com.extjs.gxt.ui.client.widget.VerticalPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.extjs.gxt.ui.client.widget.tree.Tree;
import com.extjs.gxt.ui.client.widget.tree.TreeItem;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Node;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.http.client.RequestBuilder.Method;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.Window;
 
public class AideFenetre extends Dialog {
 
private Tree arbre = null;
private TreeStore<Aide> magazin = null;
private TreeBinder<Aide> binder = null;
private StoreFilterField<Aide> filtre = null;
private VerticalPanel sommairePanneau = null;
private ContentPanel contenuPanneau = null;
private HtmlContainer contenuHtml = null;
public AideFenetre() {
setBodyBorder(false);
setButtons(Dialog.OK);
setIconStyle("icon-app-side");
setHeading("COEL - Aide");
setWidth(400);
setHeight(225);
setWidth(675);
setHeight(400);
setHideOnButtonClick(true);
setLayout(new BorderLayout());
BorderLayout layout = new BorderLayout();
setLayout(layout);
// Panneau Ouest : sommaire
sommairePanneau = new VerticalPanel();
sommairePanneau.setSpacing(8);
sommairePanneau.addStyleName("x-small-editor");
BorderLayoutData sommaireDisposition = new BorderLayoutData(LayoutRegion.WEST, 175, 100, 250);
sommaireDisposition.setMargins(new Margins(0, 5, 0, 0));
sommaireDisposition.setSplit(true);
sommaireDisposition.setCollapsible(true);
sommaireDisposition.setFloatable(true);
add(sommairePanneau, sommaireDisposition);
// Panneau Ouest
ContentPanel panel = new ContentPanel();
panel.setHeading("Sommaire");
BorderLayoutData data = new BorderLayoutData(LayoutRegion.WEST, 150, 100, 250);
data.setMargins(new Margins(0, 5, 0, 0));
data.setSplit(true);
data.setCollapsible(true);
data.setFloatable(true);
add(panel, data);
// Chargement de l'arbre du sommaire et de son filtre
chargerSommaireArbre();
sommairePanneau.add(filtre);
sommairePanneau.add(arbre);
// Panneau Central
panel = new ContentPanel();
data = new BorderLayoutData(LayoutRegion.CENTER);
add(panel, data);
// Panneau Central : contenu
contenuPanneau = new ContentPanel();
contenuPanneau.setScrollMode(Scroll.AUTO);
BorderLayoutData contenuDisposition = new BorderLayoutData(LayoutRegion.CENTER);
add(contenuPanneau, contenuDisposition);
// Chargement de la page racine
arbre.setSelectedItem(arbre.getItem(0));
selectionSommaire((String) arbre.getItem(0).getModel().get("code"));
}
private void chargerSommaireArbre() {
arbre = new Tree();
magazin = new TreeStore<Aide>();
magazin.add(getSommaireArbreModele(), true);
binder = new TreeBinder<Aide>(arbre, magazin);
binder.setAutoLoad(true);
binder.setDisplayProperty("nom");
binder.init();
 
inititialiserSommaireArbreFiltre();
filtre.bind(magazin);
arbre.addListener(Events.OnClick, new Listener<TreeEvent>(){
 
public void handleEvent(TreeEvent be) {
TreeItem f = be.item;
if (f.isLeaf()) {
selectionSommaire((String) f.getModel().get("code"));
}
}
});
}
private void selectionSommaire(String page) {
String serviceUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl();
String aidePageUrl = serviceUrl+"CoelAide/"+page;
GWT.log("Sélection : "+aidePageUrl, null);
chargerPageAide(aidePageUrl);
}
private void chargerPageAide(String url) {
GWT.log("Charger : "+url, null);
contenuHtml = new HtmlContainer() {
public void onBrowserEvent(Event e) {
// Nous vérifions que l'évenement est un clic et qu'il a lieu sur un lien
if (e.getTypeInt()== Event.ONCLICK && e.getTarget().getTagName().equals("A")) {
e.preventDefault();
GWT.log("Clic : "+e.getTarget().getTagName()+"::"+e.getTarget().toString(), null);
chargerPageAide(e.getTarget().toString());
}
}
};
contenuHtml.setId(ComposantId.PANNEAU_AIDE);
contenuHtml.setWidth(400);
contenuHtml.sinkEvents(Event.ONCLICK);
contenuHtml.setUrl(url);
contenuHtml.recalculate();
contenuPanneau.removeAll();
contenuPanneau.add(contenuHtml);
contenuPanneau.layout();
}
private void inititialiserSommaireArbreFiltre() {
filtre = new StoreFilterField<Aide>() {
@Override
protected boolean doSelect(Store<Aide> magazin, Aide parent, Aide enregistrement, String propriete, String filtre) {
// Seul les feuilles sont traitées par le filtre
//if (enregistrement instanceof AideModelData) {
//return false;
//}
String nom = enregistrement.getNom();
nom = nom.toLowerCase();
if (nom.startsWith(filtre.toLowerCase())) {
return true;
}
return false;
}
};
}
public static List<Aide> getSommaireArbreModele() {
List<Aide> l = new ArrayList<Aide>();
l.add(new Aide("Accueil", "AideCoelAccueil", "Jean-Pascal MILCENT", "debutant"));
l.add(new Aide("S'identifier", "AideCoelIdentification", "Jean-Pascal MILCENT", "debutant"));
/*
new AideModelData("Débuter avec COEL", new AideModelData[] {
new AideModelData("Présentation", "AideCoelPresentation", "Jean-Pascal MILCENT", "debutant"),
new AideModelData("S'identifier", "AideCoelIdentification", "Jean-Pascal MILCENT", "debutant"),
new AideModelData("Institutions", "AideCoelInstitution", "Jean-Pascal MILCENT", "debutant"),
new AideModelData("Collections", "AideCoelCollection", "Jean-Pascal MILCENT", "debutant"),
new AideModelData("Personnes", "AideCoelPersonne", "Jean-Pascal MILCENT", "debutant"),
new AideModelData("Publications", "AideCoelPublication", "Jean-Pascal MILCENT", "debutant"),
}),
new AideModelData("Aller plus loin...", new AideModelData[] {
new AideModelData("Régler les paramêtres", "AideCoelParametre", "Jean-Pascal MILCENT", "expert"),
new AideModelData("Modifier ses préférences", "AideCoelPreference", "Jean-Pascal MILCENT", "expert"),
})
};
 
Menu racine = new Menu("root");
for (int i = 0; i < menus.length; i++) {
racine.add((Menu) menus[i]);
}
return racine;
*/
return l;
}
/**
* Sur une fermeture on fait un fadeOut.
*
*/
/*
protected void onButtonPressed(Button btn) {
if (this.isHideOnButtonClick()) {
this.el().fadeOut(FxConfig.NONE);
// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
//this.el().fadeOut(FxConfig.NONE);
} else {
super.onButtonPressed(btn);
}
}
}*/
}
/trunk/src/org/tela_botanica/client/composants/IdentificationFenetre.java
9,7 → 9,6
*/
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.modeles.Utilisateur;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.event.ButtonEvent;
16,7 → 15,6
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.KeyListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.fx.FxConfig;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.StatusButtonBar;
26,11 → 24,11
 
public class IdentificationFenetre extends Dialog {
 
protected StatusButtonBar buttonBar;
protected TextField<String> userName;
protected TextField<String> password;
protected Button reset;
protected Button login;
protected StatusButtonBar barreDeBoutons;
protected TextField<String> login;
protected TextField<String> motDePasse;
protected Button reinitialiserBouton;
protected Button validerBouton;
 
public IdentificationFenetre() {
FormLayout layout = new FormLayout();
55,60 → 53,60
 
};
 
userName = new TextField<String>();
userName.setMinLength(4);
userName.setFieldLabel("Courriel");
userName.addKeyListener(keyListener);
add(userName);
login = new TextField<String>();
login.setMinLength(4);
login.setFieldLabel("Courriel");
login.addKeyListener(keyListener);
add(login);
 
password = new TextField<String>();
password.setMinLength(4);
password.setPassword(true);
password.setFieldLabel("Mot de passe");
password.addKeyListener(keyListener);
add(password);
motDePasse = new TextField<String>();
motDePasse.setMinLength(4);
motDePasse.setPassword(true);
motDePasse.setFieldLabel("Mot de passe");
motDePasse.addKeyListener(keyListener);
add(motDePasse);
 
setFocusWidget(userName);
setFocusWidget(login);
 
buttonBar = new StatusButtonBar();
setButtonBar(buttonBar);
barreDeBoutons = new StatusButtonBar();
setButtonBar(barreDeBoutons);
}
 
@Override
protected void createButtons() {
reset = new Button("Réinitialiser");
reset.addSelectionListener(new SelectionListener<ButtonEvent>() {
reinitialiserBouton = new Button("Réinitialiser");
reinitialiserBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
userName.reset();
password.reset();
login.reset();
motDePasse.reset();
validate();
userName.focus();
login.focus();
}
 
});
 
login = new Button("Valider");
validerBouton = new Button("Valider");
//login.disable(); // Par défaut : dois être en mode disable
login.addSelectionListener(new SelectionListener<ButtonEvent>() {
validerBouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
onSubmit();
}
});
 
buttonBar.add(reset);
buttonBar.add(login);
barreDeBoutons.add(reinitialiserBouton);
barreDeBoutons.add(validerBouton);
}
 
protected void onSubmit() {
buttonBar.getStatusBar().showBusy("Chargement en cours ...");
buttonBar.disable();
barreDeBoutons.getStatusBar().showBusy("Chargement en cours ...");
barreDeBoutons.disable();
Timer t = new Timer() {
 
@Override
public void run() {
IdentificationFenetre.this.hide();
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).connecterUtilisateur(userName.getValue(), password.getValue());
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).connecterUtilisateur(login.getValue(), motDePasse.getValue());
}
 
};
120,7 → 118,7
}
 
protected void validate() {
login.setEnabled(hasValue(userName) && hasValue(password) && password.getValue().length() > 3);
validerBouton.setEnabled(hasValue(login) && hasValue(motDePasse) && motDePasse.getValue().length() > 3);
}
}
/trunk/src/org/tela_botanica/public/config.js
1,4 → 1,6
var configuration = {
celUrl:"http://www.tela-botanica.org/cel/www/org.tela_botanica.Cel/Cel.html",
serviceBaseUrl:"http://localhost/jrest/"
aideBaseUrl:"http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki={0}/raw",
serviceBaseUrl:"http://162.38.234.1/jrest/",
aideServiceUrl:"http://162.38.234.1/CoelAide/{0}"
};
/trunk/src/org/tela_botanica/public/Coel.css
31,17 → 31,20
vertical-align:top;}
#loading-msg {
font: normal 10px arial, tahoma, sans-serif;}
/* #------------------------------------------------------------------------------------------------------# */
/* GÉNÉRAL */
/* #------------------------------------------------------------------------------------------------------# */
 
/* #------------------------------------------------------------------------------------------------------# */
/* ENTÊTE */
/* #------------------------------------------------------------------------------------------------------# */
#coel-entete {
color:white;
height:100px;
background:#1E4176 url(images/bg/hd-bg.png) repeat-x scroll 0pt;
border:0pt none;
padding-left:3px;}
#coel-titre {
color:white;
font-family:tahoma, arial, sans-serif;
font-size:16px;
font-size-adjust:none;
50,8 → 53,17
font-variant:normal;
font-weight:normal;
line-height:normal;
padding:6 0 8 6px;}
padding:0 0 8 6px;}
#coel-identification{
float:right;
margin:2 5 0 0px}
/* #------------------------------------------------------------------------------------------------------# */
/* AIDE */
/* #------------------------------------------------------------------------------------------------------# */
#coel-id-pano-aide{
font-size: 11px;
margin:5px;}
/* #------------------------------------------------------------------------------------------------------# */
/* PANNEAU DÉTAIL */
/* #------------------------------------------------------------------------------------------------------# */
.coel-detail {
/trunk/Coel.launch
15,7 → 15,7
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.GWTShell"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-noserver -port 80 -whitelist &quot;^http[:][/][/]www[.]tela-botanica[.]org&quot; -out www org.tela_botanica.Coel/Coel.php"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-noserver -port 80 -whitelist &quot;^http[:][/][/]www[.]tela-botanica[.]org ^http[:][/][/]162[.]38[.]234[.]1&quot; -out www org.tela_botanica.Coel/Coel.php"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="coel"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx1024M"/>
</launchConfiguration>