Subversion Repositories eFlore/Applications.cel

Rev

Rev 2621 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2621 Rev 2638
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import org.tela_botanica.client.CarnetEnLigneMediateur;
3
import org.tela_botanica.client.CarnetEnLigneMediateur;
4
import org.tela_botanica.client.i18n.Msg;
4
import org.tela_botanica.client.i18n.Msg;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import com.google.gwt.event.logical.shared.ValueChangeEvent;
6
import com.google.gwt.event.logical.shared.ValueChangeEvent;
7
import com.google.gwt.event.logical.shared.ValueChangeHandler;
7
import com.google.gwt.event.logical.shared.ValueChangeHandler;
8
import com.google.gwt.user.client.ui.CheckBox;
8
import com.google.gwt.user.client.ui.CheckBox;
9
import com.google.gwt.user.client.ui.HTML;
9
import com.google.gwt.user.client.ui.HTML;
10
import com.google.gwt.user.client.ui.Label;
10
import com.google.gwt.user.client.ui.Label;
11
import com.gwtext.client.core.EventObject;
11
import com.gwtext.client.core.EventObject;
12
import com.gwtext.client.widgets.Button;
12
import com.gwtext.client.widgets.Button;
13
import com.gwtext.client.widgets.Panel;
13
import com.gwtext.client.widgets.Panel;
14
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
14
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
15
import com.gwtext.client.widgets.form.FormPanel;
15
import com.gwtext.client.widgets.form.FormPanel;
16
 
16
 
17
public class FenetreLicenceVue extends com.gwtext.client.widgets.Window implements Rafraichissable {
17
public class FenetreLicenceVue extends com.gwtext.client.widgets.Window implements Rafraichissable {
18
	
18
	
19
		CarnetEnLigneMediateur cm = null;
19
		CarnetEnLigneMediateur cm = null;
20
		
20
		
21
		private CheckBox accepterLicence = new CheckBox();
21
		private CheckBox accepterLicence = new CheckBox();
22
		private Button validerAcceptationLicence = new Button(Msg.get("valider"));
22
		private Button validerAcceptationLicence = new Button(Msg.get("valider"));
23
		private Button annulerAcceptationLicence = new Button(Msg.get("Refuser"));
23
		private Button annulerAcceptationLicence = new Button(Msg.get("Refuser"));
24
		
24
		
25
		// C'est moche mais ça évite de la transmettre du serveur ou de créer un fichier de config pour la licence
25
		// C'est moche mais ça évite de la transmettre du serveur ou de créer un fichier de config pour la licence
26
		// Todo afficher un texte provenant d'une url
26
		// Todo afficher un texte provenant d'une url
27
		private String licence = "Le \"carnet en ligne\" (CEL) est un service proposé par Tela Botanica dans le but de vous aider à garder la trace de vos observations de terrain afin qu'elles ne restent plus prisonnière de votre \"petit carnet à spirale\"... La saisie des données est rapide, sure et précise et le CEL vous permet de les archiver et de les trier facilement. Si vous les publiez, ce que nous vous invitons vivement à faire, mais sans obligation, elles seront visibles sur les cartes de répartition des espèces du site de Tela Botanica. De même, vous pourrez faire partager vos meilleures photos de plantes avec les autres membres du réseau. Vous pourrez également exporter vos observations saisies dans le CEL dans une table Excel pour les traiter statistiquement ou les transférez à d'autres botanistes ou dans d'autres logiciels.<br>"
-
 
28
		+"<br>"
-
 
29
		+"Pour cela vous devez accepter les conditions suivantes :<br>"
-
 
30
		+"<br>"
-
 
31
		+"1. <b>Etre inscrit au réseau Tela Botanica</b> : cette inscription est gratuite et vous trouverez toutes explications à l'adresse <a href=\"http://www.tela-botanica.org/page:rejoindre_reseau\">http://www.tela-botanica.org/page:rejoindre_reseau</a><br>"
27
		private String licence = Msg.get("licence");
32
		+" "
-
 
33
		+"<br>"
-
 
34
		+"2. <b>En publiant vos observations sur le site de Tela Botanica vous acceptez de céder :</b><br>"
-
 
35
		+"- <u>un droit d'usage interne à Tela Botanica</u>, non exclusif, non limité dans le temps et à titre gratuit, sur l’ensemble des données publiées, notamment celui de les détenir, de les dupliquer, de les archiver, de les agréger avec des données provenant d’autres sources et d’effectuer tout type de calcul permettant d’en extraire des informations de niveau général, comme des statistiques par exemple.<br>"
-
 
36
		+"- <u>le droit à Tela Botanica de les diffuser librement et gratuitement</u>, sans limite de temps, à condition que le nom de l'auteur de l'observation soient cité ainsi que celui de Tela Botanica. Cependant, dans le cas ou une publication comprendrait plus de 100 auteurs différents, seule la mention \"réseau Tela Botanica\" pourra être mentionnée.<br>"
-
 
37
		+"<br>"
-
 
38
		+"3. <b>Vous pouvez à tout moment retirer de la publication les données que vous désirez</b>. Dans ce cas les clauses de l'article précédent ne s'appliqueront plus aux données ainsi retirées de la publication, sans toute fois pouvoir revenir sur les droits cédés antérieurement lors de leur publication initiale dans le cas ou ces données ait déjà été utilisées par des tiers. <br>"
-
 
39
		+" "
-
 
40
		+"<br>"
-
 
41
		+"4. <b>En publiant vos photos</b> sur le site de TB lors de la publication de vos observations, vous acceptez de les mettre à disposition de la communauté sous une licence <a href=\"http://www.tela-botanica.org/page:licence\">Creative Commons</a>. Cette mise à disposition sous licence Creative Commons n'est applicable que pour le format réduit de vos clichés présenté sur le site Tela Botanica. Elle ne s'applique pas aux clichés dans leur format original en haute définition dont vous gardez la propriété exclusive.<br>"
-
 
42
		+"Selon cette licence <a href=\"http://www.tela-botanica.org/page:licence\">Creative Commons</a> toute personne sera libre de reproduire, modifier, distribuer et communiquer les photos au public selon les conditions suivantes :<br>"
-
 
43
		+"- citer le nom de l'auteur original de l'oeuvre ainsi que celui de Tela Botanica qui l'édite,<br>"
-
 
44
		+"- s'il y a modification, transformation ou adaptation des oeuvres, vous cédez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci,<br>"
-
 
45
		+" "
-
 
46
		+"- à chaque réutilisation ou distribution, doit apparaître clairement les conditions contractuelles de mise à disposition de cette création,<br>"
-
 
47
		+"- chacune de ces conditions peut être levée s'il y a autorisation du titulaire des droits.<br>"
-
 
48
		+"<br>"
-
 
49
		+"5. <b>En publiant vos données (photos et/ou observations) sur le site de Tela Botanica</b> vous acceptez que les membres du réseau puissent vous contacter via votre adresse électronique pour discuter avec vous de la pertinence de votre détermination, de son lieu d'observation ou de l'intitulé de vos clichés.<br>"
-
 
50
		+"<br>"
-
 
51
		+"6. <b>Affichage de votre identité et de votre adresse électronique</b>. L'affichage de votre identité pourra apparaître selon les noms et prénoms que vous aurez renseigné lors de votre inscription au réseau Tela Botanica. Seule la partie précédent le signe @ de votre adresse électronique sera affichée afin d'éviter son utilisation par des tiers. Les messages qui vous parviendront seront envoyés par Tela Botanica via un dispositif garantissant le non piratage de votre adresse.<br>"
-
 
52
		+"<br/><br/>"
-
 
53
		;
-
 
54
		
28
		
55
	   
29
	   
56
	    public FenetreLicenceVue(CarnetEnLigneMediateur cm) {
30
	    public FenetreLicenceVue(CarnetEnLigneMediateur cm) {
57
	    	
31
	    	
58
	       super();
32
	       super();
59
	       
33
	       
60
	       this.cm = cm;
34
	       this.cm = cm;
61
	       setTitle(Msg.get("acceptation-licence"));
35
	       setTitle(Msg.get("acceptation-licence"));
62
	       Panel conteneurHtml = new Panel();
36
	       Panel conteneurHtml = new Panel();
63
	       conteneurHtml.setHtml(licence);
37
	       conteneurHtml.setHtml(licence);
64
	       conteneurHtml.setHeight(230);
38
	       conteneurHtml.setHeight(230);
65
	       conteneurHtml.setAutoScroll(true);
39
	       conteneurHtml.setAutoScroll(true);
66
	       HTML conteneurLicence = new HTML();
40
	       HTML conteneurLicence = new HTML();
67
	       conteneurHtml.add(conteneurLicence);
41
	       conteneurHtml.add(conteneurLicence);
68
	       //licence = Configuration.getLicence();
42
	       //licence = Configuration.getLicence();
69
	       setConstrain(true);
43
	       setConstrain(true);
70
	       
44
	       
71
	       conteneurLicence.setHTML(licence);
45
	       conteneurLicence.setHTML(licence);
72
	       
46
	       
73
	       this.add(conteneurHtml);
47
	       this.add(conteneurHtml);
74
	       
48
	       
75
	       Panel conteneurCheckbox = new Panel();
49
	       Panel conteneurCheckbox = new Panel();
76
	       conteneurCheckbox.setBorder(false);
50
	       conteneurCheckbox.setBorder(false);
77
	       conteneurCheckbox.setHeader(false);
51
	       conteneurCheckbox.setHeader(false);
78
	       
52
	       
79
	       Label labelCheckboxAccepterLicence = new Label();
53
	       Label labelCheckboxAccepterLicence = new Label();
80
	       labelCheckboxAccepterLicence.setStyleName("display:inline");
54
	       labelCheckboxAccepterLicence.setStyleName("display:inline");
81
	       
55
	       
82
	       accepterLicence.setText("   "+Msg.get("lu-accepte-licence"));
56
	       accepterLicence.setText("   "+Msg.get("lu-accepte-licence"));
83
	       accepterLicence.setStyleName("accepter_licence");
57
	       accepterLicence.setStyleName("accepter_licence");
84
	       
58
	       
85
	       FormPanel conteneurCheckboxEtValidation = new FormPanel();
59
	       FormPanel conteneurCheckboxEtValidation = new FormPanel();
86
	       conteneurCheckboxEtValidation.setHeader(false);
60
	       conteneurCheckboxEtValidation.setHeader(false);
87
	       
61
	       
88
	       conteneurCheckboxEtValidation.setHeight(70);
62
	       conteneurCheckboxEtValidation.setHeight(70);
89
	       
63
	       
90
	       conteneurCheckboxEtValidation.add(accepterLicence);
64
	       conteneurCheckboxEtValidation.add(accepterLicence);
91
	       conteneurCheckboxEtValidation.add(labelCheckboxAccepterLicence);
65
	       conteneurCheckboxEtValidation.add(labelCheckboxAccepterLicence);
92
	       
66
	       
93
	       conteneurCheckboxEtValidation.addButton(validerAcceptationLicence);
67
	       conteneurCheckboxEtValidation.addButton(validerAcceptationLicence);
94
	       
68
	       
95
	       validerAcceptationLicence.setDisabled(true);
69
	       validerAcceptationLicence.setDisabled(true);
96
	       
70
	       
97
	       conteneurCheckboxEtValidation.addButton(annulerAcceptationLicence);
71
	       conteneurCheckboxEtValidation.addButton(annulerAcceptationLicence);
98
	       
72
	       
99
	       this.add(conteneurCheckboxEtValidation);
73
	       this.add(conteneurCheckboxEtValidation);
100
	       
74
	       
101
	       this.setClosable(false);
75
	       this.setClosable(false);
102
	       
76
	       
103
	       this.setHeight(320);
77
	       this.setHeight(320);
104
	       
78
	       
105
	       ajouterListenerBoutons();
79
	       ajouterListenerBoutons();
106
	    }
80
	    }
107
	    
81
	    
108
	    public void ajouterListenerBoutons() {
82
	    public void ajouterListenerBoutons() {
109
	    	
83
	    	
110
	    	accepterLicence.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
84
	    	accepterLicence.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
111
				
85
				
112
				@Override
86
				@Override
113
				public void onValueChange(ValueChangeEvent<Boolean> event) {
87
				public void onValueChange(ValueChangeEvent<Boolean> event) {
114
					validerAcceptationLicence.setDisabled(!event.getValue());
88
					validerAcceptationLicence.setDisabled(!event.getValue());
115
				}
89
				}
116
			});
90
			});
117
	    	
91
	    	
118
	    	validerAcceptationLicence.addListener(new ButtonListenerAdapter() {
92
	    	validerAcceptationLicence.addListener(new ButtonListenerAdapter() {
119
				
93
				
120
				@Override
94
				@Override
121
				public void onClick(Button button, EventObject e) {
95
				public void onClick(Button button, EventObject e) {
122
 
96
 
123
					cm.rafraichir("licence_acceptee", false);
97
					cm.rafraichir("licence_acceptee", false);
124
				}
98
				}
125
			});
99
			});
126
	    	
100
	    	
127
	    	annulerAcceptationLicence.addListener(new ButtonListenerAdapter() {
101
	    	annulerAcceptationLicence.addListener(new ButtonListenerAdapter() {
128
				
102
				
129
				@Override
103
				@Override
130
				public void onClick(Button button, EventObject e) {
104
				public void onClick(Button button, EventObject e) {
131
 
105
 
132
					cm.rafraichir("licence_refusee", false);
106
					cm.rafraichir("licence_refusee", false);
133
				}
107
				}
134
			});
108
			});
135
	    }
109
	    }
136
 
110
 
137
		@Override
111
		@Override
138
		public void rafraichir(Object nouvelleDonnees,
112
		public void rafraichir(Object nouvelleDonnees,
139
				boolean repandreRaffraichissement) {
113
				boolean repandreRaffraichissement) {
140
			// TODO Auto-generated method stub
114
			// TODO Auto-generated method stub
141
			
115
			
142
		}
116
		}
143
}
117
}