Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 508 → Rev 509

/trunk/jrest/services/Images.php
7,6 → 7,7
private $limite = 50;
private $champ_tri = 'date_observation';
private $protocole_tri = 0;
private $ordre = 'desc';
private $tri_demande = false;
111,6 → 112,7
$this->ordre = isset($_GET['ordre']) ? $_GET['ordre'] : $this->ordre;
$this->tri_demande = isset($_GET['tri']) ? true : false;
$this->protocole_tri = isset($_GET['id_protocole']) ? $_GET['id_protocole'] : $this->protocole_tri;
if(isset($_GET['format'])) {
$this->format = strtolower($_GET['format']);
192,8 → 194,24
private function comparerObservations($image_a, $image_b) {
$champ_tri = $this->champ_tri;
$valeur_tri = null;
switch($this->champ_tri) {
case 'date_observation':
$valeur_tri = $this->comparerDate($image_a, $image_b);
break;
case 'nb_votes':
$valeur_tri = $this->comparerNbVote($image_a, $image_b);
break;
}
return $valeur_tri;
}
private function comparerDate($image_a, $image_b) {
$champ_tri = 'date_observation';
$champ_a_comparer_a = isset($image_a->observation->$champ_tri) ? $image_a->observation->$champ_tri : 0;
$champ_a_comparer_b = isset($image_b->observation->$champ_tri) ? $image_b->observation->$champ_tri : 0;
204,6 → 222,34
}
}
private function comparerNbVote($image_a, $image_b) {
$id_protocole = $this->protocole_tri;
$votes_a = 0;
$votes_b = 0;
if(isset($image_a->votes)) {
foreach($image_a->votes as $vote_a) {
$votes_a += $vote_a->id_protocole == $id_protocole ? 1 : 0;
}
}
if(isset($image_b->votes)) {
foreach($image_b->votes as $vote_b) {
$votes_b += $vote_b->id_protocole == $id_protocole ? 1 : 0;
}
}
if ($votes_a == $votes_b) {
return 0;
}
if($this->ordre == 'asc') {
return ($votes_a < $votes_b) ? -1 : 1;
} else {
return ($votes_a > $votes_b) ? -1 : 1;
}
}
private function obtenirImagesAvecObservations() {
return json_decode(file_get_contents(realpath(dirname(__FILE__)).'/imagesmock.json'));
}
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/ResultatRechercheImagePresenteur.java
11,6 → 11,9
import org.tela_botanica.del.client.modeles.ImageServiceResultat;
import org.tela_botanica.del.client.modeles.InformationsRecherche;
import org.tela_botanica.del.client.modeles.ModeTri;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.GestionnaireEvenementChangementProtocole;
import org.tela_botanica.del.client.services.rest.ImageService;
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
75,7 → 78,9
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId();
informationsRechercheImages.setTriParNbVotes(ModeTri.TRI_ASCENDANT);
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole+"");
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI);
chargerEtAfficherImagesPageEnCours();
}
86,7 → 91,9
@Override
public void onClick(ClickEvent arg0) {
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
int IdProtocole = CacheClient.getInstance().getProtocoleCourant().getId();
informationsRechercheImages.setTriParNbVotes(ModeTri.TRI_DESCENDANT);
informationsRechercheImages.setIdProtocoleSelectionne(IdProtocole+"");
informationsRechercheImages.setTriParDate(ModeTri.PAS_DE_TRI);
chargerEtAfficherImagesPageEnCours();
}
113,6 → 120,17
chargerEtAfficherImagesPageEnCours();
}
});
BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
@Override
public void onChangementProtocole(EvenementChangementProtocole event) {
InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
if(informationsRechercheImages.getTriParNbVotes() != ModeTri.PAS_DE_TRI) {
informationsRechercheImages.setIdProtocoleSelectionne(event.getProtocole().getId()+"");
chargerEtAfficherImagesPageEnCours();
}
}
});
}
 
public void rechercherImagesEtCreerWidgetPagination() {