Merge branch 'devel'

This commit is contained in:
Amministratore 2023-07-28 10:29:56 +02:00
commit 9cf1f9a388
21 changed files with 269 additions and 38 deletions

View File

@ -0,0 +1,15 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Contratti;
class ContrattiController extends Controller
{
//
public function contratti()
{
return view('contratti.lista',['data'=>Contratti::all()]);
}
}

View File

@ -28,4 +28,21 @@ class DocumentiController extends Controller
'documenti'=>$documenti 'documenti'=>$documenti
]); ]);
} }
/*
// {issue #5} Proposta cambiamento per generalizzazione documenti
// NB: cambiare anche in routes/admin.php il riferimento alla funzione da richiamare
public function fileMovimentiForm(Request $request){
$documenti = Documenti::getList($request->input('id'),'Movimenti');
return view('conti.documenti.insert', [
'id'=>$request['id']),
'documenti'=>$documenti
]);
}
*/
public function listaDocumenti()
{
return view('documenti.lista',['data'=>Documenti::all()]);
}
} }

11
app/Models/Contratti.php Normal file
View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Contratti extends Model
{
use HasFactory;
}

View File

@ -17,6 +17,14 @@ class Documenti extends Model
return $quanti; return $quanti;
} }
// Proposta modifica {issue #5} gitea (generalizzazione del documento)
/*
public static function countDocument($id,$entity)
{
return self::where('entita','=',$entity)->where('entita_id','=',$id)->count();
}
*/
public static function store($req) { public static function store($req) {
$movimento_id=$req->input('id'); $movimento_id=$req->input('id');
$filename=$req->file('filename')->store('Documenti'); $filename=$req->file('filename')->store('Documenti');
@ -28,6 +36,20 @@ class Documenti extends Model
]); ]);
} }
// Proposta modifica {issue #5} gitea (generalizzazione del documento)
/*
public static function store($req) {
$movimento_id=$req->input('id');
$filename=$req->file('filename')->store('Documenti');
self::create([
'entità'=>$req['entita'], // aggiunto per determinare il tipo di entità a cui si riferisce il documento
'entita_id'=>$req['entita_id'], // aggiunto per identificare il record al quale associare il documento (al posto di id_movimento)
'descrizione'=>$req['descrizione'],
'filename'=>$filename
]);
}
*/
public static function getList($id) public static function getList($id)
{ {
return DB::table('documentis') return DB::table('documentis')
@ -35,4 +57,11 @@ class Documenti extends Model
->get(); ->get();
} }
// Proposta modifica issue {#5 gitea} (generalizzazione del documento)
/*
public static function getList($id,$entity)
{
self::where('entita','=',$entity)->where('entita_id','=',$id)->get();
}
*/
} }

View File

@ -158,7 +158,7 @@ class Movimenti extends Model
if($line['Data valuta']) if($line['Data valuta'])
{ {
self::insEntrata([ self::insEntrata([
'mov_data'=>self::dateFormat(0,$line['Data valuta']), 'mov_data'=>$line['Data valuta'],
'mov_fk_categoria'=>1, 'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['Descrizione operazione'], 'mov_descrizione'=>$line['Descrizione operazione'],
'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',str_replace('€', '', $line['Importo']))))), 'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',str_replace('€', '', $line['Importo']))))),
@ -217,7 +217,7 @@ class Movimenti extends Model
private static function dateFormat($type,$string) private static function dateFormat($type,$string)
{ {
// $string=(string)$string;
if($type) if($type)
{ {
// $string=$string->format('Y-m-d'); // $string=$string->format('Y-m-d');

View File

@ -80,7 +80,7 @@ return [
| |
*/ */
'locale' => 'en', 'locale' => 'it',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -106,7 +106,7 @@ return [
| |
*/ */
'faker_locale' => 'en_US', 'faker_locale' => 'it_IT',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@ -20,6 +20,18 @@ class CreateDocumentisTable extends Migration
$table->string('descrizione'); $table->string('descrizione');
$table->string('filename'); $table->string('filename');
}); });
/*
{issue #5} GITEA - proposta modifica
Schema::create('documentis', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('entita');
$table->bigInteger('entita_id');
$table->string('descrizione');
$table->string('filename');
});
*/
} }
/** /**

View File

@ -0,0 +1,42 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateContrattisTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('contrattis', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string('numero', 100)->nullable();
$table->string('nome', 100);
$table->date('datainizio');
$table->date('datatermine');
$table->string('fornitore', 100)->default('text');
$table->string('tipo', 100)->default('utenze');
$table->decimal('importo', 5, 2);
$table->date('scadenzapagamento');
$table->string('stato', 100)->default('attivo');
$table->longText('note')->nullable();
$table->string('filename',255)->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('contrattis');
}
}

10
public/js/app/contratti.js vendored Normal file
View File

@ -0,0 +1,10 @@
$('#contratti').DataTable({
responsive: true,
fields: [
{
label:"Data",
type: "datetime"
}
]
});
$(".draggable").draggable();

View File

@ -1,16 +1,8 @@
$(document).ready(function() { $(document).ready(function() {
$('#categorie').DataTable({
responsive: true
});
// Reload del div
/*
$.ajaxSetup({ cache: false });
setInterval(function() {
$('#mieitask').load('/admin');
}, 8000);
*/
}); });
// Rende spostabili le varie finestre
$(".draggable").draggable();

View File

@ -11,6 +11,8 @@ $(document).ready(function() {
}); });
}); });
$(".draggable").draggable();
var d = new Date(); var d = new Date();
var month = d.getMonth()+1; var month = d.getMonth()+1;

View File

@ -10,7 +10,7 @@ $(document).ready(function() {
"order": [[0, "desc"]] "order": [[0, "desc"]]
}); });
}); });
$(".draggable").draggable();
var d = new Date(); var d = new Date();
var month = d.getMonth()+1; var month = d.getMonth()+1;

View File

@ -95,20 +95,21 @@
<!-- /#wrapper --> <!-- /#wrapper -->
<!-- jQuery --> <!-- jQuery -->
<script src="/js/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.1/jquery-ui.min.js"></script>
<!-- Bootstrap Core JavaScript --> <!-- Bootstrap Core JavaScript -->
<script src="/js/bootstrap.min.js"></script> <script src="/js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript --> <!-- Metis Menu Plugin JavaScript -->
<script src="/js/metisMenu.min.js"></script> <script src="/js/metisMenu.min.js"></script>
<script src="https://cdn.datatables.net/v/dt/dt-1.13.4/date-1.4.1/r-2.4.1/sb-1.4.2/sp-2.1.2/datatables.min.js"></script>
<!-- DataTables JavaScript <!-- DataTables JavaScript
<script src="/js/dataTables/jquery.dataTables.min.js"></script> <script src="/js/dataTables/jquery.dataTables.min.js"></script>
<script src="/js/dataTables/dataTables.bootstrap.min.js"></script>--> <script src="/js/dataTables/dataTables.bootstrap.min.js"></script>-->
<!-- Custom Theme JavaScript --> <!-- Custom Theme JavaScript -->
<script src="https://cdn.datatables.net/v/dt/dt-1.13.4/date-1.4.1/r-2.4.1/sb-1.4.2/sp-2.1.2/datatables.min.js"></script>
<script src="/js/momentjs.js"></script> <script src="/js/momentjs.js"></script>
<script src="/js/startmin.js"></script> <script src="/js/startmin.js"></script>
@section('script') @section('script')

View File

@ -21,7 +21,13 @@
</ul></li> </ul></li>
</ul> <!-- /.nav-second-level --></li> </ul> <!-- /.nav-second-level --></li>
@endcan @can('consumi') @endcan
@can('contratti')
<li><a href="{{ route('contratti'); }}"><i class="fa fa-list fa-fw"></i>
Contratti <span class="fa arrow"></span></a>
</li>
@endcan
@can('consumi')
<li><a href="#"><i class="fa fa-industry fa-fw"></i> Consumi <span <li><a href="#"><i class="fa fa-industry fa-fw"></i> Consumi <span
class="fa arrow"></span></a> class="fa arrow"></span></a>
@ -31,7 +37,8 @@
</li> </li>
<li><a href="{{ route('enel'); }}"><i class="fa fa-flash fa-fw"></i>Energia <li><a href="{{ route('enel'); }}"><i class="fa fa-flash fa-fw"></i>Energia
Elettrica</a></li> Elettrica</a></li>
</ul></li> </ul>
</li>
@endcan @can('automobili') @endcan @can('automobili')
<li><a href="{{ route('auto_list'); }}"><i class="fa fa-car fa-fw"></i> <li><a href="{{ route('auto_list'); }}"><i class="fa fa-car fa-fw"></i>
Automobili <span class="fa arrow"></span></a></li> Automobili <span class="fa arrow"></span></a></li>

View File

@ -21,6 +21,10 @@
</div> </div>
<div class="mb-3"> <div class="mb-3">
<input type="hidden" name="movimenti_id" value="{{ $id }}"> <input type="hidden" name="movimenti_id" value="{{ $id }}">
<!-- {issue #5}
<input type="hidden" name="entita" value="Movimenti">
<input type="hidden" name="entita_id" value="{{$id}}">
-->
<button type="submit" class="btn btn-primary">Submit</button> <button type="submit" class="btn btn-primary">Submit</button>
</div> </div>
</form> </form>

View File

@ -59,9 +59,9 @@
</div> </div>
</div> </div>
<!-- MODAL NEW --> <!-- MODAL NEW -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" <div class="modal fade " id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true"> aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog draggable" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title">Nuovo movimento</h4> <h4 class="modal-title">Nuovo movimento</h4>

View File

@ -0,0 +1,55 @@
@extends('admin')
@section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Lista dei Contratti</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Lista contratti
</div>
<div class="panel-body">
<table class="table table-striped table-bordered table-hover" id="contratti" data-page-length='25'>
<thead>
<tr>
<th>Numero contratto</th>
<th>Data Contratto</th>
<th>Data Termine</th>
<th>Fornitore</th>
<th>Tipo contratto</th>
<th>Importo</th>
<th>Stato</th>
<th>Documento</th>
</tr>
</thead>
<tbody>
@foreach($data as $contratto)
<tr>
<td>{{$contratto->numero}}</td>
<td>{{$contratto->datainizio}}</td>
<td>{{$contratto->datatermine}}</td>
<td>{{$contratto->fornitore}}</td>
<td>{{$contratto->tipo}}</td>
<td>{{$contratto->importo}}</td>
<td>{{$contratto->stato}}</td>
<td>{{$contratto->filename}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="panel-footer">
<!-- Footer del pannello -->
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script src="/js/app/contratti.js"></script>
@endsection

View File

@ -0,0 +1,26 @@
@extends('admin')
@section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Lista dei Documenti</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
Lista documenti
</div>
<div class="panel-body">
<!-- Corpo del pannello -->
</div>
<div class="panel-footer">
<!-- Footer del pannello -->
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script src="/js/app/documenti.js"></script>
@endsection

View File

@ -8,7 +8,7 @@
<div class="row"> <div class="row">
@hasanyrole('user|admin') @hasanyrole('user|admin')
<!-- WIDGET Bilancio --> <!-- WIDGET Bilancio -->
<div class="col-lg-3 col-md-8"> <div class="col-lg-3 col-md-8 draggable">
<div class="panel panel-success"> <div class="panel panel-success">
<div class="panel-heading"> <div class="panel-heading">
<div class="row"> <div class="row">
@ -31,7 +31,7 @@
</div> </div>
</div> </div>
<!-- WIDGET Bilancio --> <!-- WIDGET Bilancio -->
<div class="col-lg-3 col-md-8"> <div class="col-lg-3 col-md-8 draggable">
<div class="panel panel-danger"> <div class="panel panel-danger">
<div class="panel-heading"> <div class="panel-heading">
<div class="row"> <div class="row">
@ -55,7 +55,7 @@
</div> </div>
<!-- WIDGET --> <!-- WIDGET -->
<div class="col-lg-3 col-md-8"> <div class="col-lg-3 col-md-8 draggable">
<div class="panel panel-primary"> <div class="panel panel-primary">
<div class="panel-heading"> <div class="panel-heading">
<div class="row"> <div class="row">
@ -77,7 +77,7 @@
</a> </a>
</div> </div>
</div> </div>
<div class="col-lg-3 col-md-8"> <div class="col-lg-3 col-md-8 draggable">
<div class="panel panel-yellow"> <div class="panel panel-yellow">
<div class="panel-heading"> <div class="panel-heading">
<div class="row"> <div class="row">
@ -106,7 +106,7 @@
@can('tasks') @can('tasks')
<!-- Se ha i permessi task --> <!-- Se ha i permessi task -->
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-8"> <div class="col-lg-6 col-md-8 draggable">
<div class="chat-panel panel panel-default"> <div class="chat-panel panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
Attività da svolgere Attività da svolgere
@ -139,8 +139,8 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-lg-6 col-md-8"> <div class="col-lg-6 col-md-8 draggable">
<div class="chat-panel panel panel-default"> <div class="chat-panel panel panel-default" >
<div class="panel-heading"> <div class="panel-heading">
<i class="fa fa-arrow-circle-right"></i> Avvisi e informazioni <i class="fa fa-arrow-circle-right"></i> Avvisi e informazioni
</div> </div>
@ -177,5 +177,5 @@
@endsection @endsection
@section('script') @section('script')
<script src="js/app/dashboard.js"></script>
@endsection @endsection

View File

@ -9,15 +9,15 @@
<div class="container"> <div class="container">
<!-- Content here --> <!-- Content here -->
<div class="row"> <div class="row">
<div class="col-xs-12"> <div class="col-xs-12 ">
<button class="btn btn-primary open_modal_new"><i <button class="btn btn-primary open_modal_new "><i
class="fa fa-pencil-square-o fw"></i>Nuova Attività</button> class="fa fa-pencil-square-o fw"></i>Nuova Attività</button>
</div> </div>
</div> </div>
<div class ="row"> <div class ="row">
<div class="col"> <div class="col">
<div class="panel"> <div class="panel panel-default ">
<div class="panel-header"> <div class="panel panel-heading">
Tutte le Attività Tutte le Attività
</div> </div>
<div class="panel-body"> <div class="panel-body">
@ -44,7 +44,7 @@
</div> </div>
<!-- HIDDEN --> <!-- HIDDEN -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog draggable" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title">Nuova Attività</h4> <h4 class="modal-title">Nuova Attività</h4>
@ -52,7 +52,7 @@
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
<div class="col-md-10"> <div class="col-md-10">
<!-- FORM INSERIMENTO NUOVA CATEGORIA --> <!-- FORM INSERIMENTO NUOVA ATTIVITA -->
<form action="" method="POST" id="form"> <form action="" method="POST" id="form">
@csrf @csrf
<label for="titolo" class="form-label">Titolo:</label> <label for="titolo" class="form-label">Titolo:</label>

View File

@ -17,6 +17,7 @@ use App\Http\Controllers\Utenti;
use App\Http\Controllers\ProgettiController; use App\Http\Controllers\ProgettiController;
use App\Http\Controllers\TaskController; use App\Http\Controllers\TaskController;
use App\Http\Controllers\AvvisoController; use App\Http\Controllers\AvvisoController;
use App\Http\Controllers\ContrattiController;
use App\Mail\myTestEmail; use App\Mail\myTestEmail;
/* /*
@ -51,6 +52,8 @@ Route::group(['middleware'=>['permission:conti']], function(){
Route::get('movimenti/report/movimenti_categoria', [MovimentiController::class,'listMovPerCateg']); Route::get('movimenti/report/movimenti_categoria', [MovimentiController::class,'listMovPerCateg']);
Route::get('movimenti/report/movimentibycat', [MovimentiController::class,'listMovbyCat']); Route::get('movimenti/report/movimentibycat', [MovimentiController::class,'listMovbyCat']);
Route::get('movimenti/docs', [DocumentiController::class,'fileForm'])->name('documenti'); Route::get('movimenti/docs', [DocumentiController::class,'fileForm'])->name('documenti');
// {issue #5}
// Route::get('movimenti/docs', [DocumentiController::class,'fileMovimentiForm'])->name('documenti');
Route::post('movimenti/docs', [DocumentiController::class,'storeFile']); Route::post('movimenti/docs', [DocumentiController::class,'storeFile']);
Route::get('movimenti/import', [MovimentiController::class,'importFile'])->name('importING'); Route::get('movimenti/import', [MovimentiController::class,'importFile'])->name('importING');
Route::post('movimenti/import', [MovimentiController::class,'importEC_ING']); Route::post('movimenti/import', [MovimentiController::class,'importEC_ING']);
@ -156,6 +159,11 @@ Route::group(['middleware'=>['permission:tasks']], function(){
}); });
// CONTRATTI
Route::group(['middleware'=>['permission:contratti']], function(){
Route::get('contratti', [ContrattiController::class, 'Contratti'])->name('contratti');
});
Route::group(['middleware'=>['permission:avvisi']], function(){ Route::group(['middleware'=>['permission:avvisi']], function(){
Route::post('avvisi/new',[AvvisoController::class,'saveAvviso'])->name('newAvviso'); Route::post('avvisi/new',[AvvisoController::class,'saveAvviso'])->name('newAvviso');
}); });