Commit iniziale
This commit is contained in:
133
app/Http/Controllers/AnagraficaController.php
Normal file
133
app/Http/Controllers/AnagraficaController.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\anagrafica;
|
||||
use App\Models\contatto;
|
||||
use Illuminate\Http\Request;
|
||||
use Google\Client;
|
||||
Use Google\Service\PeopleService;
|
||||
|
||||
class AnagraficaController extends Controller
|
||||
{
|
||||
// GOOGLE CONTACTS PART
|
||||
|
||||
// private $google_client;
|
||||
|
||||
/* public function getToken()
|
||||
{
|
||||
$client = new Client();
|
||||
$client->setApplicationName('gestionale.lavorain.cloud');
|
||||
if(!is_null($client->getAccessToken())){}
|
||||
elseif(!is_null(session('access_token'))) // is_null(Session::get('access_token', null))
|
||||
{
|
||||
$client->setAccessToken(session('access_token'));
|
||||
}
|
||||
else
|
||||
{
|
||||
$scope = array();
|
||||
$scope[] = 'https://www.googleapis.com/auth/contacts';
|
||||
// $client->
|
||||
putenv('GOOGLE_APPLICATION_CREDENTIALS='.storage_path('app/google-calendar/service_key.json')); //this can be created with other ENV mode server side
|
||||
$client->useApplicationDefaultCredentials();
|
||||
$token = $client->getAccessToken();
|
||||
session(['access_token' => $token]);
|
||||
}
|
||||
return $client;
|
||||
}*/
|
||||
|
||||
public function getGoogleContacts()
|
||||
{
|
||||
$client = $this->getToken();
|
||||
$service = new PeopleService($client);
|
||||
$profile = $service->people_connections->listPeopleConnections('people/me', array('personFields' => 'names,emailAddresses,phoneNumbers'));
|
||||
}
|
||||
public function getToken()
|
||||
{
|
||||
$configJson =storage_path('app/google-calendar/service_key.json');
|
||||
// $configJson =storage_path('app/google-calendar/people.json');
|
||||
// define an application name
|
||||
$applicationName = 'gestionale-di-famiglia';
|
||||
|
||||
// create the client
|
||||
$client = new \Google_Client();
|
||||
$client->setApplicationName($applicationName);
|
||||
$client->setAuthConfig($configJson);
|
||||
$client->setAccessType('offline'); // necessary for getting the refresh token
|
||||
$client->setApprovalPrompt ('force'); // necessary for getting the refresh token
|
||||
// scopes determine what google endpoints we can access. keep it simple for now.
|
||||
|
||||
$client->setScopes(
|
||||
[
|
||||
/*
|
||||
\Google\Service\Oauth2::USERINFO_PROFILE,
|
||||
\Google\Service\Oauth2::USERINFO_EMAIL,
|
||||
\Google\Service\Oauth2::OPENID,
|
||||
*/
|
||||
\Google\Service\PeopleService::CONTACTS // allows reading of google drive metadata
|
||||
]
|
||||
);
|
||||
$client->setIncludeGrantedScopes(true);
|
||||
|
||||
return $client;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function newContact()
|
||||
{
|
||||
return view('anagrafica.form');
|
||||
}
|
||||
|
||||
public function insContact(Request $request)
|
||||
{
|
||||
anagrafica::inserisci($request);
|
||||
return view('anagrafica.list',['anagrafiche'=>anagrafica::getList()]);
|
||||
}
|
||||
|
||||
public function schedaContact(Request $request)
|
||||
{
|
||||
$dati = anagrafica::getById($request['id']);
|
||||
return view('anagrafica.scheda',['anagrafiche'=>$dati]);
|
||||
}
|
||||
|
||||
public function listContact()
|
||||
{
|
||||
return view('anagrafica.list',['anagrafiche'=>anagrafica::getList()]);
|
||||
}
|
||||
|
||||
public function modifica(Request $request)
|
||||
{
|
||||
return view('anagrafica.form',['anagrafiche'=>anagrafica::getById($request['id'])]);
|
||||
}
|
||||
|
||||
public function getScheda(Request $request)
|
||||
{
|
||||
$id=$request['id'];
|
||||
$anagrafica = anagrafica::getById($id);
|
||||
$contatto=contatto::listContactsById($id);
|
||||
return view('anagrafica.dettagli',['anagrafiche'=>$anagrafica,'contatti'=>$contatto['contatti'],'tipo'=>$contatto['tipo']]);
|
||||
|
||||
}
|
||||
|
||||
public function insOtherContact(Request $param){
|
||||
$contatto=contatto::listContactsById($param['id']);
|
||||
return view('anagrafica.altrocontatto',['id'=>$param['id'],'tipo'=>$contatto['tipo']]);
|
||||
}
|
||||
|
||||
public function saveOtherContact(Request $param){
|
||||
// return view('anagrafica.altrocontatto',[id=>$param['id']]);
|
||||
contatto::saveNewContact($param);
|
||||
$contatto=contatto::listContactsById($param['cnt_fk_anagraficaId']);
|
||||
if($param['another'])
|
||||
{
|
||||
return view('anagrafica.altrocontatto',['tipo'=>$contatto['tipo'],'id'=>$param['cnt_fk_anagraficaId']]);
|
||||
}else {
|
||||
return redirect(Route('contatti'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
42
app/Http/Controllers/Api/CategorieController.php
Normal file
42
app/Http/Controllers/Api/CategorieController.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Categorie;
|
||||
|
||||
class CategorieController extends Controller
|
||||
{
|
||||
public function listCategorie()
|
||||
{
|
||||
$categories = Categorie::all();
|
||||
return response()->json($categories);
|
||||
}
|
||||
|
||||
public function insCategorie(Request $request)
|
||||
{
|
||||
$category = new Categorie();
|
||||
$category->cat_name = $request->cat_name;
|
||||
$category->save();
|
||||
|
||||
return response()->json(['message' => 'Categoria inserita con successo'], 201);
|
||||
}
|
||||
|
||||
public function updateCategorie(Request $request, $id)
|
||||
{
|
||||
$category = Categorie::findOrFail($id);
|
||||
$category->cat_name = $request->cat_name;
|
||||
$category->save();
|
||||
|
||||
return response()->json(['message' => 'Categoria aggiornata con successo']);
|
||||
}
|
||||
|
||||
public function deleteCategorie($id)
|
||||
{
|
||||
$category = Categorie::findOrFail($id);
|
||||
$category->delete();
|
||||
|
||||
return response()->json(['message' => 'Categoria eliminata con successo']);
|
||||
}
|
||||
}
|
||||
42
app/Http/Controllers/Api/ContoController.php
Normal file
42
app/Http/Controllers/Api/ContoController.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Conto;
|
||||
|
||||
class ContoController extends Controller
|
||||
{
|
||||
public function listConti()
|
||||
{
|
||||
$conti = Conto::all();
|
||||
return response()->json($conti);
|
||||
}
|
||||
|
||||
public function insConto(Request $request)
|
||||
{
|
||||
$conto = new Conto();
|
||||
$conto->nomeConto = $request->nomeConto;
|
||||
$conto->save();
|
||||
|
||||
return response()->json(['message' => 'Conto inserito con successo'], 201);
|
||||
}
|
||||
|
||||
public function updateConto(Request $request, $id)
|
||||
{
|
||||
$conto = Conto::findOrFail($id);
|
||||
$conto->nomeConto = $request->nomeConto;
|
||||
$conto->save();
|
||||
|
||||
return response()->json(['message' => 'Conto aggiornato con successo']);
|
||||
}
|
||||
|
||||
public function deleteConto($id)
|
||||
{
|
||||
$conto = Conto::findOrFail($id);
|
||||
$conto->delete();
|
||||
|
||||
return response()->json(['message' => 'Conto eliminato con successo']);
|
||||
}
|
||||
}
|
||||
28
app/Http/Controllers/Api/MovimentiController.php
Normal file
28
app/Http/Controllers/Api/MovimentiController.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Movimenti;
|
||||
|
||||
class MovimentiController extends Controller
|
||||
{
|
||||
public function insMovimentiSpesa(Request $request)
|
||||
{
|
||||
Movimenti::insSpesa($request);
|
||||
return response()->json(['message' => 'Spesa inserita con successo'], 201);
|
||||
}
|
||||
|
||||
public function insMovimentiEntrata(Request $request)
|
||||
{
|
||||
Movimenti::insEntrata($request);
|
||||
return response()->json(['message' => 'Entrata inserita con successo'], 201);
|
||||
}
|
||||
|
||||
public function getList()
|
||||
{
|
||||
$movimenti = Movimenti::getList();
|
||||
return response()->json($movimenti);
|
||||
}
|
||||
}
|
||||
10
app/Http/Controllers/AssociazioneController.php
Normal file
10
app/Http/Controllers/AssociazioneController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AssociazioneController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
39
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
39
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\ConfirmsPasswords;
|
||||
|
||||
class ConfirmPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Confirm Password Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password confirmations and
|
||||
| uses a simple trait to include the behavior. You're free to explore
|
||||
| this trait and override any functions that require customization.
|
||||
|
|
||||
*/
|
||||
|
||||
use ConfirmsPasswords;
|
||||
|
||||
/**
|
||||
* Where to redirect users when the intended url fails.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/home';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
}
|
||||
22
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
22
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||
|
||||
class ForgotPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset emails and
|
||||
| includes a trait which assists in sending these notifications from
|
||||
| your application to your users. Feel free to explore this trait.
|
||||
|
|
||||
*/
|
||||
|
||||
use SendsPasswordResetEmails;
|
||||
}
|
||||
40
app/Http/Controllers/Auth/LoginController.php
Normal file
40
app/Http/Controllers/Auth/LoginController.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Login Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles authenticating users for the application and
|
||||
| redirecting them to your home screen. The controller uses a trait
|
||||
| to conveniently provide its functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
use AuthenticatesUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/home';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest')->except('logout');
|
||||
$this->middleware('auth')->only('logout');
|
||||
}
|
||||
}
|
||||
72
app/Http/Controllers/Auth/RegisterController.php
Normal file
72
app/Http/Controllers/Auth/RegisterController.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\User;
|
||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles the registration of new users as well as their
|
||||
| validation and creation. By default this controller uses a trait to
|
||||
| provide this functionality without requiring any additional code.
|
||||
|
|
||||
*/
|
||||
|
||||
use RegistersUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after registration.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/home';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a validator for an incoming registration request.
|
||||
*
|
||||
* @param array $data
|
||||
* @return \Illuminate\Contracts\Validation\Validator
|
||||
*/
|
||||
protected function validator(array $data)
|
||||
{
|
||||
return Validator::make($data, [
|
||||
'name' => ['required', 'string', 'max:255'],
|
||||
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
||||
'password' => ['required', 'string', 'min:8', 'confirmed'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new user instance after a valid registration.
|
||||
*
|
||||
* @param array $data
|
||||
* @return \App\Models\User
|
||||
*/
|
||||
protected function create(array $data)
|
||||
{
|
||||
return User::create([
|
||||
'name' => $data['name'],
|
||||
'email' => $data['email'],
|
||||
'password' => Hash::make($data['password']),
|
||||
]);
|
||||
}
|
||||
}
|
||||
29
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
29
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
|
||||
class ResetPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset requests
|
||||
| and uses a simple trait to include this behavior. You're free to
|
||||
| explore this trait and override any methods you wish to tweak.
|
||||
|
|
||||
*/
|
||||
|
||||
use ResetsPasswords;
|
||||
|
||||
/**
|
||||
* Where to redirect users after resetting their password.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/home';
|
||||
}
|
||||
41
app/Http/Controllers/Auth/VerificationController.php
Normal file
41
app/Http/Controllers/Auth/VerificationController.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\VerifiesEmails;
|
||||
|
||||
class VerificationController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Email Verification Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling email verification for any
|
||||
| user that recently registered with the application. Emails may also
|
||||
| be re-sent if the user didn't receive the original email message.
|
||||
|
|
||||
*/
|
||||
|
||||
use VerifiesEmails;
|
||||
|
||||
/**
|
||||
* Where to redirect users after verification.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/home';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
$this->middleware('signed')->only('verify');
|
||||
$this->middleware('throttle:6,1')->only('verify', 'resend');
|
||||
}
|
||||
}
|
||||
137
app/Http/Controllers/AutoController.php
Normal file
137
app/Http/Controllers/AutoController.php
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Models\Accessori;
|
||||
use App\Models\Auto;
|
||||
use App\Models\Manutenzione;
|
||||
use App\Models\Operazione;
|
||||
use App\Models\Revisione;
|
||||
use App\Models\Rifornimento;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
||||
class AutoController extends Controller
|
||||
{
|
||||
//
|
||||
public function index()
|
||||
{
|
||||
// lista le auto inserite nel gestionale
|
||||
return view('auto.list',['title'=>'Automobile', 'automobili'=>Auto::getAutoList()]);
|
||||
}
|
||||
|
||||
public function newAuto()
|
||||
{
|
||||
// mostra il form di inserimento di una nuova Auto
|
||||
return view('auto.form',['title'=>'Form Automobile']);
|
||||
}
|
||||
|
||||
public function saveAuto(Request $request)
|
||||
{
|
||||
// Salva una nuova auto
|
||||
Auto::saveAuto($request);
|
||||
if ($request['another']=='on')
|
||||
{
|
||||
return redirect(route('auto_new'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
}
|
||||
|
||||
public function delAuto(Request $id)
|
||||
{
|
||||
Auto::delAuto($id);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function getAutoDetails(request $id)
|
||||
{
|
||||
// Ritorna i dettagli dell'auto
|
||||
/*return view('auto.detail',[
|
||||
'dettagli' => Auto::getAutoById($id['id']),]);*/
|
||||
return Operazione::getOperazioni($id['id']);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getTCOAuto(request $id)
|
||||
{
|
||||
// Ritorna la somma di tutti i costi sostenuti per l'auto
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function rifornimentoAuto(Request $id)
|
||||
{
|
||||
return view('auto.rifornimento',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function manutenzioneAuto(Request $id)
|
||||
{
|
||||
return view('auto.manutenzione',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function revisioneAuto(Request $id)
|
||||
{
|
||||
return view('auto.revisione',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function accessoriAuto(Request $id)
|
||||
{
|
||||
return view('auto.accessori',['id'=>$id['id'],'dettagli'=>Auto::getAutoById($id['id'])]);
|
||||
}
|
||||
|
||||
public function saveRifornimento(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Rifornimento::saveRifornimento($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function saveManutenzione(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Manutenzione::saveManutenzione($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function saveAccessori(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Accessori::saveAccessori($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function saveRevisione(Request $request)
|
||||
{
|
||||
$id=Operazione::saveOperazione($request);
|
||||
Revisione::saveRevisione($id,$request);
|
||||
return redirect(route('auto_list'));
|
||||
}
|
||||
|
||||
public function getOperazioni(Request $request)
|
||||
{
|
||||
$operazioni=Operazione::getOperazioni($request['id']);
|
||||
// dd($operazioni);
|
||||
}
|
||||
|
||||
public function exportPdfOperazioni(Request $id)
|
||||
{
|
||||
$pdf=Operazione::exportPdfOperazioni($id['id']);
|
||||
}
|
||||
|
||||
public function getAutoById($id)
|
||||
{
|
||||
return json_encode(Auto::getAutoById($id));
|
||||
}
|
||||
|
||||
public function udateAuto(Request $request)
|
||||
{
|
||||
Auto::updateAuto($request);
|
||||
return redirect('/admin/auto');
|
||||
}
|
||||
}
|
||||
16
app/Http/Controllers/AvvisoController.php
Normal file
16
app/Http/Controllers/AvvisoController.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Avviso;
|
||||
|
||||
class AvvisoController extends Controller
|
||||
{
|
||||
//
|
||||
public function saveAvviso(Request $request)
|
||||
{
|
||||
Avviso::newAvviso($request);
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
66
app/Http/Controllers/CategorieController.php
Normal file
66
app/Http/Controllers/CategorieController.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\Categorie;
|
||||
|
||||
class CategorieController extends Controller
|
||||
{
|
||||
// Gestione delle categorie di movimento
|
||||
// TODO: sistemare la gestione dei dati nel Model Categorie
|
||||
|
||||
public static function listCategorie(){
|
||||
|
||||
return view('conti.categorie.list',['categorie'=>Categorie::list()]);
|
||||
}
|
||||
|
||||
public static function insCategorie(Request $request)
|
||||
{
|
||||
$validated=$request->validate([
|
||||
'cat_name' => 'required',
|
||||
]);
|
||||
Categorie::inserisci($request);
|
||||
return view('conti.categorie.list',['categorie'=>Categorie::list()]);
|
||||
}
|
||||
|
||||
public function deleteCategorie(Request $request)
|
||||
{
|
||||
|
||||
Categorie::deleteById($request['id']);
|
||||
return redirect(route('categorie'));
|
||||
}
|
||||
|
||||
|
||||
public function updatePostCategorie(Request $request)
|
||||
{
|
||||
Categorie::updateNameById($request);
|
||||
return redirect(route('categorie'));
|
||||
}
|
||||
|
||||
|
||||
public function apiList()
|
||||
{
|
||||
$categorie=Categorie::listCategorieAPI();
|
||||
return json_encode($categorie);
|
||||
}
|
||||
|
||||
public function updateCategorie($id)
|
||||
{
|
||||
$categorie = Categorie::getById($id);
|
||||
return json_encode($categorie);
|
||||
}
|
||||
|
||||
public function apiListSpesa()
|
||||
{
|
||||
$categorie=Categorie::listSpesa();
|
||||
return json_encode($categorie);
|
||||
}
|
||||
|
||||
public function apiListEntrata()
|
||||
{
|
||||
$categorie=Categorie::listEntrata();
|
||||
return json_encode($categorie);
|
||||
}
|
||||
}
|
||||
95
app/Http/Controllers/CentralTenantController.php
Normal file
95
app/Http/Controllers/CentralTenantController.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\CentralTenant;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Tenant;
|
||||
use Illuminate\Support\Facades\Artisan; // Include the Artisan facade
|
||||
|
||||
class CentralTenantController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
// Ritorna la lista dei tenants attivi
|
||||
return view('centraltenant.index', ['tenants' => CentralTenant::listTenants()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//Ritorna la view del form per la creazione di un nuovo tenant
|
||||
return view('centraltenant.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
$validated = $request->validate([
|
||||
'tenant_name' => 'required | unique:tenants,id',
|
||||
'fqdn_domain' => 'required | unique:domains,domain'
|
||||
]);
|
||||
|
||||
$tenant1 = Tenant::create(['id' => $request->tenant_name]);
|
||||
$tenant1->domains()->create(['domain' => $request->fqdn_domain]);
|
||||
Artisan::call('tenants:migrate', ['--tenants' => $request->tenant_name]);
|
||||
Artisan::call('tenants:seed', ['--tenants' => $request->tenant_name]);
|
||||
/*Artisan::call('tenants:run storage:link', ['--tenants' => $request->tenant_name]);*/
|
||||
|
||||
return redirect()->route('home.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(CentralTenant $centralTenant)
|
||||
{
|
||||
//
|
||||
return view('centraltenant.show', ['tenant' => $centralTenant]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit($home)
|
||||
{
|
||||
//
|
||||
return view('centraltenant.edit', ['tenant' => \App\Models\CentralTenant::getTenant($home)]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, CentralTenant $centralTenant)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy($home)
|
||||
{
|
||||
// dd($home);
|
||||
//$tenant1 = Tenant::create(['id' => $request->tenant_name]);
|
||||
$tenant1 = Tenant::destroy(['id' => $home]);
|
||||
return redirect()->route('home.index');
|
||||
}
|
||||
|
||||
public function backupTenant($home)
|
||||
{
|
||||
|
||||
$tenant = CentralTenant::backupTenant($home);
|
||||
/*$tenant->backup();
|
||||
return redirect()->route('home.index');
|
||||
*/
|
||||
}
|
||||
}
|
||||
28
app/Http/Controllers/CondominioController.php
Normal file
28
app/Http/Controllers/CondominioController.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
|
||||
|
||||
class CondominioController extends Controller
|
||||
{
|
||||
public function testPdf(){
|
||||
$data=DB::table('categories')->get();
|
||||
$pdf = PDF::setOptions(['dpi' => 150, 'defaultFont' => 'Helvetica'])->loadView('conti.categorie.list', ['categorie' => $data->toArray()]);
|
||||
//return $pdf->download('invoice.pdf');
|
||||
/*$pdf = App::make('dompdf.wrapper');
|
||||
$pdf->loadHTML('<h1>Test</h1>');*/
|
||||
return $pdf->stream();
|
||||
}
|
||||
|
||||
public function err403()
|
||||
{
|
||||
abort(403);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
22
app/Http/Controllers/ContatoreEnElController.php
Normal file
22
app/Http/Controllers/ContatoreEnElController.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\contatoreEnEl;
|
||||
|
||||
class ContatoreEnElController extends Controller
|
||||
{
|
||||
public static function listLettureEnel(){
|
||||
$letture=ContatoreEnel::getList();
|
||||
return view('letture.enel.list',['lettureEnel'=>$letture]);
|
||||
}
|
||||
|
||||
public static function insLettureEnel(Request $request)
|
||||
{
|
||||
ContatoreEnel::inserisci($request);
|
||||
$letture=ContatoreEnel::getList();
|
||||
return view('letture.enel.list',['lettureEnel'=>$letture]);
|
||||
}
|
||||
}
|
||||
23
app/Http/Controllers/ContatoreGasController.php
Normal file
23
app/Http/Controllers/ContatoreGasController.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\contatoreGas;
|
||||
|
||||
|
||||
class ContatoreGasController extends Controller
|
||||
{
|
||||
public static function listLettureGas(){
|
||||
$letture=ContatoreGas::getList();
|
||||
return view('components.chartGas',['lettureGas'=>$letture]);
|
||||
}
|
||||
|
||||
public static function insLettureGas(Request $request)
|
||||
{
|
||||
ContatoreGas::inserisci($request);
|
||||
$letture=ContatoreGas::getList();
|
||||
return view('components.chartGas',['lettureGas'=>$letture]);
|
||||
}
|
||||
}
|
||||
10
app/Http/Controllers/ContattoController.php
Normal file
10
app/Http/Controllers/ContattoController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ContattoController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
106
app/Http/Controllers/ContoController.php
Normal file
106
app/Http/Controllers/ContoController.php
Normal file
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Conto;
|
||||
use Illuminate\Http\Request;
|
||||
//use Illuminate\Database\Eloquent\Collection;
|
||||
|
||||
|
||||
class ContoController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
$conti=Conto::all();
|
||||
return view('conti.conto.index',compact('conti'));
|
||||
}
|
||||
|
||||
public function apiListConto()
|
||||
{
|
||||
//
|
||||
$conti=Conto::all();
|
||||
return json_encode($conti);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
return view('conti.conto.create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
$conto=Conto::create($request->all());
|
||||
return redirect()->to('/admin/conti');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(Conto $conti)
|
||||
{
|
||||
//
|
||||
$conto=Conto::find($conti);
|
||||
return view('conti.conto.show',compact('conto'));
|
||||
/*
|
||||
Rivedere il passaggio parametri e indicare anche le variabili $conto->saldo_anno_corrente $conto->saldo_anno_precedente $conto->saldo_anno_precedente_2
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(Conto $conti)
|
||||
{
|
||||
//
|
||||
$conto=Conto::find($conti);
|
||||
return json_encode($conto);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, Conto $conti)
|
||||
{
|
||||
$validated= $request->validate([
|
||||
'nomeConto'=>'required',
|
||||
'Banca'=>'required',
|
||||
//'IBAN'=>'required',
|
||||
//'saldo_iniziale'=>'required',
|
||||
//'note'=>'required',
|
||||
]);
|
||||
//
|
||||
/*$conto = Conto::find($conti);
|
||||
$conto->nomeConto=$request->nomeConto;
|
||||
$conto->Banca=$request->Banca;
|
||||
$conto->IBAN=$request->IBAN;
|
||||
$conto->saldo_iniziale=$request->saldo_iniziale;
|
||||
$conto->note=$request->note;
|
||||
$conto->save();*/
|
||||
Conto::whereId($conti->id)->update($request->except('_token','_method'));
|
||||
return redirect()->to('/admin/conti');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(Conto $conto)
|
||||
{
|
||||
//
|
||||
$conti=Conto::find($conto);
|
||||
$conti->delete();
|
||||
return redirect()->route('conti.conto.index');
|
||||
}
|
||||
}
|
||||
65
app/Http/Controllers/ContrattiController.php
Normal file
65
app/Http/Controllers/ContrattiController.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Contratti;
|
||||
use App\Models\GenDoc;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class ContrattiController extends Controller
|
||||
{
|
||||
//
|
||||
public function contratti()
|
||||
{
|
||||
return view('contratti.lista',['data'=>Contratti::getAllContratto()]);
|
||||
}
|
||||
|
||||
public function newContratto(Request $request)
|
||||
{
|
||||
// Contratti::storeContratto($request);
|
||||
//dd($request);
|
||||
if (isset($request['filename'])) {
|
||||
$filename = $request->file('filename')->store('Contratti');
|
||||
}else{
|
||||
$filename=null;
|
||||
}
|
||||
Contratti::create([
|
||||
'numero'=>$request['numero'],
|
||||
'nome'=>$request['nome'],
|
||||
'datainizio'=>date_format(date_create($request['datainizio']),'Y-m-d'),
|
||||
'datatermine'=>date_format(date_create($request['datatermine']),'Y-m-d'),
|
||||
'fornitore'=>$request['fornitore'],
|
||||
'tipo'=>$request['tipo'],
|
||||
'importo'=>$request['importo'],
|
||||
'scadenzapagamento'=>date_format(date_create($request['scadenzapagamento']),'Y-m-d'),
|
||||
'stato'=>$request['stato'],
|
||||
'note'=>$request['note'],
|
||||
'filename'=>$filename,
|
||||
]);
|
||||
return redirect()->back();
|
||||
}
|
||||
/* */
|
||||
|
||||
public function schedaContratto($id)
|
||||
{
|
||||
$contratto = Contratti::getContrattoById($id);
|
||||
return view('contratti.detail',[
|
||||
'contratto'=>$contratto,
|
||||
'docs' => \App\Models\GenDoc::listDocument(1,$id)
|
||||
]);
|
||||
}
|
||||
|
||||
public function documentDelete(Request $id)
|
||||
{
|
||||
// return dd($id);
|
||||
// $entity=1;
|
||||
$contratto=GenDoc::find($id['id']);
|
||||
if(file_exists('/storage/'.$contratto->filename))
|
||||
{
|
||||
unlink('storage/'.$contratto->filename);
|
||||
}
|
||||
GenDoc::find($id['id'])->delete();
|
||||
return redirect('/admin/contratti/'.$id['entity_id']);
|
||||
}
|
||||
}
|
||||
13
app/Http/Controllers/Controller.php
Normal file
13
app/Http/Controllers/Controller.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
}
|
||||
46
app/Http/Controllers/DocumentiController.php
Normal file
46
app/Http/Controllers/DocumentiController.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Documenti;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class DocumentiController extends Controller
|
||||
{
|
||||
//
|
||||
public function storeFile(Request $req){
|
||||
if ($req->hasFile('filename'))
|
||||
{
|
||||
Documenti::store($req);
|
||||
return redirect(route('documenti',['id'=>$req->input('id'),]));
|
||||
}
|
||||
else
|
||||
{
|
||||
return 'Nessun File trovato';
|
||||
}
|
||||
}
|
||||
|
||||
public function fileForm(Request $request){
|
||||
$documenti = Documenti::getList($request->input('entity_id'));
|
||||
|
||||
return view('conti.documenti.insert', [
|
||||
'id'=>$request->input('entity_id'),
|
||||
'documenti'=>$documenti
|
||||
]);
|
||||
}
|
||||
|
||||
public function newFolder(Request $req)
|
||||
{
|
||||
// crea una nuova caregoria per i documenti
|
||||
Documenti::store($req);
|
||||
return redirect(route('folders'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function listaDocumenti()
|
||||
{
|
||||
return view('documenti.lista',['data'=>Documenti::all()]);
|
||||
}
|
||||
}
|
||||
97
app/Http/Controllers/FullCalenderController.php
Normal file
97
app/Http/Controllers/FullCalenderController.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Event;
|
||||
use Illuminate\Http\Request;
|
||||
use Spatie\GoogleCalendar\Event as Events;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class FullCalenderController extends Controller
|
||||
{
|
||||
/**
|
||||
|
||||
* Write code on Method
|
||||
|
||||
*
|
||||
|
||||
* @return response()
|
||||
|
||||
*/
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
if($request->ajax()) {
|
||||
$data = Event::whereDate('start', '>=', $request->start)
|
||||
->whereDate('end', '<=', $request->end)
|
||||
->get(['id', 'title', 'start', 'end']);
|
||||
return response()->json($data);
|
||||
}
|
||||
return view('calendario.fullcalendar');
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
* Write code on Method
|
||||
|
||||
*
|
||||
|
||||
* @return response()
|
||||
|
||||
*/
|
||||
|
||||
public function ajax(Request $request)
|
||||
{
|
||||
switch ($request->type) {
|
||||
case 'add':
|
||||
$event = Event::create([
|
||||
'title' => $request->title,
|
||||
'description' => $request->description,
|
||||
'start' => $request->start,
|
||||
'end' => $request->end,
|
||||
]);
|
||||
return response()->json($event);
|
||||
break;
|
||||
|
||||
case 'update':
|
||||
$event = Event::find($request->id)->update([
|
||||
'title' => $request->title,
|
||||
'description' => $request->description,
|
||||
'start' => $request->start,
|
||||
'end' => $request->end,
|
||||
]);
|
||||
return response()->json($event);
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
$event = Event::find($request->id)->delete();
|
||||
return response()->json($event);
|
||||
break;
|
||||
|
||||
default:
|
||||
# code...
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function showDemo()
|
||||
{
|
||||
return view('calendario.fullcalendar');
|
||||
}
|
||||
|
||||
public function saveEventToGoogle(Request $request){
|
||||
$event = new Events;
|
||||
$event->name = $request['title'];
|
||||
$event->description=$request['descrizione'];
|
||||
$tzStart = $request['DateStart'].'T'.$request['HourStart'].' +02:00';
|
||||
$tzEnd = $request['DateEnd'].'T'.$request['HourEnd'].' +02:00';
|
||||
$event->startDateTime = Carbon::parse($tzStart);
|
||||
$event->endDateTime = Carbon::parse($tzEnd);
|
||||
$event->save();
|
||||
return view('calendario.fullcalendar');
|
||||
}
|
||||
}
|
||||
39
app/Http/Controllers/GenDocController.php
Normal file
39
app/Http/Controllers/GenDocController.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\GenDoc;
|
||||
|
||||
class GenDocController extends Controller
|
||||
{
|
||||
//
|
||||
public function fileForm(Request $request){
|
||||
$entity_id=$request->input('entity_id');
|
||||
$entity=$request->input('entity');
|
||||
|
||||
if(!$request->input('entity_id'))
|
||||
{
|
||||
$entity_id=0;
|
||||
}
|
||||
$documenti = GenDoc::listDocument($entity,$entity_id);
|
||||
return view('conti.documenti.gendoc', [
|
||||
'id'=>$entity_id,
|
||||
'entity'=>$entity,
|
||||
'documenti'=>$documenti,
|
||||
]);
|
||||
}
|
||||
|
||||
public function storeFile(Request $request){
|
||||
GenDoc::saveDocument($request);
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
public function deleteFile(Request $request)
|
||||
{
|
||||
GenDoc::delDocument($request->id);
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/GruppiController.php
Normal file
10
app/Http/Controllers/GruppiController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class GruppiController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
24
app/Http/Controllers/HomeAssistantAPIController.php
Normal file
24
app/Http/Controllers/HomeAssistantAPIController.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\HomeAssistantAPI;
|
||||
|
||||
class HomeAssistantAPIController extends Controller
|
||||
{
|
||||
// Connessione RestAPI di HomeAssistant
|
||||
|
||||
public function getContatore()
|
||||
{
|
||||
$kwh = HomeAssistantAPI::getSensorState('sensor.contatore_casa');
|
||||
return $kwh->state;
|
||||
}
|
||||
|
||||
public function getStatoPompa()
|
||||
{
|
||||
$statoPompa = HomeAssistantAPI::getSensorState('switch.pompa_pozzo');
|
||||
return $statoPompa->state;
|
||||
//dd($statoPompa);
|
||||
}
|
||||
}
|
||||
79
app/Http/Controllers/HomeController.php
Normal file
79
app/Http/Controllers/HomeController.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the application dashboard.
|
||||
*
|
||||
* @return \Illuminate\Contracts\Support\Renderable
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
// return view('home');
|
||||
return redirect('/admin');
|
||||
}
|
||||
|
||||
public function backupTenant($tenantId=null) {
|
||||
// 1. Identificazione del tenant
|
||||
if (!isset($tenantId)){
|
||||
$tenantId = tenant()->id;
|
||||
}
|
||||
$tenant = Tenant::find($tenantId);
|
||||
if (!$tenant) {
|
||||
return 'Tenant non trovato.';
|
||||
}
|
||||
|
||||
// 2. Switch al tenant
|
||||
tenancy()->initialize($tenant);
|
||||
|
||||
// 3. Generazione del nome del file zip
|
||||
$fileName = $tenantId . '_' . date('YmdHms') . '.zip';
|
||||
$zipPath = storage_path('app/' . $fileName);
|
||||
|
||||
// 4. Creazione dell'archivio zip
|
||||
$zip = new ZipArchive;
|
||||
if ($zip->open($zipPath, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== true) {
|
||||
return 'Impossibile creare l\'archivio zip.';
|
||||
}
|
||||
|
||||
// 5. Dump del database
|
||||
$databaseName = config('database.connections.tenant.database'); // Assumi 'tenant' come connessione per i tenant
|
||||
$dumpFile = storage_path('app/temp_dump.sql');
|
||||
$command = "mysqldump -u " . config('database.connections.tenant.username') . " -p" . config('database.connections.tenant.password') . " " . $databaseName . " > " . $dumpFile;
|
||||
exec($command);
|
||||
$zip->addFile($dumpFile, 'database.sql');
|
||||
|
||||
// 6. Aggiunta della cartella storage
|
||||
//$storagePath = storage_path('app/tenant/' .$tenantId); // Assumi una struttura di storage separata per tenant
|
||||
$storagePath = storage_path();
|
||||
$files = \File::allFiles($storagePath);
|
||||
foreach ($files as $file) {
|
||||
$relativePath = str_replace($storagePath . '/', '', $file->getPathname());
|
||||
$zip->addFile($file->getPathname(), 'storage/' . $relativePath);
|
||||
}
|
||||
|
||||
// 7. Chiusura dell'archivio zip
|
||||
$zip->close();
|
||||
|
||||
// 8. Download del file
|
||||
// dd($zipPath);
|
||||
return response()->download($zipPath, $fileName, [
|
||||
'Content-Type' => 'application/zip',
|
||||
'Content-Disposition' => 'attachment; filename="' . $fileName . '"',
|
||||
])->deleteFileAfterSend(true); // Cancella il file dopo il download
|
||||
}
|
||||
}
|
||||
65
app/Http/Controllers/ImportRuleController.php
Normal file
65
app/Http/Controllers/ImportRuleController.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\ImportRule;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ImportRuleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(ImportRule $importRule)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(ImportRule $importRule)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, ImportRule $importRule)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(ImportRule $importRule)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
363
app/Http/Controllers/MovimentiController.php
Normal file
363
app/Http/Controllers/MovimentiController.php
Normal file
@@ -0,0 +1,363 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Categorie;
|
||||
use App\Models\Movimenti;
|
||||
use App\Models\tag;
|
||||
use App\Models\Task;
|
||||
use App\Models\Avviso;
|
||||
use App\Models\Conto;
|
||||
// use App\Http\Controllers\Auth;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Rap2hpoutre\FastExcel\FastExcel;
|
||||
|
||||
class MovimentiController extends Controller
|
||||
{
|
||||
// Gestione dei movimenti
|
||||
public static function newMovimenti() {
|
||||
$categorie=Categorie::list(); // TODO: da risolvere con jquery nella pagina blade conti.movimenti.list
|
||||
$tags=tag::getList(); // TODO: da risolvere con jquery nella pagina blade conti.movimenti.list (spiegazione su https://library.webschool.com/lezione/guida-jquery-recuperare-dati-da-php-con-json-2564.html )
|
||||
return view('conti.movimenti.new',[
|
||||
'categorie'=>$categorie,
|
||||
'tags'=>$tags,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function listMovimenti(){
|
||||
$categorie=Categorie::list();
|
||||
$tags=tag::getList();
|
||||
/* Query per visualizzare anche il totale dei documenti presenti per il record */
|
||||
$movimenti=Movimenti::getList();
|
||||
|
||||
|
||||
return view('conti.movimenti.list',[
|
||||
'categorie'=>$categorie,
|
||||
'movimenti'=>$movimenti,
|
||||
'tags'=>$tags
|
||||
]);
|
||||
}
|
||||
|
||||
public static function dashboard()
|
||||
{
|
||||
/*$bilancio=Movimenti::getSaldo(date('Y'));*/
|
||||
$entrate=Movimenti::getEntrate(date('Y'));
|
||||
$uscite=Movimenti::getUscite(date('Y'));
|
||||
$saldo=Movimenti::getSaldoTot();
|
||||
$mieiTasks=Task::getTaskAssignedToUser(Auth::id());
|
||||
// $TasksAssegnati=Task::getTaskAssignedByUser(Auth::id());
|
||||
// $avvisi=Avviso::getAvvisi();
|
||||
$avvisi=Avviso::getActualAvvisi();
|
||||
|
||||
return view('layouts.dashboard',[
|
||||
'entrate'=>$entrate,
|
||||
'uscite'=>$uscite,
|
||||
'saldo'=>$saldo,
|
||||
'mieitask' => $mieiTasks,
|
||||
// 'assegnati' => $TasksAssegnati,
|
||||
'avvisi'=>$avvisi,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function insMovimentiSpesa(Request $request)
|
||||
{
|
||||
// dd($request);
|
||||
$validated=$request->validate([
|
||||
'mov_data'=>'required',
|
||||
'mov_importo'=>'required | numeric' ,
|
||||
|
||||
]);
|
||||
Movimenti::insSpesa($request);
|
||||
$mov=Movimenti::getList();
|
||||
$categorie=Categorie::listSpesa();
|
||||
$tags=tag::getList();
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'categorie'=> $categorie,
|
||||
'movimenti'=> $mov,
|
||||
'tags'=>$tags,
|
||||
]);
|
||||
|
||||
/* return dd($mov);*/
|
||||
}
|
||||
public static function insMovimentiEntrata(Request $request)
|
||||
{
|
||||
$validated=$request->validate([
|
||||
'mov_data'=>'required',
|
||||
'mov_importo'=>'required | numeric' ,
|
||||
|
||||
]);
|
||||
Movimenti::insEntrata($request);
|
||||
$mov=Movimenti::getList();
|
||||
$categorie=Categorie::listEntrata();
|
||||
$tags=tag::getList();
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'categorie'=> $categorie,
|
||||
'movimenti'=> $mov,
|
||||
'tags'=>$tags,
|
||||
]);
|
||||
|
||||
/* return dd($mov);*/
|
||||
}
|
||||
public function exportMovimenti()
|
||||
{
|
||||
$movimenti = Movimenti::export();
|
||||
foreach ($movimenti as $movimento)
|
||||
{
|
||||
$lista[]=[
|
||||
'Data'=> date_format(date_create($movimento->Data),'d/m/Y'),
|
||||
'Categoria'=>$movimento->Categoria,
|
||||
'Tag'=>$movimento->Tag,
|
||||
'Descrizione'=>$movimento->Descrizione,
|
||||
'Importo'=>$movimento->Importo,
|
||||
'Conto'=>$movimento->Conto,
|
||||
];
|
||||
}
|
||||
return (new FastExcel($lista))->download('movimenti_al_'.date('d-m-Y').'.xls');
|
||||
// return dd($movimenti);
|
||||
}
|
||||
|
||||
public function resocontoMovimenti(Request $request)
|
||||
{
|
||||
if(!$request['Year'])
|
||||
{
|
||||
$year=date('Y');
|
||||
}
|
||||
else {
|
||||
$year=$request['Year'];
|
||||
}
|
||||
|
||||
if (!$request['Month'])
|
||||
{
|
||||
$month=date('m');
|
||||
}
|
||||
else {
|
||||
$month=$request['Month'];
|
||||
}
|
||||
|
||||
$reportSpesa = Movimenti::reportSpesa($year, $month);
|
||||
$reportEntrate = Movimenti::reportEntrate($year,$month);
|
||||
|
||||
return view('components.charts',[
|
||||
'dataSpesa'=>$reportSpesa,
|
||||
'dataEntrate'=>$reportEntrate,
|
||||
]);
|
||||
}
|
||||
|
||||
public function updatePostMovimenti(Request $request)
|
||||
{
|
||||
Movimenti::updateMovimenti($request);
|
||||
// return redirect()->back();
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> Movimenti::getList(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function deleteMovimenti(Request $request)
|
||||
{
|
||||
Movimenti::deleteMovimento($request['id']);
|
||||
return redirect('/admin/movimenti');
|
||||
|
||||
}
|
||||
|
||||
public function girocontoPost(Request $request)
|
||||
{
|
||||
Movimenti::giroconto($request);
|
||||
return redirect('/admin/movimenti');
|
||||
}
|
||||
|
||||
public function giroconto()
|
||||
{
|
||||
$categorie=Categorie::list();
|
||||
return view('conti.giroconto.form',[
|
||||
'categories'=>$categorie,
|
||||
'contos'=>Conto::all(),
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
public function listMovPerCateg(Request $request)
|
||||
{
|
||||
if($request['year'])
|
||||
{
|
||||
$anno=$request['year'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$anno=date('Y');
|
||||
}
|
||||
$mov=Movimenti::listByCatMonth($request['month'], $request['cat'],$anno);
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> $mov,
|
||||
]);
|
||||
}
|
||||
|
||||
public function listMovByCat(Request $request)
|
||||
{
|
||||
$mov=Movimenti::listByCategory($request['cat']);
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> $mov,
|
||||
]);
|
||||
}
|
||||
|
||||
public function reportCategorieAnno($anno = 0)
|
||||
{
|
||||
if ($anno <= 1970)
|
||||
{
|
||||
$anno = date('Y');
|
||||
}
|
||||
|
||||
$mesi=['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
|
||||
$categorie=Categorie::list();
|
||||
|
||||
foreach ($categorie as $categoria)
|
||||
{
|
||||
$id=$categoria->id;
|
||||
$ncategoria=$categoria->cat_name;
|
||||
for ($i=1;$i<=12;$i++)
|
||||
{
|
||||
$movrow=DB::table('movimentis')
|
||||
->whereMonth('mov_data','=',$i)
|
||||
->whereYear('mov_data','=',$anno)
|
||||
->where('mov_fk_categoria','=',$id)
|
||||
->sum('mov_importo');
|
||||
$coll[]=$movrow;
|
||||
$collx[]=$movrow;
|
||||
}
|
||||
$totale[]=array_sum($collx);
|
||||
unset($collx);
|
||||
}
|
||||
/*dd($totale);*/
|
||||
$anni=Movimenti::getYearsFromMovimenti();
|
||||
// dd($anni);
|
||||
return view('conti.report.catanno',[
|
||||
'categorie'=>$categorie,
|
||||
'mesi'=>$mesi,
|
||||
'matrice'=>array_chunk($coll, 12),
|
||||
'totale'=>$totale,
|
||||
'anno'=>$anno,
|
||||
'sel_anni'=>$anni,
|
||||
]);
|
||||
}
|
||||
|
||||
public function reportCategorieAnnoXLS($anno = 0)
|
||||
{
|
||||
if ($anno <= 1970)
|
||||
{
|
||||
$anno = date('Y');
|
||||
}
|
||||
|
||||
$intestazione=['Categoria','Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'];
|
||||
$categorie=DB::table('categories')->orderBy('cat_name')->get();
|
||||
|
||||
foreach ($categorie as $categoria)
|
||||
{
|
||||
$id=$categoria->id;
|
||||
$ncategoria=$categoria->cat_name;
|
||||
for ($i=1;$i<=12;$i++)
|
||||
{
|
||||
$movrow=DB::table('movimentis')
|
||||
->whereMonth('mov_data','=',$i)
|
||||
->whereYear('mov_data','=',$anno)
|
||||
->where('mov_fk_categoria','=',$id)
|
||||
->sum('mov_importo');
|
||||
$coll[] = $movrow;
|
||||
|
||||
}
|
||||
|
||||
$row[]=array_combine($intestazione,array_merge(array($ncategoria),$coll));
|
||||
unset($coll);
|
||||
}
|
||||
return (new FastExcel($row))->download('report_al_'.date('d-m-Y').'.xls');
|
||||
}
|
||||
|
||||
public function filterByTag(Request $tag)
|
||||
{
|
||||
$mov=Movimenti::getByTag($tag['tag']);
|
||||
return view('conti.movimenti.list',
|
||||
[
|
||||
'movimenti'=> $mov,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
public function apiList()
|
||||
{
|
||||
$movments = Movimenti::getList();
|
||||
return json_encode($movments);
|
||||
}
|
||||
|
||||
private function dateFormat($type,$string)
|
||||
{
|
||||
if($type)
|
||||
{
|
||||
list($year,$month,$day) = explode('-',$string);
|
||||
return $day.'/'.$month.'/'.$year;
|
||||
} else {
|
||||
list($day,$month,$year) =explode('/',$string);
|
||||
return $year.'-'.$month.'-'.$day;
|
||||
}
|
||||
}
|
||||
|
||||
public function importEC_ING(Request $request)
|
||||
{
|
||||
if ($request->hasFile('filename'))
|
||||
{
|
||||
$filename=$request->file('filename')->store();
|
||||
Movimenti::importEstrattoIng($filename);
|
||||
|
||||
return redirect(Route('movimenti'));
|
||||
}
|
||||
else {
|
||||
return 'Nessun File trovato';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function importEC_CR(Request $request)
|
||||
{
|
||||
if ($request->hasFile('filename'))
|
||||
{
|
||||
$filename=$request->file('filename')->store();
|
||||
Movimenti::importEstrattoCR($filename);
|
||||
|
||||
return redirect(Route('movimenti'));
|
||||
}
|
||||
else {
|
||||
return 'Nessun File trovato';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function importFile()
|
||||
{
|
||||
return view('conti.import');
|
||||
}
|
||||
|
||||
public function importFileCR()
|
||||
{
|
||||
return view('conti.importCR');
|
||||
}
|
||||
|
||||
/* public function test()
|
||||
{
|
||||
Movimenti::getYearsFromMovimenti();
|
||||
}*/
|
||||
|
||||
public function manageRedirect(Request $request)
|
||||
{
|
||||
return redirect('/admin/movimenti/reportbudget/'.$request['anno']);
|
||||
}
|
||||
|
||||
public function updateMovimenti($id)
|
||||
{
|
||||
$mov=Movimenti::getMovimentoById($id);
|
||||
return json_encode($mov);
|
||||
}
|
||||
}
|
||||
115
app/Http/Controllers/ProgettiController.php
Normal file
115
app/Http/Controllers/ProgettiController.php
Normal file
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Progetti;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\RigaProgetto;
|
||||
use App\Models\GenDoc;
|
||||
use function GuzzleHttp\json_encode;
|
||||
use Barryvdh\DomPDF\Facade\Pdf;
|
||||
|
||||
class ProgettiController extends Controller
|
||||
{
|
||||
//
|
||||
public function listaProgetto()
|
||||
{
|
||||
/* $progetti=Progetti::getProgetti();
|
||||
dd($progetti);*/
|
||||
return view('progetti.list',[
|
||||
'progetti'=>Progetti::getProgetti()
|
||||
]);
|
||||
}
|
||||
|
||||
public function nuovoProgetto()
|
||||
{
|
||||
return view('progetti.new',['coordinatori'=>User::getUsers()]);
|
||||
}
|
||||
|
||||
public function getCoordinatori()
|
||||
{
|
||||
return json_encode(User::getUsers());
|
||||
}
|
||||
|
||||
public function salvaProgetto(Request $request)
|
||||
{
|
||||
Progetti::saveProgetto($request);
|
||||
return redirect(Route('progetti'));
|
||||
}
|
||||
|
||||
public function deleteProgetto(Request $param) {
|
||||
Progetti::delProgetto($param['id']);
|
||||
return redirect(Route('progetti'));
|
||||
}
|
||||
|
||||
|
||||
public function dettaglioProgetto($id)
|
||||
{
|
||||
$progetto_id=$id;
|
||||
$progetto = Progetti::getProgettoById($progetto_id);
|
||||
$righe = RigaProgetto::getRigheProgetto($progetto_id);
|
||||
$costo_tot=RigaProgetto::getCostoRighe($progetto_id);
|
||||
return view('progetti.dettaglio',['dettaglio'=>$progetto, 'righe'=>$righe, 'tot'=>$costo_tot]);
|
||||
//dd($righe);
|
||||
}
|
||||
|
||||
public function chiudiProgetto(Request $id)
|
||||
{
|
||||
Progetti::chiudiProgetto($id['id']);
|
||||
return redirect(Route('progetti'));
|
||||
}
|
||||
|
||||
public function riapriProgetto(Request $id)
|
||||
{
|
||||
Progetti::riapriProgetto($id['id']);
|
||||
return redirect(Route('progetti'));
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
public function documentoProgetto(Request $request)
|
||||
{
|
||||
$documenti = GenDoc::listDocument(3,$request->input('entity_id'));
|
||||
|
||||
return view('conti.documenti.insert', [
|
||||
'id'=>$request->input('entity_id'),
|
||||
'entity'=>$request->input('entity'),
|
||||
'documenti'=>$documenti
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public function modificaProgetto(Request $data)
|
||||
{
|
||||
// funzione di modifica del progetto (form inserimento modificato in js)
|
||||
Progetti::where('id', $data['id'])
|
||||
->update([
|
||||
'nome' => $data['nome'],
|
||||
'descrizione' => $data['descrizione'],
|
||||
//'data_creazione'=>$data['data_creazione'],
|
||||
'data_inizio'=>$data['data_inizio'],
|
||||
'data_fine'=>$data['data_fine'],
|
||||
'fk_user'=>$data['coordinatore'],
|
||||
'budget'=>$data['budget'],
|
||||
'stato'=>$data['stato'],
|
||||
'note' =>$data['note'],
|
||||
]);
|
||||
return redirect()->back();
|
||||
/* dd($data);*/
|
||||
}
|
||||
|
||||
public function getProgettobyId(Request $id)
|
||||
{
|
||||
return json_encode(Progetti::getProgettoById($id['id']));
|
||||
}
|
||||
|
||||
}
|
||||
44
app/Http/Controllers/RigaProgettoController.php
Normal file
44
app/Http/Controllers/RigaProgettoController.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\RigaProgetto;
|
||||
|
||||
class RigaProgettoController extends Controller
|
||||
{
|
||||
//
|
||||
public function deleterow($id_row,$id)
|
||||
{
|
||||
$id_riga = $id_row;
|
||||
//$id_progetto = $id_prog;
|
||||
|
||||
RigaProgetto::deleteRow($id_riga);
|
||||
// Ritorna alla pagina dei dettagli del progetto
|
||||
return redirect('/admin/progetti/detail/'.$id);
|
||||
}
|
||||
|
||||
public function editRiga($id)
|
||||
{
|
||||
// modifica della riga inserita
|
||||
//return redirect('/admin/progetti/editDetail');
|
||||
$data=RigaProgetto::getRigaById($id);
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function updateRiga(Request $data)
|
||||
{
|
||||
$id=$data['fk_id_progetto'];
|
||||
RigaProgetto::updateRiga($data);
|
||||
// $id_progetto=$data['fk_id_progetto'];
|
||||
return redirect('/admin/progetti/detail/'.$id);
|
||||
}
|
||||
|
||||
public function inserisciRiga(Request $args,$id)
|
||||
{
|
||||
|
||||
RigaProgetto::saveRiga($args,$id);
|
||||
return redirect('/admin/progetti/detail/'.$id);
|
||||
}
|
||||
|
||||
}
|
||||
10
app/Http/Controllers/RivistaController.php
Normal file
10
app/Http/Controllers/RivistaController.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class RivistaController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
56
app/Http/Controllers/TagController.php
Normal file
56
app/Http/Controllers/TagController.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\tag;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class TagController extends Controller
|
||||
{
|
||||
public static function listTags(){
|
||||
$tags = tag::getList();
|
||||
return view('conti.tags.list',['tags'=>$tags]);
|
||||
}
|
||||
|
||||
public static function insTags(Request $request)
|
||||
{
|
||||
$validated=$request->validate([
|
||||
'tag_name' => 'required',
|
||||
]);
|
||||
tag::inserisci($request);
|
||||
$tags = tag::getList();
|
||||
return view('conti.tags.list',['tags'=>$tags]);
|
||||
}
|
||||
|
||||
public function calendartest()
|
||||
{
|
||||
return view('components.calendar');
|
||||
}
|
||||
|
||||
public function updateTag($id)
|
||||
{
|
||||
$tags=tag::getById($id);
|
||||
return json_encode($tags);
|
||||
}
|
||||
|
||||
public function updatePostTag(Request $request)
|
||||
{
|
||||
$validated=$request->validate([
|
||||
'cat_name' => 'required',
|
||||
]);
|
||||
tag::updateById($request);
|
||||
return redirect(route('tags'));
|
||||
}
|
||||
|
||||
public function apiList()
|
||||
{
|
||||
$tags=tag::all();
|
||||
return json_encode($tags);
|
||||
}
|
||||
|
||||
public function deleteTag($id){
|
||||
tag::deleteTag($id);
|
||||
return redirect(route('tags'));
|
||||
}
|
||||
}
|
||||
40
app/Http/Controllers/TaskController.php
Normal file
40
app/Http/Controllers/TaskController.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\Task;
|
||||
|
||||
class TaskController extends Controller
|
||||
{
|
||||
//
|
||||
public function listTask()
|
||||
{
|
||||
return Task::where('termine_il','>=', now())->get();
|
||||
// debug
|
||||
// return get_class_methods($this);
|
||||
}
|
||||
|
||||
public function Task()
|
||||
{
|
||||
return view('tasks.list',['tasks'=>$this->listTask()]);
|
||||
}
|
||||
|
||||
public function newTask(Request $data)
|
||||
{
|
||||
Task::create([
|
||||
'titolo'=>$data['titolo'],
|
||||
'descrizione'=>$data['descrizione'],
|
||||
'assegnato_a'=>$data['assegnato_a'],
|
||||
'creato_da'=>$data['creato_da'],
|
||||
'termine_il'=>$data['termine_il'],
|
||||
'creato_il'=>$data['creato_il'],
|
||||
'chiuso_il'=>$data['chiuso_il'],
|
||||
'stato'=>$data['stato'],
|
||||
]);
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
65
app/Http/Controllers/TodolistController.php
Normal file
65
app/Http/Controllers/TodolistController.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Todolist;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class TodolistController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(Todolist $todolist)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*/
|
||||
public function edit(Todolist $todolist)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*/
|
||||
public function update(Request $request, Todolist $todolist)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*/
|
||||
public function destroy(Todolist $todolist)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
144
app/Http/Controllers/Utenti.php
Normal file
144
app/Http/Controllers/Utenti.php
Normal file
@@ -0,0 +1,144 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
// use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
// use Junges\ACL\Models\Group;
|
||||
// use Junges\ACL\Models\Permission;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use App\Models\User;
|
||||
|
||||
class Utenti extends Controller
|
||||
{
|
||||
|
||||
public function createRole($ruolo)
|
||||
{
|
||||
$role=Role::create(['name'=>$ruolo]);
|
||||
return json_encode(Role::all()->pluck('name'));
|
||||
}
|
||||
|
||||
function createPermission($permesso){
|
||||
$permission=Permission::create(['name'=>$permesso]);
|
||||
return json_encode(Permission::all()->pluck('name'));
|
||||
}
|
||||
|
||||
function userClass() {
|
||||
$user=new User();
|
||||
return get_class_methods($user);
|
||||
}
|
||||
|
||||
// post del create user
|
||||
function createUser(Request $params){
|
||||
User::addUser($params);
|
||||
return redirect('/admin/users/new');
|
||||
}
|
||||
|
||||
// mostra il form della creazione dell'utente
|
||||
function addUser(){
|
||||
$roles = Role::all();
|
||||
$users = User::all();
|
||||
return view('users.create',['ruoli'=>$roles,'users'=>$users]);
|
||||
}
|
||||
|
||||
function listUser(){
|
||||
$users = User::all();
|
||||
return view('users.list',['users'=>$users]);
|
||||
}
|
||||
|
||||
function getUsers(){
|
||||
return User::getUsers();
|
||||
}
|
||||
|
||||
function listRoles(){
|
||||
$roles = Role::all();
|
||||
return $roles;
|
||||
}
|
||||
|
||||
function deleteUser($id) {
|
||||
User::destroy($id);
|
||||
|
||||
return redirect('/admin/users/new');
|
||||
}
|
||||
|
||||
function givePermissionToUser()
|
||||
{
|
||||
$users=User::all();
|
||||
$permissions=Permission::all();
|
||||
return view('users.assignperm',['users'=>$users,'permissions'=>$permissions]);
|
||||
}
|
||||
|
||||
function assignPermission(Request $request)
|
||||
{
|
||||
//$user=User::getUserbyId($request['user']);
|
||||
$user=User::findOrFail($request['user']);
|
||||
foreach($request['permesso'] as $key => $value){
|
||||
if($value=='true')
|
||||
{
|
||||
$key=str_replace('\'','',$key);
|
||||
$user->givePermissionTo($key);
|
||||
// $permission['allowed'][]=$key;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key=str_replace('\'','',$key);
|
||||
$user->revokePermissionTo($key);
|
||||
// $permission['denied'][]=$key;
|
||||
}
|
||||
|
||||
}
|
||||
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');
|
||||
}
|
||||
|
||||
public function changePassword(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
$request->validate([
|
||||
'current_password' => 'required|string|min:5',
|
||||
'new_password' => 'required|string|min:8|confirmed',
|
||||
]);
|
||||
if (Hash::check($request->current_password, $user->password))
|
||||
{
|
||||
$user->password = Hash::make($request->new_password);
|
||||
$user->save();
|
||||
return redirect()->route('changePassword')->with('success','Password changed successfully!');
|
||||
} else {
|
||||
return redirect()->back()->withErrors(['current_password' => 'Current password does not match']);
|
||||
}
|
||||
}
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
// Crea un token unico di accesso per l'utente
|
||||
$request->validate([
|
||||
'email' => 'required|email',
|
||||
'password' => 'required|string|min:3',
|
||||
]);
|
||||
$user=User::where('email',$request->email)->first();
|
||||
if(!$user || !Hash::check($request->password, $user->password)){
|
||||
return response()->json(['error'=>'The provided credentials are incorrect.'], 401);
|
||||
}
|
||||
$token=$user->createToken($user->name.'_Api-AuthToken')->plainTextToken;
|
||||
return response()->json(['token'=>$token]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user