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