33namespace ctf0 \SimpleMenu \Controllers \Admin ;
44
55use Illuminate \Http \Request ;
6- use ctf0 \SimpleMenu \Models \Page ;
76use Spatie \Permission \Models \Role ;
87use Spatie \Permission \Models \Permission ;
98use ctf0 \SimpleMenu \Controllers \BaseController ;
@@ -53,7 +52,7 @@ public function store(Request $request)
5352 $ this ->sT_uP_Validaiton ($ request );
5453
5554 $ img = $ this ->getImage ($ request ->cover );
56- $ page = Page:: create (array_merge (['cover ' =>$ img ], $ this ->cleanEmptyTranslations ($ request )));
55+ $ page = $ this -> pageModel -> create (array_merge (['cover ' =>$ img ], $ this ->cleanEmptyTranslations ($ request )));
5756 $ roles = $ request ->input ('roles ' ) ?: [];
5857 $ permissions = $ request ->input ('permissions ' ) ?: [];
5958 $ menus = $ request ->input ('menus ' ) ?: [];
@@ -78,7 +77,7 @@ public function edit($id)
7877 {
7978 $ roles = Role::pluck ('name ' , 'name ' );
8079 $ permissions = Permission::pluck ('name ' , 'name ' );
81- $ page = $ this ->cache ->tags ('sm ' )->get ('pages ' )->find ($ id );
80+ $ page = $ this ->cache ->tags ('sm ' )->get ('pages ' )->find ($ id ) ?: abort ( 404 ) ;
8281 $ menus = $ this ->cache ->tags ('sm ' )->get ('menus ' )->pluck ('name ' , 'id ' );
8382 $ templates = array_unique ($ this ->cache ->tags ('sm ' )->get ('pages ' )->pluck ('template ' )->filter ()->all ());
8483
@@ -98,7 +97,7 @@ public function update($id, Request $request)
9897 $ this ->sT_uP_Validaiton ($ request , $ id );
9998
10099 $ img = $ this ->getImage ($ request ->cover );
101- $ page = Page:: find ($ id );
100+ $ page = $ this -> getItem ($ id );
102101 $ roles = $ request ->input ('roles ' ) ?: [];
103102 $ permissions = $ request ->input ('permissions ' ) ?: [];
104103 $ menus = $ request ->input ('menus ' ) ?: [];
@@ -112,15 +111,15 @@ public function update($id, Request $request)
112111 }
113112
114113 /**
115- * Remove Page from storage .
114+ * Remove Page.
116115 *
117116 * @param int $id
118117 *
119118 * @return \Illuminate\Http\Response
120119 */
121120 public function destroy ($ id , Request $ request )
122121 {
123- Page:: destroy ($ id );
122+ $ this -> pageModel -> destroy ($ id );
124123
125124 if ($ request ->expectsJson ()) {
126125 return response ()->json (['done ' =>true ]);
@@ -135,12 +134,54 @@ public function destroyMulti(Request $request)
135134 {
136135 $ ids = explode (', ' , $ request ->ids );
137136
138- foreach ($ ids as $ one ) {
139- Page::destroy ($ one );
140- }
137+ $ this ->pageModel ->destroy ($ ids );
141138
142139 return redirect ()
143140 ->route ($ this ->crud_prefix . '.pages.index ' )
144141 ->with ('status ' , trans ('SimpleMenu::messages.models_deleted ' ));
145142 }
143+
144+ /**
145+ * restore model.
146+ *
147+ * @param [type] $id [description]
148+ *
149+ * @return [type] [description]
150+ */
151+ public function restore ($ id )
152+ {
153+ $ this ->getItem ($ id )->restore ();
154+
155+ return redirect ()
156+ ->route ($ this ->crud_prefix . '.pages.index ' )
157+ ->with ('status ' , trans ('SimpleMenu::messages.model_updated ' ));
158+ }
159+
160+ /**
161+ * Remove Page Permanently.
162+ *
163+ * @param [type] $id [description]
164+ *
165+ * @return [type] [description]
166+ */
167+ public function forceDelete ($ id )
168+ {
169+ $ this ->getItem ($ id )->forceDelete ();
170+
171+ return redirect ()
172+ ->route ($ this ->crud_prefix . '.pages.index ' )
173+ ->with ('status ' , trans ('SimpleMenu::messages.model_deleted_perm ' ));
174+ }
175+
176+ /**
177+ * helper.
178+ *
179+ * @param [type] $id [description]
180+ *
181+ * @return [type] [description]
182+ */
183+ protected function getItem ($ id )
184+ {
185+ return $ this ->pageModel ->withTrashed ()->find ($ id ) ?: abort (404 );
186+ }
146187}
0 commit comments