diff --git a/app/Http/Controllers/GoodController.php b/app/Http/Controllers/GoodController.php index 0fa65c6..5d5f84a 100644 --- a/app/Http/Controllers/GoodController.php +++ b/app/Http/Controllers/GoodController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\Validator; use App\GoodCat; @@ -13,97 +14,125 @@ class GoodController extends Controller { public function getList(Request $request) { - $cats = GoodCat::orderby('cat_name', 'asc')->get(); - $goods = GoodInfo::orderby('id', 'asc')->get(); - if($request->session()->has('userid')) $userid = $request->session()->get('userid'); else $userid = NULL; - return view('good.goodList', [ - 'cats' => $cats, - 'goods' => $goods, - 'userid' => $userid, - ]); + /** + * @function GoodController@getList + * @input Request $request + * @return Response + * @description Get the list of all goods. + */ + $data = []; + $data['cats'] = GoodCat::orderby('cat_name', 'asc')->get(); + $data['goods'] = GoodInfo::orderby('id', 'asc')->get(); + if($request->session()->has('userid')) $data['userid'] = $request->session()->get('userid'); + else $data['userid'] = NULL; + return View::make('good.goodList')->with($data); } + public function getInfo(Request $request, $good_id) { - $goods = GoodInfo::where('id', $good_id)->get(); - if($request->session()->has('userid')) $userid = $request->session()->get('userid'); else $userid = NULL; - return view('good.goodInfo', [ - 'goods' => $goods, - 'userid' => $userid, - ]); - } - public function addPage(Request $request) - { - if(!$request->session()->has('userid')) return redirect()->back(); - $cats = GoodCat::orderby('cat_name', 'asc')->get(); - return view('good.addPage', [ - 'cats' => $cats, - ]); + /** + * @function GoodController@getInfo + * @input Request $request, $good_id + * @return Response + * @description Get the information of a specify goods. + */ + $data = []; + $data['goods'] = GoodInfo::where('id', $good_id)->get(); + if($request->session()->has('userid')) $data['userid'] = $request->session()->get('userid'); + else $data['userid'] = NULL; + return View::make('good.goodInfo')->with($data); } + public function addGood(Request $request) { - if(!$request->session()->has('userid')) return redirect()->back(); - $validator = Validator::make($request->all(), [ - 'good_name' => 'required', - 'description' => 'required', - 'pricemin' => 'required', - 'pricemax' => 'required', - 'counts' => 'required', - ]); - if($validator->fails()) return redirect('/good/addPage')->withInput()->withErrors($validator); - $good = new GoodInfo; - $good->good_name=$request->good_name; - $good->cat_id=$request->cat_id; - $good->description=$request->description; - $good->pricemin=$request->pricemin; - $good->pricemax=$request->pricemax; - $good->type=$request->type; - $good->counts=$request->counts; - $good->good_tag=$request->good_tag; - $good->user_id=$request->session()->get('userid'); - $good->save(); - return redirect('/good/addPage'); - } - public function editPage(Request $request, $good_id) - { - $cats = GoodCat::orderby('cat_name', 'asc')->get(); - $goods = GoodInfo::where('id', $good_id)->get(); - return view('good.editPage', [ - 'goods' => $goods, - 'cats' => $cats, - ]); + /** + * @function GoodController@addGood + * @input Request $request + * @return Response + * @description Add a new good. + */ + if($request->method()=="GET"){ + $data = []; + if(!$request->session()->has('userid')) return Redirect::back(); + $data['cats'] = GoodCat::orderby('cat_name', 'asc')->get(); + return View::make('good.addPage')->with($data); + }else{ + if(!$request->session()->has('userid')) return Redirect::back(); + $this->validate($request, [ + 'good_name' => 'required', + 'description' => 'required', + 'pricemin' => 'required', + 'pricemax' => 'required', + 'counts' => 'required', + ]); + $input = $request->all(); + $good = new GoodInfo; + $good->good_name=$input['good_name']; + $good->cat_id=$input['cat_id']; + $good->description=$input['description']; + $good->pricemin=$input['pricemin']; + $good->pricemax=$input['pricemax']; + $good->type=$input['type']; + $good->counts=$input['counts']; + $good->good_tag=$input['good_tag']; + $good->user_id=$request->session()->get('userid'); + $good->save(); + return redirect('/good/add'); + } } + public function editGood(Request $request, $good_id) { - if(!$request->session()->has('userid')) return redirect()->back(); - $validator = Validator::make($request->all(), [ - 'good_name' => 'required', - 'cat_id' => 'required', - 'description' => 'required', - 'pricemin' => 'required', - 'pricemax' => 'required', - 'type' => 'required', - 'counts' => 'required', - ]); - if($validator->fails()) return redirect('/good/'.$good_id.'/editPage')->withInput()->withErrors($validator); - $good = GoodInfo::find($good_id); - if($request->session()->get('user_id')!=$good->user_id) return redirect()->back(); - $good->good_name=$request->good_name; - $good->cat_id=$request->cat_id; - $good->description=$request->description; - $good->pricemin=$request->pricemin; - $good->pricemax=$request->pricemax; - $good->type=$request->type; - $good->counts=$request->counts; - $good->good_tag=$request->good_tag; - $good->update(); - return redirect('/good/'.$good_id.'/editPage'); + /** + * @function GoodController@editGood + * @input Request $request, $good_id + * @return Response + * @description Edit a specify good. + */ + if($request->method()=="GET"){ + $data = []; + $data['cats'] = GoodCat::orderby('cat_name', 'asc')->get(); + $data['goods'] = GoodInfo::where('id', $good_id)->get(); + return View::make('good.editPage')->with($data); + }else{ + if(!$request->session()->has('userid')) return Redirect::back(); + $this->validate($request, [ + 'good_name' => 'required', + 'cat_id' => 'required', + 'description' => 'required', + 'pricemin' => 'required', + 'pricemax' => 'required', + 'type' => 'required', + 'counts' => 'required', + ]); + $input = $request->all(); + $good = GoodInfo::find($good_id); + if($request->session()->get('userid')!=$good->user_id) return Redirect::back(); + $good->good_name=$input['good_name']; + $good->cat_id=$input['cat_id']; + $good->description=$input['description']; + $good->pricemin=$input['pricemin']; + $good->pricemax=$input['pricemax']; + $good->type=$input['type']; + $good->counts=$input['counts']; + $good->good_tag=$input['good_tag']; + $good->update(); + return redirect('/good/'.$good_id.'/edit'); + } } + public function deleteGood(Request $request, $good_id) { - if(!$request->session()->has('userid')) return redirect()->back(); + /** + * @function GoodController@deleteGood + * @input Request $request, $good_id + * @return Response + * @description Delete a specify good. + */ + if(!$request->session()->has('userid')) return Redirect::back(); $good = GoodInfo::find($good_id); - if($request->session()->get('user_id')!=$good->user_id) return redirect()->back(); + if($request->session()->get('userid')!=$good->user_id) return Redirect::back(); $good->delete(); return redirect('/good'); } -} \ No newline at end of file +} diff --git a/app/Http/routes.php b/app/Http/routes.php index 141d05c..811930e 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -35,14 +35,17 @@ Route::post('/adduser', [ "uses" => "UserController@adduser", "middleware" => "web" ]); + Route::get('/show', [ "uses" => "UserController@show", "middleware" => "web" ]); + Route::get('/register', [ "uses" => "UserController@register", "middleware" => "web" ]); + Route::post('/login', [ "uses" => "UserController@login", "middleware" => "web" @@ -53,22 +56,12 @@ Route::get('/good', [ "middleware" => "web" ]); -Route::get('/good/addPage', [ - "uses" => "GoodController@addPage", - "middleware" => "web" -]); - -Route::post('/good/add', [ +Route::match(['post', 'get'], '/good/add', [ "uses" => "GoodController@addGood", "middleware" => "web" ]); -Route::get('/good/{good_id}/editPage', [ - "uses" => "GoodController@editPage", - "middleware" => "web" -]); - -Route::post('/good/{good_id}/edit', [ +Route::match(['post', 'get'], '/good/{good_id}/edit', [ "uses" => "GoodController@editGood", "middleware" => "web" ]); @@ -81,4 +74,4 @@ Route::get('/good/{good_id}/delete', [ Route::get('/good/{good_id}', [ "uses" => "GoodController@getInfo", "middleware" => "web" -]); \ No newline at end of file +]); diff --git a/resources/views/good/addPage.blade.php b/resources/views/good/addPage.blade.php index ec1b637..c839af4 100644 --- a/resources/views/good/addPage.blade.php +++ b/resources/views/good/addPage.blade.php @@ -22,4 +22,4 @@ {{$error}} @endforeach @endif -GoodList \ No newline at end of file +GoodList diff --git a/resources/views/good/editPage.blade.php b/resources/views/good/editPage.blade.php index 50dff15..fb3139e 100644 --- a/resources/views/good/editPage.blade.php +++ b/resources/views/good/editPage.blade.php @@ -24,4 +24,4 @@ {{$error}} @endforeach @endif -GoodInfo \ No newline at end of file +GoodInfo diff --git a/resources/views/good/goodInfo.blade.php b/resources/views/good/goodInfo.blade.php index 7751a4e..3ff7ad9 100644 --- a/resources/views/good/goodInfo.blade.php +++ b/resources/views/good/goodInfo.blade.php @@ -1,8 +1,8 @@ @foreach($goods as $good) {{$good->description}}
@if($userid==$good->user_id) - Edit
+ Edit
Delete
@endif @endforeach -GoodList \ No newline at end of file +GoodList diff --git a/resources/views/good/goodList.blade.php b/resources/views/good/goodList.blade.php index 3d911f8..97f19a6 100644 --- a/resources/views/good/goodList.blade.php +++ b/resources/views/good/goodList.blade.php @@ -13,5 +13,5 @@

@if($userid!=NULL) - Add -@endif \ No newline at end of file + Add +@endif