Compare commits
8 Commits
0ee7d4d363
...
03449a5c27
Author | SHA1 | Date | |
---|---|---|---|
03449a5c27 | |||
1318b50fcc | |||
d3f0695866 | |||
4850b5bbef | |||
83ccd7ec19 | |||
f90974ba09 | |||
36a863eafd | |||
7f80290ff8 |
@ -7,6 +7,7 @@ use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\RigaProgetto;
|
||||
use function GuzzleHttp\json_encode;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
|
||||
class ProgettiController extends Controller
|
||||
{
|
||||
@ -64,9 +65,14 @@ class ProgettiController extends Controller
|
||||
return redirect(Route('progetti'));
|
||||
}
|
||||
|
||||
public function stampaPDF(Request $id)
|
||||
public function stampaPDFProgetto(Request $id)
|
||||
{
|
||||
|
||||
$progetto_id=$id['id'];
|
||||
$progetto = Progetti::getProgettoById($progetto_id);
|
||||
$righe = RigaProgetto::getRigheProgetto($progetto_id);
|
||||
$costo_tot=RigaProgetto::getCostoRighe($progetto_id);
|
||||
$pdf=Pdf::loadview('progetti.PDF.scheda',['dettaglio'=>$progetto,'righe'=>$righe, 'tot'=>$costo_tot]);
|
||||
return $pdf->stream();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -86,5 +86,20 @@ class Utenti extends Controller
|
||||
}
|
||||
return redirect('/admin/users/givepermission');
|
||||
}
|
||||
|
||||
function giveRoleToUser()
|
||||
{
|
||||
$users=User::all();
|
||||
$roles=Role::all();
|
||||
return view('users.assignrole',['users'=>$users,'roles'=>$roles]);
|
||||
}
|
||||
|
||||
function assignRole(Request $request)
|
||||
{
|
||||
//$user=User::getUserbyId($request['user']);
|
||||
$user=User::findOrFail($request['user']);
|
||||
$user->assignRole($request['role']);
|
||||
return redirect('/admin/users/giverole');
|
||||
}
|
||||
}
|
||||
|
||||
|
83
database/seeders/OnlySeeder.php
Normal file
83
database/seeders/OnlySeeder.php
Normal file
@ -0,0 +1,83 @@
|
||||
<?php
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\PermissionRegistrar;
|
||||
|
||||
class OnlySeeder extends Seeder
|
||||
{
|
||||
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
/* // Role Creation
|
||||
$role_admin = Role::create([
|
||||
'name' => 'admin'
|
||||
]);
|
||||
$role_user = Role::create([
|
||||
'name' => 'user'
|
||||
]);
|
||||
$role_guest = Role::create([
|
||||
'name' => 'guest'
|
||||
]);
|
||||
|
||||
// Permission Creation
|
||||
Permission::create([
|
||||
'name' => 'conti'
|
||||
]);
|
||||
Permission::create([
|
||||
'name' => 'consumi'
|
||||
]);
|
||||
Permission::create([
|
||||
'name' => 'automobili'
|
||||
]);
|
||||
Permission::create([
|
||||
'name' => 'contatti'
|
||||
]);
|
||||
Permission::create([
|
||||
'name' => 'affitti'
|
||||
]);
|
||||
Permission::create([
|
||||
'name' => 'progetti'
|
||||
]);
|
||||
Permission::create([
|
||||
'name' => 'amministrazione'
|
||||
]);
|
||||
|
||||
// Assegnazione permessi al ruolo user
|
||||
$role_user->givePermissionTo('affitti');
|
||||
$role_user->givePermissionTo('automobili');
|
||||
$role_user->givePermissionTo('contatti');
|
||||
$role_user->givePermissionTo('consumi');
|
||||
$role_user->givePermissionTo('conti');
|
||||
$role_user->givePermissionTo('progetti');
|
||||
// Assegnazione permessi al ruolo guest
|
||||
$role_guest->givePermissionTo('affitti');
|
||||
*/
|
||||
$admin = User::create([
|
||||
'name'=>'Amministratore',
|
||||
'email'=>'admin@localhost.local',
|
||||
'password'=>Hash::make('Portalnet_2023'),
|
||||
])->assignRole('admin');
|
||||
|
||||
$user = User::create([
|
||||
'name'=>'Utente',
|
||||
'email'=>'user@localhost.local',
|
||||
'password'=>Hash::make('user2023'),
|
||||
])->assignRole('user');
|
||||
|
||||
$guest = User::create([
|
||||
'name'=>'Guest',
|
||||
'email'=>'guest@localhost.local',
|
||||
'password'=>Hash::make('password'),
|
||||
])->assignRole('guest');
|
||||
}
|
||||
}
|
@ -62,6 +62,7 @@
|
||||
<li><a class="active" href="/admin/users/newPermission">Permessi</a></li>
|
||||
-->
|
||||
<li><a class="active" href="/admin/users/givepermission">Assegna Permessi</a></li>
|
||||
<li><a class="active" href="/admin/users/giverole">Assegna Ruoli</a></li>
|
||||
<!--
|
||||
<li><a href="/login">Login Page</a></li>
|
||||
-->
|
||||
|
@ -7,10 +7,10 @@
|
||||
<ul class="dropdown-menu dropdown-user">
|
||||
<li><a href="#"><i class="fa fa-user fa-fw"></i> Profilo utente</a></li>
|
||||
<li><a href="#"><i class="fa fa-gear fa-fw"></i> Impostazioni</a></li>
|
||||
@role('admin')
|
||||
@can('amministrazione')
|
||||
<li class="divider"></li>
|
||||
<li><a href="/admin/users/new"><i class="fa fa-gear fa-fw"></i> Gestisci Utenti</a></li>
|
||||
@endrole
|
||||
@endcan
|
||||
<li class="divider"></li>
|
||||
<li><a href="https://github.com/fbarachino/bubofamily/issues/new/choose" target="new"><i class="fa fa-bug fa-fw"></i> Segnala un bug</a></li>
|
||||
<li class="divider"></li>
|
||||
|
93
resources/views/progetti/PDF/scheda.blade.php
Normal file
93
resources/views/progetti/PDF/scheda.blade.php
Normal file
@ -0,0 +1,93 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Scheda Progetto</title>
|
||||
|
||||
<style type="text/css">
|
||||
* {
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
}
|
||||
table{
|
||||
font-size: x-small;
|
||||
}
|
||||
tfoot tr td{
|
||||
font-weight: bold;
|
||||
font-size: x-small;
|
||||
}
|
||||
.gray {
|
||||
background-color: lightgray
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
@foreach($tot as $totale) @endforeach @foreach($dettaglio ?? '' as $progetto)
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<!-- <td valign="top"><img src="{{asset('images/meteor-logo.png')}}" alt="" width="150"/></td> -->
|
||||
<td>
|
||||
<h3>Progetto: #{{$progetto->id}}:{{$progetto->nome}}</h3>
|
||||
|
||||
<p> {{$progetto->descrizione}}</p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<hr>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td><strong>Creato il:</strong> {{ date('d/m/Y',strtotime($progetto->data_creazione)) }}</td>
|
||||
<td><strong>Inizio:</strong> {{ date('d/m/Y',strtotime($progetto->data_inizio)) }}</td>
|
||||
<td><strong>Termine:</strong> {{ date('d/m/Y',strtotime($progetto->data_fine)) }}</td>
|
||||
<td><strong>Stato:</strong> {{ $progetto->stato }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Budget iniziale:</strong> {{ $progetto->budget }}</td>
|
||||
<td><strong>Costi sostenuti:</strong> {{ $totale->costo}}</td>
|
||||
<td><strong>Scostamento:</strong>{{ $progetto->budget - $totale->costo}}</td>
|
||||
<td><strong>Coordinatore:</strong> {{ $progetto->name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="gray">DESCRIZIONE:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">{{ $progetto->note }}</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
@endforeach
|
||||
<br/>
|
||||
|
||||
<table width="100%">
|
||||
<thead style="background-color: lightgray;">
|
||||
<tr>
|
||||
<th>Data</th>
|
||||
<th>Descrizione</th>
|
||||
<th>Ore</th>
|
||||
<th>Costi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($righe as $riga)
|
||||
<tr>
|
||||
<td>{{ date('d/m/Y',strtotime($riga->data)) }}</td>
|
||||
<td>{{ $riga->descrizione }}</td>
|
||||
<td>{{ $riga->ore }}</td>
|
||||
<td>{{ $riga->prezzo }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td align="right">Totale</td>
|
||||
<td align="right" class="gray">{{ $totale->costo}} €</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
38
resources/views/users/assignrole.blade.php
Normal file
38
resources/views/users/assignrole.blade.php
Normal file
@ -0,0 +1,38 @@
|
||||
@extends('admin')
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">Assegnazione permessi</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
Nuova assegnazione permessi
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<!-- Form -->
|
||||
<form action="" method="POST">
|
||||
<select name="user" class="form-control">
|
||||
@foreach($users as $user)
|
||||
<option value="{{$user->id}}"> {{$user->name}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<select name="role" class="form-control">
|
||||
@foreach($roles as $role)
|
||||
<option value="{{$role->name}}">{{$role->name}}</td>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
@csrf
|
||||
<input type="Submit" name="submit" value="associa">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
@ -128,8 +128,11 @@ Route::group(['middleware'=>['permission:amministrazione']], function(){
|
||||
Route::post('users/new',[Utenti::class,'createUser']);
|
||||
Route::get('users/roles',[Utenti::class,'listRoles']);
|
||||
Route::get('users/delete/{id}',[Utenti::class,'deleteUser']);
|
||||
//});
|
||||
Route::get('users/givepermission',[Utenti::class,'givePermissionToUser']);
|
||||
Route::post('users/givepermission',[Utenti::class,'assignPermission']);
|
||||
Route::get('users/giverole',[Utenti::class,'giveRoleToUser']);
|
||||
Route::post('users/giverole',[Utenti::class,'assignRole']);
|
||||
});
|
||||
// PROGETTI
|
||||
Route::group(['middleware'=>['permission:progetti']], function(){
|
||||
@ -145,6 +148,7 @@ Route::group(['middleware'=>['permission:progetti']], function(){
|
||||
Route::get('progetti/coordinatori', [ProgettiController::class, 'getCoordinatori']);
|
||||
Route::get('progetti/close',[ProgettiController::class, 'chiudiProgetto']);
|
||||
Route::get('progetti/reopen',[ProgettiController::class, 'riapriProgetto']);
|
||||
Route::get('progetti/print',[ProgettiController::class,'stampaPDFProgetto']);
|
||||
|
||||
|
||||
});
|
||||
|
@ -24,5 +24,5 @@ Route::get('/', function () {
|
||||
Auth::routes(['register' => false]); // Production only
|
||||
// Auth::routes(); //development mode
|
||||
Route::get('/calendar', [TagController::class,'calendartest'])->name('calendar');
|
||||
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
||||
// Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
||||
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
|
||||
|
Loading…
Reference in New Issue
Block a user