member_id = isset($_GET["member_id"]) ? $_GET["member_id"] : 0; $this->member_course_id = isset($_GET["member_course_id"]) ? $_GET["member_course_id"] : 0; if ($this->member_id > 0 && $this->member_course_id > 0) { $this->mc = \App\Models\MemberCourse::findOrFail($this->member_course_id); $this->detail = $this->mc->member->first_name . " " . $this->mc->member->last_name; $this->price_list = []; $c = $this->mc->course; if ($c->prices != null) { foreach(json_decode($c->prices) as $z) { $this->price_list[$z->course_subscription_id] = $z->price; } } $course_subscription_ids = []; if ($c->prices != null) { foreach (json_decode($c->prices) as $z) { if ($z->price > 0) $course_subscription_ids[] = $z->course_subscription_id; } } $this->course_subscriptions = \App\Models\CourseSubscription::select('*')->whereIn('id', $course_subscription_ids)->where('enabled', true)->get(); } //$this->course_subscriptions = \App\Models\CourseSubscription::select('*')->where('enabled', true)->get(); } public function render() { /*if ($this->hasFilter) { $r = \App\Models\Receipt::with('member'); if ($this->filterStatus != '') $r = $r->where('status', $this->filterStatus); if ($this->filterFrom != '') $r = $r->where('date', '>=', $this->filterFrom); if ($this->filterTo != '') $r = $r->where('date', '<=', $this->filterTo); if ($this->filteredMemberId != '') $r = $r->where('member_id', $this->filteredMemberId); $this->records = $r->get(); } else {*/ $this->records = \App\Models\Rate::with('member')->where('member_course_id', $this->member_course_id)->orderBy('date')->get(); //} $this->disabled = []; foreach($this->records as $r) { foreach (json_decode($r->months) as $m) { $this->disabled[] = $m; } } //$this->emit('load-data-table'); return view('livewire.rate'); } public function updatedCourseSubscriptionId() { $this->price = 0; if (isset($this->price_list[$this->course_subscription_id])) $this->price = $this->price_list[$this->course_subscription_id]; $this->type = ''; if ($this->course_subscription_id > 0) $this->type = \App\Models\CourseSubscription::findOrFail($this->course_subscription_id)->months; } public function add() { $this->errorMsg = ''; if ($this->date == '') { $this->errorMsg = 'La data di scadenza รจ obbligatoria'; } else { if (!$this->course_subscription_id > 0) { $this->errorMsg = 'Devi selezionare un tipo di abbonamento'; } else { if ($this->type > 1 && $this->type != sizeof($this->months)) { $this->errorMsg = 'Hai selezionato un numero di mesi errato in base all\'abbonamento selezionato' . $this->type .'.'. sizeof($this->months); } else { $rate = new \App\Models\Rate(); $rate->member_id = $this->member_id; $rate->member_course_id = $this->member_course_id; $rate->course_subscription_id = $this->course_subscription_id; $rate->price = currencyToDouble($this->price); $rate->date = $this->date; if ($this->type == '1') $this->months[] = $this->month; $rate->months = json_encode($this->months); $rate->note = ''; $rate->status = 0; $rate->save(); $this->course_subscription_id = null; $this->price = 0; $this->date = null; $this->month = ''; $this->months = []; $this->emit('close-popup'); } } } } public function printReceipt($id) { $this->emit('load-data-table'); $receipt = \App\Models\Receipt::findOrFail($id); //$pdf = PDF::loadView('pdf/receipt', array('datas' => $datas, 'from' => $x, 'to' => $y, 'who' => '', 'matricola' => $matricola)); $pdf = PDF::loadView('receipt', array('receipt' => $receipt));//->output(); return $pdf->stream('aaa.pdf'); } public function search() { $this->hasFilter = true; } public function disableSearch() { $this->filterStatus = ""; $this->filterTo = ''; $this->filterFrom = ''; $this->filteredMemberId = ''; $this->hasFilter = false; } public function delete($id) { try{ \App\Models\Rate::find($id)->delete(); //$this->emit('load-data-table'); session()->flash('success',"Rata eliminata"); }catch(\Exception $e){ session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function deleteMultiple($ids) { try{ foreach($ids as $id) { \App\Models\Rate::find($id)->delete(); } //$this->emit('load-data-table'); session()->flash('success',"Rata eliminata"); }catch(\Exception $e){ session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function suspendMultiple($ids) { try{ foreach($ids as $id) { $r = \App\Models\Rate::find($id); $r->status = $r->status == 2 ? 0 : 2; $r->save(); } //$this->emit('load-data-table'); session()->flash('success',"Rata eliminata"); }catch(\Exception $e){ session()->flash('error','Errore (' . $ex->getMessage() . ')'); } } public function addDeleteMonth($m) { if (!in_array($m, $this->months)) { $this->months[] = $m; } else { if (($key = array_search($m, $this->months)) !== false) { $this->months = array_slice($this->months, $key, 1); } } } }