From 5d35aabaa67f784fa2ad4a6c95b0d13c5c9c01d5 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 20:35:09 +0800 Subject: [PATCH 01/16] Add files via upload --- TasksController.php | 153 ++++++++++++++++++++++++++++++ home.blade.php | 220 ++++++++++++++++++++++++++++++++++++++++++++ search.blade.php | 39 ++++++++ web.php | 52 +++++++++++ 4 files changed, 464 insertions(+) create mode 100644 TasksController.php create mode 100644 home.blade.php create mode 100644 search.blade.php create mode 100644 web.php diff --git a/TasksController.php b/TasksController.php new file mode 100644 index 0000000..f1058e9 --- /dev/null +++ b/TasksController.php @@ -0,0 +1,153 @@ +tasksRepo = $tasks; + $this->usersRepo = $users; + } + + /* + |-------------------------------------------------------------------------- + | View Methods + |-------------------------------------------------------------------------- + | + | These methods should return views with the appropriate data bind to it. + | + */ + public function index() + { + $user = new stdClass(); + if (Auth::check()) { + $id = Auth::id(); + $user = $this->usersRepo->getUser($id); + } + $tasks = $this->tasksRepo->all(); + return view('tasks.index', compact('tasks', 'user')); + } + + public function show(Task $task) + { + $user = new stdClass(); + if (Auth::check()) { + $id = Auth::id(); + $user = $this->usersRepo->getUser($id); + } + return view('tasks.show', compact('task', 'user')); + } + + public function create() + { + $generic_tasks = (object)DB::select("select * from generic_tasks"); + return view('tasks.create', compact('generic_tasks')); + } + + public function edit(Task $task) + { + $generic_tasks = (object)DB::select("select * from generic_tasks"); + return view('tasks.edit', compact('task', 'generic_tasks')); + } + + public function search($query) + { + $tasks = Task::where('title','LIKE', "%$query%")->get(); + //->orWhere('created_at','=', "$query")->orWhere('category','LIKE',"%$query%")->orWhere('start_date','=',"$query")->orWhere('end_date','=',"%$query%")->get(); + + return view('tasks.search')->withDetails($tasks)->withQuery($query); + // if(count($tasks) > 0){ + // return view('tasks.search')->withDetails($tasks)->withQuery($query); + // } + // else { + // return view ('tasks.search')->withMessage('No such task found. Try searching again!'); + // }; + + // $keyword= Input::get('q'); + + // $task = Task::find($keyword); + + // return view::make('tasks.search', compact('tasks', 'user')); + + // //$task->show(); + } + + /* + |-------------------------------------------------------------------------- + | Resource Methods + |-------------------------------------------------------------------------- + | + | These methods should not return any views but instead process the + | appropriate actions instead. + | + */ + public function update(Request $request, Task $task) + { + $this->validateTask($request); + $this->tasksRepo->update($task->id, + $request->input('title'), + $request->input('description'), + $request->input('category'), + $request->input('start_date'), + $request->input('end_date')); + return redirect('/tasks'); + } + + public function updateStatus($id, $status) + { + if ($status >= 0 && $status <= 2) { + $this->tasksRepo->updateStatus($id, $status); + } + return back(); + } + + public function destroy($id) + { + $this->tasksRepo->delete($id); + return redirect('/tasks'); + } + + private function validateTask(Request $request) { + $this->validate($request, [ + 'title' => 'required|max:15', + 'description' => 'required', + 'category' => 'required', + 'start_date' => 'required|date|after_or_equal:today', + 'end_date' => 'required|date|after_or_equal:today' + ]); + } + + public function store(Request $request) + { + $this->validateTask($request); + $defaultStatus = 0; + $this->tasksRepo->insert($request->input('title'), + $request->input('description'), + $request->input('category'), + Auth::id(), + $defaultStatus, + $request->input('start_date'), + $request->input('end_date')); + return redirect('/tasks'); + } +} diff --git a/home.blade.php b/home.blade.php new file mode 100644 index 0000000..db9a18e --- /dev/null +++ b/home.blade.php @@ -0,0 +1,220 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
+

Dashboard

+
+
+
+ @if(Auth::check()) + + +
+
+
+

+ Your Tasks + Create Task +

+
+ @if (sizeOf($tasks)>0) + + + + + + + + + + + --> + + + + + @foreach ($tasks as $key=> $task) + + @endforeach + + + + + + + + + @foreach ($tasks as $task) + + + + + + + + + @endforeach +
Search tasks:
TitleCategoryStartEndStatus
{{$task->title}}{{$task->category}}{{$task->start_date}}{{$task->end_date}} + @php + switch($task->status) { + case 0: + print("opened"); + break; + case 1: + print("closed"); + break; + case 2: + print("completed"); + break; + default: + break; + } + @endphp + + Edit +
+ @else +
+ You currently have no tasks. Click + here + to create a new task. +
+ @endif +
+
+ + +
+
+
+

+ Your Pending Bids + View Tasks +

+
+ @if (sizeOf($bids)>0) + + + + + + + + + @foreach ($bids as $bid) + + + + + + + + @endforeach +
TitleOwnerPriceStartEnd
{{$bid->title}}{{$bid->first_name}} {{$bid->last_name}}{{$bid->price}}{{$bid->start_date}}{{$bid->end_date}}
+ @else +
+ You currently have no pending bids. Click + here + to find tasks to complete. +
+ @endif +
+
+ + +
+
+
+

+ Your Assigned Tasks +

+
+ @if (sizeOf($selectedBids)>0) + + + + + + + + + @foreach ($selectedBids as $selectedBid) + @if($selectedBid->status == 1) + + + + + + + + @endif + @endforeach +
TitleOwnerPriceStartEnd
{{$selectedBid->title}}{{$selectedBid->first_name}} {{$selectedBid->last_name}}{{$selectedBid->price}}{{$selectedBid->start_date}}{{$selectedBid->end_date}}
+ @else +
+ You currently have no assigned tasks. Click + here + to find tasks to complete. +
+ @endif +
+
+ + +
+
+
+

+ Your Completed Assigned Tasks +

+
+ @if (sizeOf($selectedBids)>0) + + + + + + + + + @foreach ($selectedBids as $selectedBid) + @if($selectedBid->status == 2) + + + + + + + + @endif + @endforeach +
TitleOwnerPriceStartEnd
{{$selectedBid->title}}{{$selectedBid->first_name}} {{$selectedBid->last_name}}{{$selectedBid->price}}{{$selectedBid->start_date}}{{$selectedBid->end_date}}
+ @else +
+ You currently have no completed assigned tasks. Click + here + to find tasks to complete. +
+ @endif +
+
+ + @endif +
+
+@endsection diff --git a/search.blade.php b/search.blade.php new file mode 100644 index 0000000..8170379 --- /dev/null +++ b/search.blade.php @@ -0,0 +1,39 @@ +@extends('layouts.app') + + +@section('content') + +
+ @if(count($details) > 0) +

The Search results for your query {{ $query }} are :

+

Task details

+ + + + + + + + + + + + @foreach($details as $task) + + + + + + + + @endforeach + +
TitleCreated_atCategoryStart_DateEnd_Date
{{$task->title}}{{$task->create_at}}{{$task->category}}{{$task->start_date}}{{$task->end_date}}
+ @else + No results found + @endif +
+ + + +@endsection \ No newline at end of file diff --git a/web.php b/web.php new file mode 100644 index 0000000..b7709e1 --- /dev/null +++ b/web.php @@ -0,0 +1,52 @@ + TaskController +| Eloquent Model => Task +| Migration => create_tasks_table +*/ + + +Route::group(['middleware' => 'auth'], function () { + Route::post('/tasks', 'Resources\TasksController@store'); + Route::patch('/tasks/{task}', 'Resources\TasksController@update'); + Route::delete('/tasks/{task}', 'Resources\TasksController@destroy')->name('task.destroy'); + Route::get('/tasks/create', 'Resources\TasksController@create'); + Route::get('/tasks/{task}/edit', 'Resources\TasksController@edit'); + // this should be a post or a patch but Laravel gives a MethodNotAllowed error if it is anything but get + Route::get('/tasks/{task}/status/{status}', 'Resources\TasksController@updateStatus')->name('tasks.updateStatus'); + //Route::get('/tasks/search/{query}', ['uses' => 'Resources\TasksController@search', 'as' => 'search']); + Route::any('/tasks/search/{query}','Resources\TasksController@search'); + + + Route::post('tasks/{task}/bids/{bid}/{selected}', 'Resources\BidsController@update')->name('bid.update'); + Route::post('/tasks/{task}/bids', 'Resources\BidsController@store'); + Route::patch('/tasks/{task}/bids/{bid}', 'Resources\BidsController@update'); + Route::delete('/bids/{bid}', 'Resources\BidsController@destroy')->name('bid.destroy'); + + Route::delete('/users/{user}', 'Resources\UsersController@destroy')->name('user.destroy'); + Route::post('/users', 'Resources\UsersController@store'); + Route::patch('/users/{user}', 'Resources\UsersController@update'); + + Route::get('/tasks', 'Resources\TasksController@index'); + Route::get('/tasks/{task}', 'Resources\TasksController@show'); + Route::get('/tasks/{task}/bids/{bid}', 'Resources\BidsController@show'); + Route::get('/users/{user}', 'Resources\UsersController@show'); + Route::get('/users', 'Resources\UsersController@index'); +}); + +/* + * Unauthenticated API Routes should be placed here. + */ +Auth::routes(); + +Route::get('/', 'HomeController@index'); From 5ccbfd062845e9352e278f29a0c045615d7d4af0 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 20:52:03 +0800 Subject: [PATCH 02/16] Update home.blade.php --- resources/views/home.blade.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 0a482d7..bdfcdfb 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -23,6 +23,11 @@ @if (sizeOf($tasks)>0) + + + + + From e63bd450e470b0928c96daf0c4f4ea4248ddfdc6 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 20:53:35 +0800 Subject: [PATCH 03/16] Update web.php --- routes/web.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index b819e99..b1461b2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -24,7 +24,8 @@ Route::get('/tasks/{task}/edit', 'Resources\TasksController@edit'); // this should be a post or a patch but Laravel gives a MethodNotAllowed error if it is anything but get Route::get('/tasks/{task}/status/{status}', 'Resources\TasksController@updateStatus')->name('tasks.updateStatus'); - + Route::any('/tasks/search/{query}','Resources\TasksController@search'); + Route::post('tasks/{task}/bids/{bid}/{selected}', 'Resources\BidsController@update')->name('bid.update'); Route::post('/tasks/{task}/bids', 'Resources\BidsController@store'); Route::patch('/tasks/{task}/bids/{bid}', 'Resources\BidsController@update'); From a5a547e4a4a048c4e41a0442ebf66eead1afbe7d Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 20:55:41 +0800 Subject: [PATCH 04/16] Update TasksController.php --- app/Http/Controllers/Resources/TasksController.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Resources/TasksController.php b/app/Http/Controllers/Resources/TasksController.php index 38699a1..ffc9095 100644 --- a/app/Http/Controllers/Resources/TasksController.php +++ b/app/Http/Controllers/Resources/TasksController.php @@ -75,7 +75,14 @@ public function edit(Task $task) $generic_tasks = (object)DB::select("select * from generic_tasks"); return view('tasks.edit', compact('task', 'generic_tasks')); } - + + public function search($query) + { + $tasks = Task::where('title','LIKE', "%$query%")->get(); + //->orWhere('created_at','=', "$query")->orWhere('category','LIKE',"%$query%")->orWhere('start_date','=',"$query")->orWhere('end_date','=',"%$query%")->get(); + + return view('tasks.search')->withDetails($tasks)->withQuery($query); + } /* |-------------------------------------------------------------------------- | Resource Methods From 53194e5016cd6d7a4cc27ba621b0814806570ad5 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 20:56:47 +0800 Subject: [PATCH 05/16] Create search.blade.php --- resources/views/tasks/search.blade.php | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 resources/views/tasks/search.blade.php diff --git a/resources/views/tasks/search.blade.php b/resources/views/tasks/search.blade.php new file mode 100644 index 0000000..242c97e --- /dev/null +++ b/resources/views/tasks/search.blade.php @@ -0,0 +1,39 @@ +@extends('layouts.app') + + +@section('content') + +
+ @if(count($details) > 0) +

The Search results for your query {{ $query }} are :

+

Task details

+
Search tasks:
Title Category Start
+ + + + + + + + + + + @foreach($details as $task) + + + + + + + + @endforeach + +
TitleCreated_atCategoryStart_DateEnd_Date
{{$task->title}}{{$task->create_at}}{{$task->category}}{{$task->start_date}}{{$task->end_date}}
+ @else + No results found + @endif + + + + +@endsection From f89b1fa2f2e61eb39d9528df8b7eb12549ff7e25 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 21:04:08 +0800 Subject: [PATCH 06/16] Delete search.blade.php --- search.blade.php | 39 --------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 search.blade.php diff --git a/search.blade.php b/search.blade.php deleted file mode 100644 index 8170379..0000000 --- a/search.blade.php +++ /dev/null @@ -1,39 +0,0 @@ -@extends('layouts.app') - - -@section('content') - -
- @if(count($details) > 0) -

The Search results for your query {{ $query }} are :

-

Task details

- - - - - - - - - - - - @foreach($details as $task) - - - - - - - - @endforeach - -
TitleCreated_atCategoryStart_DateEnd_Date
{{$task->title}}{{$task->create_at}}{{$task->category}}{{$task->start_date}}{{$task->end_date}}
- @else - No results found - @endif -
- - - -@endsection \ No newline at end of file From 64bf2ffd36b99a0309f42673991672a088218eef Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 21:04:18 +0800 Subject: [PATCH 07/16] Delete web.php --- web.php | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 web.php diff --git a/web.php b/web.php deleted file mode 100644 index b7709e1..0000000 --- a/web.php +++ /dev/null @@ -1,52 +0,0 @@ - TaskController -| Eloquent Model => Task -| Migration => create_tasks_table -*/ - - -Route::group(['middleware' => 'auth'], function () { - Route::post('/tasks', 'Resources\TasksController@store'); - Route::patch('/tasks/{task}', 'Resources\TasksController@update'); - Route::delete('/tasks/{task}', 'Resources\TasksController@destroy')->name('task.destroy'); - Route::get('/tasks/create', 'Resources\TasksController@create'); - Route::get('/tasks/{task}/edit', 'Resources\TasksController@edit'); - // this should be a post or a patch but Laravel gives a MethodNotAllowed error if it is anything but get - Route::get('/tasks/{task}/status/{status}', 'Resources\TasksController@updateStatus')->name('tasks.updateStatus'); - //Route::get('/tasks/search/{query}', ['uses' => 'Resources\TasksController@search', 'as' => 'search']); - Route::any('/tasks/search/{query}','Resources\TasksController@search'); - - - Route::post('tasks/{task}/bids/{bid}/{selected}', 'Resources\BidsController@update')->name('bid.update'); - Route::post('/tasks/{task}/bids', 'Resources\BidsController@store'); - Route::patch('/tasks/{task}/bids/{bid}', 'Resources\BidsController@update'); - Route::delete('/bids/{bid}', 'Resources\BidsController@destroy')->name('bid.destroy'); - - Route::delete('/users/{user}', 'Resources\UsersController@destroy')->name('user.destroy'); - Route::post('/users', 'Resources\UsersController@store'); - Route::patch('/users/{user}', 'Resources\UsersController@update'); - - Route::get('/tasks', 'Resources\TasksController@index'); - Route::get('/tasks/{task}', 'Resources\TasksController@show'); - Route::get('/tasks/{task}/bids/{bid}', 'Resources\BidsController@show'); - Route::get('/users/{user}', 'Resources\UsersController@show'); - Route::get('/users', 'Resources\UsersController@index'); -}); - -/* - * Unauthenticated API Routes should be placed here. - */ -Auth::routes(); - -Route::get('/', 'HomeController@index'); From c53c6b4cc896732e5d5fcc66752de486492cd2b7 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 21:04:28 +0800 Subject: [PATCH 08/16] Delete home.blade.php --- home.blade.php | 220 ------------------------------------------------- 1 file changed, 220 deletions(-) delete mode 100644 home.blade.php diff --git a/home.blade.php b/home.blade.php deleted file mode 100644 index db9a18e..0000000 --- a/home.blade.php +++ /dev/null @@ -1,220 +0,0 @@ -@extends('layouts.app') - -@section('content') -
-
-
-
-
-

Dashboard

-
-
-
- @if(Auth::check()) - - -
-
-
-

- Your Tasks - Create Task -

-
- @if (sizeOf($tasks)>0) - - - - - - - - - - - --> - - - - - @foreach ($tasks as $key=> $task) - - @endforeach - - - - - - - - - @foreach ($tasks as $task) - - - - - - - - - @endforeach -
Search tasks:
TitleCategoryStartEndStatus
{{$task->title}}{{$task->category}}{{$task->start_date}}{{$task->end_date}} - @php - switch($task->status) { - case 0: - print("opened"); - break; - case 1: - print("closed"); - break; - case 2: - print("completed"); - break; - default: - break; - } - @endphp - - Edit -
- @else -
- You currently have no tasks. Click - here - to create a new task. -
- @endif -
-
- - -
-
-
-

- Your Pending Bids - View Tasks -

-
- @if (sizeOf($bids)>0) - - - - - - - - - @foreach ($bids as $bid) - - - - - - - - @endforeach -
TitleOwnerPriceStartEnd
{{$bid->title}}{{$bid->first_name}} {{$bid->last_name}}{{$bid->price}}{{$bid->start_date}}{{$bid->end_date}}
- @else -
- You currently have no pending bids. Click - here - to find tasks to complete. -
- @endif -
-
- - -
-
-
-

- Your Assigned Tasks -

-
- @if (sizeOf($selectedBids)>0) - - - - - - - - - @foreach ($selectedBids as $selectedBid) - @if($selectedBid->status == 1) - - - - - - - - @endif - @endforeach -
TitleOwnerPriceStartEnd
{{$selectedBid->title}}{{$selectedBid->first_name}} {{$selectedBid->last_name}}{{$selectedBid->price}}{{$selectedBid->start_date}}{{$selectedBid->end_date}}
- @else -
- You currently have no assigned tasks. Click - here - to find tasks to complete. -
- @endif -
-
- - -
-
-
-

- Your Completed Assigned Tasks -

-
- @if (sizeOf($selectedBids)>0) - - - - - - - - - @foreach ($selectedBids as $selectedBid) - @if($selectedBid->status == 2) - - - - - - - - @endif - @endforeach -
TitleOwnerPriceStartEnd
{{$selectedBid->title}}{{$selectedBid->first_name}} {{$selectedBid->last_name}}{{$selectedBid->price}}{{$selectedBid->start_date}}{{$selectedBid->end_date}}
- @else -
- You currently have no completed assigned tasks. Click - here - to find tasks to complete. -
- @endif -
-
- - @endif -
-
-@endsection From 70923c37727bd5165df590835090752e3df9ba32 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 21:04:37 +0800 Subject: [PATCH 09/16] Delete TasksController.php --- TasksController.php | 153 -------------------------------------------- 1 file changed, 153 deletions(-) delete mode 100644 TasksController.php diff --git a/TasksController.php b/TasksController.php deleted file mode 100644 index f1058e9..0000000 --- a/TasksController.php +++ /dev/null @@ -1,153 +0,0 @@ -tasksRepo = $tasks; - $this->usersRepo = $users; - } - - /* - |-------------------------------------------------------------------------- - | View Methods - |-------------------------------------------------------------------------- - | - | These methods should return views with the appropriate data bind to it. - | - */ - public function index() - { - $user = new stdClass(); - if (Auth::check()) { - $id = Auth::id(); - $user = $this->usersRepo->getUser($id); - } - $tasks = $this->tasksRepo->all(); - return view('tasks.index', compact('tasks', 'user')); - } - - public function show(Task $task) - { - $user = new stdClass(); - if (Auth::check()) { - $id = Auth::id(); - $user = $this->usersRepo->getUser($id); - } - return view('tasks.show', compact('task', 'user')); - } - - public function create() - { - $generic_tasks = (object)DB::select("select * from generic_tasks"); - return view('tasks.create', compact('generic_tasks')); - } - - public function edit(Task $task) - { - $generic_tasks = (object)DB::select("select * from generic_tasks"); - return view('tasks.edit', compact('task', 'generic_tasks')); - } - - public function search($query) - { - $tasks = Task::where('title','LIKE', "%$query%")->get(); - //->orWhere('created_at','=', "$query")->orWhere('category','LIKE',"%$query%")->orWhere('start_date','=',"$query")->orWhere('end_date','=',"%$query%")->get(); - - return view('tasks.search')->withDetails($tasks)->withQuery($query); - // if(count($tasks) > 0){ - // return view('tasks.search')->withDetails($tasks)->withQuery($query); - // } - // else { - // return view ('tasks.search')->withMessage('No such task found. Try searching again!'); - // }; - - // $keyword= Input::get('q'); - - // $task = Task::find($keyword); - - // return view::make('tasks.search', compact('tasks', 'user')); - - // //$task->show(); - } - - /* - |-------------------------------------------------------------------------- - | Resource Methods - |-------------------------------------------------------------------------- - | - | These methods should not return any views but instead process the - | appropriate actions instead. - | - */ - public function update(Request $request, Task $task) - { - $this->validateTask($request); - $this->tasksRepo->update($task->id, - $request->input('title'), - $request->input('description'), - $request->input('category'), - $request->input('start_date'), - $request->input('end_date')); - return redirect('/tasks'); - } - - public function updateStatus($id, $status) - { - if ($status >= 0 && $status <= 2) { - $this->tasksRepo->updateStatus($id, $status); - } - return back(); - } - - public function destroy($id) - { - $this->tasksRepo->delete($id); - return redirect('/tasks'); - } - - private function validateTask(Request $request) { - $this->validate($request, [ - 'title' => 'required|max:15', - 'description' => 'required', - 'category' => 'required', - 'start_date' => 'required|date|after_or_equal:today', - 'end_date' => 'required|date|after_or_equal:today' - ]); - } - - public function store(Request $request) - { - $this->validateTask($request); - $defaultStatus = 0; - $this->tasksRepo->insert($request->input('title'), - $request->input('description'), - $request->input('category'), - Auth::id(), - $defaultStatus, - $request->input('start_date'), - $request->input('end_date')); - return redirect('/tasks'); - } -} From a2249ddc62cd7d31f3f80f7e8df640aae9ee9667 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 21:36:36 +0800 Subject: [PATCH 10/16] Update search.blade.php --- resources/views/tasks/search.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/tasks/search.blade.php b/resources/views/tasks/search.blade.php index 242c97e..7f5b57c 100644 --- a/resources/views/tasks/search.blade.php +++ b/resources/views/tasks/search.blade.php @@ -19,7 +19,7 @@ @foreach($details as $task) - + {{$task->title}} {{$task->create_at}} {{$task->category}} From 44f30d71466c128615a26d0a277692ba684db566 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 22:00:51 +0800 Subject: [PATCH 11/16] Update TasksController.php --- app/Http/Controllers/Resources/TasksController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Resources/TasksController.php b/app/Http/Controllers/Resources/TasksController.php index ffc9095..d20aef8 100644 --- a/app/Http/Controllers/Resources/TasksController.php +++ b/app/Http/Controllers/Resources/TasksController.php @@ -78,7 +78,10 @@ public function edit(Task $task) public function search($query) { - $tasks = Task::where('title','LIKE', "%$query%")->get(); + $tasks = (object)DB::select("SELECT * FROM tasks WHERE (title LIKE '%query%' OR start_date LIKE '%query%' OR end_date LIKE '%query%' OR created_at LIKE '%query%' OR category LIKE '%query%')"; + + //SELECT * FROM projectitem WHERE (description LIKE '%$keywords%' OR item LIKE '%$keywords%')"; + //$tasks = Task::where('title','LIKE', "%$query%")->get(); //->orWhere('created_at','=', "$query")->orWhere('category','LIKE',"%$query%")->orWhere('start_date','=',"$query")->orWhere('end_date','=',"%$query%")->get(); return view('tasks.search')->withDetails($tasks)->withQuery($query); From 1d8579bf9987e1f28b44737fcbb783e5a2a25c75 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 22:29:33 +0800 Subject: [PATCH 12/16] Update web.php --- routes/web.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/routes/web.php b/routes/web.php index b1461b2..86d7110 100644 --- a/routes/web.php +++ b/routes/web.php @@ -30,6 +30,8 @@ Route::post('/tasks/{task}/bids', 'Resources\BidsController@store'); Route::patch('/tasks/{task}/bids/{bid}', 'Resources\BidsController@update'); Route::delete('/bids/{bid}', 'Resources\BidsController@destroy')->name('bid.destroy'); + Route::any('/bids/{task}/bids/maxprice', 'Resources\BidsController@findmax'); + Route::delete('/users/{user}', 'Resources\UsersController@destroy')->name('user.destroy'); Route::post('/users', 'Resources\UsersController@store'); From 2d12adf4071255ad839f4e7f6ca7ced4278cb114 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 22:32:06 +0800 Subject: [PATCH 13/16] Update home.blade.php --- resources/views/home.blade.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index bdfcdfb..4dcbbb3 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -32,6 +32,7 @@ Category Start End + Max Bid Price Status @@ -41,6 +42,7 @@ {{$task->category}} {{$task->start_date}} {{$task->end_date}} + {{$task->max_bid_price}} @php switch($task->status) { From e9297368de6345384905322f90452c407aca8a43 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 22:39:31 +0800 Subject: [PATCH 14/16] Update BidsController.php --- app/Http/Controllers/Resources/BidsController.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Resources/BidsController.php b/app/Http/Controllers/Resources/BidsController.php index 7dfe6af..1e23faa 100644 --- a/app/Http/Controllers/Resources/BidsController.php +++ b/app/Http/Controllers/Resources/BidsController.php @@ -82,8 +82,12 @@ public function index(Request $request, Task $task) return DB::select('select * from bids b, users u where b.task_id = ? and b.user_id = u.id', [$task->id]); } } - - + + public function maxprice(Task $task) + { + return DB::maxprice('SELECT MAX(price) FROM bids b, WHERE b.task_id =?', [$task->id]); + } + /** * Update the selected field of the bid, whether is it true or false. * From e69df8536c253a7e03d29d511103f146e9ef6aa1 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 22:56:50 +0800 Subject: [PATCH 15/16] Update BidsController.php --- app/Http/Controllers/Resources/BidsController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Resources/BidsController.php b/app/Http/Controllers/Resources/BidsController.php index 1e23faa..a7beb87 100644 --- a/app/Http/Controllers/Resources/BidsController.php +++ b/app/Http/Controllers/Resources/BidsController.php @@ -85,9 +85,14 @@ public function index(Request $request, Task $task) public function maxprice(Task $task) { - return DB::maxprice('SELECT MAX(price) FROM bids b, WHERE b.task_id =?', [$task->id]); + return DB::maxprice('SELECT MAX(price) FROM bids b, WHERE b.task_title = $task.task_title'); } + public function countbids(Task $task) + { + return DB::countbids('SELECT COUNT(bid) FROM tasks t, WHERE t.task_title = $task.task_title'); + } + /** * Update the selected field of the bid, whether is it true or false. * From dad4d427a41a836dc033c0361161847afdff4702 Mon Sep 17 00:00:00 2001 From: nchlsc Date: Wed, 29 Mar 2017 23:00:37 +0800 Subject: [PATCH 16/16] Update web.php --- routes/web.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/routes/web.php b/routes/web.php index 86d7110..3e66179 100644 --- a/routes/web.php +++ b/routes/web.php @@ -30,7 +30,8 @@ Route::post('/tasks/{task}/bids', 'Resources\BidsController@store'); Route::patch('/tasks/{task}/bids/{bid}', 'Resources\BidsController@update'); Route::delete('/bids/{bid}', 'Resources\BidsController@destroy')->name('bid.destroy'); - Route::any('/bids/{task}/bids/maxprice', 'Resources\BidsController@findmax'); + Route::any('/tasks/maxprice', 'Resources\BidsController@findmax'); + Route::any('/tasks/countbids', 'Resources\BidsController@countbids'); Route::delete('/users/{user}', 'Resources\UsersController@destroy')->name('user.destroy');