Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1774 → Rev 1775

/trunk/src/org/tela_botanica/del/client/utils/ModerationUtils.java
New file
0,0 → 1,32
package org.tela_botanica.del.client.utils;
 
import java.util.Date;
 
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.Utilisateur;
 
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.datepicker.client.CalendarUtil;
 
public class ModerationUtils {
 
public static boolean utilisateurPeutValiderObservation(Utilisateur utilisateur, Observation observation) {
boolean peutValider = false;
if(!utilisateur.etreAdmin()) {
Date dateCourante = new Date();
Date dateObs = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").parse(observation.getDateTransmission());
boolean estEnRetard = CalendarUtil.getDaysBetween(dateObs, dateCourante) > 60;
boolean observationAuteurAnonyme = !observation.getIdAuteur().equals(0);
if(utilisateur.etreValidateur() && observationAuteurAnonyme && estEnRetard) {
peutValider = true;
}
} else {
peutValider = true;
}
return peutValider;
}
}
/trunk/src/org/tela_botanica/del/client/vues/identiplante/plateformedetermination/IdentiplanteDeterminationPresenteur.java
46,6 → 46,7
import org.tela_botanica.del.client.services.rest.async.DepublicationObservationCallBack;
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback;
import org.tela_botanica.del.client.services.rest.async.ValidationPropositionCallback;
import org.tela_botanica.del.client.utils.ModerationUtils;
import org.tela_botanica.del.client.utils.URLUtils;
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation;
import org.tela_botanica.del.client.composants.formulairerechercheeflore.FormulaireRechercheEflorePresenteur;
194,7 → 195,8
if(utilisateur != null) {
estAuteurObservation = utilisateur.estIdentifie() && utilisateur.getId().equals(cache.getObservationCourante().getIdAuteur());
}
return estAuteurObservation && !estPropositionRetenue;
boolean peutValiderObservation = ModerationUtils.utilisateurPeutValiderObservation(CacheClient.getInstance().getUtilisateur(), observation);
return (peutValiderObservation || estAuteurObservation) && !estPropositionRetenue;
}
 
public void gererEvenements() {
333,6 → 335,7
private void validerPropositionPlusPopulaire() {
PropositionDeterminationServiceConcret propositionService = new PropositionDeterminationServiceConcret();
propositionPlusPopulaire.setValideePar(CacheClient.getInstance().getUtilisateur().getId());
propositionService.validerProposition(propositionPlusPopulaire, new ValidationPropositionCallback() {
@Override
public void surRetour(String objetRetour) {
/trunk/src/org/tela_botanica/del/client/services/rest/PropositionDeterminationServiceConcret.java
101,7 → 101,8
RequestBuilderWithCredentials rb = new RequestBuilderWithCredentials(RequestBuilderWithCredentials.POST, urlService);
callback.setMode(ModeRequete.MODIFICATION);
String chainePost = "auteur.id="+URL.encodeQueryString(proposition.getContributeur().getId());
String chainePost = "auteur.id="+URL.encodeQueryString(proposition.getContributeur().getId())+
"&validateur.id="+URL.encodeQueryString(proposition.getValideePar());
try {
rb.sendRequest(chainePost, callback);
} catch (Exception e) {
/trunk/src/org/tela_botanica/del/client/modeles/PropositionDetermination.java
7,7 → 7,7
public class PropositionDetermination extends InterventionForum implements Serializable {
 
private static final long serialVersionUID = 840032625524143547L;
private String id, espece, commentaire, numNomenclatural, referentiel;
private String id, espece, commentaire, numNomenclatural, referentiel, valideePar, dateValidation;
private int nbCommentaires = 0;
private boolean estPropositionInitiale = false;
 
122,4 → 122,20
public void setReferentiel(String referentiel) {
this.referentiel = referentiel;
}
public String getValideePar() {
return valideePar;
}
 
public void setValideePar(String idUtilisateur) {
valideePar = idUtilisateur;
}
public void setDateValidation(String dateValidation) {
this.dateValidation = dateValidation;
}
public String getDateValidation() {
return dateValidation;
}
}
/trunk/src/org/tela_botanica/del/client/modeles/Utilisateur.java
86,6 → 86,10
this.preferences = preferences;
}
public boolean etreValidateur() {
return etreAdmin() || this.adminNiveau.equals("1") ? true : false;
}
public boolean etreAdmin() {
return this.adminNiveau.equals("2") ? true : false;
}