Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1707 → Rev 1708

/trunk/jrest/services/CoelStructure.php
19,7 → 19,7
);
 
// ATTENTION : tjrs garder la table principale en premier, puis mettre les tables spécialisées.
static $tables = array( 120 => array(
protected $tables = array( 120 => array(
'nom' => 'coel_structure',
'prefixe' => 'cs',
'id' => array('cs_id_structure')),
246,7 → 246,12
} catch (PDOException $e) {
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete);
}
 
if($form_needs_refresh) { // coordonnées mises à jour en DB: en informer le formulaire
$this->envoyer($this->getElementParDefaut(array('id_structure' => $id_structure)));
exit;
}
$this->envoyer($id_structure);
}
 
363,13 → 368,14
}
 
static function callNominatim(&$params) {
if ( (! @$params['cs_latitude'] || ! @$params['cs_longitude']) &&
(@$params['cs_adresse_01'] || @$params['cs_code_postal'] || @$params['cs_ville']) ) {
if (
(! @$params['cs_latitude'] || ! @$params['cs_longitude']) &&
(@$params['cs_adresse_01'] || @$params['cs_code_postal'] || @$params['cs_ville']) ) {
$lonlat = array();
if(Coel::coordGuess(Coel::addrReStruct($params), $lonlat)) {
$params['cs_latitude'] = $lonlat['lat'];
$params['cs_longitude'] = $lonlat['lon'];
$form_needs_refresh = TRUE;
return TRUE;
}
}
return FALSE;
377,7 → 383,7
private function ajouterGuid($abr_projet, $id_structure) {
if ($id_structure !== false) {
$table_guid = self::$tables[120];
$table_guid = $this->tables[120];
$table_guid['champs_valeurs_id']['cs_id_structure'] = $id_structure;
$table_guid['champs_valeurs_protege']['cs_guid'] = $this->bdd->quote(sprintf($this->config['coel']['guid'], $abr_projet, 'str'.$id_structure));
$this->modifier($table_guid);
/trunk/src/org/tela_botanica/client/vues/structure/StructureForm.java
412,9 → 412,23
controlerFermeture();
} else if (info.getType().equals("ajout_structure")) {
if (info.getDonnee(0) != null && info.getDonnee(0) instanceof String) {
if (info.getDonnee(0) != null && ( info.getDonnee(0) instanceof String || info.getDonnee(0) instanceof Object) ) {
this.mode = MODE_MODIFIER;
String structureId = (String) info.getDonnee(0);
String structureId;
 
if(info.getDonnee(0) instanceof String) {
structureId = (String) info.getDonnee(0);
}
else {
// le backend renvoie un objet si longitude et latitude ont
// été générés
Structure structureMaj = (Structure)(info.getDonnee(0));
// structureMaj == null ? erreur horriblement impensable
structure.setLatitude(structureMaj.getLatitude());
structure.setLongitude(structureMaj.getLongitude());
structureId = structureMaj.getId();
}
 
structure.setId(structureId);
identification = structure;
identificationOnglet.rafraichir(info);
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java
160,7 → 160,17
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
if (responseValue.isString() != null) {
// Si la requête a impliquées des valeurs autogénérées, l'objet modifié est retourné
JSONObject obj;
if ((obj = responseValue.isObject()) != null) {
if (obj.get("structures").isObject() != null) {
Information info = new Information("ajout_structure");
Structure structure = new Structure(obj.get("structures").isObject());
info.setDonnee(structure);
vueARafraichir.rafraichir(info);
}
}
else if (responseValue.isString() != null) {
Information info = new Information("ajout_structure");
String structureIdOuMessage = responseValue.isString().stringValue();
if (structureIdOuMessage.matches("^[0-9]+$")) {