1
|
|
|
<?php |
2
|
|
|
// chemin relatif ou se trouve la classe |
3
|
|
|
namespace App\Http\Controllers; |
4
|
|
|
|
5
|
|
|
use App\Http\Models\Administrators; |
6
|
|
|
use App\Http\Requests\AdministratorsRequest; |
7
|
|
|
use Illuminate\Http\Request; |
8
|
|
|
use Illuminate\Support\Facades\Auth; |
9
|
|
|
use Illuminate\Support\Facades\Redirect; |
10
|
|
|
use Illuminate\Support\Facades\Session; |
11
|
|
|
|
12
|
|
|
/** |
13
|
|
|
* Class AdministratorsController |
14
|
|
|
*/ |
15
|
|
|
class AdministratorsController extends Controller{ |
16
|
|
|
|
17
|
|
|
/** |
18
|
|
|
* Page de liste des administrateurs |
19
|
|
|
*/ |
20
|
|
|
public function index(){ |
21
|
|
|
$administrators = Administrators::all(); |
22
|
|
|
|
23
|
|
|
return view('Administrators/index',[ |
24
|
|
|
'administrators' => $administrators |
25
|
|
|
]); |
26
|
|
|
} |
27
|
|
|
|
28
|
|
|
|
29
|
|
|
/** |
30
|
|
|
* To remove an administrators |
31
|
|
|
* @param $id |
32
|
|
|
* @return mixed |
33
|
|
|
*/ |
34
|
|
|
public function remove($id){ |
35
|
|
|
|
36
|
|
|
// To load an administrator |
37
|
|
|
$administrator = Administrators::find($id); |
38
|
|
|
|
39
|
|
|
if($administrator){ |
40
|
|
|
Session::flash('success', "L'administrateur {$administrator->email} a bien été supprimé"); |
41
|
|
|
$administrator->delete(); |
42
|
|
|
} |
43
|
|
|
|
44
|
|
|
return Redirect::route('administrators_index'); |
45
|
|
|
|
46
|
|
|
} |
47
|
|
|
|
48
|
|
|
|
49
|
|
|
/** |
50
|
|
|
* To remove an administrators |
51
|
|
|
* @param $id |
52
|
|
|
* @return mixed |
53
|
|
|
*/ |
54
|
|
|
public function create(){ |
55
|
|
|
|
56
|
|
|
return view('Administrators/create'); |
57
|
|
|
} |
58
|
|
|
/** |
59
|
|
|
* To remove an administrators |
60
|
|
|
* @param $id |
61
|
|
|
* @return mixed |
62
|
|
|
*/ |
63
|
|
|
public function store(AdministratorsRequest $request, $id = null){ |
64
|
|
|
|
65
|
|
|
//creation |
66
|
|
|
if($id == null){ |
67
|
|
|
$administrator = new Administrators(); |
68
|
|
|
}else{ |
69
|
|
|
$administrator = Administrators::find($id); |
70
|
|
|
} |
71
|
|
|
|
72
|
|
|
$administrator->firstname = $request->firstname; |
|
|
|
|
73
|
|
|
$administrator->lastname = $request->lastname; |
|
|
|
|
74
|
|
|
$administrator->email = $request->email; |
|
|
|
|
75
|
|
|
$administrator->description = $request->description; |
|
|
|
|
76
|
|
|
$administrator->password = bcrypt($request->password); //if en mode edit |
|
|
|
|
77
|
|
|
$administrator->super_admin = $request->super_admin; |
|
|
|
|
78
|
|
|
$administrator->expiration_date = new \DateTime('+1 year'); |
79
|
|
|
$administrator->active = true; |
80
|
|
|
|
81
|
|
|
//upload |
82
|
|
|
$filename = ""; |
|
|
|
|
83
|
|
|
if($request->hasFile('image')) { |
84
|
|
|
$file = $request->file('image'); |
85
|
|
|
$filename = $file->getClientOriginalName(); // Récupère le nom original du fichier |
86
|
|
|
$destinationPath = public_path() . '/uploads/administrators'; // Indique où stocker le fichier |
87
|
|
|
$file->move($destinationPath, $filename); // Déplace le fichier |
88
|
|
|
$administrator->photo = asset("uploads/administrators/". $filename); |
89
|
|
|
} |
90
|
|
|
|
91
|
|
|
$administrator->save(); |
92
|
|
|
|
93
|
|
|
// Auth::login($administrator); => Autologin |
|
|
|
|
94
|
|
|
Session::flash('success', "L'administrateur {$administrator->email} a bien été crée"); |
95
|
|
|
return Redirect::route('administrators_index'); |
96
|
|
|
|
97
|
|
|
} |
98
|
|
|
|
99
|
|
|
|
100
|
|
|
|
101
|
|
|
|
102
|
|
|
/** |
103
|
|
|
* To edit an administrator |
104
|
|
|
* @param $id |
105
|
|
|
* @return mixed |
106
|
|
|
*/ |
107
|
|
|
public function edit($id){ |
108
|
|
|
|
109
|
|
|
$administrator = Administrators::find($id); |
110
|
|
|
|
111
|
|
|
return view('Administrators/edit', [ |
112
|
|
|
'administrator' => $administrator |
113
|
|
|
]); |
114
|
|
|
} |
115
|
|
|
|
116
|
|
|
|
117
|
|
|
|
118
|
|
|
|
119
|
|
|
} |
120
|
|
|
|
121
|
|
|
|
122
|
|
|
|
123
|
|
|
|
124
|
|
|
|
125
|
|
|
|
126
|
|
|
|
127
|
|
|
|
128
|
|
|
|
129
|
|
|
|
130
|
|
|
|
131
|
|
|
|
132
|
|
|
|
133
|
|
|
|
134
|
|
|
|
135
|
|
|
|
136
|
|
|
|
137
|
|
|
|
138
|
|
|
|
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.