Working on projects

This commit is contained in:
Hillel Coren 2017-12-24 21:17:21 +02:00
parent d2ba15a15a
commit a9121e9a72
7 changed files with 14 additions and 13 deletions

View File

@ -12,7 +12,7 @@ class TaskKanbanController extends BaseController
/** /**
* @return \Illuminate\Contracts\View\View * @return \Illuminate\Contracts\View\View
*/ */
public function index($clientPublicId = false) public function index($clientPublicId = false, $projectPublicId = false)
{ {
$tasks = Task::scope() $tasks = Task::scope()
->with(['project', 'client', 'task_status']) ->with(['project', 'client', 'task_status'])
@ -85,6 +85,7 @@ class TaskKanbanController extends BaseController
'clients' => $clients, 'clients' => $clients,
'projects' => $projects, 'projects' => $projects,
'clientPublicId' => $clientPublicId, 'clientPublicId' => $clientPublicId,
'projectPublicId' => $projectPublicId,
]; ];
return view('tasks.kanban', $data); return view('tasks.kanban', $data);

View File

@ -48,7 +48,7 @@ class Project extends EntityModel
*/ */
public function getRoute() public function getRoute()
{ {
return "/projects/{$this->public_id}/edit"; return "/projects/{$this->public_id}";
} }
/** /**

View File

@ -84,7 +84,7 @@
}); });
</script> </script>
@elseif ($entityType == ENTITY_TASK) @elseif ($entityType == ENTITY_TASK)
{!! Button::normal(trans('texts.kanban'))->asLinkTo(url('/tasks/kanban' . (! empty($clientId) ? '/' . $clientId : '')))->appendIcon(Icon::create('th')) !!} {!! Button::normal(trans('texts.kanban'))->asLinkTo(url('/tasks/kanban' . (! empty($clientId) ? ('/' . $clientId . (! empty($projectId) ? '/' . $projectId : '')) : '')))->appendIcon(Icon::create('th')) !!}
{!! Button::normal(trans('texts.time_tracker'))->asLinkTo('javascript:openTimeTracker()')->appendIcon(Icon::create('time')) !!} {!! Button::normal(trans('texts.time_tracker'))->asLinkTo('javascript:openTimeTracker()')->appendIcon(Icon::create('time')) !!}
@endif @endif

View File

@ -61,7 +61,8 @@
<center class="buttons"> <center class="buttons">
{!! Button::normal(trans('texts.cancel'))->large()->asLinkTo(HTMLUtils::previousUrl('/projects'))->appendIcon(Icon::create('remove-circle')) !!} {!! Button::normal(trans('texts.cancel'))->large()->asLinkTo(HTMLUtils::previousUrl('/projects'))->appendIcon(Icon::create('remove-circle')) !!}
{!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!} {!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!}
@if ($project && Auth::user()->can('create', ENTITY_TASK))
@if (false && $project && Auth::user()->can('create', ENTITY_TASK))
{!! DropdownButton::normal(trans('texts.more_actions')) {!! DropdownButton::normal(trans('texts.more_actions'))
->withContents([ ->withContents([
[ [

View File

@ -36,13 +36,6 @@
] ]
)->split() !!} )->split() !!}
@endcan @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 @endif
@if ($project->trashed()) @if ($project->trashed())

View File

@ -650,7 +650,13 @@
window.model = new ViewModel(); window.model = new ViewModel();
ko.applyBindings(model); ko.applyBindings(model);
if ({{ $clientPublicId ? 'true' : 'false' }}) { if ({{ $projectPublicId ? 'true' : 'false' }}) {
var project = projectMap[{{ $projectPublicId ?: 0}}];
if (project) {
model.filter_project_id({{ $projectPublicId }});
model.filter(project.name());
}
} else if ({{ $clientPublicId ? 'true' : 'false' }}) {
var client = clientMap[{{ $clientPublicId ?: 0 }}]; var client = clientMap[{{ $clientPublicId ?: 0 }}];
if (client) { if (client) {
model.filter_client_id({{ $clientPublicId }}); model.filter_client_id({{ $clientPublicId }});

View File

@ -143,7 +143,7 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () {
Route::get('clients/statement/{client_id}/{status_id?}/{start_date?}/{end_date?}', 'ClientController@statement'); Route::get('clients/statement/{client_id}/{status_id?}/{start_date?}/{end_date?}', 'ClientController@statement');
Route::get('time_tracker', 'TimeTrackerController@index'); Route::get('time_tracker', 'TimeTrackerController@index');
Route::get('tasks/kanban/{client_id?}', 'TaskKanbanController@index'); Route::get('tasks/kanban/{client_id?}/{project_id?}', 'TaskKanbanController@index');
Route::post('task_statuses', 'TaskKanbanController@storeStatus'); Route::post('task_statuses', 'TaskKanbanController@storeStatus');
Route::put('task_statuses/{task_status_id}', 'TaskKanbanController@updateStatus'); Route::put('task_statuses/{task_status_id}', 'TaskKanbanController@updateStatus');
Route::delete('task_statuses/{task_status_id}', 'TaskKanbanController@deleteStatus'); Route::delete('task_statuses/{task_status_id}', 'TaskKanbanController@deleteStatus');