/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; |
} |