feat: Initialize core application structure including authentication, role-based dashboards, service task management, and integration workflows.
This commit is contained in:
45
app/Http/Controllers/ServiceTaskController.php
Normal file
45
app/Http/Controllers/ServiceTaskController.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?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.');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user