annotate app/controller/Proben.js @ 406:de73dc41f1d3

Show warnings in proben edit form.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 12 Sep 2013 12:31:57 +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