33namespace PanicHD \PanicHD \Controllers ;
44
55use App \Http \Controllers \Controller ;
6+ use App \User ;
67use Illuminate \Http \Request ;
8+ use Illuminate \Validation \Rule ;
79use PanicHD \PanicHD \Models ;
810
9-
1011class MembersController extends Controller
1112{
1213 /**
@@ -20,4 +21,80 @@ public function index(Request $request)
2021
2122 return view ('panichd::admin.member.index ' , compact ('a_members ' ));
2223 }
24+
25+ /**
26+ * Store a newly created resource in storage.
27+ *
28+ * @param Request $request
29+ *
30+ * @return \Illuminate\Http\RedirectResponse
31+ */
32+ public function store (Request $ request )
33+ {
34+ $ rules = [
35+ 'name ' => 'required ' ,
36+ 'email ' => 'bail|required|unique:panichd_members|email ' ,
37+ 'password ' => 'required|confirmed ' ,
38+ 'password_confirmation ' => 'required '
39+ ];
40+
41+ $ this ->validate ($ request , $ rules );
42+
43+ $ member = new User ;
44+ $ member ->name = $ request ->name ;
45+ $ member ->email = $ request ->email ;
46+ $ member ->password = bcrypt ($ request ->password );
47+ $ member ->save ();
48+
49+ \Session::flash ('status ' , trans ('panichd::admin.member-added-ok ' , ['name ' => $ member ->name ]));
50+
51+ return redirect ()->back ();
52+ }
53+
54+ public function update (Request $ request , $ id )
55+ {
56+ $ member = User::findOrFail ($ id );
57+
58+ $ rules = [
59+ 'id ' => 'exists:users ' ,
60+ 'name ' => 'required ' ,
61+ 'email ' => [
62+ 'bail ' ,
63+ 'required ' ,
64+ Rule::unique ('users ' )->ignore ($ id ),
65+ 'email '
66+ ]
67+ ];
68+ if ($ request ->password != "" ){
69+ $ rules ['password ' ] = 'required|confirmed ' ;
70+ $ rules ['password_confirmation ' ] = 'required ' ;
71+ }
72+
73+ $ this ->validate ($ request , $ rules );
74+
75+ $ member ->name = $ request ->name ;
76+ $ member ->email = $ request ->email ;
77+ if ($ request ->password != "" ){
78+ $ member ->password = bcrypt ($ request ->password );
79+ }
80+ $ member ->save ();
81+
82+ \Session::flash ('status ' , trans ('panichd::admin.member-updated-ok ' , ['name ' => $ member ->name ]));
83+
84+ return redirect ()->back ();
85+ }
86+
87+ public function destroy (Request $ request , $ id )
88+ {
89+ $ member = User::findOrFail ($ id );
90+ if (auth ()->user ()->id == $ id ){
91+ \Session::flash ('warning ' , 'You cannot delete your own user account ' );
92+ return redirect ()->back ();
93+ }
94+ $ member ->delete ();
95+
96+ \Session::flash ('status ' , trans ('panichd::admin.member-deleted ' , ['name ' => $ member ->name ]));
97+
98+ return redirect ()->back ();
99+ }
23100}
0 commit comments