Loading module/Oscar/src/Oscar/Entity/ActivityDate.php +12 −2 Original line number Diff line number Diff line Loading @@ -518,8 +518,18 @@ class ActivityDate implements ITrackable . $this->getActivity(); } public function getEmailBody(array $variables = []) :string public function getEmailBody(array $variables = [], DateTime $dateReference = new DateTime()) :string { return "EMAIL BODY\n"; $out = $this->getType()->getEmailMessage(); if( $this->isLate($dateReference) ){ $out = $this->getType()->getEmailMessageLate(); } elseif ($this->isFutur($dateReference)) { $out = $this->getType()->getEmailMessagePredicted(); } if( !$out ){ $out = "Bonjour {PERSONNE},\n\n" . "Le jalon {JALON} arrive à échéance le {DATE}."; } return $out; } } No newline at end of file module/Oscar/src/Oscar/Entity/DateType.php +40 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,22 @@ class DateType implements ITrackable */ private ?string $emailMessage = ""; /** * Message spécifique pour le mail (Jalon dans le futur). * * @var string * @ORM\Column(type="string", nullable=true) */ private ?string $emailMessagePredicted = ""; /** * Message spécifique pour le mail (Jalon à faire en retard). * * @var string * @ORM\Column(type="string", nullable=true) */ private ?string $emailMessageLate = ""; /** * Mail activé. * Loading Loading @@ -216,6 +232,28 @@ class DateType implements ITrackable return $this; } public function getEmailMessagePredicted(): ?string { return $this->emailMessagePredicted; } public function setEmailMessagePredicted(?string $emailMessagePredicted): self { $this->emailMessagePredicted = $emailMessagePredicted; return $this; } public function getEmailMessageLate(): ?string { return $this->emailMessageLate; } public function setEmailMessageLate(?string $emailMessageLate): self { $this->emailMessageLate = $emailMessageLate; return $this; } /** * @return bool */ Loading Loading @@ -245,6 +283,8 @@ class DateType implements ITrackable 'recursivity' => $this->getRecursivityArray(), 'emailEnable' => $this->isEmailEnable(), 'emailMessage' => $this->getEmailMessage(), 'emailMessagePredicted' => $this->getEmailMessagePredicted(), 'emailMessageLate' => $this->getEmailMessageLate(), ]; } Loading module/Oscar/src/Oscar/Form/DateTypeForm.php +26 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,32 @@ class DateTypeForm extends Form implements InputFilterProviderInterface 'type'=>'Textarea' ]); $label = 'Message du mail (à venir)'; $this->add([ 'name' => 'emailMessagePredicted', 'options' => [ 'label' => $label ], 'attributes' => [ 'class' => 'form-control', 'placeholder' => $label, ], 'type'=>'Textarea' ]); $label = 'Message du mail (en retard)'; $this->add([ 'name' => 'emailMessageLate', 'options' => [ 'label' => $label ], 'attributes' => [ 'class' => 'form-control', 'placeholder' => $label, ], 'type'=>'Textarea' ]); // Fréquence des notifications $label = 'Fréquence des notifications'; Loading module/Oscar/src/Oscar/Hydrator/DateTypeFormHydrator.php +4 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte 'label' => $object->getLabel(), 'recursivity' => $object->getRecursivity(), 'emailMessage' => $object->getEmailMessage(), 'emailMessagePredicted' => $object->getEmailMessagePredicted(), 'emailMessageLate' => $object->getEmailMessageLate(), 'emailEnable' => $object->isEmailEnable() ? '1' : '0', ]; if( $object->isFinishable() ){ Loading Loading @@ -67,6 +69,8 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte ->setFinishable(array_key_exists('finishable', $data) ? true : false) ->setEmailEnable(array_key_exists('emailEnable', $data) ? true : false) ->setEmailMessage($data['emailMessage']) ->setEmailMessagePredicted($data['emailMessagePredicted']) ->setEmailMessageLate($data['emailMessageLate']) ->setLabel($data['label']); return $object; } Loading module/Oscar/src/Oscar/Service/MailingService.php +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,11 @@ class MailingService implements UseEntityManager, UseOscarConfigurationService, { use UseEntityManagerTrait, UseOscarConfigurationServiceTrait, UseLoggerServiceTrait; public function forgeText(string $bodyTemplate, array $paramBody) { return str_ireplace(array_keys($paramBody), array_values($paramBody), $bodyTemplate); } /** * Retourne la configuration Oscar pour l'envoi des mails. * Loading Loading
module/Oscar/src/Oscar/Entity/ActivityDate.php +12 −2 Original line number Diff line number Diff line Loading @@ -518,8 +518,18 @@ class ActivityDate implements ITrackable . $this->getActivity(); } public function getEmailBody(array $variables = []) :string public function getEmailBody(array $variables = [], DateTime $dateReference = new DateTime()) :string { return "EMAIL BODY\n"; $out = $this->getType()->getEmailMessage(); if( $this->isLate($dateReference) ){ $out = $this->getType()->getEmailMessageLate(); } elseif ($this->isFutur($dateReference)) { $out = $this->getType()->getEmailMessagePredicted(); } if( !$out ){ $out = "Bonjour {PERSONNE},\n\n" . "Le jalon {JALON} arrive à échéance le {DATE}."; } return $out; } } No newline at end of file
module/Oscar/src/Oscar/Entity/DateType.php +40 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,22 @@ class DateType implements ITrackable */ private ?string $emailMessage = ""; /** * Message spécifique pour le mail (Jalon dans le futur). * * @var string * @ORM\Column(type="string", nullable=true) */ private ?string $emailMessagePredicted = ""; /** * Message spécifique pour le mail (Jalon à faire en retard). * * @var string * @ORM\Column(type="string", nullable=true) */ private ?string $emailMessageLate = ""; /** * Mail activé. * Loading Loading @@ -216,6 +232,28 @@ class DateType implements ITrackable return $this; } public function getEmailMessagePredicted(): ?string { return $this->emailMessagePredicted; } public function setEmailMessagePredicted(?string $emailMessagePredicted): self { $this->emailMessagePredicted = $emailMessagePredicted; return $this; } public function getEmailMessageLate(): ?string { return $this->emailMessageLate; } public function setEmailMessageLate(?string $emailMessageLate): self { $this->emailMessageLate = $emailMessageLate; return $this; } /** * @return bool */ Loading Loading @@ -245,6 +283,8 @@ class DateType implements ITrackable 'recursivity' => $this->getRecursivityArray(), 'emailEnable' => $this->isEmailEnable(), 'emailMessage' => $this->getEmailMessage(), 'emailMessagePredicted' => $this->getEmailMessagePredicted(), 'emailMessageLate' => $this->getEmailMessageLate(), ]; } Loading
module/Oscar/src/Oscar/Form/DateTypeForm.php +26 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,32 @@ class DateTypeForm extends Form implements InputFilterProviderInterface 'type'=>'Textarea' ]); $label = 'Message du mail (à venir)'; $this->add([ 'name' => 'emailMessagePredicted', 'options' => [ 'label' => $label ], 'attributes' => [ 'class' => 'form-control', 'placeholder' => $label, ], 'type'=>'Textarea' ]); $label = 'Message du mail (en retard)'; $this->add([ 'name' => 'emailMessageLate', 'options' => [ 'label' => $label ], 'attributes' => [ 'class' => 'form-control', 'placeholder' => $label, ], 'type'=>'Textarea' ]); // Fréquence des notifications $label = 'Fréquence des notifications'; Loading
module/Oscar/src/Oscar/Hydrator/DateTypeFormHydrator.php +4 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte 'label' => $object->getLabel(), 'recursivity' => $object->getRecursivity(), 'emailMessage' => $object->getEmailMessage(), 'emailMessagePredicted' => $object->getEmailMessagePredicted(), 'emailMessageLate' => $object->getEmailMessageLate(), 'emailEnable' => $object->isEmailEnable() ? '1' : '0', ]; if( $object->isFinishable() ){ Loading Loading @@ -67,6 +69,8 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte ->setFinishable(array_key_exists('finishable', $data) ? true : false) ->setEmailEnable(array_key_exists('emailEnable', $data) ? true : false) ->setEmailMessage($data['emailMessage']) ->setEmailMessagePredicted($data['emailMessagePredicted']) ->setEmailMessageLate($data['emailMessageLate']) ->setLabel($data['label']); return $object; } Loading
module/Oscar/src/Oscar/Service/MailingService.php +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,11 @@ class MailingService implements UseEntityManager, UseOscarConfigurationService, { use UseEntityManagerTrait, UseOscarConfigurationServiceTrait, UseLoggerServiceTrait; public function forgeText(string $bodyTemplate, array $paramBody) { return str_ireplace(array_keys($paramBody), array_values($paramBody), $bodyTemplate); } /** * Retourne la configuration Oscar pour l'envoi des mails. * Loading