Explorar el Código

calendar_settings - controllo corsi eliminati

ferrari hace 3 semanas
padre
commit
21677925c1
Se han modificado 1 ficheros con 10 adiciones y 2 borrados
  1. 10 2
      app/Http/Livewire/CalendarSettings.php

+ 10 - 2
app/Http/Livewire/CalendarSettings.php

@@ -21,9 +21,11 @@ class CalendarSettings extends Component
     {
         $this->changed = false;
 
-        $courses = \App\Models\Course::select('name')->groupBy('name')->orderBy('name', 'asc')->get();
+        $course_names = [];
+        $courses = \App\Models\Course::select('name')->where('enabled', true)->groupBy('name')->orderBy('name', 'asc')->get();
         foreach ($courses as $course) {
             $name = $course->name;
+            array_push($course_names, $name);
             if (!\App\Models\CourseColor::where('name', $name)->exists()) {
                 \App\Models\CourseColor::create([
                     'name' => $name,
@@ -31,9 +33,15 @@ class CalendarSettings extends Component
                 ]);
             }
         }
+        $course_names = array_values(array_unique($course_names));
 
         $this->course_colors = \App\Models\CourseColor::get();
-        foreach ($this->course_colors as $color) {
+        foreach ($this->course_colors as $index => $color) {
+            if (!in_array($color->name, $course_names)) {
+                unset($this->course_colors[$index]);
+                continue;
+            }
+
             $this->colors[$color->id] = $color->hex;
         }
     }