58 lines
1.3 KiB
PHP
58 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Projects;
|
|
|
|
use App\Models\Project;
|
|
use App\Models\ProjectMailing;
|
|
use Livewire\Component;
|
|
|
|
class MailingManager extends Component
|
|
{
|
|
public $project;
|
|
public $mailingDetailsModal = false;
|
|
|
|
public $formData = [
|
|
|
|
];
|
|
|
|
public $active_mailing = null;
|
|
public function mount(Project $project)
|
|
{
|
|
$this->project = $project;
|
|
$this->resetFormData();
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.projects.mailing-manager', [
|
|
'mailings' => $this->project->mailings()->orderBy('created_at', 'desc')->get(),
|
|
]);
|
|
}
|
|
|
|
public function showMailingDetailsModal(ProjectMailing $mailing)
|
|
{
|
|
$this->formData = $mailing->toArray();
|
|
$this->formData['attachments'] = $mailing->attachments->toArray();
|
|
|
|
$this->formData['recipients'] = $mailing->recipients->toArray();
|
|
$this->mailingDetailsModal = true;
|
|
}
|
|
|
|
public function closeMailingDetailsModal()
|
|
{
|
|
$this->mailingDetailsModal = false;
|
|
$this->resetFormData();
|
|
}
|
|
|
|
private function resetFormData()
|
|
{
|
|
$this->formData = [
|
|
'subject' => '',
|
|
'message' => '',
|
|
'created_at' => '',
|
|
'attachments' => [],
|
|
'recipients' => [],
|
|
];
|
|
}
|
|
}
|