diff --git a/app/Http/Controllers/Projects/TasksController.php b/app/Http/Controllers/Projects/TasksController.php index 2511800..5cc86e9 100755 --- a/app/Http/Controllers/Projects/TasksController.php +++ b/app/Http/Controllers/Projects/TasksController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Projects; +use DB; use App\Entities\Projects\Job; use App\Entities\Projects\Task; use App\Http\Controllers\Controller; @@ -68,4 +69,30 @@ class TasksController extends Controller return redirect()->route('jobs.show', $task->job_id); } + + /** + * Set a task to become a job. + * + * @param \App\Entities\Projects\Task $task + * @return \Illuminate\Routing\Redirector + */ + public function setAsJob(Task $task) + { + $oldJob = $task->job; + + $job = new Job; + $job->name = $task->name; + $job->description = $task->description; + $job->project_id = $oldJob->project_id; + $job->worker_id = $oldJob->worker_id; + + DB::beginTransaction(); + $job->save(); + $task->delete(); + DB::commit(); + + flash(__('task.upgraded_as_job'), 'success'); + + return redirect()->route('jobs.edit', $job); + } } diff --git a/resources/lang/id/task.php b/resources/lang/id/task.php index 28e79eb..69a9d12 100644 --- a/resources/lang/id/task.php +++ b/resources/lang/id/task.php @@ -22,6 +22,10 @@ return [ 'deleted' => 'Hapus data Task telah berhasil.', 'undeleted' => 'Data Task gagal dihapus.', + 'set_as_job' => 'Set Menjadi Job', + 'set_as_job_confirm' => 'Anda yakin mengubah task ini menjadi sebuah Job?', + 'upgraded_as_job' => 'Task telah menjadi Job.', + // Attributes 'name' => 'Nama Task', 'progress' => 'Progress', diff --git a/resources/views/jobs/partials/job-tasks-operation.blade.php b/resources/views/jobs/partials/job-tasks-operation.blade.php index 4887762..9d3b366 100644 --- a/resources/views/jobs/partials/job-tasks-operation.blade.php +++ b/resources/views/jobs/partials/job-tasks-operation.blade.php @@ -1,8 +1,20 @@ @if (Request::get('action') == 'task_edit' && $editableTask) @can('update', $editableTask) -{{ Form::model($editableTask, ['route' => ['tasks.update', $editableTask], 'method' => 'patch']) }}