Subversion Repositories eFlore/Applications.cel

Rev

Rev 989 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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