Subversion Repositories eFlore/Archives.cel-v1

Rev

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

Rev Author Line No. Line
28 ddelon 1
/**
2
 David Delon david.delon@clapas.net 2007
3
 
4
 */
5
 
6
 
7
/*
8
 * InventoryListView.java  (Composite de Panel)
9
 *
10
 * Cas d'utilisation :
11
 *
12
 * Affichage de releve
13
 *
14
 * 1 : Recherche du nombre de releves associe au navigateur ou a l'utilisateur est connecte, en fonction des criteres de selection
15
 * 2 : Recherche des releves correspondant au critere precedent
16
 * 3 : Affichage des releves avec positionnement sur le dernier releve
17
 *
18
 * Selection de releve
19
 *
20
 * 1 : L'utilisateur selectionne un releve : lancement de l'affichage detaille pour le releve selectionne
21
 *
22
 *
23
 * Pagination :
24
 *
25
 * 1 : Avancement ou recul d'une page
26
 *
27
 *
28
 *
29
 *  Suppression d'une liste d'element
30
 */
31
 
32
 
33
/* Actions declenchees :
34
 *
35
 * onInventoryItemSelected(numero d'ordre de la ligne selectionne) : selection d'une ligne
36
 * onInventoryItemUnselected(numero d'ordre de la ligne selectionne) : deselection d'une ligne
37
 * onInventoryUpdated(location) : action suite a la modification, suppression, creation d'un element d'inventaire
38
 *
39
 */
40
 
41
 
42
package org.tela_botanica.client;
43
 
44
 
45
import net.mygwt.ui.client.Events;
46
import net.mygwt.ui.client.Style;
47
import net.mygwt.ui.client.event.BaseEvent;
48
import net.mygwt.ui.client.event.Listener;
49
import net.mygwt.ui.client.widget.ContentPanel;
50
import net.mygwt.ui.client.widget.WidgetContainer;
51
import net.mygwt.ui.client.widget.layout.BorderLayoutData;
52
import net.mygwt.ui.client.widget.layout.FillLayout;
53
import net.mygwt.ui.client.widget.table.Table;
54
import net.mygwt.ui.client.widget.table.TableColumn;
55
import net.mygwt.ui.client.widget.table.TableColumnModel;
56
import net.mygwt.ui.client.widget.table.TableItem;
57
 
58
import com.google.gwt.http.client.URL;
59
import com.google.gwt.json.client.JSONArray;
60
import com.google.gwt.json.client.JSONNumber;
61
import com.google.gwt.json.client.JSONParser;
62
import com.google.gwt.json.client.JSONString;
63
import com.google.gwt.json.client.JSONValue;
64
import com.google.gwt.user.client.HTTPRequest;
65
import com.google.gwt.user.client.ResponseTextHandler;
66
import com.google.gwt.user.client.ui.Composite;
67
import com.google.gwt.user.client.ui.DockPanel;
68
import com.google.gwt.user.client.ui.HTML;
69
import com.google.gwt.user.client.ui.HorizontalPanel;
70
import com.google.gwt.user.client.ui.Image;
71
import com.google.gwt.user.client.ui.Button;
72
import com.google.gwt.user.client.ui.Label;
73
import com.google.gwt.user.client.ui.Widget;
74
import com.google.gwt.user.client.ui.ClickListener;
75
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
76
import com.google.gwt.user.client.ui.HasVerticalAlignment;
77
 
78
 
79
public class InventoryListView
80
		 {
81
 
82
	// Debut Barre de navigation
83
 
84
	private class NavBar extends Composite implements ClickListener {
85
 
86
 
87
		public final DockPanel bar = new DockPanel();
88
 
89
 
90
		public final Button gotoFirst = new Button("<<", this);
91
		public final Button gotoNext = new Button(">", this);
92
		public final Button gotoPrev = new Button("<", this);
93
		public final Button gotoEnd = new Button(">>", this);
94
		public final Label status = new Label();
95
 
96
 
97
		public NavBar() {
98
 
99
			initWidget(bar);
100
 
101
			status.setWordWrap(false);
102
 
103
			HorizontalPanel buttons = new HorizontalPanel();
104
 
105
			buttons.add(status);
106
			buttons.setCellHorizontalAlignment(status, HasHorizontalAlignment.ALIGN_RIGHT);
107
			buttons.setCellVerticalAlignment(status, HasVerticalAlignment.ALIGN_MIDDLE);
108
 
109
 
110
			buttons.add(gotoFirst);
111
			buttons.add(gotoPrev);
112
			buttons.add(gotoNext);
113
			buttons.add(gotoEnd);
114
 
115
			bar.add(buttons, DockPanel.EAST);
116
 
117
 
118
		}
119
 
120
 
121
		public void onClick(Widget sender) {
122
			if (sender == gotoNext) {
123
				// Move forward a page.
124
				startIndex += VISIBLE_TAXON_COUNT;
125
				if (startIndex >= count)
126
					startIndex -= VISIBLE_TAXON_COUNT;
127
			} else {
128
				if (sender == gotoPrev) {
129
					// Move back a page.
130
					startIndex -= VISIBLE_TAXON_COUNT;
131
					if (startIndex < 0)
132
						startIndex = 0;
133
				} else {
134
					if (sender == gotoEnd) {
135
						gotoEnd();
136
					} else {
137
						if (sender == gotoFirst) {
138
							startIndex = 0;
139
						}
140
					}
141
				}
142
			}
143
			update();
144
		}
145
 
146
	}
147
 
148
	// Fin Barre de navigation
149
 
150
	// Conteneur (header et table sont dans panel)
151
	private ContentPanel panel =null;
152
	private Table table = null;
153
 
154
	// Services
155
	private String serviceBaseUrl = null;
156
	private String user;
157
	private Mediator mediator = null;
158
 
159
	// Navigation
160
	private int startIndex = 0;
161
	private int count = 0;
162
	private static final int VISIBLE_TAXON_COUNT = 15;
163
	private NavBar navBar=null;
164
 
165
	// Filtre par defaut :
166
 
29 ddelon 167
	private String id_location = "all";
28 ddelon 168
	private String location = "all";
29 ddelon 169
	private String year = "all";
170
	private String month = "all";
171
	private String day = "all";
28 ddelon 172
	private String search = "all";
29 ddelon 173
	private String lieudit = "all";
28 ddelon 174
	private String ordre= null;
175
 
176
 
177
 
178
 
179
	public InventoryListView(Mediator med) {
180
 
181
 
182
		// Traitement contexte utilisateur et service
183
 
184
		mediator=med;
185
 
186
		user=mediator.getUser();
187
	    serviceBaseUrl = mediator.getServiceBaseUrl();
188
 
189
 
190
	    panel= new ContentPanel(Style.HEADER);
191
	    panel.setLayout(new FillLayout());
192
 
193
 
194
	    // Barre navigation integree au header
195
 
196
		navBar = new NavBar();
197
		panel.getHeader().addWidget(navBar);
29 ddelon 198
 
28 ddelon 199
 
200
		//  Contenu :
201
 
202
 
203
		//  Colonnes :
204
 
30 ddelon 205
		TableColumn[] columns = new TableColumn[6];
28 ddelon 206
 
207
		// TODO : renderer date, alignement etc
208
 
30 ddelon 209
		columns[0] = new TableColumn("etat","Aransmis", 50);
28 ddelon 210
 
30 ddelon 211
		columns[1] = new TableColumn("nom","Nom saisi", 250);
28 ddelon 212
 
30 ddelon 213
		columns[2] = new TableColumn("nomr","Nom retenu", 250);
28 ddelon 214
 
30 ddelon 215
		columns[3] = new TableColumn("lieu","Lieu", 350);
28 ddelon 216
 
30 ddelon 217
		columns[4] = new TableColumn("date","Date", 75);
218
 
219
		columns[5] = new TableColumn("ordre","Ordre", 50);
28 ddelon 220
 
221
 
222
		TableColumnModel cm = new TableColumnModel(columns);
223
 
224
		// Table :
225
 
226
		table = new Table(Style.MULTI | Style.HORIZONTAL, cm);
227
		table.setBorders(false);
228
 
229
 
230
		panel.add(table);
231
 
232
		WidgetContainer center=mediator.getCenterContainer();
233
		BorderLayoutData centerData = new BorderLayoutData(Style.CENTER, .75f, 100, 1000);
234
		center.add(panel,centerData);
235
 
236
 
237
 
29 ddelon 238
		// Selection d'une ligne
28 ddelon 239
		table.addListener(Events.RowClick, new Listener() {
240
 
241
		      public void handleEvent(BaseEvent be) {
242
		        TableItem item=(TableItem) be.item;
243
		        if (item!=null) {
29 ddelon 244
		        	if (ordre==null) { // Affichage de la ligne selectionne
30 ddelon 245
		        		ordre= (String) item.getValue(5);
28 ddelon 246
		        		mediator.onInventoryItemSelected(ordre);
247
		        	}
29 ddelon 248
		        	else {
249
		        		// Si une ligne etait deja selectionne
30 ddelon 250
		        		if (ordre.compareTo((String) item.getValue(5))==0) { // C'est la meme, on la deselectionne
28 ddelon 251
		        			ordre=null;
252
		        			table.deselect(be.rowIndex);
253
		        			mediator.onInventoryItemUnselected();
254
		        		}
255
		        		else {
30 ddelon 256
			        		ordre= (String) item.getValue(5); // C'est une autre, on la selectionne
28 ddelon 257
		        			mediator.onInventoryItemSelected(ordre);
258
		        		}
259
 
260
		        	}
261
		        }
262
		      }
263
		});
264
 
265
 
266
 
267
 
268
 
269
	}
270
 
271
 
272
	/**
273
	 * Suppression d'un ensemble d'element de la liste d'inventaire, on garde ici car s'applique a plusieurs elements
274
	 *
275
	 */
276
 
277
	public void deleteElement() {
278
 
279
		setStatusDisabled();
280
		TableItem[] selection=table.getSelection();
281
 
282
		StringBuffer ids=new StringBuffer();
283
		for (int i = 0; i < selection.length; i++) {
30 ddelon 284
			ids.append((String)(((TableItem) selection[i]).getValue(5)));
28 ddelon 285
			if (i<(selection.length-1)) ids.append(",");
286
		}
287
 
288
		if (ids.length()>0) {
289
 
290
			HTTPRequest.asyncPost(serviceBaseUrl + "/Inventory/" + user
291
							+ "/" + ids.toString(), "action=DELETE",
292
 
293
							new ResponseTextHandler() {
294
								public void onCompletion(String str) {
29 ddelon 295
											mediator.onInventoryUpdated(id_location,"all","all");
30 ddelon 296
											mediator.getEntryView().clear();
28 ddelon 297
								}
298
							});
299
		}
300
 
301
		setStatusEnabled();
302
 
303
	}
304
 
305
 
306
 
307
 
308
	/**
309
	 * Transmission de releve a Tela, on garde ici car s'applique a plusieurs elements
310
	 */
311
 
312
 
313
	public void transmitElement() {
314
 
315
		setStatusDisabled();
316
 
317
		TableItem[] selection=table.getSelection();
318
 
319
		StringBuffer ids=new StringBuffer();
320
		for (int i = 0; i < selection.length; i++) {
30 ddelon 321
			ids.append((String)(((TableItem) selection[i]).getValue(5)));
28 ddelon 322
			if (i<(selection.length-1)) ids.append(",");
323
		}
324
 
325
		if (ids.length()>0) {
326
 
327
			HTTPRequest.asyncPost(serviceBaseUrl + "/InventoryTransmit/" + user
328
							+ "/" + ids.toString(), "transmission=1",
329
 
330
							new ResponseTextHandler() {
331
								public void onCompletion(String str) {
332
											update(); // Pour affichage logo
333
								}
334
							});
335
		}
336
 
337
		setStatusEnabled();
338
 
339
 
340
	}
341
 
342
 
343
	/**
344
	 * Recherche nombre d'enregistrement pour l'utilisateur et la localite en cours
345
	 *
346
	 */
347
 
348
	public void updateCount	() {
349
 
350
		setStatusDisabled();
351
 
352
 
353
		// Transformation de la date selectionne vers date time stamp
354
 
355
 
29 ddelon 356
		HTTPRequest.asyncGet(serviceBaseUrl + "/InventoryItemList/" + user + "/" + id_location + "/" + URL.encodeComponent(location) + "/" + year  + "/"  + month  + "/"  + day  + "/" + URL.encodeComponent(search) +  "/" + URL.encodeComponent(lieudit),
28 ddelon 357
				new ResponseTextHandler() {
358
 
359
					public void onCompletion(String str) {
360
 
361
						JSONValue jsonValue = JSONParser.parse(str);
362
						JSONNumber jsonNumber;
363
						if ((jsonNumber = jsonValue.isNumber()) != null) {
364
							count = (int) jsonNumber.getValue();
365
						//	if (location.compareTo("")==0) location="000null";
366
							gotoEnd(); // Derniere page
367
							update();
368
						}
369
					}
370
				});
371
 
372
	}
373
 
374
	/**
375
	 * Mise a jour de l'affichage, a partir des donnaes d'inventaire deja
376
	 * saisies. La valeur de this.startIndex permet de determiner quelles
377
	 * donnaes seront affichees
378
	 *
379
	 */
380
 
381
	public void update() {
382
 
383
 
384
 
385
//   TODO : optimisation	 (ne pas supprimer mais remplacer)
386
 
387
 
388
 
389
//      Ligne d'information
390
 
391
		// Toutes date par defaut
392
 
393
 
29 ddelon 394
		HTTPRequest.asyncGet(serviceBaseUrl + "/InventoryItemList/" + user + "/" + id_location + "/" + URL.encodeComponent(location) +"/" + year  + "/"  + month  + "/"  + day   + "/" + URL.encodeComponent(search) + "/" + URL.encodeComponent(lieudit) + "/"
28 ddelon 395
				+ startIndex + "/" + VISIBLE_TAXON_COUNT,
396
 
397
		new ResponseTextHandler() {
398
 
399
			public void onCompletion(String str) {
400
 
401
				JSONValue jsonValue = JSONParser.parse(str);
402
				JSONArray jsonArray;
403
				JSONArray jsonArrayNested;
404
 
405
				int i=0;
406
 
407
				if ((jsonArray = jsonValue.isArray()) != null) {
408
 
30 ddelon 409
					StringBuffer lieu=null;
28 ddelon 410
 
411
					int arraySize = jsonArray.size();
412
 
413
					for (i = 0; i < arraySize; ++i) {
414
						if ((jsonArrayNested = jsonArray.get(i).isArray()) != null) {
415
 
416
 
30 ddelon 417
							Object[] values = new Object[6];
28 ddelon 418
 
419
 
420
							// Statut Observation transmise ?
421
 
30 ddelon 422
							String atransmit=((JSONString) jsonArrayNested .get(13)).stringValue();
28 ddelon 423
 
424
							if (atransmit.compareTo("1")==0) {
425
								values[0] = new Image("tela.gif");
426
							}
427
							else {
428
								values[0] = new HTML("&nbsp;");
429
							}
430
 
431
 
432
							// Nom saisi
433
 
434
							values[1] = new HTML("<b>"+Util.toCelString(((JSONString) jsonArrayNested .get(0)).toString())+"</b>");
435
 
436
 
30 ddelon 437
 
28 ddelon 438
							// Nom retenu
439
							String aname=Util.toCelString(((JSONString) jsonArrayNested .get(2)).toString());
440
 
441
							if (aname.compareTo("null")==0) {
30 ddelon 442
								values[2] = new HTML("&nbsp;");
28 ddelon 443
							}
444
							else {
30 ddelon 445
								values[2] = new HTML(aname);
28 ddelon 446
							}
447
 
448
							// Num nomenclatural
30 ddelon 449
							/*
28 ddelon 450
							String ann=((JSONString) jsonArrayNested .get(3)).stringValue();
451
 
452
							if (ann.compareTo("0")!=0) {
453
								observationText.append(""+ann+"-");
454
							}
455
							else {
456
								observationText.append("0-");
457
							}
30 ddelon 458
							*/
28 ddelon 459
 
460
 
461
							// Num Taxonomique
462
 
30 ddelon 463
							/*
28 ddelon 464
							String ant=((JSONString) jsonArrayNested .get(4)).stringValue();
465
 
466
							if (ant.compareTo("0")!=0) {
467
								observationText.append(ant+", ");
468
							}
469
							else {
470
								observationText.append("0, ");
471
							}
30 ddelon 472
							*/
28 ddelon 473
 
474
							// Famille
30 ddelon 475
 
476
							/*
28 ddelon 477
							String afamily=Util.toCelString(((JSONString) jsonArrayNested .get(5)).toString());
478
 
479
							if (afamily.compareTo("null")==0) {
480
								//
481
							}
482
							else {
483
								observationText.append(afamily+", ");
484
							}
30 ddelon 485
							*/
28 ddelon 486
 
30 ddelon 487
//							Localisation - Lieu
488
 
489
							lieu=new StringBuffer();
490
 
28 ddelon 491
							String aloc=Util.toCelString(((JSONString) jsonArrayNested .get(6)).toString());
492
 
493
								if (aloc.compareTo("000null")==0) {
30 ddelon 494
									if (lieu.length()==0) {
495
										lieu.append("Commune absente");
28 ddelon 496
									}
497
									else {
30 ddelon 498
										lieu.append("commune absente");
28 ddelon 499
									}
500
								}
501
								else {
30 ddelon 502
									if (lieu.length()==0) {
503
										lieu.append("Commune de "+aloc);
28 ddelon 504
									}
505
									else {
30 ddelon 506
										lieu.append("commune de "+aloc);
28 ddelon 507
									}
508
 
509
								}
510
 
511
 
512
								String alieudit=Util.toCelString(((JSONString) jsonArrayNested .get(9)).toString());
513
 
514
//								Localisation - Lieu dit
515
 
516
								if (alieudit.compareTo("000null")!=0) {
30 ddelon 517
									lieu.append(", "+alieudit);
28 ddelon 518
								}
29 ddelon 519
 
520
 
521
//								Station -
522
 
523
								String astation=Util.toCelString(((JSONString) jsonArrayNested .get(10)).toString());
524
 
525
 
526
								if (astation.compareTo("000null")!=0) {
30 ddelon 527
									lieu.append(", "+astation);
29 ddelon 528
								}
529
 
30 ddelon 530
 
531
//								Milieu
532
 
533
								String amilieu=Util.toCelString(((JSONString) jsonArrayNested .get(11)).toString());
534
 
535
 
536
								if (amilieu.compareTo("000null")!=0) {
537
									lieu.append(", "+amilieu);
538
								}
28 ddelon 539
 
30 ddelon 540
								String acomment=Util.toCelString(((JSONString) jsonArrayNested .get(12)).toString());
28 ddelon 541
//								Commentaire
542
 
543
								if (acomment.compareTo("null")!=0) {
30 ddelon 544
									lieu.append(", "+acomment);
28 ddelon 545
								}
546
 
547
 
30 ddelon 548
								if (lieu.toString().compareTo("")==0) {
549
									values[3] = new HTML("&nbsp;");
550
								}
551
								else {
552
									values[3] = new HTML(lieu.toString());
553
								}
554
 
555
 
28 ddelon 556
								String adate=((JSONString) jsonArrayNested .get(8)).stringValue();
557
 
558
//								Date
559
								if (adate.compareTo("0000-00-00 00:00:00")!=0) {
30 ddelon 560
									values[4]=new HTML("<b>"+adate+"</b>");
28 ddelon 561
								}
562
								else {
30 ddelon 563
									values[4] = new HTML("&nbsp;");
28 ddelon 564
								}
565
 
566
 
567
 
568
							String aordre=((JSONString) jsonArrayNested.get(7)).stringValue();
569
 
570
							// Numero d'ordre (cache)
571
 
30 ddelon 572
							values[5] = aordre;
28 ddelon 573
 
574
 
575
 
576
 
577
					    	if (i>=table.getItemCount()) {
578
					    		TableItem item = new TableItem(values);
579
					    		table.add(item);
580
							}
581
							else {
582
								TableItem item=table.getItem(i);
583
								item.setValue(0,values[0]);
584
								item.setValue(1,values[1]);
585
								item.setValue(2,values[2]);
586
								item.setValue(3,values[3]);
587
								item.setValue(4,values[4]);
30 ddelon 588
								item.setValue(5,values[5]);
28 ddelon 589
							}
590
 
591
					    	// Spagetti
592
							if (ordre!=null) {
593
								if (aordre.compareTo(ordre)==0) {
594
									table.select(i);
595
								}
596
								else {
597
									table.deselect(i);
598
								}
599
							}
600
 
601
						}
602
 
603
					}
604
				}
605
 
606
				// Suppression fin ancien affichage
607
				if (i<table.getItemCount()) {
608
					 for (int j = table.getItemCount() -1 ; j >= i; j--) {
609
						 TableItem item=table.getItem(j);
610
						 table.remove(item);
611
					 }
612
				}
613
 
614
				setStatusEnabled();
615
 
616
 
617
			}
618
		});
619
 
620
 
621
	}
622
 
623
 
624
	/**
625
	 * Affichage message d'attente et desactivation navigation
626
	 *
627
	 * @param
628
	 * @return void
629
	 */
630
 
631
	private void setStatusDisabled() {
632
 
633
		navBar.gotoFirst.setEnabled(false);
634
		navBar.gotoPrev.setEnabled(false);
635
		navBar.gotoNext.setEnabled(false);
636
		navBar.gotoEnd.setEnabled(false);
637
 
638
		navBar.status.setText("Patientez ...");
639
	}
640
 
641
	/**
642
	 * Affichage numero de page et gestion de la navigation
643
	 *
644
	 */
645
 
646
	private void setStatusEnabled() {
647
 
648
		// Il y a forcemment un disabled avant d'arriver ici
649
 
650
		if (count > 0) {
651
 
652
			if (startIndex >= VISIBLE_TAXON_COUNT) { // Au dela de la
653
														// premiere page
654
				navBar.gotoPrev.setEnabled(true);
655
				navBar.gotoFirst.setEnabled(true);
656
				if (startIndex < (count - VISIBLE_TAXON_COUNT)) { // Pas la
657
																	// derniere
658
																	// page
659
					navBar.gotoNext.setEnabled(true);
660
					navBar.gotoEnd.setEnabled(true);
661
					navBar.status.setText((startIndex + 1) + " - "
662
							+ (startIndex + VISIBLE_TAXON_COUNT) + " sur " + count );
663
				} else { // Derniere page
664
					navBar.status.setText((startIndex + 1) + " - " + count + " sur " + count );
665
				}
666
			} else { // Premiere page
667
				if (count > VISIBLE_TAXON_COUNT) { // Des pages derrieres
668
					navBar.gotoNext.setEnabled(true);
669
					navBar.gotoEnd.setEnabled(true);
670
					navBar.status.setText((startIndex + 1) + " - "
671
							+ (startIndex + VISIBLE_TAXON_COUNT) + " sur " + count);
672
				} else {
673
					navBar.status.setText((startIndex + 1) + " - " + count + " sur " + count);
674
				}
675
			}
676
		}
677
 
678
		else { // Pas d'inventaire, pas de navigation
679
			navBar.status.setText("0 - 0 sur 0");
680
		}
681
	}
682
 
683
	/*
684
	 * Positionnement index de parcours (this.startIndex) pour affichage de la
685
	 * derniere page
686
	 *
687
	 * @param
688
	 * @return void
689
	 */
690
 
691
	private void gotoEnd() {
692
 
693
		if ((count == 0) || (count % VISIBLE_TAXON_COUNT) > 0) {
694
			startIndex = count - (count % VISIBLE_TAXON_COUNT);
695
		} else {
696
			startIndex = count - VISIBLE_TAXON_COUNT;
697
		}
698
 
699
	}
700
 
701
	/*
702
	 * Recherche en cours
703
	 *
704
	 */
705
 
706
	public void setSearch(String search) {
707
		this.search = search;
708
	}
709
 
29 ddelon 710
 
28 ddelon 711
 
712
	/*
29 ddelon 713
	 * Departement en cours
714
	 *
715
	 */
716
 
717
	public void setIdLocation(String id_location) {
718
		this.id_location = id_location;
719
	}
720
 
721
 
722
 
723
	/*
28 ddelon 724
	 * Localite en cours
725
	 *
726
	 */
727
 
728
	public void setLocation(String location) {
729
		this.location = location;
730
	}
731
 
732
 
733
 
734
	/*
30 ddelon 735
	 * Lieudit en cours
28 ddelon 736
	 *
737
	 */
738
 
29 ddelon 739
	public void setLieudit(String lieudit) {
740
		this.lieudit = lieudit;
28 ddelon 741
	}
742
 
743
 
744
 
745
	/*
746
	 * Date en cours
747
	 *
748
	 */
749
 
750
 
29 ddelon 751
	public void setYear(String year) {
752
		this.year = year;
28 ddelon 753
	}
754
 
29 ddelon 755
 
756
	public void setMonth(String month) {
757
		this.month = month;
758
	}
759
 
760
	public void setDay(String day) {
761
		this.day = day;
762
	}
763
 
28 ddelon 764
 
765
	/*
766
	 * Utilisateur en cours
767
	 *
768
	 */
769
 
770
 
771
 
772
	public void setUser(String user) {
773
		this.user = user;
774
	}
775
 
776
 
777
	public void displayFilter() {
778
 
779
 
780
 
781
	// Mise a jour boutton export feuille de calcul
782
 
783
	mediator.getActionView().getExportButton().setHTML("<a href=\""+mediator.getServiceBaseUrl()+"/InventoryExport/"
784
			+  user + "/"
29 ddelon 785
			+ URL.encodeComponent(id_location) + "/"
28 ddelon 786
			+ URL.encodeComponent(location) + "/"
29 ddelon 787
			+ URL.encodeComponent(lieudit)+ "/"
788
			+ year + "/"
789
			+ month  + "/"
790
			+ day
791
			+ "\">"+"Export&nbsp;tableur</a>");
28 ddelon 792
 
29 ddelon 793
 
28 ddelon 794
	// Mise a jour ligne de selection
795
 
796
 
797
 
29 ddelon 798
	String dep;
799
	if (id_location.compareTo("all")==0) {
800
		dep="Tous d&eacute;partements";
28 ddelon 801
	}
802
	else {
29 ddelon 803
		if (id_location.compareTo("000null")==0) {
804
			dep="D&eacute;partements non renseign&eacute;es ";
28 ddelon 805
		}
806
		else {
29 ddelon 807
		dep="Département "+id_location;
28 ddelon 808
		}
809
	}
810
 
811
 
29 ddelon 812
 
813
	String com;
814
	if (location.compareTo("all")==0) {
815
		com=", toutes communes";
28 ddelon 816
	}
817
	else {
29 ddelon 818
		if (location.compareTo("000null")==0) {
819
			com=", communes non renseign&eacute;es";
28 ddelon 820
		}
821
		else {
29 ddelon 822
		com=", commune de "+location;
28 ddelon 823
		}
824
	}
825
 
826
 
827
 
29 ddelon 828
	String lieu;
829
 
830
	if (lieudit.compareTo("all")==0) {
831
		lieu=", tous lieux dits";
28 ddelon 832
	}
833
	else {
29 ddelon 834
		if (lieudit.compareTo("000null")==0) {
835
			lieu=", lieu-dit non renseign&eacute;es";
28 ddelon 836
		}
837
		else {
29 ddelon 838
			lieu=", lieu-dit "+ lieudit;
28 ddelon 839
		}
840
	}
29 ddelon 841
 
842
	String dat;
843
 
844
	if ((year.compareTo("all")==0) && (month.compareTo("all")==0) && (day.compareTo("all")==0)) {
845
		dat=", toutes periodes";
846
	}
847
 
848
	else {
849
 
850
    	String yea="";
851
       	String da="";
852
       	String mont="";
853
 
854
    	if (year.compareTo("all")==0) {
855
    		yea=", toutes ann&eacute;es";
856
    	}
857
    	else {
858
    		if (year.compareTo("0")==0) {
859
    			yea=", periode non renseign&eacute;e";
860
    		}
861
    		else {
862
    			yea=", "+ year;
863
 
864
            	if (month.compareTo("all")==0) {
865
            		mont=", tous mois";
866
            	}
867
            	else {
868
            			mont="/"+ month;
869
            	}
870
 
871
 
872
            	if (day.compareTo("all")==0) {
873
            		da=", tous jours";
874
            	}
875
            	else {
876
            			da="/"+ day;
877
            	}
878
    		}
879
    	}
880
 
881
        dat=yea + mont + da;
882
 
883
	}
28 ddelon 884
 
885
 
29 ddelon 886
	panel.getHeader().setText(dep + com + lieu + dat);
28 ddelon 887
 
888
 
889
 
890
}
891
 
892
 
893
}
894
 
895
/* +--Fin du code ---------------------------------------------------------------------------------------+
896
* $Log$
30 ddelon 897
* Revision 1.2  2008-01-30 08:55:40  ddelon
898
* fin mise en place mygwt
899
*
29 ddelon 900
* Revision 1.1  2008-01-02 21:26:04  ddelon
901
* mise en place mygwt
902
*
28 ddelon 903
* Revision 1.8  2007-12-22 14:48:53  ddelon
904
* Documentation et refactorisation
905
*
906
* Revision 1.7  2007-09-17 19:25:34  ddelon
907
* Documentation
908
*
909
*/