22
33namespace App \Http \Controllers \Backend \Menu ;
44
5+ use App \Models \Menu \Menu ;
6+ use Bvipul \Generator \Module ;
7+ use Illuminate \Support \Facades \DB ;
58use App \Http \Controllers \Controller ;
9+ use App \Http \Responses \ViewResponse ;
10+ use App \Http \Responses \RedirectResponse ;
11+ use App \Http \Responses \Backend \Menu \EditResponse ;
12+ use App \Repositories \Backend \Menu \MenuRepository ;
13+ use App \Http \Requests \Backend \Menu \EditMenuRequest ;
14+ use App \Http \Responses \Backend \Menu \CreateResponse ;
15+ use App \Http \Requests \Backend \Menu \StoreMenuRequest ;
616use App \Http \Requests \Backend \Menu \CreateMenuRequest ;
717use App \Http \Requests \Backend \Menu \DeleteMenuRequest ;
8- use App \Http \Requests \Backend \Menu \EditMenuRequest ;
918use App \Http \Requests \Backend \Menu \ManageMenuRequest ;
10- use App \Http \Requests \Backend \Menu \StoreMenuRequest ;
1119use App \Http \Requests \Backend \Menu \UpdateMenuRequest ;
12- use App \Models \Menu \Menu ;
13- use App \Repositories \Backend \Menu \MenuRepository ;
14- use Illuminate \Support \Facades \DB ;
1520
1621class MenuController extends Controller
1722{
23+ /**
24+ * Menu Model Object
25+ *
26+ * @var \App\Models\Menu\Menu
27+ */
1828 protected $ menu ;
1929
30+ /**
31+ * Module Model Object
32+ *
33+ * @var \Bvipul\Generator\Module
34+ */
35+ protected $ modules ;
36+
37+ /**
38+ * Menu Types
39+ *
40+ * @var Array
41+ */
42+ protected $ types ;
43+
2044 /**
2145 * @param \App\Repositories\Backend\Menu\MenuRepository $menu
2246 */
23- public function __construct (MenuRepository $ menu )
47+ public function __construct (MenuRepository $ menu, Module $ module )
2448 {
2549 $ this ->menu = $ menu ;
50+
51+ $ this ->modules = $ module ;
52+
53+ $ this ->types = [
54+ 'backend ' => 'Backend ' ,
55+ 'frontend ' => 'Frontend ' ,
56+ ];
57+
2658 }
2759
2860 /**
2961 * Display a listing of the resource.
3062 *
3163 * @param \App\Http\Requests\Backend\Menu\ManageMenuRequest $request
3264 *
33- * @return \Illuminate \Http\Response
65+ * @return \App \Http\Responses\ViewResponse
3466 */
3567 public function index (ManageMenuRequest $ request )
3668 {
37- return view ('backend.menus.index ' );
69+ return new ViewResponse ('backend.menus.index ' );
3870 }
3971
4072 /**
4173 * Show the form for creating a new resource.
4274 *
4375 * @param \App\Http\Requests\Backend\Menu\CreateMenuRequest $request
4476 *
45- * @return \Illuminate \Http\Response
77+ * @return \App \Http\Responses\Backend\Menu\CreateResponse
4678 */
4779 public function create (CreateMenuRequest $ request )
4880 {
49- $ types = [
50- 'backend ' => 'Backend ' ,
51- 'frontend ' => 'Frontend ' ,
52- ];
53- $ modules = DB ::table ('modules ' )->get ();
54-
55- return view ('backend.menus.create ' )->withTypes ($ types )->withModules ($ modules );
81+ return new CreateResponse ($ this ->types , $ this ->modules );
5682 }
5783
5884 /**
5985 * Store a newly created resource in storage.
6086 *
6187 * @param \App\Http\Requests\Backend\Menu\StoreMenuRequest $request
6288 *
63- * @return \Illuminate \Http\Response
89+ * @return \App \Http\Responses\RedirectResponse
6490 */
6591 public function store (StoreMenuRequest $ request )
6692 {
6793 $ this ->menu ->create ($ request ->except ('_token ' ));
6894
69- return redirect ()-> route ( 'admin.menus.index ' )-> withFlashSuccess ( trans ('alerts.backend.menus.created ' ));
95+ return new RedirectResponse ( 'admin.menus.index ' , [ ' flash_success ' => trans ('alerts.backend.menus.created ' )] );
7096 }
7197
7298 /**
@@ -75,21 +101,11 @@ public function store(StoreMenuRequest $request)
75101 * @param \App\Models\Menu\Menu $menu
76102 * @param \App\Http\Requests\Backend\Menu\EditMenuRequest $request
77103 *
78- * @return \Illuminate \Http\Response
104+ * @return \App \Http\Responses\Backend\Menu\EditResponse
79105 */
80106 public function edit (Menu $ menu , EditMenuRequest $ request )
81107 {
82- $ types = [
83- 'backend ' => 'Backend ' ,
84- 'frontend ' => 'Frontend ' ,
85- ];
86-
87- $ modules = DB ::table ('modules ' )->get ();
88-
89- return view ('backend.menus.edit ' )
90- ->with ('types ' , $ types )
91- ->with ('menu ' , $ menu )
92- ->with ('modules ' , $ modules );
108+ return new EditResponse ($ menu , $ this ->types , $ this ->modules );
93109 }
94110
95111 /**
@@ -98,15 +114,13 @@ public function edit(Menu $menu, EditMenuRequest $request)
98114 * @param \App\Models\Menu\Menu $menu
99115 * @param \App\Http\Requests\Backend\Menu\UpdateMenuRequest $request
100116 *
101- * @return \Illuminate \Http\Response
117+ * @return \App \Http\Responses\RedirectResponse
102118 */
103119 public function update (Menu $ menu , UpdateMenuRequest $ request )
104120 {
105121 $ this ->menu ->update ($ menu , $ request ->all ());
106122
107- return redirect ()
108- ->route ('admin.menus.index ' )
109- ->with ('flash_success ' , trans ('alerts.backend.menus.updated ' ));
123+ return new RedirectResponse ('admin.menus.index ' , ['flash_success ' => trans ('alerts.backend.menus.updated ' )]);
110124 }
111125
112126 /**
@@ -115,14 +129,12 @@ public function update(Menu $menu, UpdateMenuRequest $request)
115129 * @param \App\Models\Menu\Menu $menu
116130 * @param \App\Http\Requests\Backend\Menu\DeleteMenuRequest $request
117131 *
118- * @return \Illuminate \Http\Response
132+ * @return \App \Http\Responses\RedirectResponse
119133 */
120134 public function destroy (Menu $ menu , DeleteMenuRequest $ request )
121135 {
122136 $ this ->menu ->delete ($ menu );
123137
124- return redirect ()
125- ->route ('admin.menus.index ' )
126- ->with ('flash_success ' , trans ('alerts.backend.menus.deleted ' ));
138+ return new RedirectResponse ('admin.menus.index ' , ['flash_success ' => trans ('alerts.backend.menus.deleted ' )]);
127139 }
128140}
0 commit comments