Files
ficheagent/app/Http/Controllers/ServiceTaskController.php

46 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\ServiceTask;
use App\Models\TaskItem;
use App\Services\ServiceTaskManager;
use Illuminate\Http\Request;
class ServiceTaskController extends Controller
{
public function __construct(protected ServiceTaskManager $manager)
{
}
public function start(ServiceTask $task)
{
$this->manager->startTask($task);
return back()->with('success', 'Tâche démarrée.');
}
public function toggleItem(TaskItem $item, Request $request)
{
if ($item->is_completed) {
$item->update(['is_completed' => false, 'completed_at' => null, 'completed_by' => null]);
} else {
$this->manager->completeTaskItem($item, $request->input('data', []));
}
return back();
}
public function approve(ServiceTask $task)
{
$this->manager->validateTask($task);
return back()->with('success', 'Tâche de service validée.');
}
public function reject(ServiceTask $task, Request $request)
{
$request->validate(['reason' => 'required|string']);
$this->manager->rejectTask($task, $request->reason);
return back()->with('warning', 'Tâche refusée.');
}
}