Parcourir la source

indicazioni fabio

Roberto Santini il y a 3 ans
Parent
révision
7735d7f95b

+ 30
- 13
app/Http/Controllers/IssueController.php Voir le fichier

135
   }
135
   }
136
 
136
 
137
   public function firma_rapporto(Request $request){
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
     $redmineUser = session('redmine_user');
159
     $redmineUser = session('redmine_user');
139
     $user = User::where('redmine_id', $redmineUser->id)->first();
160
     $user = User::where('redmine_id', $redmineUser->id)->first();
140
 
161
 
151
     // Cliente
172
     // Cliente
152
     $cliente = $issue->project->name;
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
     $dataIntervento = Carbon::createFromFormat('d/m/Y', $request->spent_on);
175
     $dataIntervento = Carbon::createFromFormat('d/m/Y', $request->spent_on);
158
 
176
 
159
     // Array dei tecnici presenti
177
     // Array dei tecnici presenti
276
     // Elimino le firme
294
     // Elimino le firme
277
     Storage::disk('temp')->delete([$sign_path_cliente]);
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
     // Aggiorno lo issue
297
     // Aggiorno lo issue
288
     $response = Http::acceptJson()->put("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/issues/'.$request->issue_id.'.xml', [
298
     $response = Http::acceptJson()->put("https://".$redmineUser->api_key."@".session('azienda')->redmine_url.'/issues/'.$request->issue_id.'.xml', [
289
       'issue' => [
299
       'issue' => [
291
         'status_id' => $request->status_id,
301
         'status_id' => $request->status_id,
292
         'uploads' => $uploads
302
         'uploads' => $uploads
293
       ],
303
       ],
294
-      // 'time_entry' => $timeEntry,
295
       'helpdesk' => [
304
       'helpdesk' => [
296
         'is_send_mail' => 1
305
         'is_send_mail' => 1
297
       ],
306
       ],
298
     ]);
307
     ]);
299
 
308
 
300
     $response->throw(function ($response, $e) {
309
     $response->throw(function ($response, $e) {
310
+      dd($e);
301
       Session::flash('flash_message', "Errore nell'update dell'issue");
311
       Session::flash('flash_message', "Errore nell'update dell'issue");
302
       return redirect()->route('home');
312
       return redirect()->route('home');
303
     });
313
     });
331
             'hours' => $request->ore_viaggio,
341
             'hours' => $request->ore_viaggio,
332
             'comments' => '',
342
             'comments' => '',
333
             'activity_id' => Config::getValue(Config::ATTIVITA_VIAGGIO),
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
 

+ 1
- 1
resources/views/components/auth-validation-errors.blade.php Voir le fichier

3
 @if ($errors->any())
3
 @if ($errors->any())
4
     <div {{ $attributes }}>
4
     <div {{ $attributes }}>
5
         <div class="font-medium text-red-600">
5
         <div class="font-medium text-red-600">
6
-            {{ __('Whoops! Something went wrong.') }}
6
+            {{ __('Rivedi i dati inseriti.') }}
7
         </div>
7
         </div>
8
 
8
 
9
         <ul class="mt-3 list-disc list-inside text-sm text-red-600">
9
         <ul class="mt-3 list-disc list-inside text-sm text-red-600">

+ 6
- 0
resources/views/issue/firma.blade.php Voir le fichier

51
         <div class="card-header"><i class="fas fa-info"></i> Dettagli intervento</div>
51
         <div class="card-header"><i class="fas fa-info"></i> Dettagli intervento</div>
52
         <div class="card-body">
52
         <div class="card-body">
53
 
53
 
54
+          <x-auth-validation-errors class="mb-4" :errors="$errors" />
54
 
55
 
55
           <div class="form-row">
56
           <div class="form-row">
56
             <div class="form-group col-md">
57
             <div class="form-group col-md">
95
               {!! Form::text('ora_fine', Carbon::now()->addMinutes(15)->format('H:i'), ['class' => 'form-control']) !!}
96
               {!! Form::text('ora_fine', Carbon::now()->addMinutes(15)->format('H:i'), ['class' => 'form-control']) !!}
96
             </div>
97
             </div>
97
 
98
 
99
+            <div class="form-group col-md">
100
+              {!! Form::label('ore_pausa', 'Ore pausa') !!}
101
+              {!! Form::number('ore_pausa', 0, ['class' => 'form-control', 'step' => '0,01']) !!}
102
+            </div>
103
+
98
             <div class="form-group col-md" id="div_button_ore_viaggio">
104
             <div class="form-group col-md" id="div_button_ore_viaggio">
99
               <button class="btn btn-primary" onclick="imputa_ore_viaggio()" type="button">Imputa ore viaggio</button>
105
               <button class="btn btn-primary" onclick="imputa_ore_viaggio()" type="button">Imputa ore viaggio</button>
100
             </div>
106
             </div>

Chargement…
Annuler
Enregistrer