Subversion Repositories eFlore/Applications.cel

Rev

Rev 2637 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2637 Rev 2644
Line 127... Line 127...
127
	    
127
	    
128
    		case MILIEU:
128
    		case MILIEU:
Line 129... Line 129...
129
    			return "milieu";
129
    			return "milieu";
130
	    
130
	    
Line 131... Line 131...
131
    		case COMMENT:
131
    		case COMMENT:
132
    			return "commentaire";
132
    			return "notes";
Line 133... Line 133...
133
	    
133
	    
Line 154... Line 154...
154
	    
154
	    
155
	    	case PHENOLOGIE:
155
	    	case PHENOLOGIE:
Line 156... Line 156...
156
	    		return "phenologie";
156
	    		return "phenologie";
157
	    
157
	    
158
	    	case TOUT:
158
	    	case TOUT:
159
	    		return "date, localite, lieu dit, station, milieu, espèce, commentaire, latitude, longitude, altitude, abondance, identification, referentiel, phenologie";
159
	    		return "date, localite, lieu dit, station, milieu, espèce, notes, latitude, longitude, altitude, abondance, identification, referentiel, phenologie";
160
	    	}
160
	    	}
161
			return TOUT.toString();
161
			return TOUT.toString();
Line 173... Line 173...
173
	private boolean selectionAbondance = false;
173
	private boolean selectionAbondance = false;
174
	private boolean selectionCertitude = false;
174
	private boolean selectionCertitude = false;
175
	private boolean selectionPhenologie = false;
175
	private boolean selectionPhenologie = false;
Line 176... Line 176...
176
 
176
 
177
	private final String VALEURS_MULTIPLES = "("+Msg.get("valeurs-multiples")+")";
177
	private final String VALEURS_MULTIPLES = "("+Msg.get("valeurs-multiples")+")";
178
	private final String modeleMessageModif = "localite:lieu-dit:station:milieu:latitude:longitude:altitude:date:espece:commentaire:abondance:identification:referentiel:phenologie";
178
	private final String modeleMessageModif = "localite:lieu-dit:station:milieu:latitude:longitude:altitude:date:espece:notes:abondance:identification:referentiel:phenologie";
179
	private boolean localiteModifiee = false;
179
	private boolean localiteModifiee = false;
180
	private boolean lieuDitModifie = false;
180
	private boolean lieuDitModifie = false;
181
	private boolean stationModifiee = false;
181
	private boolean stationModifiee = false;
182
	private boolean milieuModifie = false;
182
	private boolean milieuModifie = false;
Line 490... Line 490...
490
	    selecteurReferentielTaxo.setTpl(champsListeTpl);
490
	    selecteurReferentielTaxo.setTpl(champsListeTpl);
Line 491... Line 491...
491
	    
491
	    
492
		espece = new AutoCompletionComboBox(Msg.get("espece"), ListeReferentielNomAsynchroneDAO.getBaseUrlReferentielNom()) {			
492
		espece = new AutoCompletionComboBox(Msg.get("espece"), ListeReferentielNomAsynchroneDAO.getBaseUrlReferentielNom()) {			
493
			@Override
493
			@Override
-
 
494
			protected Map<String, String> parserResultatRequete(Response response) {
-
 
495
				// TODO: bien penser à l'unicité des clés, ici on suppose que 
494
			protected Map<String, String> parserResultatRequete(Response response) {
496
				// genre espèce auteur suffit mais quelquefois on peut avoir des doublons
495
				referentielNom = Util.parserRetourReferentielNomIndexeParNom(response);
497
				referentielNom = Util.parserRetourReferentielNomIndexeParNom(response);
496
				return Util.convertirListeReferentielNomVersMap(referentielNom);
498
				return Util.convertirListeReferentielNomVersMap(referentielNom);
Line 497... Line 499...
497
			}
499
			}
Line 950... Line 952...
950
 
952
 
951
		boutonModifier.addListener(new ButtonListenerAdapter() {
953
		boutonModifier.addListener(new ButtonListenerAdapter() {
952
			@Override
954
			@Override
953
			public void onClick(Button button, EventObject e) {
955
			public void onClick(Button button, EventObject e) {
954
				if(selectionMultiple) {
956
				if(selectionMultiple) {
955
					modifierObservationEnMasse(null);
957
					modifierObservationEnMasse();
956
				} else {
958
				} else {
957
					modifierObservation() ;
959
					modifierObservation() ;
958
				}
960
				}
959
			}
961
			}
Line 1206... Line 1208...
1206
	private void validerSaisie(Champs champs) {
1208
	private void validerSaisie(Champs champs) {
1207
		if(!selectionMultiple) {
1209
		if(!selectionMultiple) {
1208
			ajouterObservation();
1210
			ajouterObservation();
1209
			raz(champs);
1211
			raz(champs);
1210
		} else {
1212
		} else {
1211
			modifierObservationEnMasse(champs);
1213
			modifierObservationEnMasse();
1212
		}
1214
		}
1213
	}
1215
	}
Line 1214... Line 1216...
1214
 
1216
 
1215
	/**
1217
	/**
Line 1470... Line 1472...
1470
		boolean estUnCodeDepartement = Util.estUnNombre(sP) && (sP.length() >= 1 && sP.length() <= 5);
1472
		boolean estUnCodeDepartement = Util.estUnNombre(sP) && (sP.length() >= 1 && sP.length() <= 5);
Line 1471... Line 1473...
1471
		
1473
		
1472
		return contientDesParentheses && (estUnCodePays || estUnCodeDepartement);
1474
		return contientDesParentheses && (estUnCodePays || estUnCodeDepartement);
Line 1473... Line 1475...
1473
	}
1475
	}
Line 1474... Line 1476...
1474
 
1476
 
1475
	private void modifierObservationEnMasse(Champs champModifie) {
1477
	private void modifierObservationEnMasse() {
1476
 
1478
 
1477
		//TODO: factoriser
1479
		//TODO: factoriser
Line 1549... Line 1551...
1549
		}
1551
		}
Line 1550... Line 1552...
1550
 
1552
 
1551
		if(commModifie && ! comment.getRawValue().equals(VALEURS_MULTIPLES)) {
1553
		if(commModifie && ! comment.getRawValue().equals(VALEURS_MULTIPLES)) {
1552
			commM = comment.getText();
1554
			commM = comment.getText();
1553
		} else {
1555
		} else {
1554
			champs = champs.replaceAll(":commentaire", "");
1556
			champs = champs.replaceAll(":notes", "");
Line 1555... Line 1557...
1555
		}
1557
		}
1556
 
1558
 
1557
		if(latModifiee && ! latitude.getRawValue().equals(VALEURS_MULTIPLES)) {
1559
		if(latModifiee && ! latitude.getRawValue().equals(VALEURS_MULTIPLES)) {
Line 1593... Line 1595...
1593
		if(phenologieModifiee && !selecteurStadePheno.getRawValue().equals(VALEURS_MULTIPLES)) {
1595
		if(phenologieModifiee && !selecteurStadePheno.getRawValue().equals(VALEURS_MULTIPLES)) {
1594
			phenologieM = getPhenologie();
1596
			phenologieM = getPhenologie();
1595
		} else {
1597
		} else {
1596
			champs = champs.replaceAll(":phenologie", "");
1598
			champs = champs.replaceAll(":phenologie", "");
1597
		}
1599
		}
1598
 
1600
		
-
 
1601
		// TODO : trouver un meilleur système que ça pour gérer le message
-
 
1602
		// affiché
1599
		champs = champs.replaceAll(":",", ");
1603
		String[] champsSt = champs.split(":");
-
 
1604
		String champsTraduits = "";
-
 
1605
		for (int i = 0; i < champsSt.length; i++) {
-
 
1606
			// TODO: vérifier pourquoi des fois la chaîne est vide
-
 
1607
			// ou faire mieux, trouver un meilleur système comme écrit au dessus !
1600
		if(champs.startsWith(",")) {
1608
			if(!champsSt[i].trim().isEmpty()) {
-
 
1609
				champsTraduits += Msg.get(champsSt[i]);
1601
			champs = champs.replaceFirst(",", "");
1610
				champsTraduits += (i != champsSt.length - 1) ? ", " : "";
-
 
1611
			}
1602
		}
1612
		}
Line 1603... Line 1613...
1603
 
1613
 
1604
		String[] stParams = {champs};
1614
		String[] stParams = {champsTraduits};
Line 1605... Line 1615...
1605
		String message = Msg.get("question-modifier-champs-observation", stParams)+" ?" ;
1615
		String message = Msg.get("question-modifier-champs-observation", stParams)+" ?" ;
1606
 
1616
 
1607
		if(champs.trim().equals("")) {
1617
		if(champs.trim().equals("")) {
Line 1613... Line 1623...
1613
			obs.setLatitude(latM);
1623
			obs.setLatitude(latM);
1614
			obs.setLongitude(longM);
1624
			obs.setLongitude(longM);
1615
			obs.setAltitude(altM);
1625
			obs.setAltitude(altM);
1616
			obs.setAbondance(abondanceM);
1626
			obs.setAbondance(abondanceM);
1617
			obs.setCertitude(certitudeM);
1627
			obs.setCertitude(certitudeM);
-
 
1628
			// Afin de transmettre un ensemble cohérent on force aussi
-
 
1629
			// l'envoi du référentiel en cas de maj de l'espèce
-
 
1630
			if(especeModifiee) {
-
 
1631
				referentielTaxoM = getReferentielTaxo();
-
 
1632
			}
1618
			obs.setReferentielTaxo(referentielTaxoM);
1633
			obs.setReferentielTaxo(referentielTaxoM);
1619
			obs.setPhenologie(phenologieM);
1634
			obs.setPhenologie(phenologieM);
1620
			if(Window.confirm(message)) {
1635
			if(Window.confirm(message)) {
1621
				observationMediateur.modifierObservationEnMasse(obs);
1636
				observationMediateur.modifierObservationEnMasse(obs);
1622
				reinitialiserValeurModifiees();
1637
				reinitialiserValeurModifiees();