annotate app/controller/Proben.js @ 413:e1af66012ef0 0.6

Reverse displayFields Array before configuring the columns of the result list. Now the displayed columns are in the same order as defined in the query configuration file.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Mon, 23 Sep 2013 14:26:09 +0200
parents 85238577adc9
children bd2b26c249e2
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
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
5 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
6 var out = Array();
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
7 if (msg != 200) {
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
8 out.push("Der Import der Datei " + filename + " war nicht erfolgreich.");
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
9 } else {
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
10 out.push("Der Import der Datei " + filename + " war erfolgreich.");
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
11 }
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
12 out.push("Bei dem Import sind folgende Fehler und Warnungen aufgetreten");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
13 out.push("<br/>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
14 out.push("<strong>Fehler:</strong>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
15 out.push("<br/>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
16 if (errors) {
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
17 out.push("<ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
18 for (var key in errors) {
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
19 out.push("<li>"+key)
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
20 var msgs = errors[key];
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
21 out.push("<ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
22 for (var i = msgs.length - 1; i >= 0; i--){
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
23 out.push("<li>"+msgs[i].key+" ("+msgs[i].code+"): "+msgs[i].value+"</li>")
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
24 };
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
25 out.push("</ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
26 out.push("</li>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
27 }
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
28 out.push("</ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
29 } else {
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
30 out.push("Keine Fehler");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
31 out.push("<br/>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
32 }
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
33 out.push("<strong>Warnungen:</strong>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
34 out.push("<br/>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
35 if (warnings) {
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
36 out.push("<ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
37 for (var key in warnings) {
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
38 out.push("<li>"+key)
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
39 var msgs = warnings[key];
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
40 out.push("<ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
41 for (var i = msgs.length - 1; i >= 0; i--){
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
42 out.push("<li>"+msgs[i].key+" ("+msgs[i].code+"): "+msgs[i].value+"</li>")
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
43 };
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
44 out.push("</ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
45 out.push("</li>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
46 }
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
47 out.push("</ol>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
48 } else {
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
49 out.push("Keine Warnungen");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
50 out.push("<br/>");
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
51 }
379
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
52 return out.join("");
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
53 }
0fa48c66cf7d Set first version of a report of the import.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 376
diff changeset
54
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
55 Ext.define('Lada.controller.Proben', {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
56 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
57 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
58 'proben.Edit',
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
59 'proben.Create',
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
60 '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
61 ],
13
a8efc4b96888 Added model for Proben and a Store.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 5
diff changeset
62 stores: [
122
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
63 '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
64 'Zusatzwerte',
144
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
65 'Probenzusatzwerte',
149
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
66 'Kommentare',
157
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
67 'Orte',
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
68 'Messungen'
13
a8efc4b96888 Added model for Proben and a Store.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 5
diff changeset
69 ],
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
70 init: function() {
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
71 console.log('Initialising the Proben controller');
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
72 this.callParent();
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
73 },
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
74 addListeners: function() {
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
75 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
76 'probenlist': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
77 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
78 },
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
79 'probenlist toolbar button[action=add]': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
80 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
81 },
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
82 '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
83 click: this.selectUploadFile
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
84 },
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
85 '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
86 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
87 },
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
88 'probencreate button[action=save]': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
89 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
90 },
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
91 'probenedit button[action=save]': {
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
92 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
93 },
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
94 '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
95 click: this.uploadItem
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
96 },
70
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
97 'probencreate form': {
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
98 savesuccess: this.createSuccess,
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
99 savefailure: this.createFailure
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
100 },
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
101 'probenedit form': {
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
102 savesuccess: this.editSuccess,
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
103 savefailure: this.editFailure
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
104 }
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
105 });
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
106 },
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
107 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
108 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
109 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
110 },
357
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
111 /**
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
112 * 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
113 * @private
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
114 */
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
115 selectUploadFile: function(button) {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
116 console.log('Importing');
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
117 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
118 },
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
119 /** 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
120 * @private
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
121 */
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
122 uploadItem: function(button) {
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
123 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
124 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
125 if(form.isValid()){
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
126 form.submit({
376
90cec3bb9c09 Updated URL for import service.
Raimund Renkert <rrenkert@intevation.de>
parents: 362
diff changeset
127 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
128 waitMsg: 'Importiere...',
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
129 // 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
130 // 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
131 success: function(fp, resp) {
397
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
132 var errors = resp.result.data.errors;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
133 var warnings = resp.result.data.warnings;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
134 var filename = resp.result.data.filename;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
135 var message = resp.result.message;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
136 var dialogbody = buildImportReport(filename, message, errors, warnings)
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
137 var filename = resp.result.data.filename;
c5188d71ef87 Fixed import report dialog.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 382
diff changeset
138 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
139 win.close();
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
140 },
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
141 failure: function(fp, resp) {
382
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
142 var errors = resp.result.data.errors;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
143 var warnings = resp.result.data.warnings;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
144 var filename = resp.result.data.filename;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
145 var message = resp.result.message;
91193c49c2bb Make the error dialog look better.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 381
diff changeset
146 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
147 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
148 win.close();
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
149 }
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
150 });
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
151 }
94884cd8f8c0 Added logic to upload a file to the server.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 293
diff changeset
152 },
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
153 /**
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
154 * 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
155 */
9bc080ecdbc9 Added action in controller to download the file in a new window.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 379
diff changeset
156 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
157 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
158 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
159 var hiddenItems = [];
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
160 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
161 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
162 }
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
163 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
164 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
165 title: 'hiddenForm',
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
166 standardSubmit: true,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
167 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
168 timeout: 120,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
169 height: 0,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
170 width: 0,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
171 hidden: true,
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
172 items: hiddenItems
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
173 });
4fdc09ebf21d Enable multiselect in probe list and download LAF export via POST request.
Raimund Renkert <rrenkert@intevation.de>
parents: 397
diff changeset
174 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
175 },
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
176 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
177 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
178 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
179 // 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
180 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
181 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
182 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
183 zstore.load({
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
184 params: {
139
df6e36dd57ee Changed params probe -> probeId, mst -> mstId, uwb -> umwId
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 135
diff changeset
185 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
186 }
a7bfaeb1655d Cleanup part three. Reenabled Zusatzwerte and implemented sending nested data.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 121
diff changeset
187 });
149
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
188 // Load Kommentare
144
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
189 var kstore = this.getKommentareStore();
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
190 kstore.load({
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
191 params: {
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
192 probeId: id
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
193 }
7b1140bd8b3d Re-Added Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 141
diff changeset
194 });
149
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
195 // Load Orte
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
196 var ostore = this.getOrteStore();
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
197 ostore.load({
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
198 params: {
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
199 probeId: id
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
200 }
26ac4c99f8c4 Added Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 144
diff changeset
201 });
157
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
202 // Load Orte
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
203 var mstore = this.getMessungenStore();
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
204 mstore.load({
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
205 params: {
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
206 probeId: id
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
207 }
237a4efe715a Enabled loading Messungen.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 149
diff changeset
208 });
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
209 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
210 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
211 },
255
82118c01bc52 #57: Open Edit-Dialog after creating a new Probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 157
diff changeset
212 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
213 // Close Createdialog
69
cb1138f5cea7 Removed old code
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 65
diff changeset
214 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
215 win.close();
405
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
216 var resp = Ext.decode(response.responseText);
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
217 var warn = Array();
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
218 var err = Array();
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
219 if (resp.warnings) {
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
220 warn.push("<strong>Warnungen:</strong><br>");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
221 for (var key in resp.warnings) {
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
222 warn.push(key + ": ");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
223 warn.push(Lada.getApplication().bundle.getMsg(resp.warnings[key]) + "<br>");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
224 }
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
225 }
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
226 if (resp.errors) {
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
227 err.push("<strong>Fehler:</strong><br>");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
228 for (var key in resp.errors) {
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
229 err.push(key + ": ");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
230 err.push(Lada.getApplication().bundle.getMsg(resp.warnings[key]) + "<br>");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
231 }
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
232 }
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
233 var msg = warn.join("") + err.join("");
85238577adc9 Show warnings when saving a new Probe.
Raimund Renkert <rrenkert@intevation.de>
parents: 400
diff changeset
234 Ext.MessageBox.alert("Ergebnis", msg);
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
235 // Reload store
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
236 var store = this.getProbenStore();
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
237 store.reload({
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
238 scope: this,
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
239 callback: function(records, operation, success) {
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
240 console.log('Reloaded store');
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
241 // Open Editdialog
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
242 var json = Ext.decode(response.responseText);
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
243 if (json) {
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
244 var probeId = json.data.probeId;
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
245 var probe = store.findRecord("probeId", probeId);
293
bd77b6055791 Inherit from Base controller
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 270
diff changeset
246 this.editItem(null, probe);
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
247 }
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
248 }
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
249 });
70
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
250 },
255
82118c01bc52 #57: Open Edit-Dialog after creating a new Probe.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 157
diff changeset
251 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
252 // Reload store
eb40b74f871a Reload the store after the probe was created or edited.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 76
diff changeset
253 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
254 store.reload();
70
1a943947a7d2 Added new listeners for events comming from the Probenforms.
Torsten Irländer <torsten.irlaender@intevation.de>
parents: 69
diff changeset
255 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
256 win.close();
1
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
257 }
af8d7217521d Added basic Proben controller.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff changeset
258 });

http://lada.wald.intevation.org