From aa63b018311d61049d23564ff560895065102c8d Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Sun, 22 Jul 2018 09:37:48 +0800 Subject: [PATCH] Update project job creation froms Move job creation form views to projects/jobs Add select2 js for project selection on add job from other project feature --- app/Http/Controllers/Projects/JobsController.php | 6 +-- .../jobs/add-from-other-project.blade.php | 54 ++++++++++++++-------- .../views/{ => projects}/jobs/create.blade.php | 19 ++++---- 3 files changed, 48 insertions(+), 31 deletions(-) rename resources/views/{ => projects}/jobs/add-from-other-project.blade.php (60%) rename resources/views/{ => projects}/jobs/create.blade.php (81%) diff --git a/app/Http/Controllers/Projects/JobsController.php b/app/Http/Controllers/Projects/JobsController.php index 87b5749..097aa6f 100755 --- a/app/Http/Controllers/Projects/JobsController.php +++ b/app/Http/Controllers/Projects/JobsController.php @@ -33,7 +33,7 @@ class JobsController extends Controller { $workers = $this->repo->getWorkersList(); - return view('jobs.create', compact('project', 'workers')); + return view('projects.jobs.create', compact('project', 'workers')); } public function addFromOtherProject(Request $request, Project $project) @@ -43,10 +43,10 @@ class JobsController extends Controller $projects = $this->repo->getProjectsList(); if ($request->has('project_id')) { - $selectedProject = $this->repo->requireProjectById($request->get('project_id')); + $selectedProject = Project::find($request->get('project_id')); } - return view('jobs.add-from-other-project', compact('project', 'workers', 'projects', 'selectedProject')); + return view('projects.jobs.add-from-other-project', compact('project', 'workers', 'projects', 'selectedProject')); } public function store(CreateRequest $req, $projectId) diff --git a/resources/views/jobs/add-from-other-project.blade.php b/resources/views/projects/jobs/add-from-other-project.blade.php similarity index 60% rename from resources/views/jobs/add-from-other-project.blade.php rename to resources/views/projects/jobs/add-from-other-project.blade.php index 5d07c90..94293a4 100755 --- a/resources/views/jobs/add-from-other-project.blade.php +++ b/resources/views/projects/jobs/add-from-other-project.blade.php @@ -1,27 +1,25 @@ -@extends('layouts.app') +@extends('layouts.project') -@section('title', __('job.add_from_other_project').' | '.$project->name) +@section('subtitle', __('job.create')) -@section('content') -@include('projects.partials.breadcrumb',['title' => __('job.add_from_other_project')]) +@section('action-buttons') +@can('create', new App\Entities\Projects\Job) + {!! html_link_to_route('projects.jobs.create', trans('job.create'), [$project->id], ['class' => 'btn btn-success','icon' => 'plus']) !!} + {!! html_link_to_route('projects.jobs.add-from-other-project', trans('job.add_from_other_project'), [$project->id], ['class' => 'btn btn-default','icon' => 'plus']) !!} +@endcan +@endsection + +@section('content-project')
-
+

{{ __('job.add_from_other_project') }}

- {!! Form::open(['method' => 'get']) !!} -
- -
- {!! Form::select('project_id', $projects, request('project_id'), [ - 'class' => 'form-control customer-select', - 'placeholder' => '-- '.__('project.select').' --' - ]) !!} - -
-
- {!! Form::close() !!} + {{ Form::open(['method' => 'get', 'class' => 'form-inline', 'style' => 'margin-bottom:20px']) }} + {!! FormField::select('project_id', $projects, ['label' => false, 'placeholder' => __('project.select')]) !!} + {{ Form::submit(__('project.show_jobs'), ['class' => 'btn btn-default btn-sm']) }} + {{ Form::close() }} @if ($selectedProject) {!! Form::open(['route' => ['projects.jobs.store-from-other-project', $project->id]]) !!}
    @@ -56,8 +54,24 @@
-
- @include('projects.partials.project-show') -
@endsection + +@section('ext_css') + {!! Html::style(url('assets/css/plugins/select2.min.css')) !!} + +@endsection + +@section('script') +{!! Html::script(url('assets/js/plugins/select2.min.js')) !!} + +@endsection diff --git a/resources/views/jobs/create.blade.php b/resources/views/projects/jobs/create.blade.php similarity index 81% rename from resources/views/jobs/create.blade.php rename to resources/views/projects/jobs/create.blade.php index 48e4fca..c01ad30 100755 --- a/resources/views/jobs/create.blade.php +++ b/resources/views/projects/jobs/create.blade.php @@ -1,12 +1,18 @@ -@extends('layouts.app') +@extends('layouts.project') -@section('title', __('job.create')) +@section('subtitle', __('job.create')) -@section('content') -@include('projects.partials.breadcrumb', ['title' => __('job.create')]) +@section('action-buttons') +@can('create', new App\Entities\Projects\Job) + {!! html_link_to_route('projects.jobs.create', trans('job.create'), [$project->id], ['class' => 'btn btn-success','icon' => 'plus']) !!} + {!! html_link_to_route('projects.jobs.add-from-other-project', trans('job.add_from_other_project'), [$project->id], ['class' => 'btn btn-default','icon' => 'plus']) !!} +@endcan +@endsection + +@section('content-project')
-
+
{!! Form::open(['route' => ['projects.jobs.store', $project->id]]) !!}

{{ __('job.create') }}

@@ -41,9 +47,6 @@
{!! Form::close() !!}
-
- @include('projects.partials.project-show') -
@endsection