diff --git a/app/Entities/Projects/JobsRepository.php b/app/Entities/Projects/JobsRepository.php index d9e2d10..5f206dd 100755 --- a/app/Entities/Projects/JobsRepository.php +++ b/app/Entities/Projects/JobsRepository.php @@ -21,10 +21,10 @@ class JobsRepository extends BaseRepository parent::__construct($model); } - public function getUnfinishedJobs(User $user) + public function getUnfinishedJobs(User $user, $projectId = null) { return (new AdminDashboardQuery()) - ->onProgressJobs($user, ['project', 'worker']); + ->onProgressJobs($user, ['project', 'worker'], $projectId); } public function requireProjectById($projectId) diff --git a/app/Http/Controllers/JobsController.php b/app/Http/Controllers/JobsController.php index 7e7d51d..a694988 100755 --- a/app/Http/Controllers/JobsController.php +++ b/app/Http/Controllers/JobsController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Entities\Projects\Job; +use App\Entities\Projects\Project; use App\Entities\Projects\JobsRepository; use App\Http\Requests\Jobs\DeleteRequest; use App\Http\Requests\Jobs\UpdateRequest; @@ -24,9 +25,10 @@ class JobsController extends Controller public function index() { - $jobs = $this->repo->getUnfinishedJobs(auth()->user()); + $projects = Project::whereIn('status_id', [2, 3])->pluck('name','id'); + $jobs = $this->repo->getUnfinishedJobs(auth()->user(), request('project_id')); - return view('jobs.unfinished', compact('jobs')); + return view('jobs.unfinished', compact('jobs', 'projects')); } public function show(Request $request, Job $job) diff --git a/app/Queries/AdminDashboardQuery.php b/app/Queries/AdminDashboardQuery.php index 1e82b5b..0b5458f 100644 --- a/app/Queries/AdminDashboardQuery.php +++ b/app/Queries/AdminDashboardQuery.php @@ -100,7 +100,7 @@ class AdminDashboardQuery * * @return int */ - public function onProgressJobs(User $user, array $eagerLoads = []) + public function onProgressJobs(User $user, array $eagerLoads = [], $projectId = null) { $eagerLoads = array_merge(['tasks'], $eagerLoads); $jobQuery = Job::whereHas('project', function ($query) { @@ -111,6 +111,10 @@ class AdminDashboardQuery $jobQuery->where('worker_id', $user->id); } + if ($projectId) { + $jobQuery->where('project_id', $projectId); + } + $jobs = $jobQuery->get() ->where('progress', '<', 100) ->values(); diff --git a/resources/views/jobs/unfinished.blade.php b/resources/views/jobs/unfinished.blade.php index 24e58ff..498ca0a 100755 --- a/resources/views/jobs/unfinished.blade.php +++ b/resources/views/jobs/unfinished.blade.php @@ -3,9 +3,17 @@ @section('title', __('job.on_progress')) @section('content') -
| {{ __('app.table_no') }} |
|---|