55use TypiCMS \Modules \Core \Http \Controllers \BaseAdminController ;
66use TypiCMS \Modules \Places \Http \Requests \FormRequest ;
77use TypiCMS \Modules \Places \Models \Place ;
8- use TypiCMS \Modules \Places \Repositories \PlaceInterface ;
8+ use TypiCMS \Modules \Places \Repositories \EloquentPlace ;
99
1010class AdminController extends BaseAdminController
1111{
12- public function __construct (PlaceInterface $ place )
12+ public function __construct (EloquentPlace $ place )
1313 {
1414 parent ::__construct ($ place );
1515 }
@@ -21,7 +21,7 @@ public function __construct(PlaceInterface $place)
2121 */
2222 public function index ()
2323 {
24- $ models = $ this ->repository ->all ([], true );
24+ $ models = $ this ->repository ->with ( ' files ' )-> findAll ( );
2525 app ('JavaScript ' )->put ('models ' , $ models );
2626
2727 return view ('places::admin.index ' );
@@ -34,7 +34,8 @@ public function index()
3434 */
3535 public function create ()
3636 {
37- $ model = $ this ->repository ->getModel ();
37+ $ model = $ this ->repository ->createModel ();
38+ app ('JavaScript ' )->put ('model ' , $ model );
3839
3940 return view ('places::admin.create ' )
4041 ->with (compact ('model ' ));
@@ -49,6 +50,8 @@ public function create()
4950 */
5051 public function edit (Place $ place )
5152 {
53+ app ('JavaScript ' )->put ('model ' , $ place );
54+
5255 return view ('places::admin.edit ' )
5356 ->with (['model ' => $ place ]);
5457 }
@@ -77,8 +80,38 @@ public function store(FormRequest $request)
7780 */
7881 public function update (Place $ place , FormRequest $ request )
7982 {
80- $ this ->repository ->update ($ request ->all ());
83+ $ this ->repository ->update ($ request ->id , $ request -> all ());
8184
8285 return $ this ->redirect ($ request , $ place );
8386 }
87+
88+ /**
89+ * Remove the specified resource from storage.
90+ *
91+ * @param \TypiCMS\Modules\Places\Models\Place $place
92+ *
93+ * @return \Illuminate\Http\JsonResponse
94+ */
95+ public function destroy (Place $ place )
96+ {
97+ $ deleted = $ this ->repository ->delete ($ place );
98+
99+ return response ()->json ([
100+ 'error ' => !$ deleted ,
101+ ]);
102+ }
103+
104+ /**
105+ * List models.
106+ *
107+ * @return \Illuminate\View\View
108+ */
109+ public function files (Place $ place )
110+ {
111+ $ data = [
112+ 'models ' => $ place ->files ,
113+ ];
114+
115+ return response ()->json ($ data , 200 );
116+ }
84117}
0 commit comments