Files
MoveMate/app/Http/Controllers/TaskController.php
T

85 lines
2.2 KiB
PHP
Raw Normal View History

2025-03-06 10:14:48 +09:00
<?php
namespace App\Http\Controllers;
2025-03-06 19:57:42 +09:00
use App\Models\Category;
use App\Models\Task;
2025-03-06 10:14:48 +09:00
use Illuminate\Http\Request;
2025-03-06 19:57:42 +09:00
use Illuminate\Support\Facades\Auth;
2025-03-06 10:14:48 +09:00
class TaskController extends Controller
{
2025-03-06 19:57:42 +09:00
public function index() {
2025-03-06 22:25:46 +09:00
$totalTasks = Task::count(); // Count all tasks
$completedTasks = Task::where('completed', true)->count(); // Coun
$tasks = Task::latest('updated_at')->Paginate(20);
return view('task.index', compact('tasks','totalTasks','completedTasks'));
2025-03-06 19:57:42 +09:00
}
public function show(Task $task) {
return view('task.show', [
'task' => $task
]);
}
public function create() {
$categories = Category::all();
return view('task.create', [
'categories' => $categories
]);
}
public function store(Task $task) {
$validatedAtts = request()->validate([
'name' => ['required'],
'description' => ['required'],
'category_id' => ['required'],
'location' => ['required'],
'time_estimate' => ['required'],
]);
$validatedAtts['user_id'] = Auth::id();
$task = Task::create(
$validatedAtts
);
return redirect()->route('task.create')->with('success', 'Task created successfully!');
}
public function edit(Task $task) {
$categories = Category::all();
return view('task.edit', [
'task' => $task,
'categories' => $categories
]);
}
2025-03-06 19:57:42 +09:00
public function update(Task $task) {
$validatedAtts = request()->validate([
'name' => ['required'],
'description' => ['required'],
'category_id' => ['required'],
'location' => ['required'],
'time_estimate' => ['required'],
]);
$task->update($validatedAtts);
return redirect('/task/'.$task->id);
}
public function destroy(Task $task)
{
$task->delete();
return redirect()->route('task.index')->with('success', 'Task deleted successfully');
}
public function toggleComplete(Task $task) {
$task->completed = !$task->completed;
$task->save();
return redirect()->back();
}
2025-03-06 10:14:48 +09:00
}