From 9e4afb9b99bf5fd5bf9363dfa89a8ff2b0c17913 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 24 Dec 2017 19:47:49 +0200 Subject: [PATCH] Working on projects --- app/Http/Controllers/ProjectController.php | 14 ++++ app/Ninja/Datatables/ProjectDatatable.php | 2 +- resources/lang/en/texts.php | 2 + resources/views/projects/show.blade.php | 86 ++++++++++++++++++++++ routes/web.php | 2 +- 5 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 resources/views/projects/show.blade.php diff --git a/app/Http/Controllers/ProjectController.php b/app/Http/Controllers/ProjectController.php index a8a9ecee41e9..54e3f9238a0d 100644 --- a/app/Http/Controllers/ProjectController.php +++ b/app/Http/Controllers/ProjectController.php @@ -49,6 +49,20 @@ class ProjectController extends BaseController return $this->projectService->getDatatable($search, $userId); } + public function show(ProjectRequest $request) + { + $project = $request->entity(); + + $data = [ + 'account' => auth()->user()->account, + 'project' => $project, + 'title' => trans('texts.view_project'), + 'showBreadcrumbs' => false, + ]; + + return View::make('projects.show', $data); + } + public function create(ProjectRequest $request) { $data = [ diff --git a/app/Ninja/Datatables/ProjectDatatable.php b/app/Ninja/Datatables/ProjectDatatable.php index 85f9cb142f05..84542dc0e960 100644 --- a/app/Ninja/Datatables/ProjectDatatable.php +++ b/app/Ninja/Datatables/ProjectDatatable.php @@ -21,7 +21,7 @@ class ProjectDatatable extends EntityDatatable return $model->project; } - $str = link_to("projects/{$model->public_id}/edit", $model->project)->toHtml(); + $str = link_to("projects/{$model->public_id}", $model->project)->toHtml(); return $this->addNote($str, $model->private_notes); }, ], diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 551a186431ff..b136afaa3961 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -2624,6 +2624,8 @@ $LANG = array( 'convert_products_help' => 'Automatically convert product prices to the client\'s currency', 'improve_client_portal_link' => 'Set a subdomain to shorten the client portal link.', 'budgeted_hours' => 'Budgeted Hours', + 'progress' => 'Progress', + 'view_project' => 'View Project', ); diff --git a/resources/views/projects/show.blade.php b/resources/views/projects/show.blade.php new file mode 100644 index 000000000000..0fc59eec0fb7 --- /dev/null +++ b/resources/views/projects/show.blade.php @@ -0,0 +1,86 @@ +@extends('header') + +@section('head') + @parent + + + +@stop + + +@section('content') + +
+
+ +
+
+
+ + {!! Former::open('vendors/bulk')->addClass('mainForm') !!} +
+ {!! Former::text('action') !!} + {!! Former::text('public_id')->value($project->public_id) !!} +
+ + @if ( ! $project->is_deleted) + @can('edit', $project) + {!! DropdownButton::normal(trans('texts.edit_project')) + ->withAttributes(['class'=>'normalDropDown']) + ->withContents([ + ($project->trashed() ? false : ['label' => trans('texts.archive_project'), 'url' => "javascript:onArchiveClick()"]), + ['label' => trans('texts.delete_project'), 'url' => "javascript:onDeleteClick()"], + ] + )->split() !!} + @endcan + @if ( ! $project->trashed()) + @can('create', ENTITY_TASK) + {!! Button::primary(trans("texts.new_task")) + ->asLinkTo(URL::to("/tasks/create/{$project->client->public_id}/{$project->public_id}")) + ->appendIcon(Icon::create('plus-sign')) !!} + @endcan + @endif + @endif + + @if ($project->trashed()) + @can('edit', $project) + {!! Button::primary(trans('texts.restore_project')) + ->appendIcon(Icon::create('cloud-download')) + ->withAttributes(['onclick' => 'onRestoreClick()']) !!} + @endcan + @endif + + {!! Former::close() !!} + +
+
+
+ + +
+
+
+
+

{{ trans('texts.details') }}

+ + +
+
+

{{ trans('texts.notes') }}

+ + +
+
+

{{ trans('texts.progress') }}

+ + +
+
+
+
+ + +@stop diff --git a/routes/web.php b/routes/web.php index af8d667ffbfc..9c51ea3351ce 100644 --- a/routes/web.php +++ b/routes/web.php @@ -158,7 +158,7 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () { Route::post('projects', 'ProjectController@store'); Route::put('projects/{projects}', 'ProjectController@update'); Route::get('projects/{projects}/edit', 'ProjectController@edit'); - Route::get('projects/{projects}', 'ProjectController@edit'); + Route::get('projects/{projects}', 'ProjectController@show'); Route::post('projects/bulk', 'ProjectController@bulk'); Route::get('api/recurring_invoices/{client_id?}', 'InvoiceController@getRecurringDatatable');