- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er) - Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link - Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest - Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen) - Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.1 KiB
PHP
Executable File
43 lines
1.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Enums\EventStatus;
|
|
use App\Models\ActivityLog;
|
|
use App\Models\Event;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class CommentController extends Controller
|
|
{
|
|
public function store(Request $request, Event $event): RedirectResponse
|
|
{
|
|
$user = auth()->user();
|
|
|
|
if ($event->status === EventStatus::Cancelled) {
|
|
abort(403);
|
|
}
|
|
|
|
if (!$user->canAccessAdminPanel()) {
|
|
if ($event->status === EventStatus::Draft) {
|
|
abort(403);
|
|
}
|
|
if (!$user->accessibleTeamIds()->contains($event->team_id)) {
|
|
abort(403);
|
|
}
|
|
}
|
|
|
|
$request->validate([
|
|
'body' => 'required|string|max:1000',
|
|
]);
|
|
|
|
$comment = $event->comments()->make(['body' => $request->body]);
|
|
$comment->user_id = auth()->id();
|
|
$comment->save();
|
|
|
|
ActivityLog::log('created', __('admin.log_comment_created', ['event' => $event->title]), 'Event', $event->id);
|
|
|
|
return redirect(route('events.show', $event) . '#comments');
|
|
}
|
|
}
|