public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $order = $eventArgs->getEntity();
     if (!$order instanceof \Shopware\Models\Order\Order) {
         return;
     }
     //order or payment status changed?
     if ($eventArgs->hasChangedField('paymentStatus') || $eventArgs->hasChangedField('orderStatus')) {
         $historyData = array('userID' => null, 'change_date' => date('Y-m-d H:i:s'), 'orderID' => $order->getId());
         if (Shopware()->Auth()->getIdentity() && Shopware()->Auth()->getIdentity()->id) {
             $user = $eventArgs->getEntityManager()->find('Shopware\\Models\\User\\User', Shopware()->Auth()->getIdentity()->id);
             $historyData['userID'] = $user->getId();
         }
         //order status changed?
         if ($eventArgs->hasChangedField('orderStatus')) {
             $historyData['previous_order_status_id'] = $eventArgs->getOldValue('orderStatus')->getId();
             $historyData['order_status_id'] = $eventArgs->getNewValue('orderStatus')->getId();
         } else {
             $historyData['previous_order_status_id'] = $order->getOrderStatus()->getId();
             $historyData['order_status_id'] = $order->getOrderStatus()->getId();
         }
         //payment status changed?
         if ($eventArgs->hasChangedField('paymentStatus')) {
             $historyData['previous_payment_status_id'] = $eventArgs->getOldValue('paymentStatus')->getId();
             $historyData['payment_status_id'] = $eventArgs->getNewValue('paymentStatus')->getId();
         } else {
             $historyData['previous_payment_status_id'] = $order->getPaymentStatus()->getId();
             $historyData['payment_status_id'] = $order->getPaymentStatus()->getId();
         }
         $eventArgs->getEntityManager()->getConnection()->insert('s_order_history', $historyData);
     }
 }
 /**
  * @param PreUpdateEventArgs $args
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     if (!$args->getEntity() instanceof User || !$args->hasChangedField('email')) {
         return;
     }
     $args->getEntity()->setGoogleId(null);
 }
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     if ($eventArgs->getEntity() instanceof Badge) {
         if ($eventArgs->hasChangedField('remis') && $eventArgs->getNewValue('remis') == false) {
             $date = new \DateTime('now');
             $eventArgs->getEntity()->setDateRendu($date);
         }
     }
 }
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     if ($eventArgs->getEntity() instanceof Tenue) {
         if ($eventArgs->hasChangedField('nombre_rendu')) {
             $date = new \DateTime('now');
             $eventArgs->getEntity()->setDateRendu($date);
         }
     }
 }
 /**
  * Pre update event process
  *
  * @param LifecycleEventArgs $args
  * @return $this
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entityClass = ClassUtils::getClass($args->getEntity());
     if (array_key_exists($entityClass, $this->notificationRules)) {
         $rules = $this->notificationRules[$entityClass];
         $event = new PreUpdateNotificationEvent($args->getEntity(), $args->getEntityChangeSet(), array('em' => $args->getEntityManager(), 'rules' => $rules));
         $this->eventDispatcher->dispatch('numerique1.notification.event.entity_pre_update', $event);
     }
     return $this;
 }
 /**
  * @param PreUpdateEventArgs $eventArgs
  */
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $entity = $eventArgs->getEntity();
     if ($this->prepareMedia($entity)) {
         // Hack ? Don't know, that's the behaviour Doctrine 2 seems to want
         // See : http://www.doctrine-project.org/jira/browse/DDC-1020
         $em = $eventArgs->getEntityManager();
         $uow = $em->getUnitOfWork();
         $uow->recomputeSingleEntityChangeSet($em->getClassMetadata(ClassLookup::getClass($entity)), $eventArgs->getEntity());
     }
 }
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     if ($eventArgs->getEntity() instanceof Registration) {
         if ($eventArgs->hasChangedField('status') && $eventArgs->getNewValue('status') == 'paid') {
             $registration = $eventArgs->getEntity();
             $user = $registration->getUser();
             $systemMailer = $this->container->get('system_mailer');
             $systemMailer->send('App:paid_registration', ['user' => $user, 'registration' => $registration], 'es');
         }
     }
 }
Example #8
0
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $entity = $eventArgs->getEntity();
     if ($entity instanceof StampEntityInterface) {
         $entity->setModified(new \DateTime());
     }
 }
Example #9
0
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entity = $args->getEntity();
     if ($entity instanceof ContainerAwareInterface) {
         $entity->setContainer($this->container);
     }
 }
 /**
  * @param PreUpdateEventArgs $event
  */
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $entity = $event->getEntity();
     if ($entity instanceof CalendarEvent) {
         if ($event->hasChangedField('start') || $event->hasChangedField('reminder')) {
             $needChangeSetsComputing = false;
             if ($event->hasChangedField('reminder')) {
                 if ($event->getNewValue('reminder')) {
                     $start = $event->hasChangedField('start') ? $event->getNewValue('start') : $entity->getStart();
                     $entity->setRemindAt($this->remindTimeCalculator->calculateRemindAt($start));
                 } else {
                     $entity->setRemindAt(null);
                 }
                 if ($entity->getReminded()) {
                     $entity->setReminded(false);
                 }
                 $needChangeSetsComputing = true;
             } else {
                 if ($entity->getReminder()) {
                     $entity->setRemindAt($this->remindTimeCalculator->calculateRemindAt($event->getNewValue('start')));
                     $needChangeSetsComputing = true;
                 }
                 if ($entity->getReminded()) {
                     $entity->setReminded(false);
                     $needChangeSetsComputing = true;
                 }
             }
             if ($needChangeSetsComputing) {
                 $em = $event->getEntityManager();
                 $uow = $em->getUnitOfWork();
                 $uow->recomputeSingleEntityChangeSet($em->getClassMetadata('OroCalendarBundle:CalendarEvent'), $entity);
             }
         }
     }
 }
 /**
  * Before an update we check that the product categories are right.
  *
  * @param PreUpdateEventArgs $event The pre update event.
  */
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $entity = $event->getEntity();
     if ($entity instanceof ProductInterface) {
         $this->categoryIntegrityFixer->fixProduct($entity);
     }
 }
 /**
  * Before an update we check that the product categories are right.
  *
  * @param PreUpdateEventArgs $event The pre update event.
  */
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $entity = $event->getEntity();
     if ($entity instanceof CategorizableInterface) {
         $this->categoryIntegrityFixer->fixCategoriesIntegrity($entity);
     }
 }
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $entity = $eventArgs->getEntity();
     if (!$entity instanceof User) {
         return;
     }
     $this->encodePassword($entity);
 }
Example #14
0
 /**
  * @param PreUpdateEventArgs $event
  */
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $entity = $event->getEntity();
     // if subtotal or status has been changed
     if ($this->isOrderValid($entity) && array_intersect(['subtotalAmount', 'discountAmount', 'status'], array_keys($event->getEntityChangeSet()))) {
         $this->ordersForUpdate[$entity->getId()] = true;
     }
 }
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $file = $event->getEntity();
     if (!$file instanceof File) {
         return;
     }
     $this->updateFile($file);
 }
 /**
  * Cleans the facebbok username.
  *
  * @param PreUpdateEventArgs $args
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entity = $args->getEntity();
     if ($entity instanceof Plugin && $entity->getNamespace() == 'Elcodi\\Plugin\\TwitterBundle\\ElcodiTwitterBundle') {
         $twitterAccount = $entity->getConfiguration()->getFieldValue('twitter_account');
         $entity->getConfiguration()->setFieldValue('twitter_account', $this->twitterUsernameCleaner->clean($twitterAccount));
     }
 }
Example #17
0
 /**
  * @param PreUpdateEventArgs $event
  */
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $user = $event->getEntity();
     if (!$user instanceof User) {
         return;
     }
     $this->updateUser($user);
 }
 /**
  * Pre update event listener.
  *
  * @param PreUpdateEventArgs $eventArgs The pre update event args.
  *
  * @return $this Self object
  */
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $entity = $eventArgs->getEntity();
     if ($entity instanceof CategoryInterface) {
         $this->removeParentCategoryForRootCategory($entity);
     }
     return $this;
 }
 public function preUpdate(\Doctrine\ORM\Event\PreUpdateEventArgs $eventArgs)
 {
     if ($eventArgs->getEntity() instanceof User) {
         /**
          * SET DATE_SORTIE ON NULL IF USER IS REACTIVATE AFTER DESACTIVATION (because date_sortie < now)
          */
         if ($eventArgs->hasChangedField('enabled') && $eventArgs->getNewValue('enabled') == true && $eventArgs->getEntity()->getDateSortie() < new \DateTime('now')) {
             $eventArgs->getEntity()->setDateSortie(null);
             $eventArgs->getEntity()->setRaisonSortie(null);
         }
         /**
          * Change in profile => pointeur field to 1 (back to 0 by the admin in the BDD directly)
          */
         if ($eventArgs->hasChangedField('email') || $eventArgs->hasChangedField('phone') || $eventArgs->hasChangedField('adresse') || $eventArgs->hasChangedField('ville') || $eventArgs->hasChangedField('zip') || $eventArgs->hasChangedField('photo_id') || $eventArgs->hasChangedField('service_id') || $eventArgs->hasChangedField('enabled') || $eventArgs->hasChangedField('password') || $eventArgs->hasChangedField('date_of_birth') || $eventArgs->hasChangedField('firstname') || $eventArgs->hasChangedField('lastname') || $eventArgs->hasChangedField('date_entree') || $eventArgs->hasChangedField('date_sortie') || $eventArgs->hasChangedField('raison_sortie') || $eventArgs->hasChangedField('username')) {
             $eventArgs->getEntity()->setPointeur(true);
         }
         /**
          * SEND MAIL ON PROFILE CHANGES
          */
         if ($this->container->getParameter('mail.edit_profil.enabled') == true) {
             if ($eventArgs->hasChangedField('email') || $eventArgs->hasChangedField('phone') || $eventArgs->hasChangedField('adresse') || $eventArgs->hasChangedField('ville') || $eventArgs->hasChangedField('zip')) {
                 if ($this->container->hasParameter('mail.edit_profil')) {
                     $mail = $this->container->getParameter('mail.edit_profil');
                 } else {
                     $this->container->setParameter('mail.edit_profil.enabled', false);
                 }
                 $message = \Swift_Message::newInstance()->setSubject('Changements dans le profil de ' . $eventArgs->getEntity())->setFrom('*****@*****.**')->setTo($mail)->setBody($this->getMailBody($eventArgs->getEntityChangeSet(), $eventArgs->getEntity()), 'text/html');
                 $this->mailer->send($message);
             }
         }
     }
 }
Example #20
0
 public function preUpdate(PreUpdateEventArgs $event)
 {
     $entity = $event->getEntity();
     $entityClass = ClassUtils::getClass($entity);
     if (!isset($this->fileReferenceEntities[$entityClass])) {
         return;
     }
     $this->uploader->update(spl_object_hash($entity), $entity, $this->getOldValues($event), $entityClass);
 }
Example #21
0
 /**
  * Close the match
  *
  * @param PreUpdateEventArgs $event
  */
 public function preUpdate(PreUpdateEventArgs $event)
 {
     /** @var EloVersusInterface $resource */
     $resource = $event->getEntity();
     if (!$this->isValid($resource)) {
         return;
     }
     $resource->setEndedAt(new \DateTime());
 }
Example #22
0
 /**
  * @param PreUpdateEventArgs $args
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entity = $args->getEntity();
     if (!$this->isContactEntity($entity)) {
         return;
     }
     /** @var Contact $entity */
     $this->setUpdatedProperties($entity, $args->getEntityManager(), true);
 }
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entity = $args->getEntity();
     if ($entity instanceof Issue) {
         if ($args->hasChangedField('assignee')) {
             $entity->addCollaborator($entity->getAssignee());
         }
     }
 }
 public function preUpdate(PreUpdateEventArgs $args)
 {
     //return;
     $em = $args->getEntityManager();
     $entity = $args->getEntity();
     if ($entity instanceof Invoice && $entity->needsNumber()) {
         $entity->setNumber($em->getRepository('SiwappInvoiceBundle:Invoice')->getNextNumber($entity->getSerie()));
     }
 }
Example #25
0
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $entity = $args->getEntity();
     if ($entity instanceof $this->orderClass) {
         $entity->setUpdatedAt(new \DateTime());
         $this->updatePrices($entity);
         $this->updateFields($entity);
     }
 }
Example #26
0
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     $entity = $eventArgs->getEntity();
     if ($entity instanceof UserStampEntityInterface) {
         $user = $this->getCurrentUser();
         if ($user) {
             $entity->setModifiedBy($user);
         }
     }
 }
Example #27
0
 /**
  * Prepares all Files linked to an Entity before updating the Files and
  * persisting the changes to the database
  * Once prepared Doctrine UnitOfWork is checked for changes
  * to make sure the changes here are saved when it is flushed.
  * 
  * Called on the preUpdate doctrine event.
  *
  * @param \Doctrine\ORM\Event\PreUpdateEventArgs $args
  * 
  * @return void
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     if (!($entity = $args->getEntity()) instanceof FileUpload) {
         return;
     }
     // Prepare multiple Files
     $this->prePersistFilePreparation($entity);
     // Recompute the change set for the Entity and Files. Makes sure the changes are saved properly
     $this->recomputeChangeSetForEntity($entity, $args->getEntityManager());
 }
Example #28
0
 /** @ORM\PreUpdate */
 public function preUpdate(Company $company, PreUpdateEventArgs $event)
 {
     $entity = $event->getEntity();
     $entityManager = $event->getEntityManager();
     if ($event->hasChangedField('identification')) {
         $status = $entityManager->getRepository('MainCommonBundle:Status\\PhotographerStatus')->findOneById(1);
         //To verify
         $company->setStatus($status);
     }
 }
 public function preUpdate(PreUpdateEventArgs $eventArgs)
 {
     if ($eventArgs->getEntity() instanceof Role && $eventArgs->hasChangedField('role')) {
         $oldRoleName = $eventArgs->getOldValue('role');
         $newRoleName = $eventArgs->getNewValue('role');
         /** @var $aclSidManager AclSidManager */
         $aclSidManager = $this->aclSidManagerLink->getService();
         $aclSidManager->updateSid($aclSidManager->getSid($newRoleName), $oldRoleName);
     }
 }
 /**
  * Update coordinates on objects being updated before update
  * if they require changing
  *
  * @param PreUpdateEventArgs $args The event arguments
  */
 public function preUpdate(PreUpdateEventArgs $args)
 {
     $obj = $args->getEntity();
     $geographical = $this->driver->getGeographicalAnnotation($obj);
     if ($geographical && $geographical->getOn() === Geographical::ON_UPDATE) {
         $geographicalQuery = $this->driver->getGeographicalQueryAnnotation($obj);
         if ($geographicalQuery) {
             $this->queryCoordinates($obj, $geographical, $geographicalQuery);
         }
     }
 }