Bläddra i källkod

presenze - aggiunto salva a calendar manuale

ferrari 1 månad sedan
förälder
incheckning
a77eb39629
2 ändrade filer med 50 tillägg och 3 borttagningar
  1. 32 0
      app/Http/Livewire/Presence.php
  2. 18 3
      resources/views/livewire/presence.blade.php

+ 32 - 0
app/Http/Livewire/Presence.php

@@ -556,6 +556,38 @@ class Presence extends Component
         $this->emit('setSaving');
     }
 
+    public function saveManualCalendar()
+    {
+        $userId = \Auth::user()->id;
+        $calendarId = $this->calendar->id;
+
+        $presences = \App\Models\Presence::where('calendar_id', $calendarId)
+                        ->where('user_id', $userId)
+                        ->where('status', '<>', 99)
+                        ->get();
+
+        foreach ($presences as $presence) {
+            // Salvo eventuale court_id (se presente e maggiore di 0)
+            if ($this->save_court_id > 0) {
+                $presence->court_id = $this->save_court_id;
+            }
+
+            // Salvo eventuale instructor_id (se presente e maggiore di 0)
+            if ($this->save_instructor_id > 0) {
+                $presence->instructor_id = $this->save_instructor_id;
+            }
+
+            // Salvo eventuali note (se non vuote)
+            if ($this->save_notes != '') {
+                $presence->notes = $this->save_notes;
+            }
+
+            $presence->save();
+        }
+
+        $this->emit('setSaving');
+    }
+
     public function cancel($ids, $motivation_id)
     {
 

+ 18 - 3
resources/views/livewire/presence.blade.php

@@ -208,6 +208,9 @@
             @if(!$manual)
             <button type="button" class="btn--ui btSave" onclick="saveAndStay()">Salva presenze</button>
             @endif
+            @if($manual)
+            <button type="button" class="btn--ui btSave" onclick="saveManualCalendar()">Salva presenze</button>
+            @endif
         </div>
         <div class="col-xs-12 mt-2">
             <div class="showDelete" style="float:left;display:none;">
@@ -632,6 +635,7 @@
         }
 
         let stay = false;
+        let manual = false;
         function saveAndQuit()
         {
             stay = false;
@@ -646,6 +650,13 @@
             $('#editPresencesModal').modal("show");
         }
 
+        function saveManualCalendar()
+        {
+            manual = true;
+
+            $('#editPresencesModal').modal("show");
+        }
+
         function save()
         {   
             let presence_ids = [];
@@ -670,10 +681,14 @@
             var save_notes = $("#save_notes").val();
             @this.set('save_notes', save_notes);
 
-            if (stay == true) {
-                @this.saveAndStay(presence_ids);
+            if (manual == true) {
+                @this.saveManualCalendar();
             } else {
-                @this.save(presence_ids);
+                if (stay == true) {
+                    @this.saveAndStay(presence_ids);
+                } else {
+                    @this.save(presence_ids);
+                }
             }
             
             $('#editPresencesModal').modal("hide");