annotate app/controller/Proben.js @ 465:20df35a31490

Improved import dialog
author Torsten Irländer <torsten.irlaender@intevation.de>
date Thu, 09 Jan 2014 11:30:34 +0100
parents e18b170b34bc
children debfcc7713e3
rev   line source
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
1 /**
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
2 * Controller for Proben
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
3 */
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
4
465
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
5 function numOfErrors(proben) {
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
6 var errors = 0;
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
7 for (var key in proben) {
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
8 if (proben[key].length > 0) {
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
9 errors = errors + 1;
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
10 }
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
11 }
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
12 return errors;
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
13 }
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
14
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
15 function buildImportReport(filename, msg, errors, warnings) {
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
16 var out = Array();
465
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
17 // There is a entry for each imported proben in the errors dict (might be
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
18 // empty)
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
19 var num_proben = (Object.keys(errors).length > 0);
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
20 var num_errors = (numOfErrors(errors));
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
21 var has_warnings = (Object.keys(warnings).length > 0);
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
22 if (msg != 200) {
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
23 out.push("Der Import der Datei " + filename + " war nicht erfolgreich. Der Importvorgang konnte aufgrund eines Fehlers im Server nicht beendet werden.");
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
24 } else {
465
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
25 if (num_errors == num_proben) {
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
26 out.push("Der Import der Datei " + filename + " war nicht erfolgreich.");
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
27 }
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
28 else if (num_errors == 0) {
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
29 out.push("Der Import der Datei " + filename + " war erfolgreich.");
465
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
30 } else {
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
31 out.push("Der Import der Datei " + filename + " war nicht oder nur teilweise erfolgreich.");
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
32 }
465
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
33 out.push(" Bei dem Import sind folgende Fehler und Warnungen aufgetreten:");
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
34 out.push("<br/>");
465
20df35a31490 Improved import dialog
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 463
diff changeset
35 if (num_errors) {
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
36 out.push("<strong>Fehler:</strong>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
37 out.push("<br/>");
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
38 out.push("<ol>");
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
39 for (var key in errors) {
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
40 out.push("<li>Probe: "+key)
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
41 var msgs = errors[key];
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
42 out.push("<ol>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
43 for (var i = msgs.length - 1; i >= 0; i--){
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
44 out.push("<li>"+msgs[i].key+" ("+Lada.getApplication().bundle.getMsg(msgs[i].code.toString())+"): "+msgs[i].value+"</li>")
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
45 };
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
46 out.push("</ol>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
47 out.push("</li>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
48 }
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
49 out.push("</ol>");
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
50 out.push("<br/>");
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
51 }
463
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
52 if (has_warnings) {
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
53 out.push("<strong>Warnungen:</strong>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
54 out.push("<br/>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
55 out.push("<ol>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
56 for (var key in warnings) {
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
57 out.push("<li>"+key)
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
58 var msgs = warnings[key];
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
59 out.push("<ol>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
60 for (var i = msgs.length - 1; i >= 0; i--){
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
61 out.push("<li>"+msgs[i].key+" ("+Lada.getApplication().bundle.getMsg(msgs[i].code.toString())+"): "+msgs[i].value+"</li>")
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
62 };
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
63 out.push("</ol>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
64 out.push("</li>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
65 }
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
66 out.push("</ol>");
e18b170b34bc Improved Import Dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 448
diff changeset
67 }
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
68 }
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
69 return out.join("");
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
70 }
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
71
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
72 Ext.define('Lada.controller.Proben', {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
73 extend: 'Lada.controller.Base',
4
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 1
diff changeset
74 views: [
65
9e2e09e819fd Added a new Dialog to create proben without any kommentare or other additional
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 64
diff changeset
75 'proben.Edit',
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
76 'proben.Create',
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
77 'proben.Import'
4
b8e56e880f02 Added a first example view (userlisting) from the EXJS Tutorial. Need to be
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 1
diff changeset
78 ],
13
a8efc4b96888 Added model for Proben and a Store.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 5
diff changeset
79 stores: [
122
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
80 'Proben',
135
e80a9114524c Load Probenzusatzwerte on editing a Probe. Values are needed in the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 122
diff changeset
81 'Zusatzwerte',
144
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
82 'Probenzusatzwerte',
149
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
83 'Kommentare',
157
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
84 'Orte',
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
85 'Messungen'
13
a8efc4b96888 Added model for Proben and a Store.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 5
diff changeset
86 ],
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
87 init: function() {
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
88 console.log('Initialising the Proben controller');
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
89 this.callParent();
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
90 },
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
91 addListeners: function() {
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
92 this.control({
18
9e1a40312bbe Implemented a basic edit dialog. Data will be set to data/proben2.json url
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 13
diff changeset
93 'probenlist': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
94 itemdblclick: this.editItem
18
9e1a40312bbe Implemented a basic edit dialog. Data will be set to data/proben2.json url
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 13
diff changeset
95 },
64
a4a24e737deb Added listener to open a new window to enter data fpr the new probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 54
diff changeset
96 'probenlist toolbar button[action=add]': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
97 click: this.addItem
64
a4a24e737deb Added listener to open a new window to enter data fpr the new probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 54
diff changeset
98 },
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
99 'probenlist toolbar button[action=import]': {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
100 click: this.selectUploadFile
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
101 },
381
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
102 'probenlist toolbar button[action=export]': {
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
103 click: this.downloadFile
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
104 },
270
0d6552bb28ea Add cancel Button to the editproben window and only show save button if the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 256
diff changeset
105 'probencreate button[action=save]': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
106 click: this.saveItem
270
0d6552bb28ea Add cancel Button to the editproben window and only show save button if the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 256
diff changeset
107 },
0d6552bb28ea Add cancel Button to the editproben window and only show save button if the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 256
diff changeset
108 'probenedit button[action=save]': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
109 click: this.saveItem
270
0d6552bb28ea Add cancel Button to the editproben window and only show save button if the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 256
diff changeset
110 },
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
111 'probenimport button[action=save]': {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
112 click: this.uploadItem
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
113 },
70
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
114 'probencreate form': {
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
115 savesuccess: this.createSuccess,
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
116 savefailure: this.createFailure
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
117 },
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
118 'probenedit form': {
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
119 savesuccess: this.editSuccess,
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
120 savefailure: this.editFailure
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
121 }
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
122 });
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
123 },
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
124 addItem: function(button) {
71
db26aeebe521 Added new Form for editing proben. Use this form in the edit window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 70
diff changeset
125 console.log('Adding new Probe');
65
9e2e09e819fd Added a new Dialog to create proben without any kommentare or other additional
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 64
diff changeset
126 var view = Ext.widget('probencreate');
64
a4a24e737deb Added listener to open a new window to enter data fpr the new probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 54
diff changeset
127 },
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
128 /**
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
129 * Opens a window with a file chooser to select the file to upload
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
130 * @private
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
131 */
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
132 selectUploadFile: function(button) {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
133 console.log('Importing');
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
134 var view = Ext.widget('probenimport');
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
135 },
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
136 /** Uploads the selected file the the server
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
137 * @private
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
138 */
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
139 uploadItem: function(button) {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
140 var win = button.up('window');
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
141 var form = win.down('form');
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
142 if(form.isValid()){
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
143 form.submit({
376
90cec3bb9c09 Updated URL for import service.
Raimund Renkert <rrenkert@intevation.de>
parents: 362
diff changeset
144 url: 'server/rest/import/laf',
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
145 waitMsg: 'Importiere...',
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
146 // TODO: Handle the response correct. o must must contain the
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
147 // filename (None) <2013-08-13 16:17>
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
148 success: function(fp, resp) {
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
149 var errors = resp.result.data.errors;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
150 var warnings = resp.result.data.warnings;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
151 var filename = resp.result.data.filename;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
152 var message = resp.result.message;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
153 var dialogbody = buildImportReport(filename, message, errors, warnings)
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
154 var filename = resp.result.data.filename;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
155 Ext.Msg.alert('Erfolg', dialogbody);
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
156 win.close();
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
157 },
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
158 failure: function(fp, resp) {
382
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
159 var errors = resp.result.data.errors;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
160 var warnings = resp.result.data.warnings;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
161 var filename = resp.result.data.filename;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
162 var message = resp.result.message;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
163 var dialogbody = buildImportReport(filename, message, errors, warnings)
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
164 Ext.Msg.alert('Fehler', dialogbody);
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
165 win.close();
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
166 }
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
167 });
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
168 }
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
169 },
381
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
170 /**
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
171 * Will download the selected Probe in LAF format in a new window (tab).
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
172 */
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
173 downloadFile: function(button) {
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
174 var grid = button.up('grid');
400
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
175 var selection = grid.getView().getSelectionModel().getSelection();
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
176 var hiddenItems = [];
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
177 for (var i = 0; i < selection.length; i++) {
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
178 hiddenItems.push({xtype: 'hiddenfield', name: 'probeId', value: selection[i].get('probeId')});
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
179 }
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
180 console.log('create download form.');
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
181 var hiddenForm = Ext.create('Ext.form.Panel', {
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
182 title: 'hiddenForm',
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
183 standardSubmit: true,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
184 url: 'server/rest/export/laf',
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
185 timeout: 120,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
186 height: 0,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
187 width: 0,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
188 hidden: true,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
189 items: hiddenItems
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
190 });
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
191 hiddenForm.getForm().submit();
381
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
192 },
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
193 editItem: function(grid, record) {
71
db26aeebe521 Added new Form for editing proben. Use this form in the edit window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 70
diff changeset
194 console.log('Editing Probe');
db26aeebe521 Added new Form for editing proben. Use this form in the edit window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 70
diff changeset
195 var id = record.get('probeId');
122
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
196 // Load Zusatzwerte
135
e80a9114524c Load Probenzusatzwerte on editing a Probe. Values are needed in the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 122
diff changeset
197 var pstore = this.getProbenzusatzwerteStore();
e80a9114524c Load Probenzusatzwerte on editing a Probe. Values are needed in the
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 122
diff changeset
198 pstore.load();
122
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
199 var zstore = this.getZusatzwerteStore();
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
200 zstore.load({
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
201 params: {
139
df6e36dd57ee Changed params probe -> probeId, mst -> mstId, uwb -> umwId
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 135
diff changeset
202 probeId: id
122
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
203 }
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
204 });
149
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
205 // Load Kommentare
144
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
206 var kstore = this.getKommentareStore();
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
207 kstore.load({
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
208 params: {
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
209 probeId: id
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
210 }
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
211 });
149
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
212 // Load Orte
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
213 var ostore = this.getOrteStore();
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
214 ostore.load({
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
215 params: {
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
216 probeId: id
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
217 }
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
218 });
157
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
219 // Load Orte
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
220 var mstore = this.getMessungenStore();
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
221 mstore.load({
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
222 params: {
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
223 probeId: id
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
224 }
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
225 });
362
6a7a9267e00f Issue56: Changed way how to set the form and window to readonly. Now all dialogs should
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 357
diff changeset
226 var view = Ext.widget('probenedit', {modelId: id});
71
db26aeebe521 Added new Form for editing proben. Use this form in the edit window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 70
diff changeset
227 console.log("Loaded Probe with ID " + record.getId()); //outputs ID
18
9e1a40312bbe Implemented a basic edit dialog. Data will be set to data/proben2.json url
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 13
diff changeset
228 },
255
82118c01bc52 #57: Open Edit-Dialog after creating a new Probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 157
diff changeset
229 createSuccess: function(form, record, response) {
256
d8993f5b96e8 Added a possible fix for issue57. After the create dialog is closed the edit
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 255
diff changeset
230 // Close Createdialog
69
cb1138f5cea7 Removed old code
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 65
diff changeset
231 var win = form.up('window');
18
9e1a40312bbe Implemented a basic edit dialog. Data will be set to data/proben2.json url
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 13
diff changeset
232 win.close();
448
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
233 var store = this.getProbenStore();
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
234 //Load or reload the probenstore.
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
235 if (store.getCount() === 0) {
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
236 store.load({
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
237 scope: this,
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
238 callback: function(records, operation, success) {
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
239 console.log('Loaded store');
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
240 // Open Editdialog
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
241 var json = Ext.decode(response.responseText);
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
242 if (json) {
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
243 var probeId = json.data.probeId;
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
244 var probe = store.findRecord("probeId", probeId);
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
245 this.editItem(null, probe);
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
246 }
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
247 }
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
248 });
405
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
249 }
448
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
250 else {
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
251 store.reload({
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
252 scope: this,
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
253 callback: function(records, operation, success) {
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
254 console.log('Reloaded store');
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
255 // Open Editdialog
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
256 var json = Ext.decode(response.responseText);
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
257 if (json) {
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
258 var probeId = json.data.probeId;
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
259 var probe = store.findRecord("probeId", probeId);
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
260 this.editItem(null, probe);
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
261 }
256
d8993f5b96e8 Added a possible fix for issue57. After the create dialog is closed the edit
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 255
diff changeset
262 }
448
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
263 });
bd2b26c249e2 Use 'load', not 'reload' to fill the proben store if its empty.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 405
diff changeset
264 }
70
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
265 },
255
82118c01bc52 #57: Open Edit-Dialog after creating a new Probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 157
diff changeset
266 editSuccess: function(form, record, response) {
86
eb40b74f871a Reload the store after the probe was created or edited.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 76
diff changeset
267 // Reload store
eb40b74f871a Reload the store after the probe was created or edited.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 76
diff changeset
268 var store = this.getProbenStore();
eb40b74f871a Reload the store after the probe was created or edited.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 76
diff changeset
269 store.reload();
70
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
270 var win = form.up('window');
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
271 win.close();
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
272 }
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
273 });

http://lada.wald.intevation.org