add first login logic

This commit is contained in:
Mathieu Lagace
2020-07-31 17:29:47 -04:00
parent 039b09b681
commit 8158f8a8aa
22 changed files with 655 additions and 393 deletions

View File

@@ -62,7 +62,11 @@ class Course extends Model
if (\App\User::find($this->user_id)) {
return \App\User::find($this->user_id)->fullname();
} else {
return $this->user_id;
if (is_numeric($this->user_id)) {
return 'Utilisateur inconnu';
} else {
return $this->user_id;
}
}
}

View File

@@ -2,8 +2,11 @@
namespace App\Http\Controllers;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\Request;
use \App\Log;
use Illuminate\View\View;
class AdminController extends Controller
{
@@ -20,7 +23,7 @@ class AdminController extends Controller
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
* @return Application|Factory|View
*/
public function index()
{
@@ -29,6 +32,39 @@ class AdminController extends Controller
return view('admin.dashboard',['futureEvent' => \App\Event::future()->take(3),'userClasse' => \Auth::user()->futureCourses()->forPage(1,6)]);
}
public function setup()
{
if (\Auth::user()->use_default_psw == true)
{
return view('admin.user.profil.setup');
}
return redirect('/admin');
}
public function saveSetup()
{
$user = \Auth::user();
$user->firstname = \request('firstname');
$user->lastname = \request('lastname');
$user->password = bcrypt(request('psw'));
if (\request('address') != null)
{
$user->adress = \request('address');
}
if (\request('telephone') != null)
{
$user->telephone = \request('telephone');
}
if (\request('sexe') != null)
{
$user->sexe = \request('sexe');
}
$user->use_default_psw = false;
$user->save();
return redirect('/admin');
}
public function update()
{
clog('navigate','success','consulte les notes de mise à jours');

View File

@@ -147,7 +147,11 @@ class EventController extends Controller
}
$course->user_id = $instructor;
$course->location = request('location_n'.$l.'_p'.$p);
if (request('location_n'.$l.'_p'.$p) != null) {
$course->location = request('location_n'.$l.'_p'.$p);
} else {
$course->location = "";
}
$course->periode = $p;
$course->level = $l;

View File

@@ -216,7 +216,10 @@ class ScheduleController extends Controller
public function delete($id)
{
$event = \App\Event::find($id);
foreach ($event->courses as $course)
{
$course->delete();
}
$event->delete();
}
}

View File

@@ -49,13 +49,13 @@ class UserController extends Controller
$user->email = request('email');
if (request('adresse') == null) {
$user->adress = "Inconnu";
$user->adress = "";
} else {
$user->adress = request('adresse');
}
if (request('telephone') == null) {
$user->telephone = "Inconnu";
$user->telephone = "";
} else {
$user->telephone = request('telephone');
}
@@ -63,7 +63,7 @@ class UserController extends Controller
$user->sexe = request('sexe');
if (request('age') == null) {
$user->age = "Inconnu";
$user->age = "";
} else {
$user->age = request('age');
}
@@ -122,13 +122,13 @@ class UserController extends Controller
$user->email = request('email');
if (request('adresse') == null) {
$user->adress = "Inconnu";
$user->adress = "";
} else {
$user->adress = request('adresse');
}
if (request('telephone') == null) {
$user->telephone = "Inconnu";
$user->telephone = "";
} else {
$user->telephone = request('telephone');
}
@@ -136,7 +136,7 @@ class UserController extends Controller
$user->sexe = request('sexe');
if (request('age') == null) {
$user->age = "Inconnu";
$user->age = "";
} else {
$user->age = request('age');
}

View File

@@ -64,5 +64,6 @@ class Kernel extends HttpKernel
'perm' => \App\Http\Middleware\CheckPerm::class,
'fileperm' => \App\Http\Middleware\CheckFilePerm::class,
'courseperm' => \App\Http\Middleware\CheckCoursePerm::class,
'firstlogin' => \App\Http\Middleware\FirstLogin::class
];
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class FirstLogin
{
/**
* Handle an incoming request.
*
* @param Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->isMethod('get'))
{
if (\Auth::user()->use_default_psw == true)
{
return redirect('/admin/setup');
}
}
return $next($request);
}
}

View File

@@ -64,7 +64,7 @@ class TelescopeServiceProvider extends TelescopeApplicationServiceProvider
{
Gate::define('viewTelescope', function ($user) {
return in_array($user->email, [
//
'admin@exvps.ca'
]);
});
}