Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 989 Rev 1291
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.interfaces.Rafraichissable;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
import org.tela_botanica.client.modeles.objets.Configuration;
-
 
6
 
-
 
7
import com.google.gwt.event.logical.shared.ValueChangeEvent;
5
import com.google.gwt.event.logical.shared.ValueChangeEvent;
8
import com.google.gwt.event.logical.shared.ValueChangeHandler;
6
import com.google.gwt.event.logical.shared.ValueChangeHandler;
9
import com.google.gwt.user.client.ui.CheckBox;
7
import com.google.gwt.user.client.ui.CheckBox;
10
import com.google.gwt.user.client.ui.HTML;
8
import com.google.gwt.user.client.ui.HTML;
11
import com.google.gwt.user.client.ui.Label;
9
import com.google.gwt.user.client.ui.Label;
12
import com.gwtext.client.core.EventObject;
10
import com.gwtext.client.core.EventObject;
13
import com.gwtext.client.widgets.Button;
11
import com.gwtext.client.widgets.Button;
14
import com.gwtext.client.widgets.Panel;
12
import com.gwtext.client.widgets.Panel;
15
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
13
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
16
import com.gwtext.client.widgets.form.FormPanel;
14
import com.gwtext.client.widgets.form.FormPanel;
17
 
15
 
18
public class FenetreLicenceVue extends com.gwtext.client.widgets.Window implements Rafraichissable {
16
public class FenetreLicenceVue extends com.gwtext.client.widgets.Window implements Rafraichissable {
19
	
17
	
20
		CarnetEnLigneMediateur cm = null;
18
		CarnetEnLigneMediateur cm = null;
21
		
19
		
22
		private CheckBox accepterLicence = new CheckBox();
20
		private CheckBox accepterLicence = new CheckBox();
23
		private Button validerAcceptationLicence = new Button("Valider");
21
		private Button validerAcceptationLicence = new Button("Valider");
24
		private Button annulerAcceptationLicence = new Button("Refuser");
22
		private Button annulerAcceptationLicence = new Button("Refuser");
25
		
23
		
26
		// C'est moche mais ça évite de la transmettre du serveur ou de créer un fichier de config pour la licence
24
		// C'est moche mais ça évite de la transmettre du serveur ou de créer un fichier de config pour la licence
27
		// Todo afficher un texte provenant d'une url
25
		// Todo afficher un texte provenant d'une url
28
		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>"
26
		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>"
29
		+"<br>"
27
		+"<br>"
30
		+"Pour cela vous devez accepter les conditions suivantes :<br>"
28
		+"Pour cela vous devez accepter les conditions suivantes :<br>"
31
		+"<br>"
29
		+"<br>"
32
		+"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>"
30
		+"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>"
33
		+" "
31
		+" "
34
		+"<br>"
32
		+"<br>"
35
		+"2. <b>En publiant vos observations sur le site de Tela Botanica vous acceptez de céder :</b><br>"
33
		+"2. <b>En publiant vos observations sur le site de Tela Botanica vous acceptez de céder :</b><br>"
36
		+"- <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>"
34
		+"- <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>"
37
		+"- <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>"
35
		+"- <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>"
38
		+"<br>"
36
		+"<br>"
39
		+"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>"
37
		+"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>"
40
		+" "
38
		+" "
41
		+"<br>"
39
		+"<br>"
42
		+"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>"
40
		+"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>"
43
		+"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>"
41
		+"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>"
44
		+"- citer le nom de l'auteur original de l'oeuvre ainsi que celui de Tela Botanica qui l'édite,<br>"
42
		+"- citer le nom de l'auteur original de l'oeuvre ainsi que celui de Tela Botanica qui l'édite,<br>"
45
		+"- 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>"
43
		+"- 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>"
46
		+" "
44
		+" "
47
		+"- à chaque réutilisation ou distribution, doit apparaître clairement les conditions contractuelles de mise à disposition de cette création,<br>"
45
		+"- à chaque réutilisation ou distribution, doit apparaître clairement les conditions contractuelles de mise à disposition de cette création,<br>"
48
		+"- chacune de ces conditions peut être levée s'il y a autorisation du titulaire des droits.<br>"
46
		+"- chacune de ces conditions peut être levée s'il y a autorisation du titulaire des droits.<br>"
49
		+"<br>"
47
		+"<br>"
50
		+"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>"
48
		+"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>"
51
		+"<br>"
49
		+"<br>"
52
		+"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>"
50
		+"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>"
53
		+"<br/><br/>"
51
		+"<br/><br/>"
54
		;
52
		;
55
		
53
		
56
	   
54
	   
57
	    public FenetreLicenceVue(CarnetEnLigneMediateur cm) {
55
	    public FenetreLicenceVue(CarnetEnLigneMediateur cm) {
58
	    	
56
	    	
59
	       super();
57
	       super();
60
	       
58
	       
61
	       this.cm = cm;
59
	       this.cm = cm;
62
	       
60
	       
63
	       setTitle("Acceptation de la licence du carnet en ligne");
61
	       setTitle("Acceptation de la licence du carnet en ligne");
64
	       Panel conteneurHtml = new Panel();
62
	       Panel conteneurHtml = new Panel();
65
	       conteneurHtml.setHtml(licence);
63
	       conteneurHtml.setHtml(licence);
66
	       conteneurHtml.setHeight(230);
64
	       conteneurHtml.setHeight(230);
67
	       conteneurHtml.setAutoScroll(true);
65
	       conteneurHtml.setAutoScroll(true);
68
	       HTML conteneurLicence = new HTML();
66
	       HTML conteneurLicence = new HTML();
69
	       conteneurHtml.add(conteneurLicence);
67
	       conteneurHtml.add(conteneurLicence);
70
	       //licence = Configuration.getLicence();
68
	       //licence = Configuration.getLicence();
71
	       setConstrain(true);
69
	       setConstrain(true);
72
	       
70
	       
73
	       conteneurLicence.setHTML(licence);
71
	       conteneurLicence.setHTML(licence);
74
	       
72
	       
75
	       this.add(conteneurHtml);
73
	       this.add(conteneurHtml);
76
	       
74
	       
77
	       Panel conteneurCheckbox = new Panel();
75
	       Panel conteneurCheckbox = new Panel();
78
	       conteneurCheckbox.setBorder(false);
76
	       conteneurCheckbox.setBorder(false);
79
	       conteneurCheckbox.setHeader(false);
77
	       conteneurCheckbox.setHeader(false);
80
	       
78
	       
81
	       Label labelCheckboxAccepterLicence = new Label();
79
	       Label labelCheckboxAccepterLicence = new Label();
82
	       labelCheckboxAccepterLicence.setStyleName("display:inline");
80
	       labelCheckboxAccepterLicence.setStyleName("display:inline");
83
	       
81
	       
84
	       accepterLicence.setText("   J'ai lu et j'accepte la licence");
82
	       accepterLicence.setText("   J'ai lu et j'accepte la licence");
85
	       accepterLicence.setStyleName("accepter_licence");
83
	       accepterLicence.setStyleName("accepter_licence");
86
	       
84
	       
87
	       FormPanel conteneurCheckboxEtValidation = new FormPanel();
85
	       FormPanel conteneurCheckboxEtValidation = new FormPanel();
88
	       conteneurCheckboxEtValidation.setHeader(false);
86
	       conteneurCheckboxEtValidation.setHeader(false);
89
	       
87
	       
90
	       conteneurCheckboxEtValidation.setHeight(70);
88
	       conteneurCheckboxEtValidation.setHeight(70);
91
	       
89
	       
92
	       conteneurCheckboxEtValidation.add(accepterLicence);
90
	       conteneurCheckboxEtValidation.add(accepterLicence);
93
	       conteneurCheckboxEtValidation.add(labelCheckboxAccepterLicence);
91
	       conteneurCheckboxEtValidation.add(labelCheckboxAccepterLicence);
94
	       
92
	       
95
	       conteneurCheckboxEtValidation.addButton(validerAcceptationLicence);
93
	       conteneurCheckboxEtValidation.addButton(validerAcceptationLicence);
96
	       
94
	       
97
	       validerAcceptationLicence.setDisabled(true);
95
	       validerAcceptationLicence.setDisabled(true);
98
	       
96
	       
99
	       conteneurCheckboxEtValidation.addButton(annulerAcceptationLicence);
97
	       conteneurCheckboxEtValidation.addButton(annulerAcceptationLicence);
100
	       
98
	       
101
	       this.add(conteneurCheckboxEtValidation);
99
	       this.add(conteneurCheckboxEtValidation);
102
	       
100
	       
103
	       this.setClosable(false);
101
	       this.setClosable(false);
104
	       
102
	       
105
	       this.setHeight(320);
103
	       this.setHeight(320);
106
	       
104
	       
107
	       ajouterListenerBoutons();
105
	       ajouterListenerBoutons();
108
	    }
106
	    }
109
	    
107
	    
110
	    public void ajouterListenerBoutons() {
108
	    public void ajouterListenerBoutons() {
111
	    	
109
	    	
112
	    	accepterLicence.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
110
	    	accepterLicence.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
-
 
111
				
113
				
112
				@Override
114
				public void onValueChange(ValueChangeEvent<Boolean> event) {
113
				public void onValueChange(ValueChangeEvent<Boolean> event) {
115
					validerAcceptationLicence.setDisabled(!event.getValue());
114
					validerAcceptationLicence.setDisabled(!event.getValue());
116
				}
115
				}
117
			});
116
			});
118
	    	
117
	    	
119
	    	validerAcceptationLicence.addListener(new ButtonListenerAdapter() {
118
	    	validerAcceptationLicence.addListener(new ButtonListenerAdapter() {
-
 
119
				
120
				
120
				@Override
121
				public void onClick(Button button, EventObject e) {
121
				public void onClick(Button button, EventObject e) {
122
 
122
 
123
					cm.rafraichir("licence_acceptee", false);
123
					cm.rafraichir("licence_acceptee", false);
124
				}
124
				}
125
			});
125
			});
126
	    	
126
	    	
127
	    	annulerAcceptationLicence.addListener(new ButtonListenerAdapter() {
127
	    	annulerAcceptationLicence.addListener(new ButtonListenerAdapter() {
-
 
128
				
128
				
129
				@Override
129
				public void onClick(Button button, EventObject e) {
130
				public void onClick(Button button, EventObject e) {
130
 
131
 
131
					cm.rafraichir("licence_refusee", false);
132
					cm.rafraichir("licence_refusee", false);
132
				}
133
				}
133
			});
134
			});
134
	    }
135
	    }
-
 
136
 
135
 
137
		@Override
136
		public void rafraichir(Object nouvelleDonnees,
138
		public void rafraichir(Object nouvelleDonnees,
137
				boolean repandreRaffraichissement) {
139
				boolean repandreRaffraichissement) {
138
			// TODO Auto-generated method stub
140
			// TODO Auto-generated method stub
139
			
141
			
140
		}
142
		}
141
}
143
}