Luca Parisio před 1 rokem
rodič
revize
c4201d30bf

+ 11 - 1
app/Http/Livewire/Course.php

@@ -27,12 +27,16 @@ class Course extends Component
 
     public $categories = array();
 
+    public $selectedYear = '';
+
     public $course_types = [];
     public $course_durations = [];
     public $course_frequencies = [];
     public $course_levels = [];
     public $causals = [];
 
+    public $course_years = [];
+
     public $monthList = [];
 
     public $typeIN = 'IN';
@@ -118,11 +122,17 @@ class Course extends Component
         $this->course_levels = \App\Models\CourseLevel::select('*')->where('enabled', true)->get();
         $this->course_frequencies = \App\Models\CourseFrequency::select('*')->where('enabled', true)->get();
         $this->causals = \App\Models\Causal::select('*')->where('type', 'IN')->where('enabled', true)->get();
+
+        $this->course_years = \App\Models\Course::select('year')->where('year', '<>', '')->groupBy('year')->pluck('year');
     }
 
     public function render()
     {
-        $this->records = \App\Models\Course::where('parent_id', null)->with('type', 'duration')->get();
+        if (isset($_GET["year"]))
+            $this->selectedYear = $_GET["year"];
+        else
+            $this->selectedYear = date("Y") . "-" . (date("Y") + 1);
+        $this->records = \App\Models\Course::where('parent_id', null)->where('year', $this->selectedYear)->with('type', 'duration')->get();
         return view('livewire.course');
     }
 

+ 1 - 1
app/Http/Livewire/RecordIN.php

@@ -1180,7 +1180,7 @@ class RecordIN extends Component
     {
 
         $period = \Carbon\CarbonPeriod::create($this->multiYearFrom . '-' . $this->multiMonthFrom . '-01', '1 month', $this->multiYearTo . '-' . $this->multiMonthTo . '-01');
-
+        $this->rows[$idx]['when'] = [];
         foreach ($period as $dt) {
             if (!in_array(array('month' => $dt->format("n"), 'year' => $dt->format("Y"), 'period' => ''), $this->rows[$idx]['when']))
                 $this->rows[$idx]['when'][] = array('month' => $dt->format("n"), 'year' => $dt->format("Y"), 'period' => '');

binární
public/img/logo-madonnella-bianco.png


+ 3 - 3
resources/views/layouts/app.blade.php

@@ -138,7 +138,7 @@
     <div class="row header--gestionale">
         <div class="header--gestionale_logo">
             <a href="/dashboard" class="d-flex align-items-center pb-2 pt-2">
-                <img src="{{env('LOGO', '')}}" class="img-fluid" alt="logo madonnella"/>
+                <img src="{{env('LOGO2', env('LOGO', ''))}}" class="img-fluid" alt="logo madonnella"/>
             </a>
         </div>
         <div class="header--gestionale_pageTitle d-flex align-items-center justify-content-between">
@@ -218,12 +218,12 @@
             <div class="d-flex flex-column align-items-center align-items-sm-start min-vh-100 offcanvas-lg offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
                 @if(false)
                     <a href="/dashboard" class="d-flex align-items-center pb-2 pt-2 mb-md-0 me-md-auto text-white text-decoration-none">
-                        <img src="{{env('LOGO', '')}}" class="fs-5 d-none d-sm-inline img-fluid" alt="logo madonnella"  style="max-width:200px"/>
+                        <img src="{{env('LOGO2', env('LOGO', ''))}}" class="fs-5 d-none d-sm-inline img-fluid" alt="logo madonnella"  style="max-width:200px"/>
                     </a>
                 @endif
 
                 <div class="offcanvas-header">
-                    <img src="{{env('LOGO', '')}}" class="fs-5 d-inline img-fluid" alt="logo madonnella"/>
+                    <img src="{{env('LOGO2', env('LOGO', ''))}}" class="fs-5 d-inline img-fluid" alt="logo madonnella"/>
                         <a class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#offcanvasExample" aria-label="Chiudi">
                         </a>
                 </div>

+ 39 - 0
resources/views/livewire/course.blade.php

@@ -22,6 +22,39 @@
 
         <a class="btn--ui lightGrey" href="/settings?type=corsi"><i class="fa-solid fa-arrow-left"></i></a><br>
 
+        <div class="row mb-3">
+            <div class="col-1 mt-2">
+                <h4>Anno</h4>
+            </div>
+            <div class="col-2 mt-2">
+                <select class="form-select filterYear" onchange="reload()">
+                    <option value="">--Seleziona--
+                    @foreach($course_years as $c)
+                        @php
+                        $selected = '';
+                        if (!isset($_GET["year"]))
+                        {
+                            try 
+                            {
+                                list($f, $t) = explode("-", $c);
+                                if ($f == date("Y"))
+                                    $selected = 'selected';
+                            } catch (Exception $e) {
+                            
+                            }                                
+                        }
+                        else
+                        {
+                            if ($_GET["year"] == $c)
+                                $selected = 'selected';
+                        }
+                        @endphp
+                        <option value="{{$c}}" {{$selected}}>{{$c}}
+                    @endforeach
+                </select>
+            </div>
+        </div>
+
         <section id="resume-table">
             <div class="compare--chart_wrapper d-none"></div>
 
@@ -325,6 +358,12 @@
             loadDataTable();
         });
 
+        function reload()
+        {
+            console.log($(".filterYear").val());
+            window.location.href = '/courses?year=' + $(".filterYear").val();
+        }
+
         function loadDataTable(){
 
 

+ 12 - 1
resources/views/livewire/course_list.blade.php

@@ -20,7 +20,18 @@
                         <select class="form-select filterYear" >
                             <option value="">--Seleziona--
                             @foreach($course_years as $c)
-                                <option value="{{$c}}">{{$c}}
+                                @php
+                                $selected = '';
+                                try 
+                                {
+                                    list($f, $t) = explode("-", $c);
+                                    if ($f == date("Y"))
+                                        $selected = 'selected';
+                                } catch (Exception $e) {
+                                
+                                }                                
+                                @endphp
+                                <option value="{{$c}}" {{$selected}}>{{$c}}
                             @endforeach
                         </select>
                     </div>

+ 3 - 13
resources/views/livewire/course_member.blade.php

@@ -262,6 +262,7 @@
             <thead>
                 <tr>
                     <th scope="col">#</th>
+                    <th scope="col">Corso</th>
                     <th scope="col">Cognome</th>
                     <th scope="col">Nome</th>
                     <th scope="col">Età</th>
@@ -271,19 +272,7 @@
                 </tr>
             </thead>
             <tbody id="checkall-target">
-                @if(false)
-                    @foreach($records as $idx => $record)
-                        <tr>
-                            <td>{{$idx +1}}</td>
-                            <td><a href="/members?member_detail={{$record->member_id}}&from=course_member">{{$record->member->last_name}}</a></td>
-                            <td><a href="/members?member_detail={{$record->member_id}}&from=course_member">{{$record->member->first_name}}</a></td>
-                            <td>{{$record->member->getAge()}}</td>
-                            <td>{{date("Y", strtotime($record->member->birth_date))}}</td>
-                            <td>{{$record->member->phone}}</td>
-                            <td>{{$record->member->email}}</td>
-                        </tr>
-                    @endforeach
-                @endif
+                
             </tbody>
         </table>
 
@@ -656,6 +645,7 @@
                 },
                 columns: [
                     {data: 'column_0'},
+                    {data: 'column_8'},
                     {
                         data: 'column_1',
                         render: function (data, type, row){

+ 4 - 4
resources/views/livewire/member.blade.php

@@ -102,7 +102,7 @@
                     <header class="d-flex align-item-center ">
                         <div class="user_name me-4">
                             <span class="name">{{$currentMember->first_name}} {{$currentMember->last_name}}</span>
-                            <span class="badge tessera-badge {{$currentStatus["status"] > 0 ? ($currentStatus["status"] == 2 ? 'active' : 'suspended') : 'due'}}">{{$currentStatus["status"] > 0 ? ($currentStatus["status"] == 2 ? 'Tesserato' : 'Sospeso') : 'Non tesserato'}}</span>
+                            <span class="badge tessera-badge {{$currentStatus["status"] > 0 ? ($currentStatus["status"] == 2 ? 'active' : 'due') : 'suspended'}}">{{$currentStatus["status"] > 0 ? ($currentStatus["status"] == 2 ? 'Tesserato' : 'Sospeso') : 'Non tesserato'}}</span>
                         </div>
                         <button class="btn--ui extraLightGrey" wire:click="edit({{ $currentMember->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>
 
@@ -1492,13 +1492,13 @@
                                                             <h4>{{$member_card->card->name}}</h4>
                                                             <span class="title-detail">Scadenza: <span class="title-detail_date">{{$member_card->expire_date ? date("d/m/Y", strtotime($member_card->expire_date)) : ''}}</span></span></small>
                                                             @if($member_card->discipline_1)
-                                                                <span class="title-detail">Disciplina : {{$member_card->discipline_1->name}}</span>
+                                                                <span class="title-detail">Disciplina : <b>{{$member_card->discipline_1->name}}</b></span>
                                                             @endif
                                                             @if($member_card->discipline_2)
-                                                                <span class="title-detail">Disciplina : {{$member_card->discipline_2->name}}</span>
+                                                                <span class="title-detail">Disciplina : <b>{{$member_card->discipline_2->name}}</b></span>
                                                             @endif
                                                             @if($member_card->discipline_3)
-                                                                <span class="title-detail">Disciplina : {{$member_card->discipline_3->name}}</span>
+                                                                <span class="title-detail">Disciplina : <b>{{$member_card->discipline_3->name}}</b></span>
                                                             @endif
                                                         </div>
                                                     </div>

+ 1 - 1
resources/views/livewire/records_in.blade.php

@@ -698,7 +698,7 @@
                                 @else
                                     <div class="mt-5 buttons--ricevuta d-flex align-items-center">
                                         <a target="_blank" class="btn--ui me-2 mb-2 mb-xxl-0" href="/receipt/{{$currentReceip->id}}"><i class="fa-regular fa-file-lines"></i><span>stampa ricevuta</span></a>
-                                        <button class="btn--ui " wire:click.prevent="removeReceipt()"><i class="ico--ui annulla_ricevuta light"></i><span>annulla ricevuta</span></button>
+                                        <button class="btn--ui " wire:click.prevent="removeReceipt()"><i class="fa-regular fa-trash-can"></i><span>annulla ricevuta</span></button>
                                     </div>
                                 @endif
                             @else

+ 19 - 1
resources/views/livewire/records_out.blade.php

@@ -172,6 +172,9 @@
                     </nav>
             </div>
             -->
+
+            <br><b class="totalDiv"></b>
+            
         </section>
 
     @else
@@ -738,7 +741,22 @@
 
             $('#tablesaw-350').DataTable({
                 //searching: false,
-                ajax: "/get_record_out?filterSupplier=" + filterSupplier + "&filterPaymentMethod=" + filterPaymentMethod + "&filterCausals=" + filterCausals + "&filterFrom=" + filterFrom + "&filterTo=" + filterTo,
+                ajax: {
+                    url : "/get_record_out?filterSupplier=" + filterSupplier + "&filterPaymentMethod=" + filterPaymentMethod + "&filterCausals=" + filterCausals + "&filterFrom=" + filterFrom + "&filterTo=" + filterTo,
+                    dataSrc: function (json){
+                        if(json.totals){
+                            $(".totalDiv").html('Totale&nbsp;:&nbsp;<b>' + json.totals + '</b>');
+                        }
+                        else
+                        {
+                            $(".totalDiv").html('');
+                        }
+                        @if(Auth::user()->level != 0)
+                            $(".totalDiv").html('');
+                        @endif
+                        return json.data;
+                    }
+                },
                 columns: [
                     {
                         data: "date",

+ 28 - 13
routes/web.php

@@ -590,11 +590,14 @@ Route::group(['middleware' => 'auth'],function(){
 
         $datas = [];
 
+        $hasFilter = false;
+
         $x = \App\Models\Record::where('type', 'OUT')->with('supplier', 'payment_method');
 
         if ($_GET["filterSupplier"] > 0)
         {
             $x = $x->where('supplier_id', $_GET["filterSupplier"]);
+            $hasFilter = true;
         }
         /*if ($_GET["filterPaymentMethod"] > 0)
         {
@@ -609,6 +612,7 @@ Route::group(['middleware' => 'auth'],function(){
         {
             $payments = explode(",", $_GET["filterPaymentMethod"]);
             $x = $x->whereIn('payment_method_id', $payments);
+            $hasFilter = true;
         }
         if ($_GET["filterCausals"] != "null")
         {
@@ -616,18 +620,21 @@ Route::group(['middleware' => 'auth'],function(){
             //$causals = \App\Models\RecordRow::where('causal_id', $_GET["filterCausals"])->pluck('record_id');
             $causals = \App\Models\RecordRow::whereIn('causal_id', $causals)->pluck('record_id');
             $x = $x->whereIn('records.id', $causals);
+            $hasFilter = true;
         }
         if ($_GET["filterFrom"] != '')
         {
             $x = $x->where('date', '>=', $_GET["filterFrom"]);
+            $hasFilter = true;
         }
         if ($_GET["filterTo"] != '')
         {
             $x = $x->where('date', '<=', $_GET["filterTo"]);
+            $hasFilter = true;
         }
 
         $total = 0;
-        /*foreach($x->get() as $r)
+        foreach($x->get() as $r)
         {
             foreach($r->rows as $rr)
             {
@@ -635,7 +642,7 @@ Route::group(['middleware' => 'auth'],function(){
                 if ($rr->vat_id > 0)
                     $total += getVatValue($rr->amount, $rr->vat_id);
             }
-        }*/
+        }
 
         $x = $x->get();
 
@@ -655,7 +662,7 @@ Route::group(['middleware' => 'auth'],function(){
                 'supplier' => $r->supplier->name,
                 'causals' => $causals,
                 'payment' => $r->payment_method->name,
-                'action' => $r->id . "|" . formatPrice($total)
+                'action' => $r->id . "|"
             );
 
         }
@@ -670,7 +677,10 @@ Route::group(['middleware' => 'auth'],function(){
             'action' => ''
         );
         */
-        return json_encode(array("data" => $datas));
+        if ($hasFilter)
+            return json_encode(array("data" => $datas, "totals" => formatPrice($total)));
+        else
+            return json_encode(array("data" => $datas));
 
     });
 
@@ -756,8 +766,8 @@ Route::group(['middleware' => 'auth'],function(){
         {
 
             $price = 0;
-            $price = $x->course->price;
-            $subPrice = $x->course->subscription_price;
+            $price = $x->price; // $x->course->price;
+            $subPrice = $x->subscription_price; // $x->course->subscription_price;
             $records = \App\Models\Record::where('member_course_id', $x->id)->where('deleted', 0)->get();
             $prices = [];
             foreach ($records as $record)
@@ -895,7 +905,9 @@ Route::group(['middleware' => 'auth'],function(){
 
         //$datas = \App\Models\MemberCourse::with('member');
 
-        $datas = \App\Models\MemberCourse::select('member_courses.*', 'members.first_name', 'members.last_name', 'members.email', 'members.phone', 'members.birth_date')->leftJoin('members', 'member_courses.member_id', '=', 'members.id');
+        $datas = \App\Models\MemberCourse::select('member_courses.*', 'courses.name as course_name', 'members.first_name', 'members.last_name', 'members.email', 'members.phone', 'members.birth_date')
+        ->leftJoin('courses', 'member_courses.course_id', '=', 'courses.id')
+        ->leftJoin('members', 'member_courses.member_id', '=', 'members.id');
 
         if (isset($_GET["search"]["value"]))
         {
@@ -1045,18 +1057,20 @@ Route::group(['middleware' => 'auth'],function(){
         {
             $column = '';
             if ($_GET["order"][0]["column"] == 1)
-                $column = 'last_name';
-            if ($_GET["order"][0]["column"] == 2)
-                $column = 'first_name';
+                $column = 'course_name';
             if ($_GET["order"][0]["column"] == 2)
-                $column = 'birth_date';
+                $column = 'last_name';
             if ($_GET["order"][0]["column"] == 3)
-                $column = 'birth_date';
+                $column = 'first_name';
             if ($_GET["order"][0]["column"] == 4)
                 $column = 'birth_date';
             if ($_GET["order"][0]["column"] == 5)
-                $column = 'phone';
+                $column = 'birth_date';
             if ($_GET["order"][0]["column"] == 6)
+                $column = 'birth_date';
+            if ($_GET["order"][0]["column"] == 7)
+                $column = 'phone';
+            if ($_GET["order"][0]["column"] == 8)
                 $column = 'email';
             if ($column != '')
                 $datas = $datas->orderBy($column, $_GET["order"][0]["dir"]);
@@ -1093,6 +1107,7 @@ Route::group(['middleware' => 'auth'],function(){
             $ret[] = array(
 
                 "column_0" => $idx + 1,
+                "column_8" => $r->course_name,
                 "column_1" => $r->last_name,
                 "column_2" => $r->first_name,
                 "column_3" => strval($interval->y),