Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1908 → Rev 1907

/trunk/jrest/services/CoelUtilisateur.php
28,12 → 28,12
* @version $Id$
* @copyright 2009
*/
class CoelUtilisateur extends Coel {
class CoelUtilisateur extends Coel {
 
protected $licence_acceptee = false;
 
/**
* Point d'entrée GET sans paramètres
* Point d'entrée GET
*/
public function getRessource() {
// par défaut, mode anonyme
41,7 → 41,11
// recherche d'un utilisateur identifié en fonction du jeton SSO
$infosIdentifie = $this->getUtilisateurSSO();
if ($infosIdentifie != null) {
//echo "Infos SSO : "; var_dump($infosIdentifie);
$infos = $infosIdentifie;
// @TODO si la licence n'a pas été acceptée, au revoir les enfants
// on envoie tout de même les infos à l'interface mais on déconnecte les services
//$this->deconnecterUtilisateur();
}
// et vlan, passe-moi l'éponge
$this->envoyer($infos);
48,19 → 52,6
}
 
/**
* Point d'entrée GET avec paramètres
*/
public function getElement($ressources) {
switch($ressources[0]) {
case "setLicence" :
$this->setLicence($ressources[1]);
break;
default:
echo "action [" . $ressources[0] . "] inconnue";
}
}
 
/**
* Renvoie un profil utilisateur CoeL anonyme
* (licence vide, id de session, non connecté)
*/
116,6 → 107,7
$this->mettreAJourUtilisateur($login, $mot_de_passe_sha1, $infosAnnuaire);
$utilisateur_existant['licence'] = (int) $this->recupererLicenceUtilisateur($infosAnnuaire['id']);
} else {
echo "Insertion";
// Nécessite d'ajouter le nouvel utilisateur
$this->debug[] = "Ajout d'une nouvel utilisateur";
$this->ajouterUtilisateurACoel($infosAnnuaire, $mot_de_passe_sha1);
122,6 → 114,8
// rechargement après l'avoir ajouté (un peu nul)
$utilisateur_existant = $this->chargerUtilisateur($courriel);
}
$this->setUtilisateur($utilisateur_existant);
}
 
// stockage de l'utilisateur en session
251,36 → 245,6
}
 
/**
* Met à jour l'utilisateur d'id $idUtilisateur, et passe son acceptation de
* la licence à "1"
*/
protected function setLicence($idUtilisateur = null) {
if ($idUtilisateur == null) {
$messages[] = "Id utilisateur null";
$this->envoyer();
exit;
}
// Mise à jour de l'utilisateur
try {
$requete = 'UPDATE coel_personne '.
"SET cp_mark_licence = 1 ".
"WHERE cp_ce_annuaire = '$idUtilisateur' ";
// Ajout des données
$resultat = $this->bdd->exec($requete);
if ($resultat === false) {
$this->messages[] = "L'utilisateur n'a pas été mis à jour car la requête a échouée.";
} else {
// Confirmation attendue par l'interface
$this->envoyer(array("1"));
exit;
}
} catch (PDOException $e) {
$messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
$this->envoyer();
}
}
 
/**
* Ajoute une copie de l'utilisateur dans la table CoeL Personnes
*/
protected function ajouterUtilisateurACoel($infos, $mot_de_passe_sha1) {
/trunk/src/org/tela_botanica/client/Mediateur.java
1724,16 → 1724,8
//+----------------------------------------------------------------------------------------------------------------+
public void rafraichir(Object nouvellesDonnees) {
Coel.LogVersFirebug("rafraichit mediateur");
if (nouvellesDonnees instanceof Utilisateur) {
Utilisateur infoUtil = (Utilisateur) nouvellesDonnees;
Coel.LogVersFirebug("Licence dans util : " + infoUtil.avoirLicenceAcceptee());
Coel.LogVersFirebug("Licence dans util : " + infoUtil.getLicence());
if (infoUtil.getLicence().equals("0")) {
this.afficherFenetreLicence(this.fenetreIdentification);
} else {
repandreEtatIdentification(infoUtil);
}
repandreEtatIdentification((Utilisateur) nouvellesDonnees);
} else if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
if (info.getType().equals("modification_personne")) {
/trunk/src/org/tela_botanica/client/http/JsonRestRequestCallback.java
1,6 → 1,5
package org.tela_botanica.client.http;
 
import org.tela_botanica.client.Coel;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.modeles.Information;
/trunk/src/org/tela_botanica/client/composants/LicenceFenetre.java
1,7 → 1,6
package org.tela_botanica.client.composants;
 
 
import org.tela_botanica.client.Coel;
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
/trunk/src/org/tela_botanica/client/modeles/UtilisateurAsyncDao.java
132,7 → 132,7
}
 
// Obtention de l'utilisateur final d'après le service de préférences
Coel.LogVersFirebug("va chercher utilisateur Coel");
//Coel.LogVersFirebug("va chercher utilisateur Coel");
getEtatUtilisateurSansAnnuaire();
}
 
169,13 → 169,6
AuthInfo info = parserAuthJson(responseValue);
gererRetourAuthInfo(info);
}
@Override
public void onErrorHTTP(Request request, Response reponse) {
// Si on a été déconnecté, on va chercher un profil utilisateur "anonyme" et
// on avertit l'interface
Coel.LogVersFirebug("j'ai une erreur mais je suis content");
gererRetourAuthInfo(new AuthInfo());
}
});
}
 
239,10 → 232,8
 
//Ajout des informations licence
if (reponse.get(0).isString() != null) {
Coel.LogVersFirebug("1 : set licence [" + reponse.get(0).isString().stringValue() + "]");
utilisateur.setLicence(reponse.get(0).isString().stringValue());
} else {
Coel.LogVersFirebug("2 : set licence vide");
utilisateur.setLicence("");
}
 
292,20 → 283,15
}
 
/**
* Envoie une info au service utilisateur de Coel comme quoi le mec a accepté la licence
* @TODO CHANGER ÇA !
*/
public void accepterLicence() {
Coel.LogVersFirebug("accepter licence: " + utilisateur.getLogin());
String[] parametres = {
"setLicence",
utilisateur.getLogin()
};
String[] parametres = {utilisateur.getLogin(), utilisateur.getMotDePasse(), utilisateur.getId()};
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
rb.envoyerRequete(null, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
Coel.LogVersFirebug("sur réponse setLicence");
if (responseValue.isArray() != null) {
final JSONArray reponse = responseValue.isArray();
if (reponse.get(0).isString() != null) {
312,7 → 298,6
String licenceAcceptee = reponse.get(0).isString().stringValue();
Information info = new Information("maj_licence");
info.setDonnee(0, licenceAcceptee);
Coel.LogVersFirebug("licence acceptée : " + licenceAcceptee);
vueARafraichir.rafraichir(info);
}
}