Loading module/Oscar/src/Oscar/Entity/ActivityDate.php +24 −3 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ namespace Oscar\Entity; use Doctrine\ORM\Mapping as ORM; use Moment\Moment; /** * Dates des Activités (Jalons) Loading Loading @@ -85,8 +86,6 @@ class ActivityDate implements ITrackable */ private $finishedBy; /** * Date à laquelle le jalon a été complété. * Loading @@ -95,7 +94,6 @@ class ActivityDate implements ITrackable */ private $dateFinish; public function finish( $value = 100, $date = null ){ $this->finished = $value; if( $this->finished >= self::VALUE_VALIDED ){ Loading @@ -103,6 +101,29 @@ class ActivityDate implements ITrackable } } public function getMessage(){ if( !$this->getType()->getMessage() ){ return sprintf( "Le jalon %s de l'activité %s arrive à échéance", $this->getType()->getLabel(), $this->getActivity()->log() ); } else { $pattern = $this->getType()->getMessage(); $activityRE = '/(:activity)/m'; $message = preg_replace($activityRE, $this->getActivity()->log(), $pattern); $dateRE = '/(:date)/m'; Moment::setLocale('fr_FR'); $moment = Moment::fromDateTime($this->getDateStart()); $message = preg_replace($dateRE, $moment->format('l d F Y'), $message); return $message; } } public function isFinishable(){ if( $this->getType() ){ return $this->getType()->isFinishable(); Loading module/Oscar/src/Oscar/Entity/DateType.php +23 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,29 @@ class DateType implements ITrackable */ protected $roles; /** * Message de la notification. * @var * @ORM\Column(type="text", nullable=true) */ private $message; /** * @return mixed */ public function getMessage() { return $this->message; } /** * @param mixed $message */ public function setMessage($message): self { $this->message = $message; return $this; } /** * DateType constructor. Loading module/Oscar/src/Oscar/Form/DateTypeForm.php +15 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,20 @@ class DateTypeForm extends Form implements InputFilterProviderInterface 'type'=>'Textarea' ]); // DESCRIPTION $label = 'Message'; $this->add([ 'name' => 'message', 'options' => [ 'label' => $label ], 'attributes' => [ 'class' => 'form-control', 'placeholder' => $label, ], 'type'=>'Textarea' ]); // ROLES $label = 'Roles'; $this->add( Loading Loading @@ -139,6 +153,7 @@ class DateTypeForm extends Form implements InputFilterProviderInterface return [ 'label' => [ 'required' => true ], 'description' => [ 'required' => false ], 'message' => [ 'required' => false ], 'recursivity' => [ 'required' => false ], 'finishable' => [ 'required' => false ], 'roles' => ['required' => false], Loading module/Oscar/src/Oscar/Hydrator/DateTypeFormHydrator.php +2 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte $data = [ 'id' => $object->getId(), 'description' => $object->getDescription(), 'message' => $object->getMessage(), 'facet' => array_search($object->getFacet(), OscarFacet::getFacets()), 'label' => $object->getLabel(), 'recursivity' => $object->getRecursivity(), Loading @@ -64,6 +65,7 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte $object->setDescription($data['description']) ->setFacet(OscarFacet::getFacets()[$data['facet']]) ->setMessage($data['message']) ->setRecursivity($data['recursivity']) ->setFinishable(array_key_exists('finishable', $data) ? true : false) ->setLabel($data['label']); Loading module/Oscar/src/Oscar/Service/NotificationService.php +1 −5 Original line number Diff line number Diff line Loading @@ -506,11 +506,7 @@ class NotificationService implements UseServiceContainer } // Notification de base à la date D $message = sprintf( "Le jalon %s de l'activité %s arrive à échéance", $milestone->getType()->getLabel(), $activity->log() ); $message = $milestone->getMessage(); $hashs[] = $this->buildNotificationCore( $message, Loading Loading
module/Oscar/src/Oscar/Entity/ActivityDate.php +24 −3 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ namespace Oscar\Entity; use Doctrine\ORM\Mapping as ORM; use Moment\Moment; /** * Dates des Activités (Jalons) Loading Loading @@ -85,8 +86,6 @@ class ActivityDate implements ITrackable */ private $finishedBy; /** * Date à laquelle le jalon a été complété. * Loading @@ -95,7 +94,6 @@ class ActivityDate implements ITrackable */ private $dateFinish; public function finish( $value = 100, $date = null ){ $this->finished = $value; if( $this->finished >= self::VALUE_VALIDED ){ Loading @@ -103,6 +101,29 @@ class ActivityDate implements ITrackable } } public function getMessage(){ if( !$this->getType()->getMessage() ){ return sprintf( "Le jalon %s de l'activité %s arrive à échéance", $this->getType()->getLabel(), $this->getActivity()->log() ); } else { $pattern = $this->getType()->getMessage(); $activityRE = '/(:activity)/m'; $message = preg_replace($activityRE, $this->getActivity()->log(), $pattern); $dateRE = '/(:date)/m'; Moment::setLocale('fr_FR'); $moment = Moment::fromDateTime($this->getDateStart()); $message = preg_replace($dateRE, $moment->format('l d F Y'), $message); return $message; } } public function isFinishable(){ if( $this->getType() ){ return $this->getType()->isFinishable(); Loading
module/Oscar/src/Oscar/Entity/DateType.php +23 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,29 @@ class DateType implements ITrackable */ protected $roles; /** * Message de la notification. * @var * @ORM\Column(type="text", nullable=true) */ private $message; /** * @return mixed */ public function getMessage() { return $this->message; } /** * @param mixed $message */ public function setMessage($message): self { $this->message = $message; return $this; } /** * DateType constructor. Loading
module/Oscar/src/Oscar/Form/DateTypeForm.php +15 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,20 @@ class DateTypeForm extends Form implements InputFilterProviderInterface 'type'=>'Textarea' ]); // DESCRIPTION $label = 'Message'; $this->add([ 'name' => 'message', 'options' => [ 'label' => $label ], 'attributes' => [ 'class' => 'form-control', 'placeholder' => $label, ], 'type'=>'Textarea' ]); // ROLES $label = 'Roles'; $this->add( Loading Loading @@ -139,6 +153,7 @@ class DateTypeForm extends Form implements InputFilterProviderInterface return [ 'label' => [ 'required' => true ], 'description' => [ 'required' => false ], 'message' => [ 'required' => false ], 'recursivity' => [ 'required' => false ], 'finishable' => [ 'required' => false ], 'roles' => ['required' => false], Loading
module/Oscar/src/Oscar/Hydrator/DateTypeFormHydrator.php +2 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte $data = [ 'id' => $object->getId(), 'description' => $object->getDescription(), 'message' => $object->getMessage(), 'facet' => array_search($object->getFacet(), OscarFacet::getFacets()), 'label' => $object->getLabel(), 'recursivity' => $object->getRecursivity(), Loading @@ -64,6 +65,7 @@ class DateTypeFormHydrator implements HydratorInterface, ServiceLocatorAwareInte $object->setDescription($data['description']) ->setFacet(OscarFacet::getFacets()[$data['facet']]) ->setMessage($data['message']) ->setRecursivity($data['recursivity']) ->setFinishable(array_key_exists('finishable', $data) ? true : false) ->setLabel($data['label']); Loading
module/Oscar/src/Oscar/Service/NotificationService.php +1 −5 Original line number Diff line number Diff line Loading @@ -506,11 +506,7 @@ class NotificationService implements UseServiceContainer } // Notification de base à la date D $message = sprintf( "Le jalon %s de l'activité %s arrive à échéance", $milestone->getType()->getLabel(), $activity->log() ); $message = $milestone->getMessage(); $hashs[] = $this->buildNotificationCore( $message, Loading