BUB-17 aggiunto form inserimento gruppi e permessi con assegnazione dei permessi ai gruppi
This commit is contained in:
parent
c6ab14e513
commit
75739cba58
@ -2,11 +2,12 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\Event;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class FullCalenderController extends Controller
|
class FullCalenderController extends Controller
|
||||||
{
|
{
|
||||||
**
|
/**
|
||||||
|
|
||||||
* Write code on Method
|
* Write code on Method
|
||||||
|
|
||||||
@ -40,7 +41,7 @@ class FullCalenderController extends Controller
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
return view('fullcalender');
|
return view('fullcalendar');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
61
app/Http/Controllers/Utenti.php
Normal file
61
app/Http/Controllers/Utenti.php
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Junges\ACL\Models\Group;
|
||||||
|
use Junges\ACL\Models\Permission;
|
||||||
|
|
||||||
|
class Utenti extends Controller
|
||||||
|
{
|
||||||
|
//
|
||||||
|
public function nuovoGruppo()
|
||||||
|
{
|
||||||
|
return view('vendor.junges.form_addGroup',['gruppi'=>Utenti::getGruppi()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function saveNuovoGruppo(Request $request)
|
||||||
|
{
|
||||||
|
$group=Group::create(['name' => $request['gruppo'],'description'=>$request['descrizione']]);
|
||||||
|
return view('vendor.junges.form_addGroup',['gruppi'=>Utenti::getGruppi()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function nuovoPermesso()
|
||||||
|
{
|
||||||
|
return view('vendor.junges.form_addPermission',['permessi'=>Utenti::getPermessi()]);
|
||||||
|
}
|
||||||
|
public function saveNuovoPermesso(Request $request)
|
||||||
|
{
|
||||||
|
$group=Permission::create(['name' => $request['permesso'],'description'=>$request['descrizione']]);
|
||||||
|
return view('vendor.junges.form_addPermission',['permessi'=>Utenti::getPermessi()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPermessi()
|
||||||
|
{
|
||||||
|
return DB::table('permissions')->orderBy('name')->get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getGruppi()
|
||||||
|
{
|
||||||
|
return DB::table('groups')->orderBy('name')->get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function vw_assignToGroup()
|
||||||
|
{
|
||||||
|
return view('vendor.junges.assignPermissionToGroup',[
|
||||||
|
'permessi'=>Utenti::getPermessi(),
|
||||||
|
'gruppi'=>Utenti::getGruppi(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function assignPermissionToGroup(Request $request)
|
||||||
|
{
|
||||||
|
$group=Group::findByName($request['gruppo']);
|
||||||
|
$group->assignPermission($request['permesso']);
|
||||||
|
return view('vendor.junges.assignPermissionToGroup',[
|
||||||
|
'permessi'=>Utenti::getPermessi(),
|
||||||
|
'gruppi'=>Utenti::getGruppi(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
@ -55,4 +55,10 @@ class User extends Authenticatable
|
|||||||
{
|
{
|
||||||
return 'guid';
|
return 'guid';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function addGroup($gruppo)
|
||||||
|
{
|
||||||
|
$user= new User();
|
||||||
|
$user->assignGroup($gruppo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -78,72 +78,25 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<!-- <li>
|
|
||||||
<a href="forms.html"><i class="fa fa-edit fa-fw"></i> Forms</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#"><i class="fa fa-wrench fa-fw"></i> UI Elements<span class="fa arrow"></span></a>
|
|
||||||
<ul class="nav nav-second-level">
|
|
||||||
<li>
|
|
||||||
<a href="panels-wells.html">Panels and Wells</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="buttons.html">Buttons</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="notifications.html">Notifications</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="typography.html">Typography</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="icons.html"> Icons</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="grid.html">Grid</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<!-- /.nav-second-level -->
|
|
||||||
<!--</li>
|
|
||||||
<li>
|
|
||||||
<a href="#"><i class="fa fa-sitemap fa-fw"></i> Multi-Level Dropdown<span class="fa arrow"></span></a>
|
|
||||||
<ul class="nav nav-second-level">
|
|
||||||
<li>
|
|
||||||
<a href="#">Second Level Item</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Second Level Item</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Third Level <span class="fa arrow"></span></a>
|
|
||||||
<ul class="nav nav-third-level">
|
|
||||||
<li>
|
|
||||||
<a href="#">Third Level Item</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Third Level Item</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Third Level Item</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#">Third Level Item</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<!-- /.nav-third-level -->
|
|
||||||
<!-- </li>
|
|
||||||
</ul>
|
|
||||||
<!-- /.nav-second-level -->
|
|
||||||
<!--</li>-->
|
|
||||||
<li>
|
<li>
|
||||||
<a href="#"><i class="fa fa-gears fa-fw"></i>Amministrazione<span class="fa arrow"></span></a>
|
<a href="#"><i class="fa fa-gears fa-fw"></i>Amministrazione<span class="fa arrow"></span></a>
|
||||||
<ul class="nav nav-second-level">
|
<ul class="nav nav-second-level">
|
||||||
<li>
|
<li>
|
||||||
<a class="active" href="#">Utenti</a>
|
<a class="active" href="#">Utenti</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="active" href="/admin/group/new">Gruppi</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="active" href="/admin/permesso/new">Permessi</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a class="active" href="/admin/permesso/assign">Assegna Permessi ai gruppi</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#">Login Page</a>
|
<a href="#">Login Page</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- /.nav-second-level -->
|
<!-- /.nav-second-level -->
|
||||||
</li>
|
</li>
|
||||||
|
@ -1,54 +1,38 @@
|
|||||||
<!DOCTYPE html>
|
@extends('admin')
|
||||||
|
@section('head_additional')
|
||||||
<html>
|
|
||||||
|
|
||||||
<head>
|
|
||||||
|
|
||||||
<title>Laravel Fullcalender Tutorial Tutorial - ItSolutionStuff.com</title>
|
|
||||||
|
|
||||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||||
|
<!-- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" /> -->
|
||||||
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" />
|
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.css" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.css" />
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" />
|
||||||
|
@endsection
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
|
@section('content')
|
||||||
<div class="container">
|
<!-- <div class="container"> -->
|
||||||
|
<div class="row">
|
||||||
<h1>Laravel FullCalender Tutorial Example - ItSolutionStuff.com</h1>
|
<div class="col">
|
||||||
|
<h1>Calendario</h1>
|
||||||
<div id='calendar'></div>
|
|
||||||
|
<div id='calendar'></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- </div> -->
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('script')
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var SITEURL = "{{ url('/') }}";
|
var SITEURL = "{{ url('/admin/') }}";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -68,7 +52,7 @@ var calendar = $('#calendar').fullCalendar({
|
|||||||
|
|
||||||
editable: true,
|
editable: true,
|
||||||
|
|
||||||
events: SITEURL + "/fullcalender",
|
events: SITEURL + "/fullcalendar",
|
||||||
|
|
||||||
displayEventTime: false,
|
displayEventTime: false,
|
||||||
|
|
||||||
@ -104,7 +88,7 @@ var calendar = $('#calendar').fullCalendar({
|
|||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
||||||
url: SITEURL + "/fullcalenderAjax",
|
url: SITEURL + "/fullcalendar",
|
||||||
|
|
||||||
data: {
|
data: {
|
||||||
|
|
||||||
@ -164,7 +148,7 @@ var calendar = $('#calendar').fullCalendar({
|
|||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
|
||||||
url: SITEURL + '/fullcalenderAjax',
|
url: SITEURL + '/fullcalendar',
|
||||||
|
|
||||||
data: {
|
data: {
|
||||||
|
|
||||||
@ -202,7 +186,7 @@ var calendar = $('#calendar').fullCalendar({
|
|||||||
|
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
|
||||||
url: SITEURL + '/fullcalenderAjax',
|
url: SITEURL + '/fullcalendar',
|
||||||
|
|
||||||
data: {
|
data: {
|
||||||
|
|
||||||
@ -245,9 +229,4 @@ function displayMessage(message) {
|
|||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
44
resources/views/vendor/junges/assignPermissionToGroup.blade.php
vendored
Normal file
44
resources/views/vendor/junges/assignPermissionToGroup.blade.php
vendored
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
@extends('admin')
|
||||||
|
@section('content')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<h1 class="page-header">Assegnazione Permessi</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
Assegnazione dei permessi ai gruppi
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
|
||||||
|
<form action="" method="POST">
|
||||||
|
@csrf
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="permesso" class="form-label">Permesso:</label>
|
||||||
|
<select name="permesso" id="permesso">
|
||||||
|
@foreach($permessi as $permesso)
|
||||||
|
<option value="{{ $permesso->name; }}">{{ $permesso->name; }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gruppo" class="form-label">Gruppo:</label>
|
||||||
|
<select name="gruppo" id="gruppo">
|
||||||
|
@foreach($gruppi as $gruppo)
|
||||||
|
<option value="{{ $gruppo->name; }}">{{ $gruppo->name; }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input type="submit" value="submit">
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
67
resources/views/vendor/junges/form_addGroup.blade.php
vendored
Normal file
67
resources/views/vendor/junges/form_addGroup.blade.php
vendored
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
@extends('admin')
|
||||||
|
@section('content')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<h1 class="page-header">Gruppi</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
Inserimento dei gruppi
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
|
||||||
|
<form action="" method="POST">
|
||||||
|
@csrf
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="gruppo" class="form-label">Gruppo:</label>
|
||||||
|
<input type="text" class="form-control" name="gruppo" id="gruppo"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="descrizione" class="form-label">Descrizione:</label>
|
||||||
|
<textarea name="descrizione" class="form-control" id="descrizione"></textarea>
|
||||||
|
</div>
|
||||||
|
<input type="submit" value="submit">
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="panel-heading">
|
||||||
|
Gruppi inseriti
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-bordered table-hover" id="tab_gruppi">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Gruppo</th>
|
||||||
|
<th>Descrizione</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($gruppi as $gruppo)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $gruppo->name ?? ''; }}</td>
|
||||||
|
<td>{{ $gruppo->description ?? ''; }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
@section('script')
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#tab_gruppi').DataTable({
|
||||||
|
responsive: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
67
resources/views/vendor/junges/form_addPermission.blade.php
vendored
Normal file
67
resources/views/vendor/junges/form_addPermission.blade.php
vendored
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
@extends('admin')
|
||||||
|
@section('content')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<h1 class="page-header">Permessi</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
Inserimento dei permessi
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
|
||||||
|
<form action="" method="POST">
|
||||||
|
@csrf
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="permesso" class="form-label">Permesso:</label>
|
||||||
|
<input type="text" class="form-control" name="permesso" id="permesso"/>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="descrizione" class="form-label">Descrizione:</label>
|
||||||
|
<textarea name="descrizione" class="form-control" id="descrizione"></textarea>
|
||||||
|
</div>
|
||||||
|
<input type="submit" value="submit">
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="panel-heading">
|
||||||
|
Permessi inseriti
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-bordered table-hover" id="tab_permessi">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Permesso</th>
|
||||||
|
<th>Descrizione</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($permessi as $permesso)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $permesso->name ?? ''; }}</td>
|
||||||
|
<td>{{ $permesso->description ?? ''; }}</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
@section('script')
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#tab_permessi').DataTable({
|
||||||
|
responsive: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
@ -12,6 +12,7 @@ use App\Http\Controllers\TagController;
|
|||||||
use App\Http\Controllers\FullCalenderController;
|
use App\Http\Controllers\FullCalenderController;
|
||||||
use App\Http\Controllers\AutoController;
|
use App\Http\Controllers\AutoController;
|
||||||
use App\Http\Controllers\AnagraficaController;
|
use App\Http\Controllers\AnagraficaController;
|
||||||
|
use App\Http\Controllers\Utenti;
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Web Routes
|
| Web Routes
|
||||||
@ -92,10 +93,16 @@ Route::get('/', [MovimentiController::class,'dashboard']);
|
|||||||
Route::get('contatti/addOther', [AnagraficaController::class, 'insOtherContact']);
|
Route::get('contatti/addOther', [AnagraficaController::class, 'insOtherContact']);
|
||||||
Route::post('contatti/addOther', [AnagraficaController::class, 'saveOtherContact']);
|
Route::post('contatti/addOther', [AnagraficaController::class, 'saveOtherContact']);
|
||||||
|
|
||||||
|
Route::get('group/new', [Utenti::class, 'nuovoGruppo']);
|
||||||
|
Route::post('group/new', [Utenti::class, 'saveNuovoGruppo']);
|
||||||
|
Route::get('permesso/new', [Utenti::class, 'nuovoPermesso']);
|
||||||
|
Route::post('permesso/new', [Utenti::class, 'saveNuovoPermesso']);
|
||||||
|
Route::get('permesso/assign', [Utenti::class, 'vw_assignToGroup']);
|
||||||
|
Route::post('permesso/assign', [Utenti::class, 'assignPermissionToGroup']);
|
||||||
|
|
||||||
/// TEST routes
|
/// TEST routes
|
||||||
Route::get('fullcalender', [FullCalenderController::class, 'index']);
|
Route::get('fullcalendar', [FullCalenderController::class, 'index']);
|
||||||
Route::post('fullcalenderAjax', [FullCalenderController::class, 'ajax']);
|
Route::post('fullcalendar', [FullCalenderController::class, 'ajax']);
|
||||||
Route::get('condominio',[CondominioController::class,'testPdf']);
|
Route::get('condominio',[CondominioController::class,'testPdf']);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user