|
@@ -6,6 +6,7 @@ use Livewire\Component;
|
|
|
use Livewire\Attributes\Url;
|
|
use Livewire\Attributes\Url;
|
|
|
use Livewire\WithFileUploads;
|
|
use Livewire\WithFileUploads;
|
|
|
use Livewire\WithPagination;
|
|
use Livewire\WithPagination;
|
|
|
|
|
+use Illuminate\Support\Facades\Log;
|
|
|
|
|
|
|
|
use DateTime;
|
|
use DateTime;
|
|
|
|
|
|
|
@@ -134,7 +135,7 @@ class Member extends Component
|
|
|
public $course_name, $course_level_id, $course_type_id, $course_frequency_id;
|
|
public $course_name, $course_level_id, $course_type_id, $course_frequency_id;
|
|
|
|
|
|
|
|
// Certificates data
|
|
// Certificates data
|
|
|
- public $member_certificates = array(), $certificate_type, $certificate_filename_old, $certificate_filename, $certificate_expire_date, $certificate_status, $addCertificate, $updateCertificate, $certificateDataId;
|
|
|
|
|
|
|
+ public $member_certificates = array(), $certificate_type, $certificate_filename_old, $certificate_filename, $certificate_expire_date, $certificate_status, $addCertificate, $updateCertificate, $certificateDataId, $cardCertificateId;
|
|
|
|
|
|
|
|
public $filterCard = [];
|
|
public $filterCard = [];
|
|
|
public $filterCategory = [];
|
|
public $filterCategory = [];
|
|
@@ -348,11 +349,11 @@ class Member extends Component
|
|
|
// Carico gli abbonamenti e i mesi
|
|
// Carico gli abbonamenti e i mesi
|
|
|
$period = \Carbon\CarbonPeriod::create($c->date_from, '1 month', $c->date_to);
|
|
$period = \Carbon\CarbonPeriod::create($c->date_from, '1 month', $c->date_to);
|
|
|
$this->course_months_list = [];
|
|
$this->course_months_list = [];
|
|
|
- foreach ($period as $dt)
|
|
|
|
|
|
|
+ foreach ($period as $dt)
|
|
|
{
|
|
{
|
|
|
$this->course_months_list[] = $dt->format("m");
|
|
$this->course_months_list[] = $dt->format("m");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
$course_subscription_ids = [];
|
|
$course_subscription_ids = [];
|
|
|
$this->course_price_list = [];
|
|
$this->course_price_list = [];
|
|
|
if ($c->prices != null)
|
|
if ($c->prices != null)
|
|
@@ -860,7 +861,6 @@ class Member extends Component
|
|
|
'email' => 'required',
|
|
'email' => 'required',
|
|
|
'phone' => 'required',
|
|
'phone' => 'required',
|
|
|
'birth_nation_id' => 'required',
|
|
'birth_nation_id' => 'required',
|
|
|
- //'birth_place' => 'required',
|
|
|
|
|
'address' => 'required',
|
|
'address' => 'required',
|
|
|
'zip_code' => 'required',
|
|
'zip_code' => 'required',
|
|
|
'nation_id' => 'required',
|
|
'nation_id' => 'required',
|
|
@@ -905,12 +905,32 @@ class Member extends Component
|
|
|
$existingMember = \App\Models\Member::where('fiscal_code', $this->fiscal_code)->first();
|
|
$existingMember = \App\Models\Member::where('fiscal_code', $this->fiscal_code)->first();
|
|
|
if ($existingMember) {
|
|
if ($existingMember) {
|
|
|
$this->already_existing = true;
|
|
$this->already_existing = true;
|
|
|
|
|
+ $this->emit('focus-error-field', 'fiscal_code');
|
|
|
|
|
+
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- $this->validate($rules);
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if ($this->under18) {
|
|
|
|
|
+ $rules['father_name'] = 'required_without:mother_name';
|
|
|
|
|
+ $rules['father_email'] = 'required_without:mother_email|email';
|
|
|
|
|
+ $rules['father_fiscal_code'] = 'required_without:mother_fiscal_code';
|
|
|
|
|
+ $rules['mother_name'] = 'required_without:father_name';
|
|
|
|
|
+ $rules['mother_email'] = 'required_without:father_email|email';
|
|
|
|
|
+ $rules['mother_fiscal_code'] = 'required_without:father_fiscal_code';
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ $this->validate($rules);
|
|
|
|
|
+ } catch (\Illuminate\Validation\ValidationException $e) {
|
|
|
|
|
+ $this->isSaving = false;
|
|
|
|
|
+ $errorFields = array_keys($e->errors());
|
|
|
|
|
+ if (!empty($errorFields)) {
|
|
|
|
|
+ $this->emit('focus-error-field', $errorFields[0]);
|
|
|
|
|
+ }
|
|
|
|
|
+ Log::error('Validation failed', ['errors' => $e->errors()]);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
try {
|
|
try {
|
|
|
|
|
|
|
|
$name = '';
|
|
$name = '';
|
|
@@ -925,7 +945,7 @@ class Member extends Component
|
|
|
|
|
|
|
|
$mother_docs = implode("|", $this->mother_document_files);
|
|
$mother_docs = implode("|", $this->mother_document_files);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
$member = \App\Models\Member::create([
|
|
$member = \App\Models\Member::create([
|
|
|
'first_name' => strtoupper($this->first_name),
|
|
'first_name' => strtoupper($this->first_name),
|
|
@@ -972,7 +992,7 @@ class Member extends Component
|
|
|
'to_complete' => false,
|
|
'to_complete' => false,
|
|
|
'enabled' => $this->enabled
|
|
'enabled' => $this->enabled
|
|
|
]);
|
|
]);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
session()->flash('success, Tesserato creato');
|
|
session()->flash('success, Tesserato creato');
|
|
|
updateMemberData($member->id);
|
|
updateMemberData($member->id);
|
|
|
$this->resetFields();
|
|
$this->resetFields();
|
|
@@ -1230,7 +1250,7 @@ class Member extends Component
|
|
|
session()->flash('success', "Tesserato eliminato");
|
|
session()->flash('success', "Tesserato eliminato");
|
|
|
$this->emit('reload');
|
|
$this->emit('reload');
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
|
|
|
|
+ session()->flash('error', 'Errore (' . $e->getMessage() . ')');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1252,7 +1272,7 @@ class Member extends Component
|
|
|
\App\Models\Member::find($id)->delete();
|
|
\App\Models\Member::find($id)->delete();
|
|
|
}
|
|
}
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
|
|
|
|
+ session()->flash('error', 'Errore (' . $e->getMessage() . ')');
|
|
|
}
|
|
}
|
|
|
$this->multipleAction = '';
|
|
$this->multipleAction = '';
|
|
|
}
|
|
}
|
|
@@ -1454,7 +1474,7 @@ class Member extends Component
|
|
|
\App\Models\MemberCard::find($id)->delete();
|
|
\App\Models\MemberCard::find($id)->delete();
|
|
|
session()->flash('success', "Tesserato eliminato");
|
|
session()->flash('success', "Tesserato eliminato");
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
|
|
|
|
+ session()->flash('error', 'Errore (' . $e->getMessage() . ')');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1501,7 +1521,7 @@ class Member extends Component
|
|
|
$mc->months = json_encode($this->course_months);
|
|
$mc->months = json_encode($this->course_months);
|
|
|
$mc->when = json_encode($this->course_when);
|
|
$mc->when = json_encode($this->course_when);
|
|
|
$mc->save();
|
|
$mc->save();
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// Se il corso ha associato una categoria iscrivo anche al gruppo
|
|
// Se il corso ha associato una categoria iscrivo anche al gruppo
|
|
|
$c = \App\Models\Course::findOrFail($this->course_course_id);
|
|
$c = \App\Models\Course::findOrFail($this->course_course_id);
|
|
|
if ($c) {
|
|
if ($c) {
|
|
@@ -1553,7 +1573,7 @@ class Member extends Component
|
|
|
$rate->note = '';
|
|
$rate->note = '';
|
|
|
$rate->status = 0;
|
|
$rate->status = 0;
|
|
|
$rate->save();
|
|
$rate->save();
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
$start = date('Y-m-d', strtotime("+" . $r->months . " months", strtotime($start)));
|
|
$start = date('Y-m-d', strtotime("+" . $r->months . " months", strtotime($start)));
|
|
|
|
|
|
|
|
if ($start > $this->course_date_to)
|
|
if ($start > $this->course_date_to)
|
|
@@ -1678,7 +1698,7 @@ class Member extends Component
|
|
|
\App\Models\MemberCourse::find($id)->delete();
|
|
\App\Models\MemberCourse::find($id)->delete();
|
|
|
session()->flash('success', "Corso eliminato");
|
|
session()->flash('success', "Corso eliminato");
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
|
|
|
|
+ session()->flash('error', 'Errore (' . $e->getMessage() . ')');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1812,7 +1832,7 @@ class Member extends Component
|
|
|
\App\Models\MemberCertificate::find($id)->delete();
|
|
\App\Models\MemberCertificate::find($id)->delete();
|
|
|
session()->flash('success', "Tesserato eliminato");
|
|
session()->flash('success', "Tesserato eliminato");
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
|
|
|
|
+ session()->flash('error', 'Errore (' . $e->getMessage() . ')');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1868,7 +1888,7 @@ class Member extends Component
|
|
|
\App\Models\MemberCategory::find($id)->delete();
|
|
\App\Models\MemberCategory::find($id)->delete();
|
|
|
session()->flash('success', "Associazione eliminata");
|
|
session()->flash('success', "Associazione eliminata");
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- session()->flash('error', 'Errore (' . $ex->getMessage() . ')');
|
|
|
|
|
|
|
+ session()->flash('error', 'Errore (' . $e->getMessage() . ')');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|