mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 00:44:34 -04:00
Fixes for task statuses
This commit is contained in:
parent
a38d011d56
commit
49bfcd278e
@ -124,16 +124,16 @@ class TaskStatusController extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateTaskStatusRequest $request, TaskStatus $task_status)
|
public function update(UpdateTaskStatusRequest $request, TaskStatus $task_status)
|
||||||
{
|
{
|
||||||
nlog($request->all());
|
|
||||||
|
|
||||||
$task_status->fill($request->all());
|
$task_status->fill($request->all());
|
||||||
$reorder = $task_status->isDirty('status_order');
|
$reorder = $task_status->isDirty('status_order');
|
||||||
$task_status->save();
|
$task_status->save();
|
||||||
|
|
||||||
if ($reorder)
|
if ($reorder)
|
||||||
$this->task_status_repo->reorder($task_status);
|
$this->task_status_repo->reorder($task_status);
|
||||||
|
|
||||||
return $this->itemResponse($task_status->fresh());
|
return $this->itemResponse($task_status->fresh());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,8 +45,8 @@ class TaskStatusRepository extends BaseRepository
|
|||||||
$new_status = $task_status ? $task_status->id : null;
|
$new_status = $task_status ? $task_status->id : null;
|
||||||
|
|
||||||
Task::where('status_id', $task_status->id)
|
Task::where('status_id', $task_status->id)
|
||||||
->where('company_id', $task_status->company_id)
|
->where('company_id', $task_status->company_id)
|
||||||
->update(['status_id' => $new_status]);
|
->update(['status_id' => $new_status]);
|
||||||
|
|
||||||
|
|
||||||
parent::archive($task_status);
|
parent::archive($task_status);
|
||||||
@ -56,22 +56,31 @@ class TaskStatusRepository extends BaseRepository
|
|||||||
|
|
||||||
public function reorder(TaskStatus $task_status)
|
public function reorder(TaskStatus $task_status)
|
||||||
{
|
{
|
||||||
nlog("i am dirty");
|
|
||||||
|
|
||||||
nlog(TaskStatus::query()
|
TaskStatus::where('company_id', $task_status->company_id)
|
||||||
->where('company_id', $task_status->company_id)
|
->where('id', '!=', $task_status->id)
|
||||||
->orderByRaw('ISNULL(status_order), status_order ASC')
|
->orderByRaw('ISNULL(status_order), status_order ASC')
|
||||||
->orderBy('status_order', 'DESC')->pluck('name'));
|
->cursor()
|
||||||
|
->each(function ($ts, $key) use($task_status){
|
||||||
TaskStatus::query()
|
|
||||||
->where('company_id', $task_status->company_id)
|
if($ts->status_order < $task_status->status_order) {
|
||||||
->orderByRaw('ISNULL(status_order), status_order ASC')
|
$ts->status_order--;
|
||||||
->orderBy('status_order', 'DESC')
|
$ts->save();
|
||||||
->cursor()
|
} elseif($ts->status_order >= $task_status->status_order) {
|
||||||
->each(function ($task_status, $index) {
|
$ts->status_order ++;
|
||||||
nlog($index." ".$task_status->name);
|
$ts->save();
|
||||||
$task_status->update(['status_order' => $index+1]);
|
}
|
||||||
});
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
TaskStatus::where('company_id', $task_status->company_id)
|
||||||
|
->orderByRaw('ISNULL(status_order), status_order ASC')
|
||||||
|
->cursor()
|
||||||
|
->each(function ($ts, $key) {
|
||||||
|
$ts->status_order = $key;
|
||||||
|
$ts->save();
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user