Luca Parisio před 9 měsíci
rodič
revize
542bd413ff

+ 63 - 0
app/Console/Commands/SendSms.php

@@ -0,0 +1,63 @@
+<?php
+
+namespace App\Console\Commands;
+
+use Illuminate\Console\Command;
+
+class SendSms extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'send:sms';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = 'Send SMS';
+
+    /**
+     * Execute the console command.
+     *
+     * @return int
+     */
+    public function handle()
+    {
+
+        $expire_date = date("Y-m-d", strtotime("+1 month"));
+        $expire_date_it = date("d/m/Y", strtotime("+1 month"));
+        $certificates = \App\Models\MemberCertificate::where('expire_date', $expire_date)->get();
+        foreach ($certificates as $certificate) {
+            $phone = $certificate->member->phone;
+            $message = 'Ciao ' . $certificate->member->first_name . ', ci risulta che il tuo certificato medico scade il ' . $expire_date_it . '. Per continuare ad allenarti senza problemi, ricordati di rinnovarlo in tempo. Ti aspettiamo in campo! Centro Sportivo La Madonnella';
+            $params = array(
+                'to'            => '+39' . $phone,
+                'from'          => env('SMS_FROM', 'Test'),
+                'message'       => $message,
+                'format'        => 'json',
+            );
+            sms_send($params);
+        }
+
+        $expire_date = date("Y-m-d", strtotime("+15 days"));
+        $expire_date_it = date("d/m/Y", strtotime("+15 days"));
+        $certificates = \App\Models\MemberCertificate::where('expire_date', $expire_date)->get();
+        foreach ($certificates as $certificate) {
+            $phone = $certificate->member->phone;
+            $message = 'Ciao ' . $certificate->member->first_name . ', ci risulta che il tuo certificato medico scade il ' . $expire_date_it . '. Per continuare ad allenarti senza problemi, ricordati di rinnovarlo in tempo. Ti aspettiamo in campo! Centro Sportivo La Madonnella';
+            $params = array(
+                'to'            => '+39' . $phone,
+                'from'          => env('SMS_FROM', 'Test'),
+                'message'       => $message,
+                'format'        => 'json',
+            );
+            sms_send($params);
+        }
+
+        return Command::SUCCESS;
+    }
+}

+ 4 - 4
app/Http/Livewire/Course.php

@@ -51,18 +51,18 @@ class Course extends Component
 
     protected $rules = [
         'name' => 'required',
-        'course_type_id' => 'required',
+        /*'course_type_id' => 'required',
         'course_duration_id' => 'required',
         'course_frequency_id' => 'required',
         'course_level_id' => 'required',
         'causal_id' => 'required',
-        'sub_causal_id' => 'required',
+        'sub_causal_id' => 'required',*/
     ];
 
     protected $messages = [
         'name.required' => 'Il nome è obbligatorio',
-        'causal_id' => 'Campo obbligatorio',
-        'sub_causal_id' => 'Campo obbligatorio',
+        /*'causal_id' => 'Campo obbligatorio',
+        'sub_causal_id' => 'Campo obbligatorio',*/
     ];
 
     public function resetFields(){

+ 6 - 2
app/Http/Livewire/CourseSubscription.php

@@ -6,7 +6,7 @@ use Livewire\Component;
 
 class CourseSubscription extends Component
 {
-    public $records, $name, $enabled, $dataId, $update = false, $add = false;
+    public $records, $name, $months, $enabled, $dataId, $update = false, $add = false;
 
     protected $rules = [
         'name' => 'required'
@@ -33,13 +33,14 @@ class CourseSubscription extends Component
 
     public function resetFields(){
         $this->name = '';
+        $this->months = 0;
         $this->enabled = true;
         $this->emit('load-data-table');
     }
 
     public function render()
     {
-        $this->records = \App\Models\CourseSubscription::select('id', 'name', 'enabled')->get();
+        $this->records = \App\Models\CourseSubscription::select('id', 'name', 'enabled', 'months')->get();
         return view('livewire.course_subscription');
     }
 
@@ -56,6 +57,7 @@ class CourseSubscription extends Component
         try {
             \App\Models\CourseSubscription::create([
                 'name' => $this->name,
+                'months' => $this->months,
                 'enabled' => $this->enabled
             ]);
             session()->flash('success','Dato creato');
@@ -73,6 +75,7 @@ class CourseSubscription extends Component
                 session()->flash('error','Dato non trovato');
             } else {
                 $this->name = $course_subscription->name;
+                $this->months = $course_subscription->months;
                 $this->enabled = $course_subscription->enabled;
                 $this->dataId = $course_subscription->id;
                 $this->update = true;
@@ -89,6 +92,7 @@ class CourseSubscription extends Component
         try {
             \App\Models\CourseSubscription::whereId($this->dataId)->update([
                 'name' => $this->name,
+                'months' => $this->months,
                 'enabled' => $this->enabled
             ]);
             session()->flash('success','Dato aggiornato');

+ 42 - 4
app/Http/Livewire/Member.php

@@ -126,7 +126,10 @@ class Member extends Component
     public $member_categories = array(), $category_category_id;
 
     // Courses data
-    public $member_courses = array(), $course_course_id, $course_date_from, $course_date_to, $course_when = array(), $addCourse, $updateCourse, $courseDataId, $course_course_subscription_id, $course_status, $course_note, $course_price, $course_subscription_price, $course_subscribed, $course_months = array(), $course_exist;
+    public $member_courses = array(), $course_course_id, $course_course_type, $course_date_from, $course_date_to, $course_when = array(), $addCourse, $updateCourse, $courseDataId, $course_course_subscription_id, $course_status, $course_note, $course_price, $course_subscription_price, $course_subscribed, $course_months = array(), $course_exist;
+
+    public $course_months_list = [];
+    public $course_price_list = [];
 
     public $course_name, $course_level_id, $course_type_id, $course_frequency_id;
 
@@ -238,6 +241,9 @@ class Member extends Component
     public function resetCourseFields()
     {
         $this->course_course_id = null;
+        $this->course_course_type = 'standard';
+        $this->course_months_list = [];
+        $this->course_price_list = [];
         $this->course_when = array();
         $this->course_when[] = array('day' => array(), 'from' => '', 'to' => '');
         $this->course_date_from = null;
@@ -271,6 +277,7 @@ class Member extends Component
         $this->image_old = '';
     }
 
+    /*
     public function updatedCourseName()
     {
         $this->course_course_id = null;
@@ -349,6 +356,18 @@ class Member extends Component
             $this->course_subscription_price = 0;
             $this->course_exist = false;
         }
+    }*/
+
+    public function updatedCourseCourseType()
+    {
+        $this->course_course_id = null;
+    }
+
+    public function updatedCourseCourseSubscriptionId()
+    {
+        $this->course_price = 0;
+        if (isset($this->course_price_list[$this->course_course_subscription_id]))
+            $this->course_price = $this->course_price_list[$this->course_course_subscription_id];
     }
 
     public $documents = [];
@@ -454,9 +473,7 @@ class Member extends Component
 
         $this->getCategories(\App\Models\Category::select('id', 'name')->where('parent_id', null)->get(), 0);
 
-        $this->courses = \App\Models\Course::select('id', 'name')->where('enabled', null)->get();
-
-        $this->course_subscriptions = \App\Models\CourseSubscription::select('*')->where('enabled', true)->get();
+        
 
         // $this->getCourses(\App\Models\Course::select('id', 'name')->where('parent_id', null)->get(), 0);
 
@@ -705,6 +722,9 @@ class Member extends Component
         $this->loadMemberCategories();
         $this->loadMemberCertificates();
 
+        $this->courses = \App\Models\Course::select('id', 'name')->where('type', $this->course_course_type)->get();
+        $this->course_subscriptions = \App\Models\CourseSubscription::select('*')->where('enabled', true)->get();
+
         return view('livewire.member', ['datas' => $datas]);
     }
 
@@ -716,6 +736,24 @@ class Member extends Component
             $this->course_subscription_price = formatPrice($c->subscription_price);
             // Controllo se sono già iscritto la corso
             $this->course_exist = \App\Models\MemberCourse::where('course_id', $this->course_course_id)->where('member_id', $this->dataId)->count() > 0;
+
+            // Carico gli abbonamenti e i mesi
+            $period = \Carbon\CarbonPeriod::create($c->date_from, '1 month', $c->date_to);
+            $this->course_months_list = [];
+            foreach ($period as $dt) 
+            {
+                $this->course_months_list[] = $dt->format("m");
+            }
+            
+            $this->course_price_list = [];
+            if ($c->prices != null)
+            {
+                foreach(json_decode($c->prices) as $z)
+                {
+                    $this->course_price_list[$z->course_subscription_id] = $z->price;
+                }
+            }
+
         } else {
             $this->course_price = 0;
             $this->course_subscription_price = 0;

+ 1 - 0
app/Models/CourseSubscription.php

@@ -11,6 +11,7 @@ class CourseSubscription extends Model
 
     protected $fillable = [
         'name',
+        'months',
         'enabled',
     ];
 

+ 13 - 13
app/helpers.php

@@ -181,45 +181,45 @@ function updateMemberData($member_id)
     $member->save();
 }
 
-function getMonthName($m)
+function getMonthName($m, $short = false)
 {
     $ret = '';
     switch ($m) {
         case 1:
-            $ret = 'Gennaio';
+            $ret = $short ? ' Gen' : 'Gennaio';
             break;
         case 2:
-            $ret = 'Febbraio';
+            $ret = $short ? ' Feb' : 'Febbraio';
             break;
         case 3:
-            $ret = 'Marzo';
+            $ret = $short ? ' Mar' : 'Marzo';
             break;
         case 4:
-            $ret = 'Aprile';
+            $ret = $short ? ' Apr' : 'Aprile';
             break;
         case 5:
-            $ret = 'Maggio';
+            $ret = $short ? ' Mag' : 'Maggio';
             break;
         case 6:
-            $ret = 'Giugno';
+            $ret = $short ? ' Giu' : 'Giugno';
             break;
         case 7:
-            $ret = 'Luglio';
+            $ret = $short ? ' Lug' : 'Luglio';
             break;
         case 8:
-            $ret = 'Agosto';
+            $ret = $short ? ' Ago' : 'Agosto';
             break;
         case 9:
-            $ret = 'Settembre';
+            $ret = $short ? ' Set' : 'Settembre';
             break;
         case 10:
-            $ret = 'Ottobre';
+            $ret = $short ? ' Ott' : 'Ottobre';
             break;
         case 11:
-            $ret = 'Novembre';
+            $ret = $short ? ' Nov' : 'Novembre';
             break;
         case 12:
-            $ret = 'Dicembre';
+            $ret = $short ? ' Dic' : 'Dicembre';
             break;
         default:
             $ret = '';

+ 32 - 0
database/migrations/2025_04_04_103000_add_months_to_course_subscriptions_table.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('course_subscriptions', function (Blueprint $table) {
+            $table->integer('months')->default(0);
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('course_subscriptions', function (Blueprint $table) {
+            $table->dropColumn('months');
+        });
+    }
+};

+ 3 - 4
resources/views/livewire/course.blade.php

@@ -63,11 +63,10 @@
                     <tr>
                         <th  style="text-align:center" scope="col"><input type="checkbox" class="checkAll"></th>
                         <th scope="col">Anno</th>
+                        <th scope="col">Tipo</th>
                         <th scope="col">Nome</th>
                         <th scope="col">Livello</th>
-                        <th scope="col">Tipologia</th>
                         <th scope="col">Frequenza</th>
-                        <th scope="col">Prezzo mensile</th>
                         <th scope="col">N° partecipanti</th>
                         <th scope="col">...</th>
                     </tr>
@@ -77,11 +76,10 @@
                         <tr>
                             <td style="text-align:center"><input type="checkbox" class="chkCourse" name="{{$record->id}}"></td>
                             <td>{{$record->year}}</td>
+                            <td>{{$record->type == 'standard' ? 'Standard' : 'Personalizzato'}}</td>
                             <td>{{$record->name}}</td>
                             <td>{{$record->level->name ?? ""}}</td>
-                            <td>{{$record->type->name ?? ""}}</td>
                             <td>{{$record->frequency->name ?? ""}}</td>
-                            <td>{{formatPrice($record->price)}}</td>
                             <td>{{$record->getCount()}}</td>
                             <td>
                                 <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover"  data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
@@ -292,6 +290,7 @@
                                             <div class="col-6">
                                                 <label for="abb" class="form-label">Abbonamento</label>
                                                 <select class="form-control" wire:model="prices.{{$idP}}.course_subscription_id">
+                                                    <option value=""></option>
                                                     @foreach($course_subscriptions as $s)
                                                         <option value="{{$s["id"]}}">{{$s["name"]}}
                                                     @endforeach

+ 13 - 1
resources/views/livewire/course_subscription.blade.php

@@ -24,6 +24,7 @@
                 <thead>
                     <tr>
                         <th scope="col">Nome</th>
+                        <th scope="col">Mesi</th>
                         <th scope="col">Abilitato</th>
                         <th scope="col">...</th>
                     </tr>
@@ -32,6 +33,7 @@
                     @foreach($records as $record)
                         <tr>
                             <td>{{$record->name}}</td>
+                            <td>{{$record->months}}</td>
                             <td> <span class="tablesaw-cell-content"><span class="badge tessera-badge {{$record->enabled ? 'active' : 'suspended'}}">{{$record->enabled ? 'attivo' : 'disattivo'}}</span></span></td>
                             <td>
                                 <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover"  data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
@@ -63,7 +65,7 @@
                     <form action="">
 
                         <div class="row mb-3">
-                            <div class="col">
+                            <div class="col-6">
                                 <div class="form--item">
                                     <label for="inputName" class="form-label">Nome</label>
                                     <input class="form-control js-keyupTitle @error('name') is-invalid @enderror" type="text" id="name" placeholder="Nome" wire:model="name">
@@ -72,6 +74,16 @@
                                     @enderror
                                 </div>
                             </div>
+                            <div class="col-6">
+                                <div class="form--item">
+                                    <label for="months" class="form-label">Mesi</label>
+                                    <select class="form-control" id="months" wire:model="months">
+                                        @for($i=1;$i<=12;$i++)
+                                            <option value="{{$i}}">{{$i}}</option>
+                                        @endfor
+                                    </select>
+                                </div>
+                            </div>
                             <div class="col">
                                 <div class="form--item">
                                     <label for="enabled" class="form-label">Abilitato</label>

+ 145 - 167
resources/views/livewire/member.blade.php

@@ -1229,212 +1229,190 @@
 
                                             <div class="form--wrapper">
                                                 <form class="form--utente">
-                                                    @if(false)
-                                                        <div class="row ">
-                                                            <div class="col-md-6">
-                                                                <label for="course_course_id" class="form-label">Corso</label>
-                                                                <select id="course_course_id" class="form-select  @error('course_course_id') is-invalid @enderror" aria-label="Corso" wire:model="course_course_id" >
-                                                                    <option value="">
-                                                                    @foreach($courses as $course)
-                                                                        <option value="{{$course->id}}">{{$course->name}} - {{$course->level->name ?? ""}} - {{$course->type->name ?? ""}} - {{$course->frequency->name ?? ""}}
-                                                                    @endforeach
-                                                                </select>
-                                                                @if($course_exist)
-                                                                    <small style="color:red">Attenzione : il corso selezionato è già associato all'utente</small>
-                                                                @endif
-                                                            </div>
-                                                        </div>
-                                                    @endif
                                                     <div class="row ">
-                                                        <div class="col-md-3">
+                                                        <div class="col-6 mt-2">
+                                                            <label for="course_name" class="form-label">Tipo corso</label><br>
+                                                            <input type="radio" name="chkType" value="standard" wire:model="course_course_type">&nbsp;Standard
+                                                            &nbsp;&nbsp;&nbsp;
+                                                            <input type="radio" name="chkType" value="custom" wire:model="course_course_type">&nbsp;Personalizzato
+                                                        </div>
+                                                        <div class="col-md-6">
                                                             <label for="course_name" class="form-label">Corso</label>
 
-                                                            <select id="course_name" class="form-select @error('course_course_id') is-invalid @enderror" aria-label="Corso" wire:model="course_name" >
+                                                            <select id="course_course_id" class="form-select @error('course_course_id') is-invalid @enderror" aria-label="Corso" wire:model="course_course_id" >
                                                                 <option value="">
-                                                                @foreach($course_names as $n)
-                                                                    <option value="{{$n}}">{{$n}}
+                                                                @foreach($courses as $c)
+                                                                    <option value="{{$c->id}}">{{$c->name}}
                                                                 @endforeach
                                                             </select>
 
                                                             @error('course_course_id')
-                                                                <div class="invalid-feedback">Devi selezionare un corso (corso, livello, tipologia e frequenza)</div>
+                                                                <div class="invalid-feedback">Devi selezionare un corso</div>
                                                             @enderror
 
                                                             @if($course_exist)
                                                                 <small style="color:red">Attenzione : il corso selezionato è già associato all'utente</small>
                                                             @endif
                                                         </div>
-                                                        @if($course_name != '')
-                                                            <div class="col-md-3">
-                                                                <label for="course_level_id" class="form-label">Livello</label>
-                                                                <select id="course_level_id" class="form-select" aria-label="Livello" wire:model="course_level_id" >
-                                                                    <option value="">
-                                                                    @foreach($course_levels as $l)
-                                                                        <option value="{{$l->id}}">{{$l->name}}
-                                                                    @endforeach
-                                                                </select>
-                                                            </div>
+                                                        @if(false)
+                                                            @if($course_name != '')
+                                                                <div class="col-md-3">
+                                                                    <label for="course_level_id" class="form-label">Livello</label>
+                                                                    <select id="course_level_id" class="form-select" aria-label="Livello" wire:model="course_level_id" >
+                                                                        <option value="">
+                                                                        @foreach($course_levels as $l)
+                                                                            <option value="{{$l->id}}">{{$l->name}}
+                                                                        @endforeach
+                                                                    </select>
+                                                                </div>
+                                                            @endif
+                                                            @if($course_level_id != '')
+                                                                <div class="col-md-3">
+                                                                    <label for="course_type_id" class="form-label">Tipologia</label>
+                                                                    <select id="course_type_id" class="form-select" aria-label="Tipologia" wire:model="course_type_id" >
+                                                                        <option value="">
+                                                                        @foreach($course_types as $t)
+                                                                            <option value="{{$t->id}}">{{$t->name}}
+                                                                        @endforeach
+                                                                    </select>
+                                                                </div>
+                                                            @endif
+                                                            @if($course_type_id != '')
+                                                                <div class="col-md-3">
+                                                                    <label for="course_frequency_id" class="form-label">Frequenza</label>
+                                                                    <select id="course_frequency_id" class="form-select" aria-label="Tipologia" wire:model="course_frequency_id" >
+                                                                        <option value="">
+                                                                        @foreach($course_frequencies as $f)
+                                                                            <option value="{{$f->id}}">{{$f->name}}
+                                                                        @endforeach
+                                                                    </select>
+                                                                </div>
+                                                            @endif
                                                         @endif
-                                                        @if($course_level_id != '')
-                                                            <div class="col-md-3">
-                                                                <label for="course_type_id" class="form-label">Tipologia</label>
-                                                                <select id="course_type_id" class="form-select" aria-label="Tipologia" wire:model="course_type_id" >
+                                                    </div>
+                                                    @if($course_course_id > 0)
+                                                        <div class="row mt-4">
+                                                            <div class="col-md-6">
+                                                                <label for="course_course_subscription_id" class="form-label">Abbonamento</label>
+                                                                <select id="course_course_subscription_id" class="form-select  @error('course_course_subscription_id') is-invalid @enderror" aria-label="Abbonamento" wire:model="course_course_subscription_id">
                                                                     <option value="">
-                                                                    @foreach($course_types as $t)
-                                                                        <option value="{{$t->id}}">{{$t->name}}
+                                                                    @foreach($course_subscriptions as $t)
+                                                                        <option value="{{$t["id"]}}">{{$t["name"]}}
                                                                     @endforeach
                                                                 </select>
+
                                                             </div>
-                                                        @endif
-                                                        @if($course_type_id != '')
-                                                            <div class="col-md-3">
-                                                                <label for="course_frequency_id" class="form-label">Frequenza</label>
-                                                                <select id="course_frequency_id" class="form-select" aria-label="Tipologia" wire:model="course_frequency_id" >
+
+                                                            <div class="col-md-6">
+                                                                <label for="course_price" class="form-label">Costo mensile</label>
+                                                                <input class="form-control" type="text" id="course_price" placeholder="Costo mensile" wire:model="course_price" onkeyup="onlyNumberAmount(this)">
+                                                            </div>
+                                                            @if(false)
+                                                            <div class="col-md-6">
+                                                                <label for="course_status" class="form-label">Stato iscrizione</label>
+                                                                <select id="course_status" class="form-select  @error('course_status') is-invalid @enderror" aria-label="Stato" wire:model="course_status">
                                                                     <option value="">
-                                                                    @foreach($course_frequencies as $f)
-                                                                        <option value="{{$f->id}}">{{$f->name}}
-                                                                    @endforeach
+                                                                    <option value="1">Pagata
+                                                                    <option value="2">Da pagare
+                                                                    <option value="3">Sospesa
                                                                 </select>
                                                             </div>
-                                                        @endif
-                                                    </div>
-                                                    <div class="row mt-4">
-                                                        <div class="col-md-6">
-                                                            <label for="course_course_subscription_id" class="form-label">Abbonamento</label>
-                                                            <select id="course_course_subscription_id" class="form-select  @error('course_course_subscription_id') is-invalid @enderror" aria-label="Abbonamento" wire:model="course_course_subscription_id">
-                                                                <option value="">
-                                                                @foreach($course_subscriptions as $t)
-                                                                    <option value="{{$t["id"]}}">{{$t["name"]}}
-                                                                @endforeach
-                                                            </select>
-
-                                                        </div>
-
-                                                        <div class="col-md-6">
-                                                            <label for="course_price" class="form-label">Costo mensile</label>
-                                                            <input class="form-control" type="text" id="course_price" placeholder="Costo mensile" wire:model="course_price" onkeyup="onlyNumberAmount(this)">
-                                                        </div>
-                                                        @if(false)
-                                                        <div class="col-md-6">
-                                                            <label for="course_status" class="form-label">Stato iscrizione</label>
-                                                            <select id="course_status" class="form-select  @error('course_status') is-invalid @enderror" aria-label="Stato" wire:model="course_status">
-                                                                <option value="">
-                                                                <option value="1">Pagata
-                                                                <option value="2">Da pagare
-                                                                <option value="3">Sospesa
-                                                            </select>
+                                                            @endif
                                                         </div>
-                                                        @endif
-                                                    </div>
-
-                                                    <div class="row mt-4 course--duration">
-                                                        <div class="col-md-12">
-                                                            <label for="duration" class="form-label">Durata del corso</label>
+                                                    
+                                                        <div class="row mt-4 course--duration">
+                                                            <div class="col-md-12">
+                                                                <label for="duration" class="form-label">Durata del corso</label>
                                                                 <div class="d-flex course--duration_mounth">
-                                                                    <a class="{{$this->checkMonth(9) ? 'selected' : 'notSelected'}}" wire:click="setMonth(9)">Set</a>
-                                                                    <a class="{{$this->checkMonth(10) ? 'selected' : 'notSelected'}}" wire:click="setMonth(10)">Ott</a>
-                                                                    <a class="{{$this->checkMonth(11) ? 'selected' : 'notSelected'}}" wire:click="setMonth(11)">Nov</a>
-                                                                    <a class="{{$this->checkMonth(12) ? 'selected' : 'notSelected'}}" wire:click="setMonth(12)">Dic</a>
-                                                                    <a class="{{$this->checkMonth(1) ? 'selected' : 'notSelected'}}" wire:click="setMonth(1)">Gen</a>
-                                                                    <a class="{{$this->checkMonth(2) ? 'selected' : 'notSelected'}}" wire:click="setMonth(2)">Feb</a>
-                                                                    <a class="{{$this->checkMonth(3) ? 'selected' : 'notSelected'}}" wire:click="setMonth(3)">Mar</a>
-                                                                    <a class="{{$this->checkMonth(4) ? 'selected' : 'notSelected'}}" wire:click="setMonth(4)">Apr</a>
-                                                                    <a class="{{$this->checkMonth(5) ? 'selected' : 'notSelected'}}" wire:click="setMonth(5)">Mag</a>
-                                                                    <a class="{{$this->checkMonth(6) ? 'selected' : 'notSelected'}}" wire:click="setMonth(6)">Giu</a>
-                                                                    <a class="{{$this->checkMonth(7) ? 'selected' : 'notSelected'}}" wire:click="setMonth(7)">Lug</a>
-                                                                    <a class="{{$this->checkMonth(8) ? 'selected' : 'notSelected'}}" wire:click="setMonth(8)">Ago</a>
+                                                                    @foreach($course_months_list as $cm)
+                                                                        <a class="{{$this->checkMonth($cm) ? 'selected' : 'notSelected'}}" wire:click="setMonth({{$cm}})">{{getMonthName($cm, true)}}</a>
+                                                                    @endforeach
                                                                 </div>
+                                                            </div>
                                                         </div>
-                                                    </div>
-                                                    <div class="row mt-4">
-                                                        <div class="col-md-6">
-                                                            <label for="course_subscription_price" class="form-label">Costo iscrizione</label>
-                                                            <input class="form-control" type="text" id="course_subscription_price" placeholder="Costo iscrizione" wire:model="course_subscription_price" onkeyup="onlyNumberAmount(this)">
-                                                        </div>
-                                                    </div>
-                                                    @if(false)
                                                         <div class="row mt-4">
                                                             <div class="col-md-6">
-                                                                <label for="course_date_from" class="form-label">Dal</label>
-                                                                <input class="form-control" type="date" id="course_date_from" placeholder="Dal" wire:model="course_date_from">
-                                                            </div>
-                                                            <div class="col-md-6">
-                                                                <label for="course_date_to" class="form-label">Al</label>
-                                                                <input class="form-control" type="date" id="course_date_to" placeholder="Al" wire:model="course_date_to">
+                                                                <label for="course_subscription_price" class="form-label">Costo iscrizione</label>
+                                                                <input class="form-control" type="text" id="course_subscription_price" placeholder="Costo iscrizione" wire:model="course_subscription_price" onkeyup="onlyNumberAmount(this)">
                                                             </div>
                                                         </div>
-                                                    @endif
-                                                    @foreach($course_when as $idW => $when)
-                                                        <div class="row">
-                                                            <div class="col-12">
-                                                                <div class="day durata--corso d-flex">
-                                                                    <label for="" class="form-label">Giorno</label>
-                                                                        <div class="durata--corso_days mb-3">
-                                                                            <a class="{{in_array('lun', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'lun')">Lun</a>
-                                                                            <a class="{{in_array('mar', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'mar')">Mar</a>
-                                                                            <a class="{{in_array('mer', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'mer')">Mer</a>
-                                                                            <a class="{{in_array('gio', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'gio')">Gio</a>
-                                                                            <a class="{{in_array('ven', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'ven')">Ven</a>
-                                                                            <a class="{{in_array('sab', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'sab')">Sab</a>
-                                                                            <a class="{{in_array('dom', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'dom')">Dom</a>
-                                                                        </div>
-
-                                                                        <div class="durata--corso_select">
-                                                                            <div class="from--h me-3">
-                                                                                <label for="" class="form-label">Dalle</label>
-                                                                                <select class="form-select" wire:model="course_when.{{$idW}}.from">
-                                                                                    <option value="">--Seleziona--
-                                                                                    @for($c=6;$c<=23;$c++)
-                                                                                        <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00
-                                                                                        <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30
-                                                                                    @endfor
-                                                                                </select>
-                                                                            </div>
-                                                                            <div class="to--h">
-                                                                                <label for="" class="form-label">Alle</label>
-                                                                                <select class="form-select" wire:model="course_when.{{$idW}}.to">
-                                                                                    <option value="">--Seleziona--
-                                                                                    @for($c=6;$c<=23;$c++)
-                                                                                        <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00
-                                                                                        <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30
-                                                                                    @endfor
-                                                                                </select>
-                                                                            </div>
+                                                        
+                                                        @if($course_course_type == 'custom')
+                                                            @foreach($course_when as $idW => $when)
+                                                                <div class="row">
+                                                                    <div class="col-12">
+                                                                        <div class="day durata--corso d-flex">
+                                                                            <label for="" class="form-label">Giorno</label>
+                                                                                <div class="durata--corso_days mb-3">
+                                                                                    <a class="{{in_array('lun', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'lun')">Lun</a>
+                                                                                    <a class="{{in_array('mar', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'mar')">Mar</a>
+                                                                                    <a class="{{in_array('mer', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'mer')">Mer</a>
+                                                                                    <a class="{{in_array('gio', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'gio')">Gio</a>
+                                                                                    <a class="{{in_array('ven', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'ven')">Ven</a>
+                                                                                    <a class="{{in_array('sab', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'sab')">Sab</a>
+                                                                                    <a class="{{in_array('dom', $course_when[$idW]["day"]) ? 'selected' : 'notSelected'}}" wire:click="setDay({{$idW}}, 'dom')">Dom</a>
+                                                                                </div>
+
+                                                                                <div class="durata--corso_select">
+                                                                                    <div class="from--h me-3">
+                                                                                        <label for="" class="form-label">Dalle</label>
+                                                                                        <select class="form-select" wire:model="course_when.{{$idW}}.from">
+                                                                                            <option value="">--Seleziona--
+                                                                                            @for($c=6;$c<=23;$c++)
+                                                                                                <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00
+                                                                                                <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30
+                                                                                            @endfor
+                                                                                        </select>
+                                                                                    </div>
+                                                                                    <div class="to--h">
+                                                                                        <label for="" class="form-label">Alle</label>
+                                                                                        <select class="form-select" wire:model="course_when.{{$idW}}.to">
+                                                                                            <option value="">--Seleziona--
+                                                                                            @for($c=6;$c<=23;$c++)
+                                                                                                <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:00
+                                                                                                <option value="{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30">{{str_pad($c, 2, "0", STR_PAD_LEFT)}}:30
+                                                                                            @endfor
+                                                                                        </select>
+                                                                                    </div>
+                                                                                </div>
+
+
+                                                                            <button class="btn--ui primary remove--day position-absolute" wire:click.prevent="delRow({{$idW}})"><i class="fa-solid fa-minus"></i></button>
+
+                                                                            <button class="btn--ui primary add--day position-absolute" wire:click.prevent="addRow()"><i class="fa-solid fa-plus"></i></button>
                                                                         </div>
-
-
-                                                                    <button class="btn--ui primary remove--day position-absolute" wire:click.prevent="delRow({{$idW}})"><i class="fa-solid fa-minus"></i></button>
-
-                                                                    <button class="btn--ui primary add--day position-absolute" wire:click.prevent="addRow()"><i class="fa-solid fa-plus"></i></button>
+                                                                    </div>
                                                                 </div>
-                                                            </div>
-                                                        </div>
-                                                    @endforeach
+                                                            @endforeach
+                                                        @endif
 
-                                                    <div class="row  mt-2">
-                                                        <div class="col-md-12">
-                                                            <label for="course_date_from" class="form-label">Note</label>
-                                                            <input class="form-control" type="text" id="course_note" placeholder="Note" wire:model="course_note">
+                                                        <div class="row  mt-2">
+                                                            <div class="col-md-12">
+                                                                <label for="course_date_from" class="form-label">Note</label>
+                                                                <input class="form-control" type="text" id="course_note" placeholder="Note" wire:model="course_note">
+                                                            </div>
                                                         </div>
-                                                    </div>
+                                                    
+                                                    @endif
 
                                                 </form>
                                             </div>
-
-                                            <br>
-                                            <div class="row mt-2">
-                                                <div class="col-md-12">
-                                                    <button class="btn--ui lightGrey" wire:click.prevent="cancelCourse()">Annulla</button>
-                                                    @if($addCourse)
-                                                        @if(!$course_exist)
-                                                            <button class="btn--ui primary" wire:click.prevent="storeCourse()">Salva corso</button>
+                                            @if($course_course_id > 0)
+                                                <br>
+                                                <div class="row mt-2">
+                                                    <div class="col-md-12">
+                                                        <button class="btn--ui lightGrey" wire:click.prevent="cancelCourse()">Annulla</button>
+                                                        @if($addCourse)
+                                                            @if(!$course_exist)
+                                                                <button class="btn--ui primary" wire:click.prevent="storeCourse()">Salva corso</button>
+                                                            @endif
                                                         @endif
-                                                    @endif
-                                                    @if($updateCourse)
-                                                        <button class="btn--ui primary" wire:click.prevent="updateCourse()">Salva corso</button>
-                                                    @endif
+                                                        @if($updateCourse)
+                                                            <button class="btn--ui primary" wire:click.prevent="updateCourse()">Salva corso</button>
+                                                        @endif
+                                                    </div>
                                                 </div>
-                                            </div>
+                                            @endif
 
                                         @endif
 

+ 18 - 17
routes/web.php

@@ -1542,35 +1542,36 @@ Route::get('/updateCourseCausal', function () {
     }
 });
 
-Route::get('/test_sms', function () {
+Route::get('/send_sms', function () {
 
     $expire_date = date("Y-m-d", strtotime("+1 month"));
     $expire_date_it = date("d/m/Y", strtotime("+1 month"));
     $certificates = \App\Models\MemberCertificate::where('expire_date', $expire_date)->get();
     foreach ($certificates as $certificate) {
-        //$phone = $certificate->member->phone;
-        $phone = '3893163265';
+        $phone = $certificate->member->phone;
+        $message = 'Ciao ' . $certificate->member->first_name . ', ci risulta che il tuo certificato medico scade il ' . $expire_date_it . '. Per continuare ad allenarti senza problemi, ricordati di rinnovarlo in tempo. Ti aspettiamo in campo! Centro Sportivo La Madonnella';
         $params = array(
             'to'            => '+39' . $phone,
             'from'          => env('SMS_FROM', 'Test'),
-            'message'       => $certificate->member->first_name . ', il tuo certificato medico scadrà il ' . $expire_date_it,
+            'message'       => $message,
             'format'        => 'json',
         );
-
         sms_send($params);
-        print "Inviato";
     }
 
-    /*
-
-    $params = array(
-        'to'            => '+393893163265',
-        'from'          => env('SMS_FROM', 'Test'),
-        'message'       => 'Prova SMS da IAO',
-        'format'        => 'json',
-    );
-
-    echo sms_send($params);
+    $expire_date = date("Y-m-d", strtotime("+15 days"));
+    $expire_date_it = date("d/m/Y", strtotime("+15 days"));
+    $certificates = \App\Models\MemberCertificate::where('expire_date', $expire_date)->get();
+    foreach ($certificates as $certificate) {
+        $phone = $certificate->member->phone;
+        $message = 'Ciao ' . $certificate->member->first_name . ', ci risulta che il tuo certificato medico scade il ' . $expire_date_it . '. Per continuare ad allenarti senza problemi, ricordati di rinnovarlo in tempo. Ti aspettiamo in campo! Centro Sportivo La Madonnella';
+        $params = array(
+            'to'            => '+39' . $phone,
+            'from'          => env('SMS_FROM', 'Test'),
+            'message'       => $message,
+            'format'        => 'json',
+        );
+        sms_send($params);
+    }
 
-    */
 });