Luca Parisio 1 anno fa
parent
commit
49884852b2
48 ha cambiato i file con 1776 aggiunte e 1178 eliminazioni
  1. 4 0
      app/Http/Livewire/Category.php
  2. 6 1
      app/Http/Livewire/Causal.php
  3. 16 0
      app/Http/Livewire/Course.php
  4. 1 0
      app/Http/Livewire/CourseDuration.php
  5. 1 0
      app/Http/Livewire/CourseFrequency.php
  6. 1 0
      app/Http/Livewire/CourseLevel.php
  7. 1 0
      app/Http/Livewire/CourseSubscription.php
  8. 1 0
      app/Http/Livewire/CourseType.php
  9. 1 0
      app/Http/Livewire/Discipline.php
  10. 120 0
      app/Http/Livewire/User.php
  11. 1 0
      app/Http/Livewire/Vat.php
  12. 2 1
      app/Models/Course.php
  13. 1 0
      app/Models/User.php
  14. 32 0
      database/migrations/2024_11_21_104500_add_active_to_courses_table.php
  15. 34 0
      database/migrations/2024_11_21_125000_add_fields_to_users_table.php
  16. 7 4
      database/seeders/DatabaseSeeder.php
  17. 57 6
      resources/views/layouts/app.blade.php
  18. 11 8
      resources/views/livewire/bank.blade.php
  19. 12 9
      resources/views/livewire/card.blade.php
  20. 6 2
      resources/views/livewire/category.blade.php
  21. 2 2
      resources/views/livewire/category_child.blade.php
  22. 23 20
      resources/views/livewire/causal.blade.php
  23. 2 2
      resources/views/livewire/causal_child.blade.php
  24. 11 8
      resources/views/livewire/city.blade.php
  25. 19 6
      resources/views/livewire/course.blade.php
  26. 2 2
      resources/views/livewire/course_child.blade.php
  27. 11 8
      resources/views/livewire/course_duration.blade.php
  28. 11 8
      resources/views/livewire/course_frequency.blade.php
  29. 11 8
      resources/views/livewire/course_level.blade.php
  30. 69 66
      resources/views/livewire/course_list.blade.php
  31. 3 3
      resources/views/livewire/course_member.blade.php
  32. 11 8
      resources/views/livewire/course_subscription.blade.php
  33. 11 8
      resources/views/livewire/course_type.blade.php
  34. 11 8
      resources/views/livewire/discipline.blade.php
  35. 15 15
      resources/views/livewire/member.blade.php
  36. 8 5
      resources/views/livewire/nation.blade.php
  37. 12 9
      resources/views/livewire/payment_method.blade.php
  38. 8 5
      resources/views/livewire/province.blade.php
  39. 9 9
      resources/views/livewire/receipt.blade.php
  40. 6 6
      resources/views/livewire/records_in.blade.php
  41. 5 5
      resources/views/livewire/records_out.blade.php
  42. 6 3
      resources/views/livewire/reminders.blade.php
  43. 14 11
      resources/views/livewire/sponsor.blade.php
  44. 11 8
      resources/views/livewire/supplier.blade.php
  45. 226 0
      resources/views/livewire/user.blade.php
  46. 11 8
      resources/views/livewire/vat.blade.php
  47. 11 10
      resources/views/login.blade.php
  48. 922 896
      routes/web.php

+ 4 - 0
app/Http/Livewire/Category.php

@@ -8,6 +8,8 @@ class Category extends Component
 {
     public $records, $parent_id, $name, $enabled, $dataId, $update = false, $add = false;
 
+    public $parent = '';
+
     protected $rules = [
         'name' => 'required'
     ];
@@ -19,6 +21,7 @@ class Category extends Component
     public function resetFields(){
         $this->name = '';
         $this->parent_id = null;
+        $this->parent = '';
         $this->enabled = true;
     }
 
@@ -39,6 +42,7 @@ class Category extends Component
     {
         $this->resetFields();
         $this->parent_id = $parent_id;
+        $this->parent = \App\Models\Category::findOrFail($parent_id)->name;
         $this->add = true;
         $this->update = false;
     }

+ 6 - 1
app/Http/Livewire/Causal.php

@@ -10,6 +10,8 @@ class Causal extends Component
 
     public $corrispettivo_causal_id = 0;
 
+    public $parent = '';
+
     protected $rules = [
         'name' => 'required',
         'type' => 'required'
@@ -31,6 +33,7 @@ class Causal extends Component
     public function resetFields(){
         $this->name = '';
         $this->parent_id = null;
+        $this->parent = '';
         $this->type = null;
         $this->money = false;
         $this->corrispettivo_fiscale = false;
@@ -59,7 +62,9 @@ class Causal extends Component
     {
         $this->resetFields();
         $this->parent_id = $parent_id;
-        $this->type = \App\Models\Causal::findOrFail($parent_id)->type;
+        $p = \App\Models\Causal::findOrFail($parent_id);
+        $this->type = $p->type;
+        $this->parent = $p->name;
         $this->add = true;
         $this->update = false;
     }

+ 16 - 0
app/Http/Livewire/Course.php

@@ -75,6 +75,7 @@ class Course extends Component
         $this->date_to = null;
         $this->months = array();
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function getCategories($records, $indentation)
@@ -128,6 +129,7 @@ class Course extends Component
         $this->resetFields();
         $this->add = true;
         $this->update = false;
+
         $this->emit('setEdit', true);
     }
 
@@ -273,4 +275,18 @@ class Course extends Component
         $this->category_id = $id;
     }
 
+    public function duplicate($id){
+        $course = \App\Models\Course::findOrFail($id);
+        $newCourse = $course->replicate();
+        $newYear = date("Y") . "-" . (date("Y") + 1);
+        if ($course->year != '')
+        {
+            list($u, $y) = explode("-", $course->year);
+            $newYear = ($u + 1) . "-" . ($u + 2);
+        }
+        $newCourse->year = $newYear;
+        $newCourse->save();
+        $this->edit($newCourse->id);
+    }
+
 }

+ 1 - 0
app/Http/Livewire/CourseDuration.php

@@ -37,6 +37,7 @@ class CourseDuration extends Component
         $this->name = '';
         $this->duration = 0;
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 1 - 0
app/Http/Livewire/CourseFrequency.php

@@ -34,6 +34,7 @@ class CourseFrequency extends Component
     public function resetFields(){
         $this->name = '';
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 1 - 0
app/Http/Livewire/CourseLevel.php

@@ -34,6 +34,7 @@ class CourseLevel extends Component
     public function resetFields(){
         $this->name = '';
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 1 - 0
app/Http/Livewire/CourseSubscription.php

@@ -34,6 +34,7 @@ class CourseSubscription extends Component
     public function resetFields(){
         $this->name = '';
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 1 - 0
app/Http/Livewire/CourseType.php

@@ -35,6 +35,7 @@ class CourseType extends Component
         $this->name = '';
         $this->duration = 0;
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 1 - 0
app/Http/Livewire/Discipline.php

@@ -34,6 +34,7 @@ class Discipline extends Component
     public function resetFields(){
         $this->name = '';
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 120 - 0
app/Http/Livewire/User.php

@@ -0,0 +1,120 @@
+<?php
+
+namespace App\Http\Livewire;
+
+use Livewire\Component;
+
+class User extends Component
+{
+    public $records, $name, $email, $password, $oldPassword, $level, $enabled, $dataId, $update = false, $add = false;
+
+    protected $rules = [
+        'name' => 'required',
+        'email' => 'required',
+        'password' => 'required'
+    ];
+
+    protected $messages = [
+        'name.required' => 'Il nome è obbligatorio',
+        'email.required' => 'La mail è obbligatoria',
+        'password.required' => 'La password è obbligatoria',
+    ];
+
+    public function resetFields(){
+        $this->name = '';
+        $this->email = '';
+        $this->password = '';
+        $this->oldPassword = '';
+        $this->level = 0;
+        $this->enabled = true;
+        $this->emit('load-data-table');
+    }
+
+    public function render()
+    {
+        $this->records = \App\Models\User::select('id', 'name', 'email', 'password', 'level', 'enabled')->get();
+        return view('livewire.user');
+    }
+
+    public function add()
+    {
+        $this->resetFields();
+        $this->add = true;
+        $this->update = false;
+    }
+
+    public function store()
+    {
+        $this->validate();
+        try {
+            \App\Models\CourseDuration::create([
+                'name' => $this->name,
+                'email' => $this->email,
+                'password' => bcrypt($this->password),
+                'level' => $this->level,
+                'enabled' => $this->enabled
+            ]);
+            session()->flash('success','Dato creato');
+            $this->resetFields();
+            $this->add = false;
+        } catch (\Exception $ex) {
+            session()->flash('error','Errore (' . $ex->getMessage() . ')');
+        }
+    }
+
+    public function edit($id){
+        try {
+            $user = \App\Models\User::findOrFail($id);
+            if( !$user) {
+                session()->flash('error','Dato non trovato');
+            } else {
+                $this->name = $user->name;
+                $this->email = $user->email;
+                $this->password = $user->password;
+                $this->level = $user->level;
+                $this->dataId = $course_duration->id;
+                $this->update = true;
+                $this->add = false;
+            }
+        } catch (\Exception $ex) {
+            session()->flash('error','Errore (' . $ex->getMessage() . ')');
+        }
+    }
+
+    public function update()
+    {
+        $this->validate();
+        try {
+            if ($this->pa)
+            \App\Models\User::whereId($this->dataId)->update([
+                'name' => $this->name,
+                'email' => $this->email,
+                'password' => bcrypt($this->password),
+                'level' => $this->level,
+                'enabled' => $this->enabled
+            ]);
+            session()->flash('success','Dato aggiornato');
+            $this->resetFields();
+            $this->update = false;
+        } catch (\Exception $ex) {
+            session()->flash('error','Errore (' . $ex->getMessage() . ')');
+        }
+    }
+
+    public function cancel()
+    {
+        $this->add = false;
+        $this->update = false;
+        $this->resetFields();
+    }
+
+    public function delete($id)
+    {
+        try{
+            \App\Models\User::find($id)->delete();
+            session()->flash('success',"Dato eliminato");
+        }catch(\Exception $e){
+            session()->flash('error','Errore (' . $ex->getMessage() . ')');
+        }
+    }
+}

+ 1 - 0
app/Http/Livewire/Vat.php

@@ -36,6 +36,7 @@ class Vat extends Component
     public function resetFields(){
         $this->name = '';
         $this->enabled = true;
+        $this->emit('load-data-table');
     }
 
     public function render()

+ 2 - 1
app/Models/Course.php

@@ -27,7 +27,8 @@ class Course extends Model
         'year',
         'subscription_price',
         'sub_causal_id',
-        'category_id'
+        'category_id',
+        'active'
     ];
 
     public function parent()

+ 1 - 0
app/Models/User.php

@@ -21,6 +21,7 @@ class User extends Authenticatable
         'name',
         'email',
         'password',
+        'level'
     ];
 
     /**

+ 32 - 0
database/migrations/2024_11_21_104500_add_active_to_courses_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('courses', function (Blueprint $table) {
+            $table->boolean('active')->default(true);
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('courses', function (Blueprint $table) {
+            $table->dropColumn('active');
+        });
+    }
+};

+ 34 - 0
database/migrations/2024_11_21_125000_add_fields_to_users_table.php

@@ -0,0 +1,34 @@
+<?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('users', function (Blueprint $table) {
+            $table->integer('level')->default(0);
+            $table->integer('enabled')->default(1);
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('users', function (Blueprint $table) {
+            $table->dropColumn('level');
+            $table->dropColumn('enabled');
+        });
+    }
+};

+ 7 - 4
database/seeders/DatabaseSeeder.php

@@ -16,9 +16,12 @@ class DatabaseSeeder extends Seeder
     {
         // \App\Models\User::factory(10)->create();
 
-        // \App\Models\User::factory()->create([
-        //     'name' => 'Test User',
-        //     'email' => 'test@example.com',
-        // ]);
+        \App\Models\User::factory()->create([
+             'name' => 'Administrator',
+             'email' => 'admin@admin.com',
+             'password' => bcrypt('_IAO2024!'),
+             'level' => 0,
+             'enabled' => 1
+        ]);
     }
 }

+ 57 - 6
resources/views/layouts/app.blade.php

@@ -194,12 +194,14 @@
                 print "Iva";
             if (Request::is('payment_methods'))
                 print "Metodi di pagamento";
+            if (Request::is('users'))
+                print "Utenti";
             @endphp
             </h3>
 
             <div class="header--userprofile d-flex align-items-center">
                 <figure><img src="" alt="" class="user--avatar"></figure>
-                <a href="#" id="link-popover" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">Mario Rossi <small>Admin</small></a>
+                <a href="#" id="link-popover" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">{{Auth::user()->name}} <small>{{Auth::user()->level == 0 ? 'Admin' : 'Worker'}}</small></a>
             </div>
 
         </div>
@@ -328,6 +330,13 @@
                             </a>
                         </h2>
                     </div>
+                    <div class="accordion-item " style="{{Request::is('users') ? 'background-color: #c5d9e6;' : ''}}">
+                        <h2 class="accordion-header linkMenu">
+                            <a class="accordion-button collapsed" href="/users">
+                                Utenti
+                            </a>
+                        </h2>
+                    </div>
                 </div>
                 </div>
             </div>
@@ -347,13 +356,10 @@
 <div class="user--profile_menu d-none">
     <ul class="user--boxlist">
         <li class="user--boxlist_item">
-            <a href="#">link 01</a>
+            <a href="/profile">Profilo</a>
         </li>
         <li class="user--boxlist_item">
-            <a href="#">link 01</a>
-        </li>
-        <li class="user--boxlist_item">
-            <a href="#">link 01</a>
+            <a href="/logout">Logout</a>
         </li>
     </ul>
 </div>
@@ -385,6 +391,51 @@
             $(".yesterdayButton").removeClass("lightGrey");
             $(".todayButton").addClass("lightGrey");
         }
+        function hidePop(pop)
+        {
+            $(pop).popover('hide');
+        }
+        function newexportaction(e, dt, button, config) {
+            var self = this;
+            var oldStart = dt.settings()[0]._iDisplayStart;
+            dt.one('preXhr', function (e, s, data) {
+                // Just this once, load all data from the server...
+                data.start = 0;
+                data.length = 2147483647;
+                dt.one('preDraw', function (e, settings) {
+                    // Call the original action function
+                    if (button[0].className.indexOf('buttons-copy') >= 0) {
+                        $.fn.dataTable.ext.buttons.copyHtml5.action.call(self, e, dt, button, config);
+                    } else if (button[0].className.indexOf('buttons-excel') >= 0) {
+                        $.fn.dataTable.ext.buttons.excelHtml5.available(dt, config) ?
+                            $.fn.dataTable.ext.buttons.excelHtml5.action.call(self, e, dt, button, config) :
+                            $.fn.dataTable.ext.buttons.excelFlash.action.call(self, e, dt, button, config);
+                    } else if (button[0].className.indexOf('buttons-csv') >= 0) {
+                        $.fn.dataTable.ext.buttons.csvHtml5.available(dt, config) ?
+                            $.fn.dataTable.ext.buttons.csvHtml5.action.call(self, e, dt, button, config) :
+                            $.fn.dataTable.ext.buttons.csvFlash.action.call(self, e, dt, button, config);
+                    } else if (button[0].className.indexOf('buttons-pdf') >= 0) {
+                        $.fn.dataTable.ext.buttons.pdfHtml5.available(dt, config) ?
+                            $.fn.dataTable.ext.buttons.pdfHtml5.action.call(self, e, dt, button, config) :
+                            $.fn.dataTable.ext.buttons.pdfFlash.action.call(self, e, dt, button, config);
+                    } else if (button[0].className.indexOf('buttons-print') >= 0) {
+                        $.fn.dataTable.ext.buttons.print.action(e, dt, button, config);
+                    }
+                    dt.one('preXhr', function (e, s, data) {
+                        // DataTables thinks the first item displayed is index 0, but we're not drawing that.
+                        // Set the property to what it was before exporting.
+                        settings._iDisplayStart = oldStart;
+                        data.start = oldStart;
+                    });
+                    // Reload the grid with the original page. Otherwise, API functions like table.cell(this) don't work properly.
+                    setTimeout(dt.ajax.reload, 0);
+                    // Prevent rendering of the full data to the DOM
+                    return false;
+                });
+            });
+            // Requery the server with the new one-time export settings
+            dt.ajax.reload();
+        };
     </script>
 
 </body>

+ 11 - 8
resources/views/livewire/bank.blade.php

@@ -56,8 +56,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="cestina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="cestina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -117,9 +117,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                    <label class="form-check-label" for="enabled">Abilitato</label>
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -166,6 +166,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -181,21 +184,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Banche',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Banche',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Banche',
                                         exportOptions: {

+ 12 - 9
resources/views/livewire/card.blade.php

@@ -65,8 +65,8 @@
                             <td>{{$record->next_month_expire}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -171,15 +171,15 @@
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
+                            <div class="form-check form-check-inline" style="padding-left:0px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 <label class="form-check-label" for="enabled">Abilitato</label>
                             </div>
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="use_for_user_check" wire:model="use_for_user_check">
+                            <div class="form-check form-check-inline" style="padding-left:0px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="use_for_user_check">
                                 <label class="form-check-label" for="use_for_user_check">Utilizza per verifica utente tesserato</label>
                             </div>
                         </div>
@@ -228,6 +228,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 layout: {
                     topStart : null,
@@ -239,21 +242,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Tessere',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Tessere',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Tessere',
                                         exportOptions: {

+ 6 - 2
resources/views/livewire/category.blade.php

@@ -37,8 +37,8 @@
                             <td>{{$record->name}}</td>
                             <td>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
-                                <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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                         @if(count($record->childs))
@@ -66,6 +66,10 @@
 
                     <form action="">
 
+                        @if($parent != '')
+                            <h3>Aggiungi livello a {{$parent}}</h3>
+                        @endif
+
                         <div class="row mb-3">
                             <div class="col">
                                 <div class="form--item">

+ 2 - 2
resources/views/livewire/category_child.blade.php

@@ -3,8 +3,8 @@
         <td>{!! str_repeat("&nbsp;", $indentation * 5) !!} {{$record->name}}</td>
         <td>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
-            <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>
-            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+            <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
         </td>
     </tr>
     @if(count($record->childs))

+ 23 - 20
resources/views/livewire/causal.blade.php

@@ -45,8 +45,8 @@
                             <td>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="duplicate({{ $record->id }})">Duplica</button>
-                                <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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                         @if(count($record->childs))
@@ -78,8 +78,8 @@
                             <td>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
                                 <button type="button" class="btn btn-outline-success btn-sm" wire:click="duplicate({{ $record->id }})">Duplica</button>
-                                <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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                         @if(count($record->childs))
@@ -107,6 +107,10 @@
 
                     <form action="">
 
+                        @if($parent != '')
+                            <h3>Aggiungi livello a {{$parent}}</h3>
+                        @endif
+
                         <div class="row mb-3">
                             <div class="col">
                                 <div class="form--item">
@@ -131,15 +135,15 @@
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
+                            <div class="form-check form-check-inline" style="padding-left:0px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 <label class="form-check-label" for="enabled">Abilitato</label>
                             </div>
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="money" wire:model="money">
+                            <div class="form-check form-check-inline" style="padding-left:28px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="money" wire:model="money">
                                 <label class="form-check-label" for="money">Incrementa borsellino virtuale</label>
                             </div>
                         </div>
@@ -147,40 +151,39 @@
 
 
                          <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="no_receipt" wire:model="no_receipt">
+                            <div class="form-check form-check-inline" style="padding-left:28px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="no_receipt" wire:model="no_receipt">
                                 <label class="form-check-label" for="no_receipt">Non generare ricevuta</label>
                             </div>
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="user_status" wire:model="user_status">
+                            <div class="form-check form-check-inline" style="padding-left:28px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="user_status" wire:model="user_status">
                                 <label class="form-check-label" for="user_status">Impatta stato utente</label>
                             </div>
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="no_first" wire:model="no_first">
+                            <div class="form-check form-check-inline" style="padding-left:28px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="no_first" wire:model="no_first">
                                 <label class="form-check-label" for="no_first">Escludi dalla prima nota</label>
                             </div>
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="no_records" wire:model="no_records">
+                            <div class="form-check form-check-inline" style="padding-left:28px !important;">
+                                <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="no_records" wire:model="no_records">
                                 <label class="form-check-label" for="no_records">Escludi da entrate/uscite gestionale</label>
                             </div>
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
+                            <div class="form-check form-check-inline" style="padding-left:28px !important;">
                                 @if($corrispettivo_causal_id == 0 || $corrispettivo_causal_id == $dataId)
-                                    <input class="form-check-input" type="checkbox" id="corrispettivo_fiscale" wire:model="corrispettivo_fiscale">
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="corrispettivo_fiscale" wire:model="corrispettivo_fiscale">
                                 @else
-                                    <input class="form-check-input" type="checkbox" id="corrispettivo_fiscale" wire:model="corrispettivo_fiscale" disabled="disabled">
-
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="corrispettivo_fiscale" wire:model="corrispettivo_fiscale" disabled="disabled">
                                 @endif
                                 <label class="form-check-label" for="corrispettivo_fiscale">Utilizza per corrispettivo fiscale</label>
                             </div>

+ 2 - 2
resources/views/livewire/causal_child.blade.php

@@ -6,8 +6,8 @@
         <td>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="duplicate({{ $record->id }})">Duplica</button>
-            <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>
-            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+            <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
         </td>
     </tr>
     @if(count($record->childs))

+ 11 - 8
resources/views/livewire/city.blade.php

@@ -39,8 +39,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -88,9 +88,9 @@
                             </div>
                             <div class="col">
                                 <div class="form--item">
-                                    <div class="form-check form-check-inline">
-                                        <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                        <label class="form-check-label" for="enabled">Abilitato</label>
+                                    <div class="form--item">
+                                        <label for="enabled" class="form-label">Abilitato</label>
+                                        <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                     </div>
                                 </div>
                             </div>
@@ -139,6 +139,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -148,21 +151,21 @@
                     topStart: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
+                                extend: 'excelHtml5',"action":newexportaction,
                                 title: 'Comuni',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'pdfHtml5',
+                                extend: 'pdfHtml5',"action":newexportaction,
                                 title: 'Comuni',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'print',
+                                extend: 'print',"action":newexportaction,
                                 text: 'Stampa',
                                 title: 'Comuni',
                                 exportOptions: {

+ 19 - 6
resources/views/livewire/course.blade.php

@@ -28,6 +28,7 @@
             <table class="table tablesaw tablesaw-stack" id="tablesaw-350" width="100%">
                 <thead>
                     <tr>
+                        <th scope="col">Anno</th>
                         <th scope="col">Nome</th>
                         <th scope="col">Livello</th>
                         <th scope="col">Tipologia</th>
@@ -40,6 +41,7 @@
                 <tbody id="checkall-target">
                     @foreach($records as $record)
                         <tr>
+                            <td>{{$record->year}}</td>
                             <td>{{$record->name}}</td>
                             <td>{{$record->level->name ?? ""}}</td>
                             <td>{{$record->type->name ?? ""}}</td>
@@ -47,8 +49,9 @@
                             <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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="duplicate({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Duplica"><i class="fa-regular fa-copy"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -196,7 +199,11 @@
                             <div class="col-6">
                                 <div class="form--item">
                                     <label for="inputName" class="form-label">Anno</label>
-                                    <input class="form-control js-keyupTitle @error('year') is-invalid @enderror" type="text" id="year" placeholder="Anno" wire:model="year">
+                                    <select class="form-control" wire:model="year">
+                                        @for($i=2024; $i<=date("Y") + 1; $i++)
+                                            <option value="{{$i . "-" . $i + 1}}">{{$i . "/" . $i + 1}}
+                                        @endfor
+                                    </select>
                                     @error('year')
                                         <div class="invalid-feedback">{{ $message }}</div>
                                     @enderror
@@ -303,6 +310,12 @@
         });
 
         function loadDataTable(){
+
+
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
+
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -318,21 +331,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Corsi',
                                         exportOptions: {

+ 2 - 2
resources/views/livewire/course_child.blade.php

@@ -3,8 +3,8 @@
         <td>{!! str_repeat("&nbsp;", $indentation * 5) !!} {{$record->name}}</td>
         <td>
             <button type="button" class="btn btn-outline-success btn-sm" wire:click="addLevel({{ $record->id }})">Aggiungi livello</button>
-            <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>
-            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+            <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
         </td>
     </tr>
     @if(count($record->childs))

+ 11 - 8
resources/views/livewire/course_duration.blade.php

@@ -36,8 +36,8 @@
                             <td>{{$record->duration}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -84,9 +84,9 @@
                                 </div>
                             @endif
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                    <label class="form-check-label" for="enabled">Abilitato</label>
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -133,6 +133,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -148,21 +151,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Durata corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Durata corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Durata corsi',
                                         exportOptions: {

+ 11 - 8
resources/views/livewire/course_frequency.blade.php

@@ -34,8 +34,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -71,9 +71,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <label class="form-check-label" for="enabled">Abilitato</label><br>
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -120,6 +120,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -135,21 +138,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Frequenza corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Frequenza corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Frequenza corsi',
                                         exportOptions: {

+ 11 - 8
resources/views/livewire/course_level.blade.php

@@ -34,8 +34,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -71,9 +71,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <label class="form-check-label" for="enabled">Abilitato</label><br>
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -120,6 +120,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -135,21 +138,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Livello corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Livello corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Livello corsi',
                                         exportOptions: {

+ 69 - 66
resources/views/livewire/course_list.blade.php

@@ -98,73 +98,75 @@
 
     <button style="display:none" class="btn--ui btNewPayment" onclick="newPayment()">NUOVO PAGAMENTO</button>
 
-    <section id="resume-table">
+    <section id="resume-table" >
         <div class="compare--chart_wrapper d-none"></div>
 
-        <table class="table tablesaw tablesaw-stack pagamento--corsi" id="tablesaw-350" width="100%">
-            <thead>
-                <tr>
-                    <th scope="col">Cognome</th>
-                    <th scope="col">Nome</th>
-                    <th scope="col">Iscrizione</th>
-                    @foreach($months as $m)
-                        <th scope="col">&nbsp;&nbsp;&nbsp;&nbsp;{{$m}}</th>
-                    @endforeach
-                </tr>
-            </thead>
-            <tbody id="checkall-target">
-                @if(false)
-                    @foreach($records as $record)
-                        <tr>
-                            @php
-                            list($id, $first_name, $last_name) = explode("§", $record[0]);
-                            @endphp
-                            <td><a href="/members?member_detail={{$id}}">{{$last_name}}</a></td>
-                            <td><a href="/members?member_detail={{$id}}">{{$first_name}}</a></td>
-                            @php
-                            list($subscribed, $subPrice) = explode("§", $record[15]);
-                            @endphp
-                            <td><a class="{{$subscribed ? 'green' : 'orange'}} sub_{{$record[14]}}" onclick="setSubscription({{$record[13]}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;"><small>{{formatPrice($subPrice)}}</small></a></td>
-                            @for($x=1; $x<=12; $x++)
-                                <td>
-                                    @php
-                                    list($color, $price) = explode("§", $record[$x]);
-                                    @endphp
-                                    @if($color == 'orange')
-                                        <a class="{{$color}} lnk_{{$record[14]}}" id="lnk_{{$record[13]}}_{{$x}}_{{$id}}" onclick="setPayMonth({{$record[13]}}, {{$x}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;"><small>{{formatPrice($price)}}</small></a>
-                                    @else
-                                        @if($color != 'grey')
-                                            <a class="{{$color}}"><small>{{formatPrice($price)}}</small></a>
+
+            <table class="table tablesaw tablesaw-stack pagamento--corsi display nowrap" id="tablesaw-350" width="100%">
+                <thead>
+                    <tr>
+                        <th scope="col">Cognome</th>
+                        <th scope="col">Nome</th>
+                        <th scope="col">Iscrizione</th>
+                        @foreach($months as $m)
+                            <th scope="col">&nbsp;&nbsp;&nbsp;&nbsp;{{$m}}</th>
+                        @endforeach
+                    </tr>
+                </thead>
+                <tbody id="checkall-target">
+                    @if(false)
+                        @foreach($records as $record)
+                            <tr>
+                                @php
+                                list($id, $first_name, $last_name) = explode("§", $record[0]);
+                                @endphp
+                                <td><a href="/members?member_detail={{$id}}">{{$last_name}}</a></td>
+                                <td><a href="/members?member_detail={{$id}}">{{$first_name}}</a></td>
+                                @php
+                                list($subscribed, $subPrice) = explode("§", $record[15]);
+                                @endphp
+                                <td><a class="{{$subscribed ? 'green' : 'orange'}} sub_{{$record[14]}}" onclick="setSubscription({{$record[13]}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;"><small>{{formatPrice($subPrice)}}</small></a></td>
+                                @for($x=1; $x<=12; $x++)
+                                    <td>
+                                        @php
+                                        list($color, $price) = explode("§", $record[$x]);
+                                        @endphp
+                                        @if($color == 'orange')
+                                            <a class="{{$color}} lnk_{{$record[14]}}" id="lnk_{{$record[13]}}_{{$x}}_{{$id}}" onclick="setPayMonth({{$record[13]}}, {{$x}}, {{$id}}, {{$record[14]}})" style="cursor: pointer;"><small>{{formatPrice($price)}}</small></a>
                                         @else
-                                            &nbsp;
+                                            @if($color != 'grey')
+                                                <a class="{{$color}}"><small>{{formatPrice($price)}}</small></a>
+                                            @else
+                                                &nbsp;
+                                            @endif
                                         @endif
-                                    @endif
-                                </td>
-                            @endfor
-                        </tr>
-                    @endforeach
-                @endif
-
-            </tbody>
-            <tfoot id="checkall-target">
-                <tr>
-                    <th colspan="2"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                    <th style="padding-left:5px !important;padding-right:5px !important;"></th>
-                </tr>
-            </tfoot>
-        </table>
+                                    </td>
+                                @endfor
+                            </tr>
+                        @endforeach
+                    @endif
+
+                </tbody>
+                <tfoot id="checkall-target">
+                    <tr>
+                        <th colspan="2"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                        <th style="padding-left:5px !important;padding-right:5px !important;"></th>
+                    </tr>
+                </tfoot>
+            </table>
+
 
         <button style="display:none" class="btn--ui btNewPayment" onclick="newPayment()">NUOVO PAGAMENTO</button>
 
@@ -199,6 +201,7 @@
         {
             padding-right:5px !important;
         }
+
     </style>
     <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
@@ -634,21 +637,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Pagamento corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Pagamento corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Pagamento corsi',
                                         exportOptions: {

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

@@ -550,21 +550,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Iscritti corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Iscritti corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Iscritti corsi',
                                         exportOptions: {

+ 11 - 8
resources/views/livewire/course_subscription.blade.php

@@ -34,8 +34,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -71,9 +71,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <label class="form-check-label" for="enabled">Abilitato</label><br>
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -120,6 +120,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -135,21 +138,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Iscritti corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Iscritti corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Iscritti corsi',
                                         exportOptions: {

+ 11 - 8
resources/views/livewire/course_type.blade.php

@@ -34,8 +34,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -71,9 +71,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <label class="form-check-label" for="enabled">Abilitato</label><br>
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -120,6 +120,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -135,21 +138,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Tipologia corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Tipologia corsi',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Tipologia corsi',
                                         exportOptions: {

+ 11 - 8
resources/views/livewire/discipline.blade.php

@@ -34,8 +34,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -71,9 +71,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                    <label class="form-check-label" for="enabled">Abilitato</label>
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -120,6 +120,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -135,21 +138,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Discipline',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Discipline',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Discipline',
                                         exportOptions: {

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

@@ -102,7 +102,7 @@
                             <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>
                         </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>
+                        <button class="btn--ui extraLightGrey" wire:click="edit({{ $currentMember->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
 
                     </header>
 
@@ -464,8 +464,8 @@
                                     </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>
-                                        <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                        <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                        <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                                     </td>
                                 </tr>
                             @endforeach
@@ -845,8 +845,8 @@
                                                                             <td>{{$member_certificate->expire_date ? date("d/m/Y", strtotime($member_certificate->expire_date)) : ''}}</td>
                                                                             <td>{!!$member_certificate->filename != '' ? '<a href="/storage/app/public/' . $member_certificate->filename . '" target="_blank">Visualizza</a>' : ''!!}</td>
                                                                             <td>
-                                                                                <button type="button" class="btn" wire:click="editCertificate({{ $member_certificate->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>
-                                                                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCertificate({{ $member_certificate->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                                                                <button type="button" class="btn" wire:click="editCertificate({{ $member_certificate->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                                                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCertificate({{ $member_certificate->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                                                                             </td>
                                                                         </tr>
                                                                     @endforeach
@@ -923,8 +923,8 @@
                                                             <td>{{$member_card->number}}</td>
                                                             <td>{{$member_card->expire_date ? date("d/m/Y", strtotime($member_card->expire_date)) : ''}}</td>
                                                             <td>
-                                                                <button type="button" class="btn" wire:click="editCard({{ $member_card->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>
-                                                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCard({{ $member_card->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                                                <button type="button" class="btn" wire:click="editCard({{ $member_card->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCard({{ $member_card->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                                                             </td>
                                                         </tr>
                                                     @endforeach
@@ -1086,7 +1086,7 @@
 
                                                 </div>
                                             </div>
-                                            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCategory({{ $member_category->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                            <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCategory({{ $member_category->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                                         </div>
                                     @endforeach
 
@@ -1162,8 +1162,8 @@
                                                                     <a class="{{$this->getMonthStatus(8, $member_course->months)}}" wire:click="setPayMonth(8, '{{ $member_course->months }}')">Ago</a>&nbsp;
                                                                 </td>
                                                                 <td>
-                                                                    <button type="button" class="btn" wire:click="editCourse({{ $member_course->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>&nbsp;
-                                                                    <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCourse({{ $member_course->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                                                    <button type="button" class="btn" wire:click="editCourse({{ $member_course->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>&nbsp;
+                                                                    <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteCourse({{ $member_course->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                                                                 </td>
                                                             </tr>
                                                             <tr>
@@ -2294,8 +2294,8 @@
                     {
                         data: "action",
                         render: function (data){
-                            var ret = '<button type="button" class="btn" onclick="editData(' + data + ')" 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>&nbsp;';
-                            ret += '<button type="button" class="btn" onclick="deleteData(' + data + ')" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>';
+                            var ret = '<button type="button" class="btn" onclick="editData(' + data + ')" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>&nbsp;';
+                            ret += '<button type="button" class="btn" onclick="deleteData(' + data + ')" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>';
                             return ret;
                         }
                     },
@@ -2315,21 +2315,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Utenti',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Utenti',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Utenti',
                                         exportOptions: {

+ 8 - 5
resources/views/livewire/nation.blade.php

@@ -61,8 +61,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -182,6 +182,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -191,21 +194,21 @@
                     topStart: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
+                                extend: 'excelHtml5',"action":newexportaction,
                                 title: 'Nazioni',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'pdfHtml5',
+                                extend: 'pdfHtml5',"action":newexportaction,
                                 title: 'Nazioni',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'print',
+                                extend: 'print',"action":newexportaction,
                                 text: 'Stampa',
                                 title: 'Nazioni',
                                 exportOptions: {

+ 12 - 9
resources/views/livewire/payment_method.blade.php

@@ -55,8 +55,8 @@
                             </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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -137,10 +137,10 @@
                         </div>
 
                         <div class="form--item mb-3">
-                            <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                <label class="form-check-label" for="enabled">Abilitato</label>
-                            </div>
+                            <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
+                                </div>
                         </div>
 
                         <div class="form--item mb-3">
@@ -199,6 +199,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -214,21 +217,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Metodi di pagamento',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Metodi di pagamento',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Metodi di pagamento',
                                         exportOptions: {

+ 8 - 5
resources/views/livewire/province.blade.php

@@ -40,8 +40,8 @@
                             <td>{{$record->name}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -171,6 +171,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -180,21 +183,21 @@
                     topStart: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
+                                extend: 'excelHtml5',"action":newexportaction,
                                 title: 'Provincie',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'pdfHtml5',
+                                extend: 'pdfHtml5',"action":newexportaction,
                                 title: 'Provincie',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'print',
+                                extend: 'print',"action":newexportaction,
                                 text: 'Stampa',
                                 title: 'Provincie',
                                 exportOptions: {

+ 9 - 9
resources/views/livewire/receipt.blade.php

@@ -98,9 +98,9 @@
                             <td>{{date("d/m/Y", strtotime($record->date))}}</td>
                             <td>{{formatPrice($record->rows->sum('amount'))}}</td>
                             <td>
-                                <button type="button" class="btn u" onclick="document.location.href='/in?id={{$record->record_id}}'" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="visualizza ricevuta"><i class="fa-regular fa-eye"></i></button>
-                                <a target="_blank" class="btn  u" href="/receipt/{{$record->id}}" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="stampa ricevuta"><i class="fa-regular fa-file-lines"></i></a>
-                                <a target="_blank" class="btn u" onclick="sendMail({{$record->id}})"><i class="fa-regular fa-envelope" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="invia email"></i></a>
+                                <button type="button" class="btn u" onclick="document.location.href='/in?id={{$record->record_id}}'" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="visualizza ricevuta"><i class="fa-regular fa-eye"></i></button>
+                                <a target="_blank" class="btn  u" href="/receipt/{{$record->id}}" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="stampa ricevuta"><i class="fa-regular fa-file-lines"></i></a>
+                                <a target="_blank" class="btn u" onclick="sendMail({{$record->id}})"><i class="fa-regular fa-envelope" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="invia email"></i></a>
                             </td>
                         </tr>
                     @endforeach
@@ -317,9 +317,9 @@
                         data: "action",
                         render: function (data){
                             // Split class and text
-                            var ret = '<button type="button" class="btn u" onclick="document.location.href=' + "'" + '/in?id=' + data + "'" + '" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="visualizza ricevuta"><i class="fa-regular fa-eye"></i></button>';
-                            ret += '<a target="_blank" class="btn  u" href="/receipt/' + data + '" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="stampa ricevuta"><i class="fa-regular fa-file-lines"></i></a>';
-                            ret += '<a target="_blank" class="btn u" onclick="sendMail(' + data + ')"><i class="fa-regular fa-envelope" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="invia email"></i></a>';
+                            var ret = '<button type="button" class="btn u" onclick="document.location.href=' + "'" + '/in?id=' + data + "'" + '" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="visualizza ricevuta"><i class="fa-regular fa-eye"></i></button>';
+                            ret += '<a target="_blank" class="btn  u" href="/receipt/' + data + '" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="stampa ricevuta"><i class="fa-regular fa-file-lines"></i></a>';
+                            ret += '<a target="_blank" class="btn u" onclick="sendMail(' + data + ')"><i class="fa-regular fa-envelope" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="invia email"></i></a>';
                             return ret;
                         }
                     }
@@ -334,21 +334,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Ricevute',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Ricevute',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Ricevute',
                                         exportOptions: {

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

@@ -1171,9 +1171,9 @@
                             var ret = '';
                             if (j[2] != 'x')
                             {
-                                ret = '<button type="button" class="btn" onclick="editData(' + j[0] + ')" 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>&nbsp;';
-                                ret += '<button type="button" class="btn" onclick="deleteData(' + j[0] + ')"  data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>';
-                                ret += '<button type="button" class="btn btn-outline-default btn-sm" onclick="duplicateData(' + j[0] + ')" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Duplica"><i class="fa-regular fa-copy"></i></button>';
+                                ret = '<button type="button" class="btn" onclick="editData(' + j[0] + ')" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>&nbsp;';
+                                ret += '<button type="button" class="btn" onclick="deleteData(' + j[0] + ')"  data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>';
+                                ret += '<button type="button" class="btn btn-outline-default btn-sm" onclick="duplicateData(' + j[0] + ')" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Duplica"><i class="fa-regular fa-copy"></i></button>';
                             }
                             return ret;
                         }
@@ -1201,21 +1201,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Entrate',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Entrate',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Entrate',
                                         exportOptions: {

+ 5 - 5
resources/views/livewire/records_out.blade.php

@@ -793,8 +793,8 @@
                             const j = data.split("|");
                             //$(".totalDiv").html('Totale&nbsp;:&nbsp;<b>' + j[1] + '</b>');
                             //$(".total").html('Totale&nbsp;:&nbsp;<b>' + j[1] + '</b>');
-                            var ret = '<button type="button" class="btn" onclick="editData(' + j[0] + ')" 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>&nbsp;';
-                            ret += '<button type="button" class="btn" onclick="deleteData(' + j[0] + ')" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>';
+                            var ret = '<button type="button" class="btn" onclick="editData(' + j[0] + ')" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>&nbsp;';
+                            ret += '<button type="button" class="btn" onclick="deleteData(' + j[0] + ')" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>';
                             return ret;
                         }
                     },
@@ -813,21 +813,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Uscite',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Uscite',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Uscite',
                                         exportOptions: {

+ 6 - 3
resources/views/livewire/reminders.blade.php

@@ -249,6 +249,9 @@
         } );
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -264,21 +267,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Scadenze',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Scadenze',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Scadenze',
                                         exportOptions: {

+ 14 - 11
resources/views/livewire/sponsor.blade.php

@@ -60,8 +60,8 @@
                             <td>{{$record->vat}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -225,9 +225,9 @@
                                         <div class="row mb-3">
                                             <div class="col">
                                                 <div class="form--item">
-                                                    <div class="form-check form-check-inline">
-                                                        <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                                        <label class="form-check-label" for="enabled">Abilitato</label>
+                                                    <div class="form--item">
+                                                        <label for="enabled" class="form-label">Abilitato</label>
+                                                        <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                                     </div>
                                                 </div>
                                             </div>
@@ -269,8 +269,8 @@
                                                         @endif
                                                     </td>
                                                     <td>
-                                                        <button type="button" class="btn" wire:click="editContract({{ $contract->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>
-                                                        <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteContract({{ $contract->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                                        <button type="button" class="btn" wire:click="editContract({{ $contract->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                                        <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="deleteContract({{ $contract->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                                                     </td>
                                                 </tr>
                                             @endforeach
@@ -333,7 +333,7 @@
                                                             <label class="form-label">Contratto</label>
                                                             <input class="form-control" type="file" wire:model="file" accept="image/*,.pdf,.doc,.docx">
                                                             @if ($file_old != '')
-                                                                <br><a href="/storage/app/public/{{$file_old}}" target="_blank">Visualizza</a>&nbsp;&nbsp;&nbsp;(<a wire:click.prevent="removeFile()" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></a>)
+                                                                <br><a href="/storage/app/public/{{$file_old}}" target="_blank">Visualizza</a>&nbsp;&nbsp;&nbsp;(<a wire:click.prevent="removeFile()" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></a>)
                                                             @endif
                                                         </div>
                                                     </div>
@@ -508,6 +508,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: false,
                 thead: {
@@ -517,21 +520,21 @@
                     topStart: {
                         buttons: [
                             {
-                                extend: 'excelHtml5',
+                                extend: 'excelHtml5',"action":newexportaction,
                                 title: 'Sponsor',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'pdfHtml5',
+                                extend: 'pdfHtml5',"action":newexportaction,
                                 title: 'Sponsor',
                                 exportOptions: {
                                     columns: ":not(':last')"
                                 }
                             },
                             {
-                                extend: 'print',
+                                extend: 'print',"action":newexportaction,
                                 text: 'Stampa',
                                 title: 'Sponsor',
                                 exportOptions: {

+ 11 - 8
resources/views/livewire/supplier.blade.php

@@ -40,8 +40,8 @@
                             <td>{{$record->email}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -227,9 +227,9 @@
                         <div class="row mb-3">
                             <div class="col">
                                 <div class="form--item">
-                                    <div class="form-check form-check-inline">
-                                        <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                        <label class="form-check-label" for="enabled">Abilitato</label>
+                                    <div class="form--item">
+                                        <label for="enabled" class="form-label">Abilitato</label>
+                                        <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                     </div>
                                 </div>
                             </div>
@@ -378,6 +378,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -393,21 +396,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Fornitori',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Fornitori',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Fornitori',
                                         exportOptions: {

+ 226 - 0
resources/views/livewire/user.blade.php

@@ -0,0 +1,226 @@
+<div class="col card--ui" id="card--dashboard">
+    @if(!$add && !$update)
+
+        <header id="title--section" style="display:none !important"  class="d-flex align-items-center justify-content-between">
+            <div class="title--section_name d-flex align-items-center justify-content-between">
+                <i class="ico--ui title_section utenti me-2"></i>
+                <h2 class="primary">Utenti</h2>
+            </div>
+
+            <div class="title--section_addButton"  wire:click="add()" style="cursor: pointer;">
+                <div class="btn--ui entrata d-flex justify-items-between">
+                    <a href="#" wire:click="add()" style="color:white">Aggiungi</a>
+                </div>
+            </div>
+
+        </header>
+
+        <section id="resume-table">
+            <div class="compare--chart_wrapper d-none"></div>
+
+            <table class="table tablesaw tablesaw-stack" id="tablesaw-350" width="100%">
+                <thead>
+                    <tr>
+                        <th scope="col">Nome</th>
+                        <th scope="col">Email</th>
+                        <th scope="col">Livello</th>
+                        <th scope="col">Abilitato</th>
+                        <th scope="col">...</th>
+                    </tr>
+                </thead>
+                <tbody id="checkall-target">
+                    @foreach($records as $record)
+                        <tr>
+                            <td>{{$record->name}}</td>
+                            <td>{{$record->email}}</td>
+                            <td>{{$record->level == 0 ? 'Admin' : 'Worker'}}</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" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                            </td>
+                        </tr>
+                    @endforeach
+
+                </tbody>
+            </table>
+
+        </section>
+
+    @else
+
+        <div class="container">
+
+            @if (session()->has('error'))
+                <div class="alert alert-danger" role="alert">
+                    {{ session()->get('error') }}
+                </div>
+            @endif
+
+            <div class="row">
+                <div class="col">
+
+                    <form action="">
+
+                        <div class="row mb-3">
+                            <div class="col-md-6">
+                                <div class="form--item">
+                                    <label for="name" 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">
+                                    @error('name')
+                                        <div class="invalid-feedback">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                            <div class="col-md-6">
+                                <div class="form--item">
+                                    <label for="email" class="form-label">Durata</label>
+                                    <input class="form-control js-keyupTitle @error('email') is-invalid @enderror" type="text" id="email" placeholder="Email" wire:model="email" type="email">
+                                    @error('email')
+                                        <div class="invalid-feedback">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                            <div class="col-md-6">
+                                <div class="form--item">
+                                    <label for="password" class="form-label">Password</label>
+                                    <small>Lasciare vuota per NON modificarla</small>
+                                    <input class="form-control js-keyupTitle @error('password') is-invalid @enderror" type="text" id="password" placeholder="Password" wire:model="password" type="password">
+                                    @error('password')
+                                        <div class="invalid-feedback">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                            <div class="col-md-6">
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Livello</label>
+                                    <select class="form-control" id="level" wire:model="level">
+                                        <option value="0">Admin
+                                        <option value="1">Worker
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="col-md-6">
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
+                                </div>
+                            </div>
+                        </div>
+
+                        <!-- // inline input field -->
+
+                        <div class="form--item">
+                            @if($add)
+                                <button type="submit" class="btn--ui" wire:click.prevent="store()">Salva</button>
+                            @endif
+                            @if($update)
+                                <button type="submit" class="btn--ui" wire:click.prevent="update()">Salva</button>
+                            @endif
+                            <button type="button" class="btn--ui lightGrey" wire:click="cancel()">Annulla</button>
+                        </div>
+
+                    </form>
+                </div>
+            </div>
+        </div>
+
+    @endif
+</div>
+
+@push('scripts')
+    <link href="/css/datatables.css" rel="stylesheet" />
+    <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
+    <script src="/assets/js/datatables.js"></script>
+    <script src="https://cdn.datatables.net/buttons/3.0.2/js/buttons.dataTables.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
+@endpush
+
+@push('scripts')
+    <script>
+
+        $(document).ready(function() {
+            loadDataTable();
+        } );
+
+        Livewire.on('load-data-table', () => {
+            loadDataTable();
+        });
+
+        function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
+            $('#tablesaw-350').DataTable({
+                fixedHeader: true,
+                thead: {
+                'th': {'background-color': 'blue'}
+                },
+                layout: {
+                    topStart : null,
+                    topEnd : null,
+                    top1A: {
+                        buttons: [
+                            {
+                                extend: 'collection',
+                                text: 'Esporta',
+                                buttons: [
+                                    {
+                                    extend: 'excelHtml5',"action":newexportaction,
+                                        title: 'Durata corsi',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'pdfHtml5',"action":newexportaction,
+                                        title: 'Durata corsi',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    },
+                                    {
+                                        extend: 'print',"action":newexportaction,
+                                        text: 'Stampa',
+                                        title: 'Durata corsi',
+                                        exportOptions: {
+                                            columns: ":not(':last')"
+                                        }
+                                    }
+                                ],
+                                dropup: true
+                            }
+                        ]
+                    },
+                    top1B : {
+                        pageLength: {
+                            menu: [[10, 25, 50, 100, 100000], [10, 25, 50, 100, "Tutti"]]
+                        }
+                    },
+                    top1C :'search',
+                },
+                pagingType: 'numbers',
+                "language": {
+                    "url": "/assets/js/Italian.json"
+                },
+                "fnInitComplete": function (oSettings, json) {
+                    var html = '&nbsp;<a href="#" class="addData btn--ui"><i class="fa-solid fa-plus"></i></a>';
+                    $(".dt-search").append(html);
+                }
+            });
+            $('#tablesaw-350 thead tr th').addClass('col');
+            $('#tablesaw-350 thead tr th').css("background-color", "#f6f8fa");
+
+            $(document).ready(function() {
+                $(document).on("click",".addData",function() {
+                    $(".title--section_addButton").trigger("click")
+                });
+            } );
+
+        }
+
+    </script>
+@endpush
+

+ 11 - 8
resources/views/livewire/vat.blade.php

@@ -37,8 +37,8 @@
                             <td>{{$record->value}}</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>
-                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
+                                <button type="button" class="btn" wire:click="edit({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Modifica"><i class="fa-regular fa-pen-to-square"></i></button>
+                                <button type="button" class="btn" onclick="confirm('Sei sicuro?') || event.stopImmediatePropagation()" wire:click="delete({{ $record->id }})" data-bs-toggle="popover" onclick="hidePop(this)" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="Elimina"><i class="fa-regular fa-trash-can"></i></button>
                             </td>
                         </tr>
                     @endforeach
@@ -83,9 +83,9 @@
                                 </div>
                             </div>
                             <div class="col">
-                                <div class="form-check form-check-inline">
-                                    <input class="form-check-input" type="checkbox" id="enabled" wire:model="enabled">
-                                    <label class="form-check-label" for="enabled">Abilitato</label>
+                                <div class="form--item">
+                                    <label for="enabled" class="form-label">Abilitato</label>
+                                    <input class="form-check-input form-control" style="width:30px; height:30px;" type="checkbox" id="enabled" wire:model="enabled">
                                 </div>
                             </div>
                         </div>
@@ -132,6 +132,9 @@
         });
 
         function loadDataTable(){
+            if ( $.fn.DataTable.isDataTable('#tablesaw-350') ) {
+                $('#tablesaw-350').DataTable().destroy();
+            }
             $('#tablesaw-350').DataTable({
                 fixedHeader: true,
                 thead: {
@@ -147,21 +150,21 @@
                                 text: 'Esporta',
                                 buttons: [
                                     {
-                                    extend: 'excelHtml5',
+                                    extend: 'excelHtml5',"action":newexportaction,
                                         title: 'Iva',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'pdfHtml5',
+                                        extend: 'pdfHtml5',"action":newexportaction,
                                         title: 'Iva',
                                         exportOptions: {
                                             columns: ":not(':last')"
                                         }
                                     },
                                     {
-                                        extend: 'print',
+                                        extend: 'print',"action":newexportaction,
                                         text: 'Stampa',
                                         title: 'Iva',
                                         exportOptions: {

+ 11 - 10
resources/views/login.blade.php

@@ -18,22 +18,22 @@
         <div class="card--ui mt-5">
 
             <p class="form--title text-center mb-4">Fai Login per accedere a tutte le funzioni</p>
-            <form action="/dashboard">
+            <form action="/login" method="POST">
+                <input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
+
+                @if(isset($_GET["error"]))
+                    <span style="color:red">DATI ERRATI</span><br><br>
+                @endif
+
                 <div class="form--item input-group mb-3">
-                    <input type="email" class="form-control" placeholder="Email" id="inputEmail">
+                    <input type="email" class="form-control" placeholder="Email" id="email" name="email">
                     <span class="input-group-text" id="basic-addon2"><i class="ico--ui mail"></i></span>
                 </div>
                 <div class="form--item input-group mb-3">
-                    <input type="password" class="form-control" placeholder="Password" id="inputPassword">
+                    <input type="password" class="form-control" placeholder="Password" id="password" name="password">
                     <span class="input-group-text" id="basic-addon2"><i class="ico--ui lock"></i></span>
                 </div>
                 <div class="form--item input-group d-flex align-items-center justify-content-between">
-                    <div class="form-check">
-                        <input class="form-check-input" type="checkbox" id="gridCheck">
-                        <label class="form-check-label" for="gridCheck">
-                          Check me out
-                        </label>
-                    </div>
                     <button type="submit" class="btn--ui">accedi</button>
                 </div>
             </form>
@@ -45,10 +45,11 @@
                 <button class="btn--ui li--login" type="button"><i class="ico--ui li me-2"></i>Login con LinkedIn</button>
             </div>            -->
 
+            <!--
             <div class="credential--recovery d-flex flex-column mt-4">
                 <a href="#">Hai dimenticato la Password</a>
-                <!--<a href="#">Registrati se non hai un account</a>-->
             </div>
+            -->
 
         </div>
     </div>

File diff suppressed because it is too large
+ 922 - 896
routes/web.php


Some files were not shown because too many files changed in this diff