From 98ccb68a34c00698debe8cfa8f6cf99417cea61b Mon Sep 17 00:00:00 2001 From: boban Date: Sun, 19 Oct 2025 18:35:39 +0200 Subject: [PATCH] =?UTF-8?q?Rechtebechebung=20f=C3=BCr=20User=20mit=20Sudor?= =?UTF-8?q?echte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Livewire/Ui/Domain/DkimStatus.php | 51 ++++++++++++++++--- .../livewire/ui/domain/dkim-status.blade.php | 13 +++-- .../ui/domain/domain-dns-list.blade.php | 8 +-- 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/app/Livewire/Ui/Domain/DkimStatus.php b/app/Livewire/Ui/Domain/DkimStatus.php index 7edf3ae..b1c2c92 100644 --- a/app/Livewire/Ui/Domain/DkimStatus.php +++ b/app/Livewire/Ui/Domain/DkimStatus.php @@ -5,7 +5,9 @@ namespace App\Livewire\Ui\Domain; use App\Models\Domain; use App\Services\DkimService; use Illuminate\Contracts\View\View; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Process; +use Livewire\Attributes\On; use Livewire\Component; class DkimStatus extends Component @@ -40,24 +42,59 @@ class DkimStatus extends Component } /** Button: (Re)generieren → Service kümmert sich um Helper & Reload */ +// public function regenerate(?string $selector = null): void +// { +// $selector = $selector +// ?: ($this->selector ?: (string) config('mailpool.defaults.dkim_selector', 'mwl1')); +// +// try { +// /** @var DkimService $svc */ +// $svc = app(DkimService::class); +// $svc->generateForDomain($this->domain, 2048, $selector); +// +// // Status nach der Erzeugung erneut prüfen +// $ok = $this->isDkimReady($this->domain->domain, $selector); +// +// $this->dispatch('toast', +// type: $ok ? 'success' : 'warning', +// message: $ok ? 'DKIM ist aktiv.' : 'DKIM generiert – OpenDKIM prüfen.' +// ); +// } catch (\Throwable $e) { +// $this->dispatch('toast', type: 'error', message: 'DKIM Fehler: '.$e->getMessage()); +// } +// +// $this->selector = $selector; +// } + + +// #[On('dkim:regenerate')] public function regenerate(?string $selector = null): void { $selector = $selector ?: ($this->selector ?: (string) config('mailpool.defaults.dkim_selector', 'mwl1')); + Log::info('DKIM regenerate() CLICKED', [ + 'domain' => $this->domain->domain, + 'selector' => $selector, + 'user' => auth()->id(), + ]); + try { /** @var DkimService $svc */ - $svc = app(DkimService::class); + $svc = app(\App\Services\DkimService::class); + + Log::info('DKIM regenerate() calling service.generateForDomain'); $svc->generateForDomain($this->domain, 2048, $selector); + Log::info('DKIM regenerate() service call returned OK'); + + // sicherheitshalber + \Illuminate\Support\Facades\Process::run(['sudo','-n','/usr/bin/systemctl','reload','opendkim']); - // Status nach der Erzeugung erneut prüfen $ok = $this->isDkimReady($this->domain->domain, $selector); - - $this->dispatch('toast', - type: $ok ? 'success' : 'warning', - message: $ok ? 'DKIM ist aktiv.' : 'DKIM generiert – OpenDKIM prüfen.' - ); + $this->dispatch('toast', type: $ok ? 'success' : 'warning', + message: $ok ? 'DKIM ist aktiv.' : 'DKIM generiert – OpenDKIM prüfen.'); } catch (\Throwable $e) { + Log::error('DKIM regenerate() failed', ['ex' => $e->getMessage(), 'trace' => $e->getTraceAsString()]); $this->dispatch('toast', type: 'error', message: 'DKIM Fehler: '.$e->getMessage()); } diff --git a/resources/views/livewire/ui/domain/dkim-status.blade.php b/resources/views/livewire/ui/domain/dkim-status.blade.php index b9469c3..6568d37 100644 --- a/resources/views/livewire/ui/domain/dkim-status.blade.php +++ b/resources/views/livewire/ui/domain/dkim-status.blade.php @@ -6,13 +6,12 @@ @if(!$dkimOk) - diff --git a/resources/views/livewire/ui/domain/domain-dns-list.blade.php b/resources/views/livewire/ui/domain/domain-dns-list.blade.php index 353dc87..ee5fd10 100644 --- a/resources/views/livewire/ui/domain/domain-dns-list.blade.php +++ b/resources/views/livewire/ui/domain/domain-dns-list.blade.php @@ -27,7 +27,7 @@ @if($systemDomain)
-
+
@if($systemDomain->is_active) @@ -37,8 +37,8 @@ @endif - {{ $systemDomain->domain }} - +
{{ $systemDomain->domain }}
+
@@ -106,7 +106,7 @@ {{ $d->domain }} - +
{{-- Zähler-Badges --}}