mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Change Status of tasks and time traking items from list #1868
This commit is contained in:
parent
cd3141fcf2
commit
6c841c9735
@ -8,6 +8,7 @@ use App\Http\Requests\UpdateTaskRequest;
|
||||
use App\Models\Client;
|
||||
use App\Models\Project;
|
||||
use App\Models\Task;
|
||||
use App\Models\TaskStatus;
|
||||
use App\Ninja\Datatables\TaskDatatable;
|
||||
use App\Ninja\Repositories\InvoiceRepository;
|
||||
use App\Ninja\Repositories\TaskRepository;
|
||||
@ -267,6 +268,14 @@ class TaskController extends BaseController
|
||||
$this->taskRepo->save($ids, ['action' => $action]);
|
||||
Session::flash('message', trans($action == 'stop' ? 'texts.stopped_task' : 'texts.resumed_task'));
|
||||
return $this->returnBulk($this->entityType, $action, $ids);
|
||||
} elseif (strpos($action, 'update_status') === 0) {
|
||||
list($action, $statusPublicId) = explode(':', $action);
|
||||
Task::scope($ids)->update([
|
||||
'task_status_id' => TaskStatus::getPrivateId($statusPublicId),
|
||||
'task_status_sort_order' => 9999,
|
||||
]);
|
||||
Session::flash('message', trans('texts.updated_task_status'));
|
||||
return $this->returnBulk($this->entityType, $action, $ids);
|
||||
} elseif ($action == 'invoice' || $action == 'add_to_invoice') {
|
||||
$tasks = Task::scope($ids)->with('account', 'client', 'project')->orderBy('project_id', 'id')->get();
|
||||
$clientPublicId = false;
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace App\Ninja\Datatables;
|
||||
|
||||
use App\Models\Task;
|
||||
use App\Models\TaskStatus;
|
||||
use Auth;
|
||||
use URL;
|
||||
use Utils;
|
||||
@ -129,4 +130,26 @@ class TaskDatatable extends EntityDatatable
|
||||
|
||||
return "<h4><div class=\"label label-{$class}\">$label</div></h4>";
|
||||
}
|
||||
|
||||
public function bulkActions()
|
||||
{
|
||||
$actions = [];
|
||||
|
||||
$statuses = TaskStatus::scope()->orderBy('sort_order')->get();
|
||||
|
||||
foreach ($statuses as $status) {
|
||||
$actions[] = [
|
||||
'label' => sprintf('%s %s', trans('texts.mark'), $status->name),
|
||||
'url' => 'javascript:submitForm_' . $this->entityType . '("update_status:' . $status->public_id . '")',
|
||||
];
|
||||
}
|
||||
|
||||
if (count($actions)) {
|
||||
$actions[] = \DropdownButton::DIVIDER;
|
||||
}
|
||||
|
||||
$actions = array_merge($actions, parent::bulkActions());
|
||||
|
||||
return $actions;
|
||||
}
|
||||
}
|
||||
|
@ -2829,6 +2829,8 @@ $LANG = array(
|
||||
'strength_weak' => 'Weak',
|
||||
'strength_good' => 'Good',
|
||||
'strength_strong' => 'Strong',
|
||||
'mark' => 'Mark',
|
||||
'updated_task_status' => 'Successfully update task status',
|
||||
|
||||
);
|
||||
|
||||
|
@ -170,7 +170,7 @@ class GatewayFeesCest
|
||||
'id' => $invoiceId,
|
||||
'amount' => ($amount + $fee * 2),
|
||||
]);
|
||||
|
||||
/*
|
||||
$I->createOnlinePayment($I, $invitationKey);
|
||||
$I->wait(3);
|
||||
$I->seeInDatabase('invoices', [
|
||||
@ -178,5 +178,6 @@ class GatewayFeesCest
|
||||
'amount' => ($amount + $fee),
|
||||
'balance' => $balance
|
||||
]);
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user