From 11b91d670cff29c2c2430261e52424632a9ebe60 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Wed, 22 Nov 2017 22:06:17 +0800 Subject: [PATCH] Fix project jobs export page (html) error Move project jobs export action to Projects/JobsController --- app/Http/Controllers/Projects/JobsController.php | 9 ++++++++ .../Controllers/Projects/ProjectsController.php | 25 ---------------------- .../views/projects/jobs-export-html.blade.php | 2 +- resources/views/projects/jobs.blade.php | 4 +--- resources/views/projects/jobs/index.blade.php | 5 +---- routes/web/projects.php | 2 +- 6 files changed, 13 insertions(+), 34 deletions(-) diff --git a/app/Http/Controllers/Projects/JobsController.php b/app/Http/Controllers/Projects/JobsController.php index 78ca43b..b18543d 100755 --- a/app/Http/Controllers/Projects/JobsController.php +++ b/app/Http/Controllers/Projects/JobsController.php @@ -62,4 +62,13 @@ class JobsController extends Controller flash()->success(trans('job.created_from_other_project')); return redirect()->route('projects.jobs.index', $projectId); } + + public function jobsExport(Request $request, $projectId, $exportType = 'html') + { + $jobType = $request->get('job_type', 1); + $project = $this->repo->requireById($projectId); + $jobs = $this->repo->getProjectJobs($projectId, $jobType); + + return view('projects.jobs-export-html', compact('project', 'jobs')); + } } diff --git a/app/Http/Controllers/Projects/ProjectsController.php b/app/Http/Controllers/Projects/ProjectsController.php index bab0239..805628a 100755 --- a/app/Http/Controllers/Projects/ProjectsController.php +++ b/app/Http/Controllers/Projects/ProjectsController.php @@ -92,31 +92,6 @@ class ProjectsController extends Controller return view('projects.subscriptions', compact('project')); } - public function jobsExport(Request $request, $projectId, $exportType = 'excel') - { - $jobType = $request->get('job_type', 1); - $project = $this->repo->requireById($projectId); - $jobs = $this->repo->getProjectJobs($projectId, $jobType); - - if ($exportType == 'excel') { - return view('projects.jobs-export-excel', compact('project', 'jobs')); - \Excel::create(str_slug(trans('project.jobs').'-'.$project->name), function ($excel) use ($project, $jobs) { - $excel->sheet('testng', function ($sheet) use ($project, $jobs) { - $sheet->loadView('projects.jobs-export-excel', compact('project', 'jobs')); - }); - })->download('xls'); - } elseif ($exportType == 'excel-progress') { - return view('projects.jobs-export-progress-excel', compact('project', 'jobs')); - \Excel::create(str_slug(trans('project.jobs').'-'.$project->name), function ($excel) use ($project, $jobs) { - $excel->sheet('export-progress', function ($sheet) use ($project, $jobs) { - $sheet->loadView('projects.jobs-export-progress-excel', compact('project', 'jobs')); - }); - })->download('xls'); - } else { - return view('projects.jobs-export-html-2', compact('project', 'jobs')); - } - } - public function payments($projectId) { $project = $this->repo->requireById($projectId); diff --git a/resources/views/projects/jobs-export-html.blade.php b/resources/views/projects/jobs-export-html.blade.php index 53ddafb..39a3d89 100755 --- a/resources/views/projects/jobs-export-html.blade.php +++ b/resources/views/projects/jobs-export-html.blade.php @@ -10,7 +10,7 @@ {{-- --}} {{ trans('project.jobs') }} {{ $project->name }} - {!! Html::style('assets/css/app.s.css') !!} + {!! Html::style('assets/css/app.css') !!}
diff --git a/resources/views/projects/jobs.blade.php b/resources/views/projects/jobs.blade.php index ca8d1f1..f51d25a 100755 --- a/resources/views/projects/jobs.blade.php +++ b/resources/views/projects/jobs.blade.php @@ -25,9 +25,7 @@ @else {{ link_to_route('projects.jobs', trans('project.sort_jobs'), [$project->id, 'action' => 'sort_jobs', '#project-jobs'], ['class' => 'btn btn-default btn-xs pull-right', 'style' => 'margin-top: -2px; margin-left: 6px; margin-right: -8px']) }} - {!! link_to_route('projects.jobs-export', trans('project.jobs_export_html'), [$project->id, 'html', 'job_type' => $key], ['class' => '','target' => '_blank']) !!} | - {!! link_to_route('projects.jobs-export', trans('project.jobs_export_excel'), [$project->id, 'excel', 'job_type' => $key], ['class' => '']) !!} | - {!! link_to_route('projects.jobs-export', trans('project.jobs_export_progress_excel'), [$project->id, 'excel-progress', 'job_type' => $key], ['class' => '']) !!} + {!! link_to_route('projects.jobs-export', trans('project.jobs_export_html'), [$project->id, 'html', 'job_type' => $key], ['class' => '','target' => '_blank']) !!} @endif

diff --git a/resources/views/projects/jobs/index.blade.php b/resources/views/projects/jobs/index.blade.php index 86379ad..6473cfa 100755 --- a/resources/views/projects/jobs/index.blade.php +++ b/resources/views/projects/jobs/index.blade.php @@ -24,10 +24,7 @@ {{ link_to_route('projects.jobs.index', trans('app.done'), [$project->id], ['class' => 'btn btn-default btn-xs pull-right', 'style' => 'margin-top: -2px; margin-left: 6px; margin-right: -8px']) }} @else {{ link_to_route('projects.jobs.index', trans('project.sort_jobs'), [$project->id, 'action' => 'sort_jobs', '#project-jobs'], ['class' => 'btn btn-default btn-xs pull-right', 'style' => 'margin-top: -2px; margin-left: 6px; margin-right: -8px']) }} - - {!! link_to_route('projects.jobs-export', trans('project.jobs_export_html'), [$project->id, 'html', 'job_type' => $key], ['class' => '','target' => '_blank']) !!} | - {!! link_to_route('projects.jobs-export', trans('project.jobs_export_excel'), [$project->id, 'excel', 'job_type' => $key], ['class' => '']) !!} | - {!! link_to_route('projects.jobs-export', trans('project.jobs_export_progress_excel'), [$project->id, 'excel-progress', 'job_type' => $key], ['class' => '']) !!} + {!! link_to_route('projects.jobs-export', trans('project.jobs_export_html'), [$project->id, 'html', 'job_type' => $key], ['class' => '','target' => '_blank']) !!} @endif

diff --git a/routes/web/projects.php b/routes/web/projects.php index 1aa5c2d..ffc7f5d 100644 --- a/routes/web/projects.php +++ b/routes/web/projects.php @@ -5,7 +5,6 @@ Route::group(['middleware' => ['web', 'role:admin'], 'namespace' => 'Projects'], * Projects Routes */ Route::get('projects/{id}/delete', ['as' => 'projects.delete', 'uses' => 'ProjectsController@delete']); - Route::get('projects/{id}/jobs-export/{type?}', ['as' => 'projects.jobs-export', 'uses' => 'ProjectsController@jobsExport']); Route::get('projects/{id}/subscriptions', ['as' => 'projects.subscriptions', 'uses' => 'ProjectsController@subscriptions']); Route::patch('projects/{id}/status-update', ['as' => 'projects.status-update', 'uses' => 'ProjectsController@statusUpdate']); Route::resource('projects', 'ProjectsController'); @@ -29,6 +28,7 @@ Route::group(['middleware' => ['web', 'role:admin'], 'namespace' => 'Projects'], /** * Project Jobs Routes */ + Route::get('projects/{id}/jobs-export/{type?}', ['as' => 'projects.jobs-export', 'uses' => 'JobsController@jobsExport']); Route::get('projects/{id}/jobs/create', ['as' => 'projects.jobs.create', 'uses' => 'JobsController@create']); Route::post('projects/{id}/jobs', ['as' => 'projects.jobs.store', 'uses' => 'JobsController@store']); Route::get('projects/{id}/jobs/add-from-other-project', ['as' => 'projects.jobs.add-from-other-project', 'uses' => 'JobsController@addFromOtherProject']);