|
@@ -11,6 +11,8 @@ class Presence extends Component
|
|
|
|
|
|
|
|
public $records;
|
|
public $records;
|
|
|
|
|
|
|
|
|
|
+ public $member_ids = [];
|
|
|
|
|
+
|
|
|
public $court_id, $instructor_id, $motivation_id, $motivation_manual_id, $note, $manual;
|
|
public $court_id, $instructor_id, $motivation_id, $motivation_manual_id, $note, $manual;
|
|
|
|
|
|
|
|
public $newMemberFirstName, $newMemberLastName, $newMemberEmail, $newMemberToComplete, $newMemberFiscalCode, $newMemberFiscalCodeExist, $newMemberMotivationId;
|
|
public $newMemberFirstName, $newMemberLastName, $newMemberEmail, $newMemberToComplete, $newMemberFiscalCode, $newMemberFiscalCodeExist, $newMemberMotivationId;
|
|
@@ -19,6 +21,8 @@ class Presence extends Component
|
|
|
|
|
|
|
|
public $added = false;
|
|
public $added = false;
|
|
|
|
|
|
|
|
|
|
+ public $filter = '';
|
|
|
|
|
+
|
|
|
public $courts = [];
|
|
public $courts = [];
|
|
|
public $instructors = [];
|
|
public $instructors = [];
|
|
|
public $motivations = [];
|
|
public $motivations = [];
|
|
@@ -32,17 +36,25 @@ class Presence extends Component
|
|
|
|
|
|
|
|
public function mount()
|
|
public function mount()
|
|
|
{
|
|
{
|
|
|
|
|
+
|
|
|
|
|
+ setlocale(LC_ALL, 'it_IT');
|
|
|
|
|
+
|
|
|
$this->calendar = \App\Models\Calendar::findOrFail($_GET["calendarId"]);
|
|
$this->calendar = \App\Models\Calendar::findOrFail($_GET["calendarId"]);
|
|
|
$this->court_id = $this->calendar->court_id;
|
|
$this->court_id = $this->calendar->court_id;
|
|
|
$this->instructor_id = $this->calendar->instructor_id;
|
|
$this->instructor_id = $this->calendar->instructor_id;
|
|
|
$this->motivation_manual_id = $this->calendar->motivation_manual_id;
|
|
$this->motivation_manual_id = $this->calendar->motivation_manual_id;
|
|
|
$this->manual = $this->calendar->manual;
|
|
$this->manual = $this->calendar->manual;
|
|
|
|
|
+ $this->members = \App\Models\Member::select(['id', 'first_name', 'last_name', 'fiscal_code'])->orderBy('last_name')->orderBy('first_name')->get();
|
|
|
$this->note = $this->calendar->note;
|
|
$this->note = $this->calendar->note;
|
|
|
$this->courts = \App\Models\Court::select('*')->where('enabled', true)->get();
|
|
$this->courts = \App\Models\Court::select('*')->where('enabled', true)->get();
|
|
|
$this->instructors = \App\Models\User::select('*')->where('level', 2)->where('enabled', true)->get();
|
|
$this->instructors = \App\Models\User::select('*')->where('level', 2)->where('enabled', true)->get();
|
|
|
$this->motivations = \App\Models\Motivation::select('*')->where('enabled', true)->where('type', 'del')->get();
|
|
$this->motivations = \App\Models\Motivation::select('*')->where('enabled', true)->where('type', 'del')->get();
|
|
|
$this->motivations_add = \App\Models\Motivation::select('*')->where('enabled', true)->where('type', 'add')->get();
|
|
$this->motivations_add = \App\Models\Motivation::select('*')->where('enabled', true)->where('type', 'add')->get();
|
|
|
- $this->members = \App\Models\Member::select(['id', 'first_name', 'last_name', 'fiscal_code'])->orderBy('last_name')->orderBy('first_name')->get();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function updatedNewMemberMotivationId() {
|
|
|
|
|
+ $this->emit('reload');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function render()
|
|
public function render()
|
|
@@ -50,6 +62,8 @@ class Presence extends Component
|
|
|
|
|
|
|
|
$this->records = [];
|
|
$this->records = [];
|
|
|
|
|
|
|
|
|
|
+ setlocale(LC_ALL, 'it_IT');
|
|
|
|
|
+
|
|
|
$presenceMembers = [];
|
|
$presenceMembers = [];
|
|
|
|
|
|
|
|
if (!$this->manual)
|
|
if (!$this->manual)
|
|
@@ -66,15 +80,24 @@ class Presence extends Component
|
|
|
// Elenco utenti iscritti al corso "padre"
|
|
// Elenco utenti iscritti al corso "padre"
|
|
|
$members_courses = \App\Models\MemberCourse::where('when', 'like', "%" . $d . "%")->whereIn('course_id', $courses)->pluck('member_id')->toArray();
|
|
$members_courses = \App\Models\MemberCourse::where('when', 'like', "%" . $d . "%")->whereIn('course_id', $courses)->pluck('member_id')->toArray();
|
|
|
|
|
|
|
|
- $members = \App\Models\Member::whereIn('id', $members_courses)->orderBy('last_name')->orderBy('first_name')->get();
|
|
|
|
|
|
|
+ if ($this->filter != '')
|
|
|
|
|
+ {
|
|
|
|
|
+ $filter = $this->filter;
|
|
|
|
|
+ $members = \App\Models\Member::whereIn('id', $members_courses)->where(function ($query) use ($filter) {
|
|
|
|
|
+ $query->whereRaw("CONCAT(first_name, ' ', last_name) like '%" . $filter . "%'")
|
|
|
|
|
+ ->orWhereRaw("CONCAT(last_name, ' ', first_name) like '%" . $filter . "%'");
|
|
|
|
|
+ })->orderBy('last_name')->orderBy('first_name')->get();
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ $members = \App\Models\Member::whereIn('id', $members_courses)->orderBy('last_name')->orderBy('first_name')->get();
|
|
|
|
|
|
|
|
// $presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->pluck('member_id')->toArray();
|
|
// $presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->pluck('member_id')->toArray();
|
|
|
// $my_presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->where('user_id', \Auth::user()->id)->pluck('member_id')->toArray();
|
|
// $my_presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->where('user_id', \Auth::user()->id)->pluck('member_id')->toArray();
|
|
|
|
|
|
|
|
foreach($members as $member)
|
|
foreach($members as $member)
|
|
|
{
|
|
{
|
|
|
-
|
|
|
|
|
$presenceMembers[] = $member->id;
|
|
$presenceMembers[] = $member->id;
|
|
|
|
|
+ //$this->member_ids[] = $member->id;
|
|
|
$this->records[] = $this->getMember($member);
|
|
$this->records[] = $this->getMember($member);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -82,15 +105,28 @@ class Presence extends Component
|
|
|
|
|
|
|
|
// Aggiungo i membri iscritti
|
|
// Aggiungo i membri iscritti
|
|
|
$members_presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->whereNotIn('member_id', $presenceMembers)->pluck('member_id')->toArray();
|
|
$members_presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->whereNotIn('member_id', $presenceMembers)->pluck('member_id')->toArray();
|
|
|
- $members = \App\Models\Member::whereIn('id', $members_presences)->get();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if ($this->filter != '')
|
|
|
|
|
+ {
|
|
|
|
|
+ $filter = $this->filter;
|
|
|
|
|
+ $members = \App\Models\Member::whereIn('id', $members_presences)->where(function ($query) use ($filter) {
|
|
|
|
|
+ $query->whereRaw("CONCAT(first_name, ' ', last_name) like '%" . $filter . "%'")
|
|
|
|
|
+ ->orWhereRaw("CONCAT(last_name, ' ', first_name) like '%" . $filter . "%'");
|
|
|
|
|
+ })->get();
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ $members = \App\Models\Member::whereIn('id', $members_presences)->get();
|
|
|
|
|
+
|
|
|
foreach($members as $member)
|
|
foreach($members as $member)
|
|
|
{
|
|
{
|
|
|
|
|
+ //$this->member_ids[] = $member->id;
|
|
|
$this->records[] = $this->getMember($member);
|
|
$this->records[] = $this->getMember($member);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
foreach($this->newMembers as $m)
|
|
foreach($this->newMembers as $m)
|
|
|
{
|
|
{
|
|
|
$member = \App\Models\Member::findOrFail($m);
|
|
$member = \App\Models\Member::findOrFail($m);
|
|
|
|
|
+ //$this->member_ids[] = $member->id;
|
|
|
$this->records[] = $this->getMember($member);
|
|
$this->records[] = $this->getMember($member);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -102,6 +138,14 @@ class Presence extends Component
|
|
|
return view('livewire.presence');
|
|
return view('livewire.presence');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function getDateX()
|
|
|
|
|
+ {
|
|
|
|
|
+ setlocale(LC_ALL, 'it_IT');
|
|
|
|
|
+ $days = ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'];
|
|
|
|
|
+ $months = ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'];
|
|
|
|
|
+ return $days[date('w', strtotime($this->calendar->from))] . " " . date("d", strtotime($this->calendar->from)) . " " . $months[date("n", strtotime($this->calendar->from)) - 1];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public function getMember($member)
|
|
public function getMember($member)
|
|
|
{
|
|
{
|
|
|
$latestCert = \App\Models\MemberCertificate::where('member_id', $member->id)
|
|
$latestCert = \App\Models\MemberCertificate::where('member_id', $member->id)
|
|
@@ -162,6 +206,7 @@ class Presence extends Component
|
|
|
$p->status = 0;
|
|
$p->status = 0;
|
|
|
$p->save();
|
|
$p->save();
|
|
|
}
|
|
}
|
|
|
|
|
+ $this->emit('setSaving');
|
|
|
return redirect()->to('/calendar');
|
|
return redirect()->to('/calendar');
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -180,13 +225,15 @@ class Presence extends Component
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function addMember($id)
|
|
|
|
|
|
|
+ public function addMember($ids)
|
|
|
{
|
|
{
|
|
|
|
|
|
|
|
$this->added = true;
|
|
$this->added = true;
|
|
|
//if (!in_array($id, $this->newMembers))
|
|
//if (!in_array($id, $this->newMembers))
|
|
|
// $this->newMembers[] = $id;
|
|
// $this->newMembers[] = $id;
|
|
|
- $this->member_id = $id;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ $this->member_ids = $ids;
|
|
|
|
|
+
|
|
|
$this->emit('reload');
|
|
$this->emit('reload');
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -242,11 +289,33 @@ class Presence extends Component
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- if (!in_array($this->member_id, $this->newMembers))
|
|
|
|
|
- $this->newMembers[] = $this->member_id;
|
|
|
|
|
- $this->member_id = 0;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ foreach($this->member_ids as $m)
|
|
|
|
|
+ {
|
|
|
|
|
+ if ($this->manual)
|
|
|
|
|
+ {
|
|
|
|
|
+ //\App\Models\Presence::where('calendar_id', $this->calendar->id)->where('user_id', \Auth::user()->id)->where('status', '<>', 99)->delete();
|
|
|
|
|
+ //foreach($ids as $id)
|
|
|
|
|
+ //{
|
|
|
|
|
+ $p = new \App\Models\Presence();
|
|
|
|
|
+ $p->member_id = $m;
|
|
|
|
|
+ $p->calendar_id = $this->calendar->id;
|
|
|
|
|
+ $p->user_id = \Auth::user()->id;
|
|
|
|
|
+ $p->status = 0;
|
|
|
|
|
+ $p->save();
|
|
|
|
|
+ //}
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ if (!in_array($m, $this->newMembers))
|
|
|
|
|
+ $this->newMembers[] = $m;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //$this->member_id = 0;
|
|
|
|
|
+ $this->member_ids = [];
|
|
|
$this->added = false;
|
|
$this->added = false;
|
|
|
- $this->emit('reload');
|
|
|
|
|
|
|
+ //$this->emit('reload');
|
|
|
$this->emit('saved');
|
|
$this->emit('saved');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -268,5 +337,11 @@ class Presence extends Component
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function removeSingle($id)
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ \App\Models\Presence::where('calendar_id', $this->calendar->id)->where('member_id', $id)->delete();
|
|
|
|
|
+ $this->emit('reload');
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|