|
|
@@ -50,25 +50,24 @@ class Presence extends Component
|
|
|
$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_add = \App\Models\Motivation::select('*')->where('enabled', true)->where('type', 'add')->get();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- public function updatedNewMemberMotivationId() {
|
|
|
+ public function updatedNewMemberMotivationId()
|
|
|
+ {
|
|
|
$this->emit('reload');
|
|
|
}
|
|
|
|
|
|
public function render()
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
$this->records = [];
|
|
|
|
|
|
setlocale(LC_ALL, 'it_IT');
|
|
|
|
|
|
$presenceMembers = [];
|
|
|
|
|
|
- if (!$this->manual)
|
|
|
- {
|
|
|
-
|
|
|
+ if (!$this->manual) {
|
|
|
+
|
|
|
// Carco tutti gli iscritti a un corso padre in quel giorno con un range orario simile
|
|
|
$days = ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'];
|
|
|
$dow = date('w', strtotime($this->calendar->from));
|
|
|
@@ -83,51 +82,43 @@ class Presence extends Component
|
|
|
// Elenco utenti iscritti al corso "padre"
|
|
|
$members_courses = \App\Models\MemberCourse::where('when', 'like', "%" . $d . "%")->where('when', 'like', '%"from":"' . $h . '"%')->whereIn('course_id', $courses)->pluck('member_id')->toArray();
|
|
|
|
|
|
- if ($this->filter != '')
|
|
|
- {
|
|
|
+ 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
|
|
|
+ } 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();
|
|
|
// $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;
|
|
|
//$this->member_ids[] = $member->id;
|
|
|
$this->records[] = $this->getMember($member);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
// Aggiungo i membri iscritti
|
|
|
$members_presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->whereNotIn('member_id', $presenceMembers)->pluck('member_id')->toArray();
|
|
|
|
|
|
- if ($this->filter != '')
|
|
|
- {
|
|
|
+ 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
|
|
|
+ } 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);
|
|
|
}
|
|
|
|
|
|
- foreach($this->newMembers as $m)
|
|
|
- {
|
|
|
+ foreach ($this->newMembers as $m) {
|
|
|
$member = \App\Models\Member::findOrFail($m);
|
|
|
//$this->member_ids[] = $member->id;
|
|
|
$this->records[] = $this->getMember($member);
|
|
|
@@ -157,8 +148,7 @@ class Presence extends Component
|
|
|
|
|
|
$certificate = '';
|
|
|
$y = "|";
|
|
|
- if ($latestCert)
|
|
|
- {
|
|
|
+ if ($latestCert) {
|
|
|
$latest_date = $latestCert->expire_date;
|
|
|
$status = '';
|
|
|
if ($latest_date < date("Y-m-d")) {
|
|
|
@@ -177,30 +167,31 @@ class Presence extends Component
|
|
|
$status = 0;
|
|
|
|
|
|
$has_presence = \App\Models\Presence::where('calendar_id', $this->calendar->id)->where('member_id', $member->id)->first();
|
|
|
- if ($has_presence)
|
|
|
- {
|
|
|
+ if ($has_presence) {
|
|
|
$presence = true;
|
|
|
$my_presence = $has_presence->user_id == \Auth::user()->id;
|
|
|
- if ($has_presence->motivation_id > 0)
|
|
|
- {
|
|
|
+ if ($has_presence->motivation_id > 0) {
|
|
|
$motivation = \App\Models\Motivation::findOrFail($has_presence->motivation_id)->name;
|
|
|
}
|
|
|
$status = $has_presence->status;
|
|
|
}
|
|
|
|
|
|
- if (in_array($member->id, $this->newMembers))
|
|
|
- {
|
|
|
+ if (in_array($member->id, $this->newMembers)) {
|
|
|
$presence = true;
|
|
|
$my_presence = true;
|
|
|
}
|
|
|
|
|
|
return array('id' => $member->id, 'first_name' => $member->first_name, 'last_name' => $member->last_name, 'certificate' => $y, 'presence' => $presence, 'my_presence' => $my_presence, 'status' => $status, 'motivation' => $motivation);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public function save($ids)
|
|
|
{
|
|
|
+ $this->saveAndStay($ids);
|
|
|
+ return redirect()->to('/calendar');
|
|
|
+ }
|
|
|
|
|
|
+ public function saveAndStay($ids)
|
|
|
+ {
|
|
|
$this->calendar->court_id = $this->court_id;
|
|
|
$this->calendar->instructor_id = $this->instructor_id;
|
|
|
$this->calendar->note = $this->note;
|
|
|
@@ -212,13 +203,11 @@ class Presence extends Component
|
|
|
|
|
|
$x = \App\Models\Presence::where('calendar_id', $this->calendar->id)->where('user_id', \Auth::user()->id)->where('status', '<>', 99)->first();
|
|
|
$mid = null;
|
|
|
- if ($x)
|
|
|
- {
|
|
|
+ if ($x) {
|
|
|
$mid = $x->motivation_id;
|
|
|
$x->delete();
|
|
|
}
|
|
|
- foreach($ids as $id)
|
|
|
- {
|
|
|
+ foreach ($ids as $id) {
|
|
|
$p = new \App\Models\Presence();
|
|
|
$p->member_id = $id;
|
|
|
$p->calendar_id = $this->calendar->id;
|
|
|
@@ -228,22 +217,18 @@ class Presence extends Component
|
|
|
$p->save();
|
|
|
}
|
|
|
$this->emit('setSaving');
|
|
|
- return redirect()->to('/calendar');
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public function cancel($ids, $motivation_id)
|
|
|
{
|
|
|
|
|
|
$presences = \App\Models\Presence::where('calendar_id', $this->calendar->id)->whereIn('member_id', $ids)->get();
|
|
|
- foreach($presences as $presence)
|
|
|
- {
|
|
|
+ foreach ($presences as $presence) {
|
|
|
$presence->motivation_id = $motivation_id;
|
|
|
$presence->status = 99;
|
|
|
$presence->save();
|
|
|
}
|
|
|
return redirect()->to('/presences?calendarId=' . $this->calendar->id);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public function addMember($ids)
|
|
|
@@ -252,11 +237,10 @@ class Presence extends Component
|
|
|
$this->added = true;
|
|
|
//if (!in_array($id, $this->newMembers))
|
|
|
// $this->newMembers[] = $id;
|
|
|
-
|
|
|
+
|
|
|
$this->member_ids = $ids;
|
|
|
|
|
|
$this->emit('reload');
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public function cancelCalendar()
|
|
|
@@ -270,8 +254,7 @@ class Presence extends Component
|
|
|
public function createMember()
|
|
|
{
|
|
|
|
|
|
- if (!$this->added)
|
|
|
- {
|
|
|
+ if (!$this->added) {
|
|
|
$this->newMemberFiscalCodeExist = false;
|
|
|
$this->validate([
|
|
|
"newMemberMotivationId" => 'required',
|
|
|
@@ -285,13 +268,11 @@ class Presence extends Component
|
|
|
|
|
|
// Check fiscal code exist
|
|
|
$exist = false;
|
|
|
- if ($this->newMemberFiscalCode != '')
|
|
|
- {
|
|
|
+ if ($this->newMemberFiscalCode != '') {
|
|
|
$check = \App\Models\Member::where('fiscal_code', $this->newMemberFiscalCode)->get();
|
|
|
$exist = $check->count() > 0;
|
|
|
}
|
|
|
- if (!$exist)
|
|
|
- {
|
|
|
+ if (!$exist) {
|
|
|
$member = \App\Models\Member::create([
|
|
|
'first_name' => strtoupper($this->newMemberFirstName),
|
|
|
'last_name' => strtoupper($this->newMemberLastName),
|
|
|
@@ -311,42 +292,36 @@ class Presence extends Component
|
|
|
$p->user_id = \Auth::user()->id;
|
|
|
$p->status = 0;
|
|
|
$p->save();
|
|
|
-
|
|
|
+
|
|
|
$this->emit('reload');
|
|
|
$this->emit('saved');
|
|
|
/*$this->newMemberFirstName = '';
|
|
|
$this->newMemberLastName = '';
|
|
|
$this->newMemberEmail = '';
|
|
|
$this->newMemberFiscalCode = '';*/
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
$this->newMemberFiscalCodeExist = true;
|
|
|
}
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ } else {
|
|
|
|
|
|
- if ($this->member_ids != null)
|
|
|
- {
|
|
|
+ if ($this->member_ids != null) {
|
|
|
$this->validate([
|
|
|
"newMemberMotivationId" => 'required',
|
|
|
]);
|
|
|
- foreach($this->member_ids as $m)
|
|
|
- {
|
|
|
+ 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->motivation_id = $this->newMemberMotivationId;
|
|
|
- $p->user_id = \Auth::user()->id;
|
|
|
- $p->status = 0;
|
|
|
- $p->save();
|
|
|
- //}
|
|
|
+ //\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->motivation_id = $this->newMemberMotivationId;
|
|
|
+ $p->user_id = \Auth::user()->id;
|
|
|
+ $p->status = 0;
|
|
|
+ $p->save();
|
|
|
+ //}
|
|
|
/*}
|
|
|
else
|
|
|
{
|
|
|
@@ -359,7 +334,7 @@ class Presence extends Component
|
|
|
//$this->member_id = 0;
|
|
|
$this->member_ids = [];
|
|
|
$this->added = false;
|
|
|
-
|
|
|
+
|
|
|
$this->emit('reload');
|
|
|
$this->emit('saved');
|
|
|
}
|
|
|
@@ -367,7 +342,7 @@ class Presence extends Component
|
|
|
|
|
|
public function createInstructor()
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
$user = \App\Models\User::create([
|
|
|
'name' => $this->userName,
|
|
|
'email' => $this->userEmail,
|
|
|
@@ -378,8 +353,7 @@ class Presence extends Component
|
|
|
|
|
|
$this->instructor_id = $user->id;
|
|
|
$this->instructors = \App\Models\User::select('*')->where('level', 2)->where('enabled', true)->get();
|
|
|
- $this->emit('saved');
|
|
|
-
|
|
|
+ $this->emit('saved');
|
|
|
}
|
|
|
|
|
|
public function removeSingle($id)
|
|
|
@@ -387,16 +361,14 @@ class Presence extends Component
|
|
|
|
|
|
\App\Models\Presence::where('calendar_id', $this->calendar->id)->where('member_id', $id)->delete();
|
|
|
$this->emit('reload');
|
|
|
-
|
|
|
}
|
|
|
|
|
|
public function revert($id)
|
|
|
{
|
|
|
-
|
|
|
$p = \App\Models\Presence::where('calendar_id', $this->calendar->id)->where('member_id', $id)->first();
|
|
|
+ $p->motivation_id = null;
|
|
|
$p->status = 0;
|
|
|
$p->save();
|
|
|
$this->emit('reload');
|
|
|
-
|
|
|
}
|
|
|
}
|