mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Working on task kanban
This commit is contained in:
parent
7be486664f
commit
2eedbc008f
@ -15,13 +15,13 @@ class TaskKanbanController extends BaseController
|
|||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$tasks = Task::scope()->with(['project', 'client', 'task_status'])->orderBy('task_status_sort_order')->get();
|
$tasks = Task::scope()->with(['project', 'client', 'task_status'])->orderBy('task_status_sort_order')->get();
|
||||||
$stauses = TaskStatus::scope()->orderBy('sort_order')->get();
|
$statuses = TaskStatus::scope()->orderBy('sort_order')->get();
|
||||||
$projects = Project::scope()->get();
|
$projects = Project::scope()->get();
|
||||||
$clients = Client::scope()->get();
|
$clients = Client::scope()->get();
|
||||||
|
|
||||||
// check initial statuses exist
|
// check initial statuses exist
|
||||||
if (! $stauses->count()) {
|
if (! $statuses->count()) {
|
||||||
$stauses = [];
|
$statuses = collect([]);
|
||||||
$defaults = [
|
$defaults = [
|
||||||
'backlog',
|
'backlog',
|
||||||
'ready_to_do',
|
'ready_to_do',
|
||||||
@ -33,13 +33,13 @@ class TaskKanbanController extends BaseController
|
|||||||
$status->name = trans('texts.' . $defaults[$i]);
|
$status->name = trans('texts.' . $defaults[$i]);
|
||||||
$status->sort_order = $i;
|
$status->sort_order = $i;
|
||||||
$status->save();
|
$status->save();
|
||||||
$stauses[] = $status;
|
$statuses[] = $status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'title' => trans('texts.kanban'),
|
'title' => trans('texts.kanban'),
|
||||||
'statuses' => $stauses,
|
'statuses' => $statuses,
|
||||||
'tasks' => $tasks,
|
'tasks' => $tasks,
|
||||||
'clients' => $clients,
|
'clients' => $clients,
|
||||||
'projects' => $projects,
|
'projects' => $projects,
|
||||||
@ -68,6 +68,20 @@ class TaskKanbanController extends BaseController
|
|||||||
public function updateStatus($publicId)
|
public function updateStatus($publicId)
|
||||||
{
|
{
|
||||||
$status = TaskStatus::scope($publicId)->firstOrFail();
|
$status = TaskStatus::scope($publicId)->firstOrFail();
|
||||||
|
|
||||||
|
if ($status->sort_order != request('sort_order')) {
|
||||||
|
$origSortOrder = $status->sort_order;
|
||||||
|
$newSortOrder = request('sort_order');
|
||||||
|
|
||||||
|
TaskStatus::scope()
|
||||||
|
->where('sort_order', '>', $origSortOrder)
|
||||||
|
->decrement('sort_order');
|
||||||
|
|
||||||
|
TaskStatus::scope()
|
||||||
|
->where('sort_order', '>=', $newSortOrder)
|
||||||
|
->increment('sort_order');
|
||||||
|
}
|
||||||
|
|
||||||
$status->fill(request()->all());
|
$status->fill(request()->all());
|
||||||
$status->save();
|
$status->save();
|
||||||
|
|
||||||
|
@ -235,8 +235,8 @@
|
|||||||
var status = dragged.item;
|
var status = dragged.item;
|
||||||
status.sort_order(dragged.targetIndex);
|
status.sort_order(dragged.targetIndex);
|
||||||
|
|
||||||
var url = '{{ url('/task_status') }}/' + status.public_id();
|
var url = '{{ url('/task_statuses') }}/' + status.public_id();
|
||||||
var data = task.toData();
|
var data = status.toData();
|
||||||
|
|
||||||
model.ajax('put', url, data, function(response) {
|
model.ajax('put', url, data, function(response) {
|
||||||
// do nothing
|
// do nothing
|
||||||
|
Loading…
x
Reference in New Issue
Block a user