feat(Membership, FAQ, Relance): update membership form (member type radio,retzien email field, calendar-year pricing), create FAQ page with accordion, wire renewal reminder notification
All checks were successful
Deploy Roxane to Preprod / deploy (push) Successful in 1m23s
All checks were successful
Deploy Roxane to Preprod / deploy (push) Successful in 1m23s
This commit is contained in:
@@ -10,6 +10,7 @@ class DatabaseSeeder extends Seeder
|
||||
{
|
||||
$this->call([
|
||||
MemberGroupSeeder::class,
|
||||
MemberTypeSeeder::class,
|
||||
PackageSeeder::class,
|
||||
ServiceSeeder::class,
|
||||
UserSeeder::class,
|
||||
|
||||
40
database/seeders/MemberTypeSeeder.php
Normal file
40
database/seeders/MemberTypeSeeder.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\MemberType;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class MemberTypeSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$types = [
|
||||
[
|
||||
'identifier' => 'individual',
|
||||
'name' => 'Particulier',
|
||||
'description' => 'Personne physique',
|
||||
],
|
||||
[
|
||||
'identifier' => 'company',
|
||||
'name' => 'Entreprise',
|
||||
'description' => 'Personne morale (société, auto-entrepreneur, etc.)',
|
||||
],
|
||||
[
|
||||
'identifier' => 'association',
|
||||
'name' => 'Association',
|
||||
'description' => 'Association loi 1901',
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($types as $type) {
|
||||
MemberType::updateOrCreate(
|
||||
['identifier' => $type['identifier']],
|
||||
[
|
||||
'name' => $type['name'],
|
||||
'description' => $type['description'],
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -169,6 +169,25 @@ class NotificationTemplateSeeder extends Seeder
|
||||
]
|
||||
);
|
||||
|
||||
NotificationTemplate::updateOrCreate(
|
||||
['identifier' => 'member_renewal_reminder'],
|
||||
[
|
||||
'name' => 'Relance adhésion — générique',
|
||||
'subject' => 'Rappel concernant votre adhésion — {app_name}',
|
||||
'body' => '<p>Bonjour {member_name},</p>'
|
||||
.'<p>Nous vous contactons au sujet de votre adhésion au sein de notre association.</p>'
|
||||
.'<p>Si votre adhésion est arrivée à expiration ou si vous n\'avez pas encore finalisé votre inscription, '
|
||||
.'nous vous invitons à régulariser votre situation afin de continuer à bénéficier de l\'ensemble de nos services.</p>'
|
||||
.'<p>Pour toute question ou besoin d\'assistance, n\'hésitez pas à nous contacter.</p>'
|
||||
.'<p>Cordialement,<br>L\'équipe {app_name}</p>',
|
||||
'variables' => [
|
||||
'member_name' => 'Nom complet du membre',
|
||||
'app_name' => 'Nom de l\'application',
|
||||
],
|
||||
'is_active' => true,
|
||||
]
|
||||
);
|
||||
|
||||
NotificationTemplate::updateOrCreate(
|
||||
['identifier' => 'admin_password_reset'],
|
||||
[
|
||||
|
||||
@@ -12,20 +12,20 @@ class PackageSeeder extends Seeder
|
||||
$packages = [
|
||||
[
|
||||
'identifier' => 'custom',
|
||||
'name' => 'Sur-mesure',
|
||||
'description' => 'Calcul du nombre de mois restant dans l\'année',
|
||||
'name' => 'Année en cours',
|
||||
'description' => 'Mois restants dans l\'année civile en cours (1€/mois)',
|
||||
'price' => '1.00',
|
||||
],
|
||||
[
|
||||
'identifier' => 'one-year',
|
||||
'name' => 'Un an',
|
||||
'description' => '12 mois à compter de la date de validation de l\'adhésion du membre',
|
||||
'name' => 'Année en cours + 1 an',
|
||||
'description' => 'Jusqu\'à la fin de l\'année civile suivante (1€/mois)',
|
||||
'price' => '12.00',
|
||||
],
|
||||
[
|
||||
'identifier' => 'two-years',
|
||||
'name' => 'Deux ans',
|
||||
'description' => '24 mois à compter de la date de validation de l\'adhésion du membre',
|
||||
'name' => 'Année en cours + 2 ans',
|
||||
'description' => 'Jusqu\'à la fin de la 2e année civile suivante (1€/mois)',
|
||||
'price' => '24.00',
|
||||
],
|
||||
];
|
||||
@@ -42,4 +42,4 @@ class PackageSeeder extends Seeder
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user