feat(portal): lead module, WHMCS sync report/contacts/mapping, service lifecycle email templates
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
3c7710f1de
commit
a443ec3bf6
@@ -11,6 +11,8 @@ use Database\Seeders\EmailTemplates\BillingTemplates;
|
||||
use Database\Seeders\EmailTemplates\IpTemplates;
|
||||
use Database\Seeders\EmailTemplates\LegacyTemplates;
|
||||
use Database\Seeders\EmailTemplates\MarketingTemplates;
|
||||
use Database\Seeders\EmailTemplates\ServiceLifecycleTemplates;
|
||||
use Database\Seeders\EmailTemplates\SubjectFormat;
|
||||
use Database\Seeders\EmailTemplates\ServiceTemplates;
|
||||
use Database\Seeders\EmailTemplates\TemplateVariables;
|
||||
use Illuminate\Database\Seeder;
|
||||
@@ -27,9 +29,18 @@ class TemplateSeeder extends Seeder
|
||||
$this->createMarketingIfMissing($item);
|
||||
}
|
||||
|
||||
$this->seedServiceLifecycleTemplates();
|
||||
|
||||
$this->createMarketingIfMissing(self::ipRevocationTemplate());
|
||||
}
|
||||
|
||||
public function seedServiceLifecycleTemplates(): void
|
||||
{
|
||||
foreach (ServiceLifecycleTemplates::all() as $item) {
|
||||
$this->createMarketingIfMissing($item);
|
||||
}
|
||||
}
|
||||
|
||||
public function seedScenarioIfMissing(string $scenario): void
|
||||
{
|
||||
if (Template::query()->where('key', $scenario)->orWhere('scenario', $scenario)->exists()) {
|
||||
@@ -62,7 +73,7 @@ class TemplateSeeder extends Seeder
|
||||
$template->fill([
|
||||
'type_id' => 0,
|
||||
'format' => 'html',
|
||||
'subject' => $item['subject'],
|
||||
'subject' => SubjectFormat::for($item['name']) ?? $item['subject'],
|
||||
'message' => $item['message'] ?? EmailTemplateShell::page($item['body']),
|
||||
'status' => 1,
|
||||
]);
|
||||
@@ -83,7 +94,7 @@ class TemplateSeeder extends Seeder
|
||||
];
|
||||
|
||||
$scenarios = array_map(
|
||||
fn (array $item) => [...$item, 'message' => EmailTemplateShell::page($item['body'])],
|
||||
fn (array $item) => [...$item, 'subject' => SubjectFormat::for($item['scenario']) ?? $item['subject'], 'message' => EmailTemplateShell::page($item['body'])],
|
||||
[
|
||||
...AccountTemplates::all(),
|
||||
...ServiceTemplates::all(),
|
||||
@@ -102,7 +113,7 @@ class TemplateSeeder extends Seeder
|
||||
public static function legacyTemplates(): array
|
||||
{
|
||||
return array_map(
|
||||
fn (array $item) => [...$item, 'message' => EmailTemplateShell::page($item['body'])],
|
||||
fn (array $item) => [...$item, 'subject' => SubjectFormat::for($item['scenario']) ?? $item['subject'], 'message' => EmailTemplateShell::page($item['body'])],
|
||||
LegacyTemplates::all(),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user