Quellcode durchsuchen

modulo comunicazione - modifiche template + messaggi

ferrari vor 1 Monat
Ursprung
Commit
66f7326813

+ 14 - 3
app/Http/Livewire/EmailComunications.php

@@ -88,24 +88,35 @@ class EmailComunications extends Component
         ];
     }
 
+    protected function baseMessages(): array
+    {
+        return [
+            'subject.*' => 'Il campo oggetto è richiesto',
+            'content_html.*' => 'Il messaggio è richiesto',
+            'recipients.*' => 'Selezionare almeno un destinatario',
+            'schedule_at.after' => 'La data di invio deve essere nel futuro',
+            'schedule_at.*' => 'Il campo data è richiesto',
+        ];
+    }
+
     protected function validateDraft(): void
     {
         $rules = [];
         // $rules = $this->baseRules();
         $rules['subject'] = 'required|string|max:255';
-        $this->validate($rules);
+        $this->validate($rules, $this->baseMessages());
     }
 
     protected function validateSend(): void
     {
-        $this->validate($this->baseRules());
+        $this->validate($this->baseRules(), $this->baseMessages());
     }
 
     protected function validateSchedule(): void
     {
         $rules = $this->baseRules();
         $rules['schedule_at'] = 'required|date|after:now';
-        $this->validate($rules);
+        $this->validate($rules, $this->baseMessages());
     }
 
     public function add()

+ 16 - 4
app/Http/Livewire/SmsComunications.php

@@ -73,30 +73,42 @@ class SmsComunications extends Component
     {
         return [
             'subject' => 'required|string|max:255',
-            'content' => 'required|string',
+            'content' => 'required|string|max:900',
             'recipients' => 'required|array|min:1',
             'recipients.*.phone' => 'required|string',
         ];
     }
 
+    protected function baseMessages(): array
+    {
+        return [
+            'subject.*' => 'Il campo oggetto è richiesto',
+            'content.max' => 'Il messaggio non può essere più lungo di 900 caratteri',
+            'content.*' => 'Il messaggio è richiesto',
+            'recipients.*' => 'Selezionare almeno un destinatario',
+            'schedule_at.after' => 'La data di invio deve essere nel futuro',
+            'schedule_at.*' => 'Il campo data è richiesto',
+        ];
+    }
+
     protected function validateDraft(): void
     {
         $rules = [];
         // $rules = $this->baseRules();
         $rules['subject'] = 'required|string|max:255';
-        $this->validate($rules);
+        $this->validate($rules, $this->baseMessages());
     }
 
     protected function validateSend(): void
     {
-        $this->validate($this->baseRules());
+        $this->validate($this->baseRules(), $this->baseMessages());
     }
 
     protected function validateSchedule(): void
     {
         $rules = $this->baseRules();
         $rules['schedule_at'] = 'required|date|after:now';
-        $this->validate($rules);
+        $this->validate($rules, $this->baseMessages());
     }
 
     public function add()

+ 27 - 26
resources/views/livewire/email_comunications.blade.php

@@ -115,6 +115,31 @@
                 <div class="col">
 
                     <form>
+                        {{-- Oggetto --}}
+                        <div class="row mb-5">
+                            <div class="col">
+                                <div class="form--item">
+                                    <h4>Oggetto</h4>
+                                    <input type="text" class="form-control @error('subject') is-invalid @enderror" id="subject" wire:model.defer="subject" placeholder="Oggetto email" @if($locked) disabled @endif>
+                                    @error('subject')
+                                    <div class="invalid-feedback">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                        </div>
+
+                        {{-- Messaggio (CKEditor → content_html) --}}
+                        <div class="row mb-5">
+                            <div class="col">
+                                <div wire:ignore class="form--item">
+                                    <h4>Messaggio</h4>
+                                    <textarea class="form-control" id="message"></textarea>
+                                    @error('content_html')
+                                        <div class="invalid-feedback d-block">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                        </div>
 
                         {{-- Destinatari (selezionati) --}}
                         <div class="row mb-5">
@@ -137,10 +162,12 @@
                                 </div>
                                 @error('recipients') <div class="invalid-feedback d-block">{{ $message }}</div> @enderror
                             </div>
+                            @if(!$locked)
                             <div class="col"></div>
                             <div class="col-auto">
                                 <a style="cursor:pointer" class="addRecipients btn--ui"><i class="fa-solid fa-plus"></i></a>
                             </div>
+                            @endif
                         </div>
 
                         {{-- FILTRI + TABELLA DESTINATARI --}}
@@ -300,32 +327,6 @@
                             </div>
                         </div>
 
-                        {{-- Oggetto --}}
-                        <div class="row mb-5">
-                            <div class="col">
-                                <div class="form--item">
-                                    <h4>Oggetto</h4>
-                                    <input type="text" class="form-control @error('subject') is-invalid @enderror" id="subject" wire:model.defer="subject" placeholder="Oggetto email" @if($locked) disabled @endif>
-                                    @error('subject')
-                                    <div class="invalid-feedback">{{ $message }}</div>
-                                    @enderror
-                                </div>
-                            </div>
-                        </div>
-
-                        {{-- Messaggio (CKEditor → content_html) --}}
-                        <div class="row mb-5">
-                            <div class="col">
-                                <div wire:ignore class="form--item">
-                                    <h4>Messaggio</h4>
-                                    <textarea class="form-control" id="message"></textarea>
-                                    @error('content_html')
-                                        <div class="invalid-feedback d-block">{{ $message }}</div>
-                                    @enderror
-                                </div>
-                            </div>
-                        </div>
-
                         {{-- Allegati --}}
                         <div class="row mb-5">
                             <div class="col">

+ 27 - 26
resources/views/livewire/sms_comunications.blade.php

@@ -113,6 +113,31 @@
                 <div class="col">
 
                     <form>
+                        {{-- Oggetto --}}
+                        <div class="row mb-5">
+                            <div class="col">
+                                <div class="form--item">
+                                    <h4>Oggetto</h4>
+                                    <input type="text" class="form-control @error('subject') is-invalid @enderror" id="subject" wire:model.defer="subject" placeholder="Oggetto sms" @if($locked) disabled @endif>
+                                    @error('subject')
+                                    <div class="invalid-feedback">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                        </div>
+
+                        {{-- Messaggio (CKEditor → content_html) --}}
+                        <div class="row mb-5">
+                            <div class="col">
+                                <div class="form--item">
+                                    <h4>Messaggio</h4>
+                                    <textarea class="form-control" id="message" wire:model="content"></textarea>
+                                    @error('content')
+                                        <div class="invalid-feedback d-block">{{ $message }}</div>
+                                    @enderror
+                                </div>
+                            </div>
+                        </div>
 
                         {{-- Destinatari (selezionati) --}}
                         <div class="row mb-5">
@@ -135,10 +160,12 @@
                                 </div>
                                 @error('recipients') <div class="invalid-feedback d-block">{{ $message }}</div> @enderror
                             </div>
+                            @if(!$locked)
                             <div class="col"></div>
                             <div class="col-auto">
                                 <a style="cursor:pointer" class="addRecipients btn--ui"><i class="fa-solid fa-plus"></i></a>
                             </div>
+                            @endif
                         </div>
 
                         {{-- FILTRI + TABELLA DESTINATARI --}}
@@ -298,32 +325,6 @@
                             </div>
                         </div>
 
-                        {{-- Oggetto --}}
-                        <div class="row mb-5">
-                            <div class="col">
-                                <div class="form--item">
-                                    <h4>Oggetto</h4>
-                                    <input type="text" class="form-control @error('subject') is-invalid @enderror" id="subject" wire:model.defer="subject" placeholder="Oggetto sms" @if($locked) disabled @endif>
-                                    @error('subject')
-                                    <div class="invalid-feedback">{{ $message }}</div>
-                                    @enderror
-                                </div>
-                            </div>
-                        </div>
-
-                        {{-- Messaggio (CKEditor → content_html) --}}
-                        <div class="row mb-5">
-                            <div class="col">
-                                <div class="form--item">
-                                    <h4>Messaggio</h4>
-                                    <textarea class="form-control" id="message" wire:model="content"></textarea>
-                                    @error('content')
-                                        <div class="invalid-feedback d-block">{{ $message }}</div>
-                                    @enderror
-                                </div>
-                            </div>
-                        </div>
-
                         {{-- Opzioni invio --}}
                         <div class="row mb-5">
                             <div class="col">