|
|
@@ -135,6 +135,27 @@ class IssueController extends Controller
|
|
135
|
135
|
}
|
|
136
|
136
|
|
|
137
|
137
|
public function firma_rapporto(Request $request){
|
|
|
138
|
+
|
|
|
139
|
+ // Controllo orari e durata intervento
|
|
|
140
|
+ try{
|
|
|
141
|
+ $inizio = Carbon::createFromFormat('H:i', $request->ora_inizio);
|
|
|
142
|
+ $fine = Carbon::createFromFormat('H:i', $request->ora_fine);
|
|
|
143
|
+ $durata = $fine->diffInMinutes($inizio);
|
|
|
144
|
+ $orePausa = floatval($request->ore_pausa);
|
|
|
145
|
+ if($orePausa > 0){
|
|
|
146
|
+ $minutiPausa = 60*$orePausa;
|
|
|
147
|
+ $durata -= $minutiPausa;
|
|
|
148
|
+ }
|
|
|
149
|
+
|
|
|
150
|
+ if($durata <= 0){
|
|
|
151
|
+ return back()->withErrors(['msg' => 'La durata complessiva dell\'intervento non deve essere minore di 0. Controlla orario di inizio, fine e pausa']);
|
|
|
152
|
+ }
|
|
|
153
|
+ }catch(\Exception $e){
|
|
|
154
|
+ return back()->withErrors(['msg' => 'Orari non validi']);
|
|
|
155
|
+ }
|
|
|
156
|
+
|
|
|
157
|
+
|
|
|
158
|
+
|
|
138
|
159
|
$redmineUser = session('redmine_user');
|
|
139
|
160
|
$user = User::where('redmine_id', $redmineUser->id)->first();
|
|
140
|
161
|
|
|
|
@@ -151,9 +172,6 @@ class IssueController extends Controller
|
|
151
|
172
|
// Cliente
|
|
152
|
173
|
$cliente = $issue->project->name;
|
|
153
|
174
|
|
|
154
|
|
- $inizio = Carbon::createFromFormat('H:i', $request->ora_inizio);
|
|
155
|
|
- $fine = Carbon::createFromFormat('H:i', $request->ora_fine);
|
|
156
|
|
- $durata = $fine->diffInMinutes($inizio);
|
|
157
|
175
|
$dataIntervento = Carbon::createFromFormat('d/m/Y', $request->spent_on);
|
|
158
|
176
|
|
|
159
|
177
|
// Array dei tecnici presenti
|
|
|
@@ -276,14 +294,6 @@ class IssueController extends Controller
|
|
276
|
294
|
// Elimino le firme
|
|
277
|
295
|
Storage::disk('temp')->delete([$sign_path_cliente]);
|
|
278
|
296
|
|
|
279
|
|
- $timeEntry = [
|
|
280
|
|
- 'issue_id' => $request->issue_id,
|
|
281
|
|
- 'spent_on' => $dataIntervento->toDateString(),
|
|
282
|
|
- 'hours' => $durata.'m',
|
|
283
|
|
- 'comments' => $request->note,
|
|
284
|
|
- 'activity_id' => $request->activity_id
|
|
285
|
|
- ];
|
|
286
|
|
-
|
|
287
|
297
|
// Aggiorno lo issue
|
|
288
|
298
|
$response = Http::acceptJson()->put("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/issues/'.$request->issue_id.'.xml', [
|
|
289
|
299
|
'issue' => [
|
|
|
@@ -291,13 +301,13 @@ class IssueController extends Controller
|
|
291
|
301
|
'status_id' => $request->status_id,
|
|
292
|
302
|
'uploads' => $uploads
|
|
293
|
303
|
],
|
|
294
|
|
- // 'time_entry' => $timeEntry,
|
|
295
|
304
|
'helpdesk' => [
|
|
296
|
305
|
'is_send_mail' => 1
|
|
297
|
306
|
],
|
|
298
|
307
|
]);
|
|
299
|
308
|
|
|
300
|
309
|
$response->throw(function ($response, $e) {
|
|
|
310
|
+ dd($e);
|
|
301
|
311
|
Session::flash('flash_message', "Errore nell'update dell'issue");
|
|
302
|
312
|
return redirect()->route('home');
|
|
303
|
313
|
});
|
|
|
@@ -331,7 +341,14 @@ class IssueController extends Controller
|
|
331
|
341
|
'hours' => $request->ore_viaggio,
|
|
332
|
342
|
'comments' => '',
|
|
333
|
343
|
'activity_id' => Config::getValue(Config::ATTIVITA_VIAGGIO),
|
|
334
|
|
- 'user_id' => $key
|
|
|
344
|
+ 'user_id' => $key,
|
|
|
345
|
+ 'custom_fields' => [
|
|
|
346
|
+ [
|
|
|
347
|
+ 'id' => 5,
|
|
|
348
|
+ 'value' => 'Viaggio' // Campo Custom fatturare
|
|
|
349
|
+ ]
|
|
|
350
|
+ ]
|
|
|
351
|
+
|
|
335
|
352
|
]
|
|
336
|
353
|
]);
|
|
337
|
354
|
|