/ app / Http / Livewire / VulnerabilityMail / Index.php
Index.php
 1  <?php
 2  
 3  namespace App\Http\Livewire\VulnerabilityMail;
 4  
 5  use App\Models\VulnerabilityMail;
 6  use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
 7  use Livewire\Component;
 8  use Livewire\WithPagination;
 9  use WireUi\Traits\Actions;
10  
11  class Index extends Component
12  {
13      use WithPagination, AuthorizesRequests, Actions;
14  
15      protected function getListeners()
16      {
17          return ['refresh' => '$refresh'];
18      }
19  
20      public function mount()
21      {
22          $this->authorize('can_read_vulnerability_mail');
23      }
24  
25      public function getMailsProperty()
26      {
27          return VulnerabilityMail
28              ::where('reviewed', false)
29              ->orderBy('created_at', 'desc')
30              ->paginate(10);
31      }
32  
33      public function render()
34      {
35          return view('livewire.vulnerability-mail.index')
36              ->layoutData([
37                  'title' => __('vulnerabilities.mails'),
38                  'breadcrumb' => 'vulnerability-mail.index',
39              ]);
40      }
41  
42      public function openReviewPanel(int $mailId) {
43          $this->emit('openPanel',
44              __('vulnerabilities.review-mail'),
45              'vulnerability-mail.view', $mailId);
46      }
47  }