|
|
@@ -150,7 +150,9 @@ class Member extends Component
|
|
|
public $tabOrder = ['dati', 'tesseramento', 'corsi', 'gruppi'];
|
|
|
|
|
|
public $presenceYears = [];
|
|
|
+ public $presenceYearFilter = '';
|
|
|
public $presenceTitle = [];
|
|
|
+ public $presenceTitleFilter = '';
|
|
|
public $member_presences = [];
|
|
|
|
|
|
public $totals = 0;
|
|
|
@@ -753,6 +755,8 @@ class Member extends Component
|
|
|
public function loadMemberPresences()
|
|
|
{
|
|
|
|
|
|
+ $this->loadCombo();
|
|
|
+
|
|
|
$this->member_presences = [];
|
|
|
|
|
|
// Carico tutti i calendar_id delle presenza
|
|
|
@@ -760,8 +764,17 @@ class Member extends Component
|
|
|
$presences_annullate = \App\Models\Presence::where('member_id', $this->dataId)->where('status', 99)->pluck('calendar_id')->toArray();
|
|
|
|
|
|
$course_ids = array();
|
|
|
+
|
|
|
// Tutti i calendari
|
|
|
- $calendars = \App\Models\Calendar::whereNull('manual')->orderBy('from')->get();
|
|
|
+ if ($this->presenceYearFilter == '' && sizeof($this->presenceYears) > 0)
|
|
|
+ $this->presenceYearFilter = $this->presenceYears[0];
|
|
|
+
|
|
|
+ if ($this->presenceTitleFilter == '' && sizeof($this->presenceTitle) > 0)
|
|
|
+ $this->presenceTitleFilter = $this->presenceTitle[0];
|
|
|
+
|
|
|
+ $curses_ids = \App\Models\Course::where('year', $this->presenceYearFilter)->pluck('id')->toArray();
|
|
|
+
|
|
|
+ $calendars = \App\Models\Calendar::whereNull('manual')->whereIn('course_id', $curses_ids)->where('name', $this->presenceTitleFilter)->orderBy('from')->get();
|
|
|
|
|
|
$this->totals = 0;
|
|
|
$this->presenze = 0;
|
|
|
@@ -824,11 +837,11 @@ class Member extends Component
|
|
|
}
|
|
|
|
|
|
// Manuali (recuperi)
|
|
|
- $calendar_recuperi = \App\Models\Calendar::where('manual', 1)->pluck('id')->toArray();
|
|
|
+ $calendar_recuperi = \App\Models\Calendar::where('manual', 1)->where('name', $this->presenceTitleFilter)->pluck('id')->toArray();
|
|
|
$presences_recuperi = \App\Models\Presence::whereIn('calendar_id', $calendar_recuperi)->where('member_id', $this->dataId)->get();
|
|
|
foreach($presences_recuperi as $p)
|
|
|
{
|
|
|
- $this->member_presences[] = array('calendar_id' => $p->calendar->id, 'from' => $p->calendar->from, 'to' => $p->calendar->to, 'status' => '<span style=\"color:violet\">Recupero</span>');//\App\Models\Presence::where('member_id', $this->dataId)->get();
|
|
|
+ $this->member_presences[] = array('calendar_id' => $p->calendar->id, 'from' => $p->calendar->from, 'to' => $p->calendar->to, 'status' => '<span style="color:violet">Recupero</span>');//\App\Models\Presence::where('member_id', $this->dataId)->get();
|
|
|
$this->recuperi += 1;
|
|
|
}
|
|
|
|
|
|
@@ -841,14 +854,52 @@ class Member extends Component
|
|
|
//usort($this->member_presences, $this->cmp);
|
|
|
//usort($this->member_presences, function ($a, $b) { return $a['from'] > $b['from']; });
|
|
|
|
|
|
- $this->presenceYears = \App\Models\Course::whereIn('id', $course_ids)->orderBy('year')->groupBy('year')->pluck('year')->toArray();
|
|
|
- $this->presenceTitle = \App\Models\Course::whereIn('id', $course_ids)->orderBy('name')->groupBy('name')->pluck('name')->toArray();
|
|
|
+ //$this->presenceYears = \App\Models\Course::whereIn('id', $course_ids)->orderBy('year')->groupBy('year')->pluck('year')->toArray();
|
|
|
+ //if (sizeof($this->presenceYears) > 0)
|
|
|
+ // $this->presenceYearFilter = $this->presenceYears[0];
|
|
|
+ //$this->presenceTitle = \App\Models\Course::whereIn('id', $course_ids)->orderBy('name')->groupBy('name')->pluck('name')->toArray();
|
|
|
|
|
|
|
|
|
// return view('livewire.member');
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ public function loadCombo()
|
|
|
+ {
|
|
|
+ $course_ids = array();
|
|
|
+
|
|
|
+ $calendars = \App\Models\Calendar::whereNull('manual')->orderBy('from')->get();
|
|
|
+
|
|
|
+ foreach($calendars as $calendar)
|
|
|
+ {
|
|
|
+ $days = ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'];
|
|
|
+ $dow = date('w', strtotime($calendar->from));
|
|
|
+ $d = $days[$dow];
|
|
|
+
|
|
|
+ // Elenco corsi per tipologia in base al calendario
|
|
|
+ $courses = \App\Models\Course::where('name', $calendar->name)->where('date_from', '<=', $calendar->from)->where('date_to', '>=', $calendar->to)->pluck('id')->toArray();
|
|
|
+
|
|
|
+ //$courses = array(1);
|
|
|
+ foreach($courses as $c)
|
|
|
+ {
|
|
|
+ $course_ids[] = $c;
|
|
|
+ }
|
|
|
+
|
|
|
+ //$course_ids = array_push($course_ids, $courses);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // Manuali (recuperi)
|
|
|
+ $calendar_recuperi = \App\Models\Calendar::where('manual', 1)->pluck('name')->toArray();
|
|
|
+
|
|
|
+ $this->presenceYears = \App\Models\Course::whereIn('id', $course_ids)->orderBy('year')->groupBy('year')->pluck('year')->toArray();
|
|
|
+ $this->presenceTitle = \App\Models\Course::whereIn('id', $course_ids)->orderBy('name')->groupBy('name')->pluck('name')->toArray();
|
|
|
+
|
|
|
+ foreach($calendar_recuperi as $cr)
|
|
|
+ {
|
|
|
+ $this->presenceTitle[] = $cr;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
public function showDetailF($id)
|
|
|
{
|