BCard - Documentation technique

BusinessCardEmailService
in package

Notifie les employés par e-mail de la mise à disposition de leur carte de visite digitale.

Compose un TemplatedEmail à partir du template email/business_card_ready.html.twig, en y injectant l'URL publique de la carte et, le cas échéant, le lien de téléchargement du QR Code. L'expéditeur provient de MailerService et les URL absolues sont générées via le routeur. Appelé notamment lors de la publication d'une carte par BusinessCardGenerationService::publishBusinessCard().

Table of Contents

Properties

$features  : FeaturesExtension
$logger  : LoggerInterface
$mailer  : MailerInterface
$mailerService  : MailerService
$urlGenerator  : UrlGeneratorInterface

Methods

__construct()  : mixed
sendBusinessCardEmail()  : bool
Envoie un email à l'employé avec sa carte de visite digitale
generateBusinessCardUrl()  : string
Génère l'URL publique de la carte de visite

Properties

Methods

__construct()

public __construct(MailerInterface $mailer, UrlGeneratorInterface $urlGenerator, LoggerInterface $logger, MailerService $mailerService, FeaturesExtension $features) : mixed
Parameters
$mailer : MailerInterface

Transport d'envoi des e-mails.

$urlGenerator : UrlGeneratorInterface

Génération des URL absolues (carte publique, téléchargement du QR Code).

$logger : LoggerInterface

Journalisation des envois et des erreurs.

$mailerService : MailerService

Fournit l'adresse et le nom d'expéditeur configurés.

$features : FeaturesExtension

Extension Twig utilisée ici pour slugifier entreprise et poste dans l'URL.

sendBusinessCardEmail()

Envoie un email à l'employé avec sa carte de visite digitale

public sendBusinessCardEmail(BusinessCardAize $businessCard) : bool

Précondition : la carte doit être rattachée à un employé disposant d'une adresse e-mail, et son entreprise ainsi que son intitulé de poste doivent être exploitables pour construire l'URL publique (voir BusinessCardEmailService::generateBusinessCardUrl()). Le lien de téléchargement du QR Code (route download_qr_code) n'est ajouté au contexte que si la carte possède un qrCodePath, sinon null est transmis au template.

Effets de bord : envoi d'un e-mail via le transport configuré et écriture de logs. Aucune modification en base n'est réalisée ici.

Toutes les erreurs sont capturées et journalisées en niveau error : la méthode ne propage aucune exception, y compris l'absence d'employé associé.

Parameters
$businessCard : BusinessCardAize

Carte de visite à communiquer à son employé.

Return values
bool

true si l'e-mail a été remis au transport, false en cas d'échec quelconque (employé manquant, erreur de rendu ou erreur de transport).

generateBusinessCardUrl()

Génère l'URL publique de la carte de visite

private generateBusinessCardUrl(BusinessCardAize $businessCard) : string

Construit une URL absolue vers la route app_show_company_business_card à partir du nom de l'entreprise de l'employé et de l'intitulé de poste de la carte, tous deux passés au slugifieur de FeaturesExtension, ainsi que du hash public de la carte.

Précondition : la carte possède un employé rattaché à une entreprise ; aucun contrôle de nullité n'est effectué, un chaînage sur null provoquerait une \Error.

Parameters
$businessCard : BusinessCardAize

Carte dont on veut l'adresse publique.

Return values
string

URL absolue de consultation de la carte.


        
On this page

Search results