| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- <?php
- namespace App\Http\Livewire;
- use Livewire\Component;
- class Reminder extends Component
- {
- public $records, $dataId;
- public $filterC = true;
- public $filterT = true;
- public $hasFilter = false;
- public $filterFrom = '', $filterTo = '';
- public $sortField ='date';
- public $sortAsc = true;
- public function mount()
- {
- }
- public function sortBy($field)
- {
- if($this->sortField === $field)
- {
- $this->sortAsc = ! $this->sortAsc;
- } else {
- $this->sortAsc = true;
- }
- $this->sortField = $field;
- }
- public function render()
- {
- $data = [];
- if ($this->filterT)
- {
- $member_cards = \App\Models\MemberCard::with('member')->where('expire_date', '>', date("y-m-d"));
- if ($this->filterFrom != '')
- $member_cards = $member_cards->where('expire_date', '>=', $this->filterFrom);
- if ($this->filterTo != '')
- $member_cards = $member_cards->where('expire_date', '<=', $this->filterTo);
- $member_cards = $member_cards->orderBy('expire_date')->get();
- foreach($member_cards as $member_card)
- {
- $data[] = array('type' => 'Tessera', 'name' => $member_card->member->first_name . " " . $member_card->member->last_name, 'date' => $member_card->expire_date);
- }
- }
- if ($this->filterC)
- {
- $member_certificates = \App\Models\MemberCertificate::with('member')->where('expire_date', '>', date("y-m-d"));
- if ($this->filterFrom != '')
- $member_certificates = $member_certificates->where('expire_date', '>=', $this->filterFrom);
- if ($this->filterTo != '')
- $member_certificates = $member_certificates->where('expire_date', '<=', $this->filterTo);
- $member_certificates = $member_certificates->orderBy('expire_date')->get();
- foreach($member_certificates as $member_certificate)
- {
- $data[] = array('type' => 'Certificato', 'name' => $member_certificate->member->first_name . " " . $member_certificate->member->last_name, 'date' => $member_certificate->expire_date);
- }
- }
- /*
- if ($this->hasFilter)
- {
- if ($this->filterT)
- {
- $member_cards = \App\Models\MemberCard::with('member')->where('expire_date', '>', date("y-m-d"));
- if ($this->filterFrom != '')
- $member_cards = $member_cards->where('expire_date', '>=', $this->filterFrom);
- if ($this->filterTo != '')
- $member_cards = $member_cards->where('expire_date', '<=', $this->filterTo);
- $member_cards = $member_cards->orderBy('expire_date')->get();
- foreach($member_cards as $member_card)
- {
- $this->records[] = array('type' => 'Tessera', 'name' => $member_card->member->first_name . " " . $member_card->member->last_name, 'date' => $member_card->expire_date);
- }
- }
- if ($this->filterC)
- {
- $member_certificates = \App\Models\MemberCertificate::with('member')->where('expire_date', '>', date("y-m-d"));
- if ($this->filterFrom != '')
- $member_certificates = $member_certificates->where('expire_date', '>=', $this->filterFrom);
- if ($this->filterTo != '')
- $member_certificates = $member_certificates->where('expire_date', '<=', $this->filterTo);
- $member_certificates = $member_certificates->orderBy('expire_date')->get();
- foreach($member_certificates as $member_certificate)
- {
- $this->records[] = array('type' => 'Certificato', 'name' => $member_certificate->member->first_name . " " . $member_certificate->member->last_name, 'date' => $member_certificate->expire_date);
- }
- }
- }
- else
- {
- $member_cards = \App\Models\MemberCard::with('member')->where('expire_date', '>', date("y-m-d"));
- if ($this->filterFrom != '')
- $member_cards = $member_cards->where('expire_date', '>=', $this->filterFrom);
- if ($this->filterTo != '')
- $member_cards = $member_cards->where('expire_date', '<=', $this->filterTo);
- $member_cards = $member_cards->orderBy('expire_date')->get();
- foreach($member_cards as $member_card)
- {
- $this->records[] = array('type' => 'Tessera', 'name' => $member_card->member->first_name . " " . $member_card->member->last_name, 'date' => $member_card->expire_date);
- }
- $member_certificates = \App\Models\MemberCertificate::with('member')->where('expire_date', '>', date("y-m-d"));
- if ($this->filterFrom != '')
- $member_certificates = $member_certificates->where('expire_date', '>=', $this->filterFrom);
- if ($this->filterTo != '')
- $member_certificates = $member_certificates->where('expire_date', '<=', $this->filterTo);
- $member_certificates = $member_certificates->orderBy('expire_date')->get();
- foreach($member_certificates as $member_certificate)
- {
- $this->records[] = array('type' => 'Certificato', 'name' => $member_certificate->member->first_name . " " . $member_certificate->member->last_name, 'date' => $member_certificate->expire_date);
- }
- }*/
- if ($data)
- {
- $key_values = array_column($data, 'date');
- array_multisort($key_values, SORT_ASC, $data);
- $this->records = $data;
- }
- else
- {
- $this->records = [];
- }
- /*if ($this->sortAsc)
- usort($this->records, function ($a, $b) {return $a[$this->sortField] > $b[$this->sortField];});
- else
- usort($this->records, function ($a, $b) {return $a[$this->sortField] < $b[$this->sortField];});*/
- return view('livewire.reminders');
- }
- public function search()
- {
- $this->hasFilter = true;
- }
- public function disableSearch()
- {
- $this->filterC = true;
- $this->filterT = true;
- $this->filterTo = '';
- $this->filterFrom = '';
- $this->hasFilter = false;
- }
- }
|