Exemplo n.º 1
0
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $owner = $this->getReference('simple_user');
     $calendar = $manager->getRepository('Oro\\Bundle\\CalendarBundle\\Entity\\Calendar')->findOneBy([]);
     $event = new CalendarEvent();
     $event->setTitle('test_title')->setCalendar($calendar)->setAllDay(true)->setStart(new \DateTime('now -2 days', new \DateTimeZone('UTC')))->setEnd(new \DateTime('now', new \DateTimeZone('UTC')));
     $emailTemplate1 = new EmailTemplate('no_entity_name', 'test {{ system.appFullName }} etc');
     $emailTemplate1->setOrganization($owner->getOrganization());
     $emailTemplate2 = new EmailTemplate('test_template', 'test {{ system.appFullName }} etc');
     $emailTemplate2->setEntityName('Oro\\Bundle\\CalendarBundle\\Entity\\CalendarEvent');
     $emailTemplate2->setOrganization($owner->getOrganization());
     $emailTemplate3 = new EmailTemplate('no_system', 'test {{ system.appFullName }} etc');
     $emailTemplate3->setIsSystem(false);
     $emailTemplate3->setEntityName('Entity\\Name');
     $emailTemplate3->setOrganization($owner->getOrganization());
     $emailTemplate4 = new EmailTemplate('system', 'test {{ system.appFullName }} etc');
     $emailTemplate4->setIsSystem(true);
     $emailTemplate4->setEntityName('Entity\\Name');
     $emailTemplate4->setOrganization($owner->getOrganization());
     $emailTemplate5 = new EmailTemplate('no_system_no_entity', 'test {{ system.appFullName }} etc');
     $emailTemplate5->setIsSystem(false);
     $emailTemplate5->setOrganization($owner->getOrganization());
     $manager->persist($event);
     $manager->persist($emailTemplate1);
     $manager->persist($emailTemplate2);
     $manager->persist($emailTemplate3);
     $manager->persist($emailTemplate4);
     $manager->persist($emailTemplate5);
     $manager->flush();
     $this->setReference('emailTemplate1', $emailTemplate1);
     $this->setReference('emailTemplate2', $emailTemplate2);
     $this->setReference('emailTemplate3', $emailTemplate3);
     $this->setReference('emailTemplate4', $emailTemplate4);
     $this->setReference('emailTemplate5', $emailTemplate5);
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('entityName', 'hidden', ['attr' => ['data-default-value' => Email::ENTITY_CLASS], 'constraints' => [new Assert\Choice(['choices' => ['', Email::ENTITY_CLASS]])]])->add('type', 'choice', ['label' => 'oro.email.emailtemplate.type.label', 'multiple' => false, 'expanded' => true, 'choices' => ['html' => 'oro.email.datagrid.emailtemplate.filter.type.html', 'txt' => 'oro.email.datagrid.emailtemplate.filter.type.txt'], 'required' => true])->add('translations', 'oro_email_emailtemplate_translatation', ['label' => 'oro.email.emailtemplate.translations.label', 'locales' => $this->getLanguages(), 'labels' => $this->getLocaleLabels(), 'content_options' => ['constraints' => [new Assert\NotBlank()], 'attr' => ['data-default-value' => $this->cm->get('oro_email.signature', '')]], 'subject_options' => ['constraints' => [new Assert\NotBlank()]]])->add('visible', 'checkbox', ['label' => 'oro.email.autoresponserule.form.template.visible.label', 'required' => false]);
     $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
         $form = $event->getForm();
         if ($form->has('owner')) {
             $form->remove('owner');
         }
         if (!$event->getData()) {
             $emailTemplate = new EmailTemplate();
             $emailTemplate->setContent($this->cm->get('oro_email.signature', ''));
             $emailTemplate->setEntityName(Email::ENTITY_CLASS);
             $event->setData($emailTemplate);
         }
     });
     $builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
         $template = $event->getData();
         if (!$template || $template->getName()) {
             return;
         }
         $proposedName = $template->getSubject();
         while ($this->templateExists($proposedName)) {
             $proposedName .= rand(0, 10);
         }
         $template->setName($proposedName);
     });
 }
 public function testValidateNotErrors()
 {
     $this->template->setContent(self::TEST_CONTENT)->setSubject(self::TEST_SUBJECT);
     $this->template->setEntityName('Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\SomeEntity');
     $phpUnit = $this;
     $user = $this->user;
     $callback = function ($template, $params) use($phpUnit, $user) {
         $phpUnit->assertInternalType('string', $template);
         $phpUnit->assertArrayHasKey('entity', $params);
         $phpUnit->assertArrayHasKey('user', $params);
         $phpUnit->assertInstanceOf('Oro\\Bundle\\EmailBundle\\Tests\\Unit\\Fixtures\\Entity\\SomeEntity', $params['entity']);
         $phpUnit->assertInstanceOf(get_class($user), $params['user']);
     };
     $this->twig->expects($this->at(0))->method('render')->with(self::TEST_SUBJECT)->will($this->returnCallback($callback));
     $this->twig->expects($this->at(1))->method('render')->with(self::TEST_CONTENT)->will($this->returnCallback($callback));
     $this->context->expects($this->never())->method('addViolation');
     $this->validator->validate($this->template, $this->variablesConstraint);
 }
Exemplo n.º 4
0
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $calendar = $manager->getRepository('Oro\\Bundle\\CalendarBundle\\Entity\\Calendar')->findOneBy([]);
     $event = new CalendarEvent();
     $event->setTitle('test_title')->setCalendar($calendar)->setAllDay(true)->setStart(new \DateTime('now -2 days', new \DateTimeZone('UTC')))->setEnd(new \DateTime('now', new \DateTimeZone('UTC')));
     $emailTemplate1 = new EmailTemplate('no_entity_name', 'test {{ system.appFullName }} etc');
     $emailTemplate2 = new EmailTemplate('test_template', 'test {{ system.appFullName }} etc');
     $emailTemplate2->setEntityName('Oro\\Bundle\\CalendarBundle\\Entity\\CalendarEvent');
     $manager->persist($event);
     $manager->persist($emailTemplate1);
     $manager->persist($emailTemplate2);
     $manager->flush();
 }