annotate app/controller/Proben.js @ 463:e18b170b34bc

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

http://lada.wald.intevation.org