From 303cdf6d6ec37e30de03aaa9b8877e1c179feb43 Mon Sep 17 00:00:00 2001 From: Ghassan Yusuf Date: Tue, 26 May 2026 15:05:24 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20move=20send-test=20sections=20inline=20?= =?UTF-8?q?=E2=80=94=20WhatsApp=20right=20panel,=20Email=20side=20card=20w?= =?UTF-8?q?ith=20account=20selector?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/MailAccountController.php | 19 + .../views/settings/integrations.blade.php | 374 +++++++++++------- routes/web.php | 1 + 3 files changed, 241 insertions(+), 153 deletions(-) diff --git a/app/Http/Controllers/MailAccountController.php b/app/Http/Controllers/MailAccountController.php index af0490e..34d8a29 100644 --- a/app/Http/Controllers/MailAccountController.php +++ b/app/Http/Controllers/MailAccountController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Models\MailAccount; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Mail; use PromoSeven\AzureMailer\Graph\TokenManager; class MailAccountController extends Controller @@ -64,6 +65,24 @@ class MailAccountController extends Controller } } + public function sendTestEmail(Request $request, MailAccount $mailAccount): JsonResponse + { + $request->validate(['to' => ['required', 'email', 'max:255']]); + try { + Mail::mailer($mailAccount->name)->raw( + 'This is a test email from SteelERP. Your mail account "' . $mailAccount->label . '" is working correctly.', + function ($message) use ($request, $mailAccount) { + $message->to($request->to) + ->from($mailAccount->from_address, $mailAccount->from_name ?: 'SteelERP') + ->subject('Test Email from SteelERP'); + } + ); + return response()->json(['success' => true]); + } catch (\Exception $e) { + return response()->json(['success' => false, 'message' => $e->getMessage()]); + } + } + public function toggleEnabled(MailAccount $mailAccount): JsonResponse { $mailAccount->update(['enabled' => ! $mailAccount->enabled]); diff --git a/resources/views/settings/integrations.blade.php b/resources/views/settings/integrations.blade.php index 4eef4f5..93453d0 100644 --- a/resources/views/settings/integrations.blade.php +++ b/resources/views/settings/integrations.blade.php @@ -8,7 +8,7 @@

Configure third-party service integrations.

-
+
{{-- Pill tabs --}}
@@ -35,155 +35,152 @@

WhatsApp (UltraMSG)

-
+ {{-- Two-column body --}} +
- {{-- Enable toggle --}} -
-
-

Enable WhatsApp Notifications

-

When disabled, no messages will be sent.

-
-
- -
-
+ {{-- Left: Settings form --}} +
+ + {{-- Enable toggle --}} +
+
+

Enable WhatsApp Notifications

+

When disabled, no messages will be sent.

+
+
+ +
+
+
-
-
+
- {{-- Instance ID --}} -
- - -
- - {{-- API Token --}} -
- -
- - + {{-- Instance ID --}} +
+ +
-
- {{-- Webhook Secret --}} -
- -
- - + {{-- API Token --}} +
+ +
+ + +
-
- {{-- Webhook Path --}} -
- -
- {{ url('/') }}/ - + {{-- Webhook Secret --}} +
+ +
+ + +
-

- Paste this full URL in your UltraMSG dashboard: {{ url('/') }}/{{ $whatsappSettings['webhook_path'] }} -

-
- {{-- Actions --}} -
-
- - + {{-- Webhook Path --}} +
+ +
+ {{ url('/') }}/ + +
+

+ Paste this full URL in your UltraMSG dashboard: {{ url('/') }}/{{ $whatsappSettings['webhook_path'] }} +

- + + {{-- Actions --}} +
+
+ + +
+ +
+
-
-
- - {{-- Send Test Message accordion --}} -
- - +
@@ -192,22 +189,61 @@ {{-- ===== Email tab ===== --}}