Mercurial > gemma
comparison client/src/imports/Imports.vue @ 1242:da99d4560fd4
feat: import sounding results
Sends now bottleneck, importdate, depthreference over the wire.
Changed success message to "starting import for ...".
In case of an error, display errormessages.
author | Thomas Junk <thomas.junk@intevation.de> |
---|---|
date | Wed, 21 Nov 2018 09:38:51 +0100 |
parents | 9b0a7b3ea297 |
children | 29036b3916ab |
comparison
equal
deleted
inserted
replaced
1241:a45fa8943254 | 1242:da99d4560fd4 |
---|---|
21 <div class="offset-r"> | 21 <div class="offset-r"> |
22 <label class="label-text" for="importdate" id="importdatelabel">Date</label> | 22 <label class="label-text" for="importdate" id="importdatelabel">Date</label> |
23 </div> | 23 </div> |
24 <input | 24 <input |
25 id="importdate" | 25 id="importdate" |
26 type="text" | 26 type="date" |
27 class="form-control" | 27 class="form-control" |
28 placeholder="Date of import" | 28 placeholder="Date of import" |
29 aria-label="bottleneck" | 29 aria-label="bottleneck" |
30 aria-describedby="bottlenecklabel" | 30 aria-describedby="bottlenecklabel" |
31 v-model="importDate" | 31 v-model="importDate" |
155 const { bottleneck, date } = response.data.meta; | 155 const { bottleneck, date } = response.data.meta; |
156 const depthReference = response.data.meta["depth-reference"]; | 156 const depthReference = response.data.meta["depth-reference"]; |
157 this.importState = IMPORTSTATE.EDIT; | 157 this.importState = IMPORTSTATE.EDIT; |
158 this.bottleneck = bottleneck; | 158 this.bottleneck = bottleneck; |
159 this.depthReference = depthReference; | 159 this.depthReference = depthReference; |
160 this.importDate = date; | 160 this.importDate = new Date(date).toISOString().split("T")[0]; |
161 this.token = response.data.token; | 161 this.token = response.data.token; |
162 }) | 162 }) |
163 .catch(error => { | 163 .catch(error => { |
164 const { status, data } = error.response; | 164 const { status, data } = error.response; |
165 const messages = data.messages ? data.messages.join(", ") : ""; | |
165 displayError({ | 166 displayError({ |
166 title: "Backend Error", | 167 title: "Backend Error", |
167 message: `${status}: ${data.message || data}` | 168 message: `${status}: ${messages}` |
168 }); | 169 }); |
169 }); | 170 }); |
170 }, | 171 }, |
171 confirm() { | 172 confirm() { |
172 let formData = new FormData(); | 173 let formData = new FormData(); |
173 formData.append("token", this.token); | 174 formData.append("token", this.token); |
175 ["bottleneck", "importDate", "depthReference"].forEach(x => { | |
176 if (this[x]) formData.append(x, this[x]); | |
177 }); | |
174 HTTP.post("/imports/soundingresult", formData, { | 178 HTTP.post("/imports/soundingresult", formData, { |
175 headers: { | 179 headers: { |
176 "X-Gemma-Auth": localStorage.getItem("token"), | 180 "X-Gemma-Auth": localStorage.getItem("token"), |
177 "Content-Type": "multipart/form-data" | 181 "Content-Type": "multipart/form-data" |
178 } | 182 } |
179 }) | 183 }) |
180 .then(() => { | 184 .then(() => { |
181 displayInfo({ | 185 displayInfo({ |
182 title: "Import", | 186 title: "Import", |
183 message: "Successfully imported " + this.bottleneck | 187 message: "Starting import for " + this.bottleneck |
184 }); | 188 }); |
185 this.initialState(); | 189 this.initialState(); |
186 }) | 190 }) |
187 .catch(error => { | 191 .catch(error => { |
188 const { status, data } = error.response; | 192 const { status, data } = error.response; |