|
|
@@ -40,12 +40,16 @@ class Member extends Component
|
|
|
'city_id.required' => 'city_id',
|
|
|
'gender' => 'gender'
|
|
|
];
|
|
|
-
|
|
|
public function change($type)
|
|
|
{
|
|
|
$this->type = $type;
|
|
|
- }
|
|
|
|
|
|
+ if ($type === 'corsi' && $this->dataId > 0) {
|
|
|
+ $this->loadMemberCards();
|
|
|
+ $this->checkCourseAvailability();
|
|
|
+ }
|
|
|
+ $this->dispatchBrowserEvent('scroll-to-top');
|
|
|
+ }
|
|
|
public function sortBy($field)
|
|
|
{
|
|
|
if ($this->sortField === $field) {
|
|
|
@@ -1203,7 +1207,23 @@ class Member extends Component
|
|
|
$this->addCard = true;
|
|
|
$this->updateCard = false;
|
|
|
}
|
|
|
+ private function checkCourseAvailability()
|
|
|
+ {
|
|
|
+ $this->active = $this->getActiveStatus();
|
|
|
|
|
|
+ $this->emit('course-availability-updated');
|
|
|
+ }
|
|
|
+
|
|
|
+ private function getActiveStatus()
|
|
|
+ {
|
|
|
+ if ($this->dataId > 0) {
|
|
|
+ $member = \App\Models\Member::find($this->dataId);
|
|
|
+ if ($member) {
|
|
|
+ return $member->getStatus();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ["status" => 0, "date" => null];
|
|
|
+ }
|
|
|
public function storeCard()
|
|
|
{
|
|
|
|
|
|
@@ -1249,6 +1269,8 @@ class Member extends Component
|
|
|
session()->flash('success, Tesserato creato');
|
|
|
$this->resetCardFields();
|
|
|
$this->addCard = false;
|
|
|
+ $this->loadMemberCards();
|
|
|
+ $this->checkCourseAvailability();
|
|
|
} catch (\Exception $ex) {
|
|
|
session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
}
|
|
|
@@ -1283,7 +1305,7 @@ class Member extends Component
|
|
|
$this->validate(['card_card_id' => 'required']);
|
|
|
|
|
|
try {
|
|
|
- \Illuminate\Support\Facades\Log::info('Starting card update', [
|
|
|
+ Log::info('Starting card update', [
|
|
|
'member_id' => $this->dataId,
|
|
|
'card_id' => $this->card_card_id,
|
|
|
'card_number' => $this->card_number
|
|
|
@@ -1293,7 +1315,7 @@ class Member extends Component
|
|
|
if ($this->card_date != '') {
|
|
|
$card = \App\Models\Card::findOrFail($this->card_card_id);
|
|
|
|
|
|
- \Illuminate\Support\Facades\Log::info('Card details', [
|
|
|
+ Log::info('Card details', [
|
|
|
'card_id' => $card->id,
|
|
|
'next_day_expire' => $card->next_day_expire,
|
|
|
'next_month_expire' => $card->next_month_expire,
|
|
|
@@ -1318,7 +1340,7 @@ class Member extends Component
|
|
|
$expire_date = $next_exp_obj->format('Y-m-d');
|
|
|
}
|
|
|
|
|
|
- \Illuminate\Support\Facades\Log::info('Calculated expiration date (next_day_expire/next_month_expire rule)', [
|
|
|
+ Log::info('Calculated expiration date (next_day_expire/next_month_expire rule)', [
|
|
|
'input_date' => $this->card_date,
|
|
|
'next_exp' => $next_exp,
|
|
|
'expire_date' => $expire_date,
|
|
|
@@ -1328,7 +1350,7 @@ class Member extends Component
|
|
|
if ($card->one_year_expire) {
|
|
|
$expire_date = date("Y-m-d", strtotime($this->card_date . ' + 1 years'));
|
|
|
|
|
|
- \Illuminate\Support\Facades\Log::info('Calculated expiration date (one_year_expire rule)', [
|
|
|
+ Log::info('Calculated expiration date (one_year_expire rule)', [
|
|
|
'input_date' => $this->card_date,
|
|
|
'expire_date' => $expire_date
|
|
|
]);
|
|
|
@@ -1336,7 +1358,7 @@ class Member extends Component
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- \Illuminate\Support\Facades\Log::info('Updating member card', [
|
|
|
+ Log::info('Updating member card', [
|
|
|
'card_id' => $this->cardDataId,
|
|
|
'member_id' => $this->dataId,
|
|
|
'card_number' => $this->card_number,
|
|
|
@@ -1360,7 +1382,7 @@ class Member extends Component
|
|
|
|
|
|
updateMemberData($this->dataId);
|
|
|
|
|
|
- \Illuminate\Support\Facades\Log::info('Card updated successfully', [
|
|
|
+ Log::info('Card updated successfully', [
|
|
|
'card_id' => $this->cardDataId,
|
|
|
'member_id' => $this->dataId
|
|
|
]);
|
|
|
@@ -1368,8 +1390,10 @@ class Member extends Component
|
|
|
session()->flash('success', 'Tesserato aggiornato');
|
|
|
$this->resetCardFields();
|
|
|
$this->updateCard = false;
|
|
|
+ $this->loadMemberCards();
|
|
|
+ $this->checkCourseAvailability();
|
|
|
} catch (\Exception $ex) {
|
|
|
- \Illuminate\Support\Facades\Log::error('Error updating card', [
|
|
|
+ Log::error('Error updating card', [
|
|
|
'card_id' => $this->cardDataId,
|
|
|
'member_id' => $this->dataId,
|
|
|
'error_message' => $ex->getMessage(),
|