Browse Source

Change projects.jobs route into projects.jobs.index

pull/1/head
Nafies Luthfi 8 years ago
parent
commit
4c45d34383
  1. 2
      app/Entities/Projects/JobPresenter.php
  2. 9
      app/Http/Controllers/Projects/JobsController.php
  3. 2
      resources/views/jobs/add-from-other-project.blade.php
  4. 2
      resources/views/jobs/create.blade.php
  5. 2
      resources/views/jobs/edit.blade.php
  6. 2
      resources/views/jobs/show.blade.php
  7. 8
      resources/views/projects/jobs/index.blade.php
  8. 2
      resources/views/projects/partials/nav-tabs.blade.php
  9. 6
      resources/views/projects/partials/project-stats.blade.php
  10. 6
      routes/web/projects.php
  11. 15
      tests/Feature/ManageJobsTest.php

2
app/Entities/Projects/JobPresenter.php

@ -18,7 +18,7 @@ class JobPresenter extends Presenter
public function projectJobsLink()
{
return link_to_route('projects.jobs', trans('project.jobs'), [$this->project_id]);
return link_to_route('projects.jobs.index', trans('project.jobs'), [$this->project_id]);
}
}

9
app/Http/Controllers/Projects/JobsController.php

@ -10,6 +10,11 @@ use App\Http\Requests\Jobs\DeleteRequest;
use App\Http\Requests\Jobs\UpdateRequest;
use Illuminate\Http\Request;
/**
* Project Jobs Controller
*
* @author Nafies Luthfi <nafiesl@gmail.com>
*/
class JobsController extends Controller
{
@ -57,7 +62,7 @@ class JobsController extends Controller
{
$this->repo->createJobs($req->except('_token'), $projectId);
flash()->success(trans('job.created_from_other_project'));
return redirect()->route('projects.jobs', $projectId);
return redirect()->route('projects.jobs.index', $projectId);
}
public function show(Request $req, $jobId)
@ -108,7 +113,7 @@ class JobsController extends Controller
flash()->error(trans('job.undeleted'));
}
return redirect()->route('projects.jobs', $projectId);
return redirect()->route('projects.jobs.index', $projectId);
}
public function tasksReorder(Request $req, $jobId)

2
resources/views/jobs/add-from-other-project.blade.php

@ -52,7 +52,7 @@
</div>
<div class="panel-footer">
{!! link_to_route('projects.jobs', trans('app.cancel'), [$project->id], ['class'=>'btn btn-default']) !!}
{!! link_to_route('projects.jobs.index', trans('app.cancel'), [$project->id], ['class'=>'btn btn-default']) !!}
</div>
</div>
</div>

2
resources/views/jobs/create.blade.php

@ -28,7 +28,7 @@
<div class="panel-footer">
{!! Form::submit(trans('job.create'), ['class'=>'btn btn-primary']) !!}
{!! link_to_route('projects.jobs', trans('app.cancel'), [$project->id], ['class'=>'btn btn-default']) !!}
{!! link_to_route('projects.jobs.index', trans('app.cancel'), [$project->id], ['class'=>'btn btn-default']) !!}
</div>
</div>
{!! Form::close() !!}

2
resources/views/jobs/edit.blade.php

@ -28,7 +28,7 @@
{!! Form::hidden('project_id', $job->project_id) !!}
{!! Form::submit(trans('job.update'), ['class'=>'btn btn-primary']) !!}
{!! link_to_route('jobs.show', trans('app.show'), [$job->id], ['class' => 'btn btn-info']) !!}
{!! link_to_route('projects.jobs', trans('job.back_to_index'), [$job->project_id], ['class' => 'btn btn-default']) !!}
{!! link_to_route('projects.jobs.index', trans('job.back_to_index'), [$job->project_id], ['class' => 'btn btn-default']) !!}
{!! link_to_route('jobs.delete', trans('job.delete'), [$job->id], ['class'=>'btn btn-danger pull-right']) !!}
</div>
</div>

2
resources/views/jobs/show.blade.php

@ -9,7 +9,7 @@
<div class="pull-right">
{!! html_link_to_route('jobs.create', trans('job.create'), [$job->project_id], ['class' => 'btn btn-success','icon' => 'plus']) !!}
{!! link_to_route('jobs.edit', trans('job.edit'), [$job->id], ['class' => 'btn btn-warning']) !!}
{!! link_to_route('projects.jobs', trans('job.back_to_index'), [$job->project_id, '#' . $job->id], ['class' => 'btn btn-default']) !!}
{!! link_to_route('projects.jobs.index', trans('job.back_to_index'), [$job->project_id, '#' . $job->id], ['class' => 'btn btn-default']) !!}
</div>
{{ $job->name }} <small>{{ trans('job.show') }}</small>
</h1>

8
resources/views/projects/jobs/index.blade.php

@ -21,9 +21,9 @@
<div class="panel-heading">
<div class="pull-right">
@if (request('action') == 'sort_jobs')
{{ link_to_route('projects.jobs', trans('app.done'), [$project->id], ['class' => 'btn btn-default btn-xs pull-right', 'style' => 'margin-top: -2px; margin-left: 6px; margin-right: -8px']) }}
{{ 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', 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.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' => '']) !!} |
@ -86,9 +86,9 @@
<th class="text-right">{{ formatRp($groupedJobs->sum('price')) }}</th>
<th colspan="2">
@if (request('action') == 'sort_jobs')
{{ link_to_route('projects.jobs', trans('app.done'), [$project->id], ['class' => 'btn btn-default btn-xs pull-right']) }}
{{ link_to_route('projects.jobs.index', trans('app.done'), [$project->id], ['class' => 'btn btn-default btn-xs pull-right']) }}
@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']) }}
{{ 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']) }}
@endif
</th>
</tr>

2
resources/views/projects/partials/nav-tabs.blade.php

@ -4,7 +4,7 @@
{!! link_to_route('projects.show', trans('project.show'), [$project->id]) !!}
</li>
<li class="{{ Request::segment(3) == 'jobs' ? 'active' : '' }}">
{!! link_to_route('projects.jobs', trans('project.jobs').' ('.$project->jobs->count().')', [$project->id]) !!}
{!! link_to_route('projects.jobs.index', trans('project.jobs').' ('.$project->jobs->count().')', [$project->id]) !!}
</li>
<li class="{{ Request::segment(3) == 'payments' ? 'active' : '' }}">
{!! link_to_route('projects.payments', trans('project.payments').' ('.$project->payments->count().')', [$project->id]) !!}

6
resources/views/projects/partials/project-stats.blade.php

@ -1,6 +1,6 @@
<div class="row">
<div class="col-lg-6 col-md-12">
<a href="{{ route('projects.jobs',[$project->id]) }}" title="Progress Berdasarkan Index Bobot Biaya Fitur">
<a href="{{ route('projects.jobs.index',[$project->id]) }}" title="Progress Berdasarkan Index Bobot Biaya Fitur">
<div class="panel panel-info">
<div class="panel-heading">
<div class="row">
@ -15,7 +15,7 @@
</a>
</div>
<div class="col-lg-6 col-md-12">
<a href="{{ route('projects.jobs',[$project->id]) }}" title="Total Fitur dan Task">
<a href="{{ route('projects.jobs.index',[$project->id]) }}" title="Total Fitur dan Task">
<div class="panel panel-default">
<div class="panel-heading">
<div class="row">
@ -30,7 +30,7 @@
</a>
</div>
<div class="col-lg-6 col-md-12">
<a href="{{ route('projects.jobs',[$project->id]) }}" title="Collectible Earnings">
<a href="{{ route('projects.jobs.index',[$project->id]) }}" title="Collectible Earnings">
<div class="panel panel-success">
<div class="panel-heading">
<div class="row">

6
routes/web/projects.php

@ -7,7 +7,6 @@ Route::group(['middleware' => ['web', 'auth'], 'namespace' => 'Projects'], funct
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::post('projects/{id}/jobs-reorder', ['as' => 'projects.jobs-reorder', 'uses' => 'ProjectsController@jobsReorder']);
Route::patch('projects/{id}/status-update', ['as' => 'projects.status-update', 'uses' => 'ProjectsController@statusUpdate']);
Route::resource('projects', 'ProjectsController');
@ -32,11 +31,12 @@ Route::group(['middleware' => ['web', 'auth'], 'namespace' => 'Projects'], funct
*/
Route::get('projects/{id}/jobs/create', ['as' => 'jobs.create', 'uses' => 'JobsController@create']);
Route::get('projects/{id}/jobs/add-from-other-project', ['as' => 'jobs.add-from-other-project', 'uses' => 'JobsController@addFromOtherProject']);
Route::post('jobs/{id}/tasks-reorder', ['as' => 'jobs.tasks-reorder', 'uses' => 'JobsController@tasksReorder']);
Route::post('projects/{id}/jobs', ['as' => 'jobs.store', 'uses' => 'JobsController@store']);
Route::post('projects/{id}/jobs/store-from-other-project', ['as' => 'jobs.store-from-other-project', 'uses' => 'JobsController@storeFromOtherProject']);
Route::get('jobs/{id}/delete', ['as' => 'jobs.delete', 'uses' => 'JobsController@delete']);
Route::get('projects/{project}/jobs', ['as' => 'projects.jobs', 'uses' => 'JobsController@index']);
Route::post('jobs/{id}/tasks-reorder', ['as' => 'jobs.tasks-reorder', 'uses' => 'JobsController@tasksReorder']);
Route::get('projects/{project}/jobs', ['as' => 'projects.jobs.index', 'uses' => 'JobsController@index']);
Route::post('projects/{id}/jobs-reorder', ['as' => 'projects.jobs-reorder', 'uses' => 'ProjectsController@jobsReorder']);
Route::resource('jobs', 'JobsController', ['except' => ['index', 'create', 'store']]);
/**

15
tests/Feature/ManageJobsTest.php

@ -9,6 +9,11 @@ use App\Entities\Projects\Task;
use App\Entities\Users\User;
use Tests\TestCase;
/**
* Manage Project Feature Test
*
* @author Nafies Luthfi <nafiesl@gmail.com>
*/
class ManageJobsTest extends TestCase
{
/** @test */
@ -21,7 +26,7 @@ class ManageJobsTest extends TestCase
$worker = $this->createUser();
$this->visit(route('projects.jobs', $project->id));
$this->visit(route('projects.jobs.index', $project->id));
$this->click(trans('job.create'));
$this->seePageIs(route('jobs.create', $project->id));
@ -98,7 +103,7 @@ class ManageJobsTest extends TestCase
$this->click(trans('job.delete'));
$this->press(trans('app.delete_confirm_button'));
$this->seePageIs(route('projects.jobs', $project->id));
$this->seePageIs(route('projects.jobs.index', $project->id));
$this->see(trans('job.deleted'));
@ -121,7 +126,7 @@ class ManageJobsTest extends TestCase
$project = factory(Project::class)->create();
$job = factory(Job::class)->create(['project_id' => $project->id, 'type_id' => 1]);
$this->visit(route('projects.jobs', $project->id));
$this->visit(route('projects.jobs.index', $project->id));
$this->click('show-job-'.$job->id);
$this->seePageIs(route('jobs.show', $project->id));
$this->see(trans('job.show'));
@ -140,7 +145,7 @@ class ManageJobsTest extends TestCase
$tasks1 = factory(Task::class, 3)->create(['job_id' => $jobs[0]->id]);
$tasks2 = factory(Task::class, 3)->create(['job_id' => $jobs[1]->id]);
$this->visit(route('projects.jobs', $projects[1]->id));
$this->visit(route('projects.jobs.index', $projects[1]->id));
$this->click(trans('job.add_from_other_project'));
$this->seePageIs(route('jobs.add-from-other-project', $projects[1]->id));
@ -160,7 +165,7 @@ class ManageJobsTest extends TestCase
$form[$jobs[1]->id.'_task_ids'][$tasks2[2]->id]->tick();
$this->makeRequestUsingForm($form);
$this->seePageIs(route('projects.jobs', $projects[1]->id));
$this->seePageIs(route('projects.jobs.index', $projects[1]->id));
$this->see(trans('job.created_from_other_project'));

Loading…
Cancel
Save