1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace App\Http\Controllers; |
4
|
|
|
|
5
|
|
|
use App\Http\Models\Administrators; |
6
|
|
|
use App\Http\Requests\AdministratorsRequest; |
7
|
|
|
use Illuminate\Support\Facades\Redirect; |
8
|
|
|
use Illuminate\Support\Facades\Session; |
9
|
|
|
|
10
|
|
|
/** |
11
|
|
|
* Class AdministratorsController. |
12
|
|
|
*/ |
13
|
|
|
class AdministratorsController extends Controller |
14
|
|
|
{ |
15
|
|
|
/** |
16
|
|
|
* Page de liste des administrateurs. |
17
|
|
|
*/ |
18
|
|
|
public function index() |
19
|
|
|
{ |
20
|
|
|
$administrators = Administrators::all(); |
21
|
|
|
|
22
|
|
|
return view('Administrators/index', [ |
23
|
|
|
'administrators' => $administrators, |
24
|
|
|
]); |
25
|
|
|
} |
26
|
|
|
|
27
|
|
|
/** |
28
|
|
|
* To remove an administrators. |
29
|
|
|
* |
30
|
|
|
* @param $id |
31
|
|
|
* |
32
|
|
|
* @return mixed |
33
|
|
|
*/ |
34
|
|
|
public function remove($id) |
35
|
|
|
{ |
36
|
|
|
|
37
|
|
|
// To load an administrator |
38
|
|
|
$administrator = Administrators::find($id); |
39
|
|
|
|
40
|
|
|
if ($administrator) { |
41
|
|
|
Session::flash('success', "L'administrateur {$administrator->email} a bien été supprimé"); |
42
|
|
|
$administrator->delete(); |
43
|
|
|
} |
44
|
|
|
|
45
|
|
|
return Redirect::route('administrators_index'); |
46
|
|
|
} |
47
|
|
|
|
48
|
|
|
/** |
49
|
|
|
* To remove an administrators. |
50
|
|
|
* |
51
|
|
|
* @param $id |
52
|
|
|
* |
53
|
|
|
* @return mixed |
54
|
|
|
*/ |
55
|
|
|
public function create() |
56
|
|
|
{ |
57
|
|
|
return view('Administrators/create'); |
58
|
|
|
} |
59
|
|
|
|
60
|
|
|
/** |
61
|
|
|
* To store an administrators |
62
|
|
|
* ARgument $id est facultatif: null est sa valeur par défaut. |
63
|
|
|
*/ |
64
|
|
|
public function store(AdministratorsRequest $request, $id = null) |
65
|
|
|
{ |
66
|
|
|
|
67
|
|
|
// creation: créer un nouvel administrateur |
68
|
|
|
if ($id === null) { |
69
|
|
|
$administrator = new Administrators(); |
70
|
|
|
} else { |
71
|
|
|
// edition: récupérer un administrateur |
72
|
|
|
$administrator = Administrators::find($id); |
73
|
|
|
} |
74
|
|
|
|
75
|
|
|
$administrator->firstname = $request->firstname; |
|
|
|
|
76
|
|
|
$administrator->lastname = $request->lastname; |
|
|
|
|
77
|
|
|
$administrator->email = $request->email; |
|
|
|
|
78
|
|
|
$administrator->description = $request->description; |
|
|
|
|
79
|
|
|
|
80
|
|
|
// si l'utilisateur modifie |
81
|
|
|
// son mot de passe en mode edition |
82
|
|
|
if (!empty($request->password)) { |
|
|
|
|
83
|
|
|
$administrator->password = bcrypt($request->password); //if en mode edit |
|
|
|
|
84
|
|
|
} |
85
|
|
|
|
86
|
|
|
$administrator->super_admin = $request->super_admin; |
|
|
|
|
87
|
|
|
$administrator->expiration_date = new \DateTime('+1 year'); |
88
|
|
|
$administrator->active = true; |
89
|
|
|
|
90
|
|
|
//upload |
91
|
|
|
$filename = ''; |
|
|
|
|
92
|
|
|
if ($request->hasFile('image')) { |
93
|
|
|
$file = $request->file('image'); |
94
|
|
|
$filename = $file->getClientOriginalName(); // Récupère le nom original du fichier |
95
|
|
|
$destinationPath = public_path().'/uploads/administrators'; // Indique où stocker le fichier |
96
|
|
|
$file->move($destinationPath, $filename); // Déplace le fichier |
97
|
|
|
$administrator->photo = asset('uploads/administrators/'.$filename); |
98
|
|
|
} |
99
|
|
|
|
100
|
|
|
$administrator->save(); |
101
|
|
|
|
102
|
|
|
// Auth::login($administrator); => Autologin |
|
|
|
|
103
|
|
|
Session::flash('success', "L'administrateur {$administrator->email} a bien été crée"); |
104
|
|
|
|
105
|
|
|
return Redirect::route('administrators_index'); |
106
|
|
|
} |
107
|
|
|
|
108
|
|
|
/** |
109
|
|
|
* To edit an administrator. |
110
|
|
|
* |
111
|
|
|
* @param $id |
112
|
|
|
* |
113
|
|
|
* @return mixed |
114
|
|
|
*/ |
115
|
|
|
public function edit($id) |
116
|
|
|
{ |
117
|
|
|
$administrator = Administrators::find($id); |
118
|
|
|
|
119
|
|
|
return view('Administrators/edit', [ |
120
|
|
|
'administrator' => $administrator, |
121
|
|
|
]); |
122
|
|
|
} |
123
|
|
|
} |
124
|
|
|
|
An attempt at access to an undefined property has been detected. This may either be a typographical error or the property has been renamed but there are still references to its old name.
If you really want to allow access to undefined properties, you can define magic methods to allow access. See the php core documentation on Overloading.