Example #1
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $em = $this->modelManager->getEntityManager('Vidal\\MainBundle\\Entity\\User');
     $yearToNumberTransformer = new YearToNumberTransformer($em);
     $cityToStringTransformer = new CityToStringTransformer($em);
     $formMapper->add('username', null, array('label' => 'E-mail', 'required' => true))->add('oldLogin', null, array('label' => 'Логин', 'required' => false))->add('avatar', 'iphp_file', array('label' => 'Аватарка', 'required' => false))->add('firstName', null, array('label' => 'Имя', 'required' => true))->add('lastName', null, array('label' => 'Фамилия', 'required' => true))->add('surName', null, array('label' => 'Отчество', 'required' => false))->add('ConfirmationScan', 'iphp_file', array('label' => 'Файл подтверждения', 'required' => false))->add('Confirmation', null, array('label' => 'Подтвержденный', 'required' => false))->add($formMapper->create('city', 'text', array('label' => 'Город'))->addModelTransformer($cityToStringTransformer))->add('emailConfirmed', null, array('label' => 'e-mail подтвержден', 'required' => false))->add('specialization', null, array('label' => 'Специализация', 'required' => false))->add('primarySpecialty', null, array('label' => 'Основная специальность', 'required' => false))->add('university', null, array('label' => 'ВУЗ', 'required' => false))->add('school', null, array('label' => 'Учебное заведение'))->add($formMapper->create('graduateYear', 'text', array('label' => 'Год выпуска', 'required' => false))->addModelTransformer($yearToNumberTransformer))->add('educationType', null, array('label' => 'Форма обучения', 'required' => false))->add('academicDegree', null, array('label' => 'Ученая степень', 'required' => false))->add('birthdate', null, array('label' => 'Дата рождения', 'required' => false, 'widget' => 'single_text'))->add('icq', null, array('label' => 'ICQ', 'required' => false))->add('dissertation', null, array('label' => 'Тема диссертации', 'required' => false))->add('professionalInterests', null, array('label' => 'Профессиональные интересы', 'required' => false))->add('jobPlace', null, array('label' => 'Место работы', 'required' => false))->add('jobSite', null, array('label' => 'Сайт', 'required' => false))->add('jobPosition', null, array('label' => 'Должность', 'required' => false))->add('jobStage', null, array('label' => 'Стаж работы по специальности', 'required' => false))->add('about', null, array('label' => 'О себе', 'required' => false))->add('jobPublications', null, array('label' => 'Публикации', 'required' => false))->add('oldUser', null, array('label' => 'Со старого сайта', 'required' => false))->add('created', null, array('label' => 'Зарегистрировался', 'required' => false));
 }
Example #2
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $em = $this->getModelManager()->getEntityManager($this->getSubject());
     $documentTransformer = new DocumentTransformer($em, $this->getSubject());
     $tagTransformer = new TagTransformer($em, $this->getSubject());
     $formMapper->add('photo', 'iphp_file', array('label' => 'Фотография', 'required' => false))->add('title', null, array('label' => 'Заголовок', 'required' => true))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes', 'entity', array('label' => 'Коды АТХ', 'class' => 'VidalDrugBundle:ATC', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('atc')->orderBy('atc.ATCCode', 'ASC');
     }, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add('molecules', 'entity', array('label' => 'Активные вещества', 'help' => '(Molecule)', 'class' => 'VidalDrugBundle:Molecule', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('m')->orderBy('m.RusName', 'ASC');
     }, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('infoPages', 'entity', array('label' => 'Представительства', 'help' => 'Информационные страницы (InfoPage)', 'class' => 'VidalDrugBundle:InfoPage', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('ip')->where("ip.CountryEditionCode = 'RUS'")->orderBy('ip.RusName', 'ASC');
     }, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('nozologies', 'entity', array('label' => 'Заболевания МКБ-10', 'help' => '(Nozology)', 'class' => 'VidalDrugBundle:Nozology', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('n')->orderBy('n.NozologyCode', 'ASC');
     }, 'required' => false, 'empty_value' => 'не указано', 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add($formMapper->create('hidden2', 'text', array('label' => 'Описания препаратов', 'required' => false, 'by_reference' => false, 'attr' => array('class' => 'doc')))->addModelTransformer($documentTransformer))->add('date', null, array('label' => 'Дата создания', 'required' => true))->add('video', 'iphp_file', array('label' => 'Видео', 'required' => false, 'help' => 'Загрузить флеш-видео в формате .flv'))->add('enabled', null, array('label' => 'Активна', 'required' => false));
 }
Example #3
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $subject = $this->getSubject();
     $em = $this->getModelManager()->getEntityManager($subject);
     $transformer = new DocumentToStringTransformer($em, $subject);
     $formMapper->add($formMapper->create('DocumentID', 'text', array('label' => 'ID документа', 'required' => true, 'by_reference' => false))->addModelTransformer($transformer))->add('url', null, array('label' => 'Короткий адрес', 'required' => true))->add('title', null, array('label' => 'Название', 'required' => true))->add('body', 'textarea', array('label' => 'Содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('video', 'iphp_file', array('label' => 'Видео', 'required' => false, 'help' => 'Загрузить флеш-видео в формате .flv'))->add('priority', null, array('label' => 'Приоритет', 'required' => false))->add('created', null, array('label' => 'Дата создания', 'required' => false))->add('videos', 'sonata_type_collection', array('label' => 'Видео файлы', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('enabled', null, array('label' => 'Активен', 'required' => false));
 }
Example #4
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $subject = $this->getSubject();
     $em = $this->getModelManager()->getEntityManager($subject);
     $transformer = new DocumentToStringTransformer($em, $subject);
     $formMapper->add($formMapper->create('DocumentID', 'text', array('label' => 'ID документа', 'required' => true, 'by_reference' => false))->addModelTransformer($transformer))->add('url', null, array('label' => 'Короткий адрес', 'required' => true))->add('title', null, array('label' => 'Название', 'required' => true))->add('body', 'textarea', array('label' => 'Содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('created', null, array('label' => 'Дата создания', 'required' => false))->add('enabled', null, array('label' => 'Активен', 'required' => false));
 }
Example #5
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $em = $this->getModelManager()->getEntityManager($this->getSubject());
     $documentTransformer = new DocumentTransformer($em, $this->getSubject());
     $tagTransformer = new TagTransformer($em, $this->getSubject());
     $formMapper->add('title', null, array('label' => 'Заголовок', 'required' => true))->add('link', null, array('label' => 'Адрес страницы', 'required' => false, 'help' => 'латинские буквы и цифры, слова через тире. Оставьте пустым для автогенерации'))->add('rubrique', null, array('label' => 'Рубрика', 'required' => true, 'empty_value' => 'выберите', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('r')->orderBy('r.title', 'ASC');
     }))->add('type', null, array('label' => 'Категория', 'required' => false, 'empty_value' => 'не указано'))->add('states', null, array('label' => 'Болезни', 'required' => false, 'empty_value' => 'не указано'))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes', 'entity', array('label' => 'Коды АТХ', 'class' => 'VidalDrugBundle:ATC', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('atc')->orderBy('atc.ATCCode', 'ASC');
     }, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add('molecules', 'entity', array('label' => 'Активные вещества', 'help' => '(Molecule)', 'class' => 'VidalDrugBundle:Molecule', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('m')->orderBy('m.RusName', 'ASC');
     }, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('infoPages', 'entity', array('label' => 'Представительства', 'help' => 'Информационные страницы (InfoPage)', 'class' => 'VidalDrugBundle:InfoPage', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('ip')->where("ip.CountryEditionCode = 'RUS'")->orderBy('ip.RusName', 'ASC');
     }, 'empty_value' => 'не указано', 'required' => false, 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или ID')))->add('nozologies', 'entity', array('label' => 'Заболевания МКБ-10', 'help' => '(Nozology)', 'class' => 'VidalDrugBundle:Nozology', 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('n')->orderBy('n.NozologyCode', 'ASC');
     }, 'required' => false, 'empty_value' => 'не указано', 'multiple' => true, 'attr' => array('placeholder' => 'Начните вводить название или код')))->add($formMapper->create('hidden2', 'text', array('label' => 'Описания препаратов', 'required' => false, 'by_reference' => false, 'attr' => array('class' => 'doc')))->addModelTransformer($documentTransformer))->add('date', null, array('label' => 'Дата создания', 'required' => true))->add('synonym', null, array('label' => 'Синонимы', 'required' => false, 'help' => 'Через ;'))->add('metaTitle', null, array('label' => 'Мета заголовок', 'required' => false))->add('metaDescription', null, array('label' => 'Мета описание', 'required' => false))->add('metaKeywords', null, array('label' => 'Мета ключевые слова', 'required' => false))->add('video', 'iphp_file', array('label' => 'Видео', 'required' => false, 'help' => 'Загрузить флеш-видео в формате .flv'))->add('links', 'sonata_type_collection', array('label' => 'Ссылки Купить в интернет-аптеке', 'required' => false, 'by_reference' => false, 'type_options' => array('btn_delete' => true, 'btn_add' => true)), array('edit' => 'inline', 'inline' => 'table'))->add('enabled', null, array('label' => 'Активна', 'required' => false));
 }
Example #6
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $subject = $this->getSubject();
     $em = $this->getModelManager()->getEntityManager($subject);
     $tagTransformer = new TagTransformer($em, $subject);
     $formMapper->add('title', 'textarea', array('label' => 'Заголовок', 'required' => true, 'attr' => array('class' => 'ckeditormizer')))->add('link', null, array('label' => 'Адрес страницы', 'required' => false, 'help' => 'латинские буквы и цифры, слова через тире. Оставьте пустым для автогенерации'))->add('rubrique', null, array('label' => 'Раздел', 'required' => true, 'attr' => array('class' => 'art-rubrique'), 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('r')->orderBy('r.title', 'ASC');
     }))->add('type', null, array('label' => 'Категория', 'required' => false, 'attr' => array('class' => 'art-type')))->add('category', null, array('label' => 'Подкатегория', 'required' => false, 'attr' => array('class' => 'art-category')))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes-text', 'text', array('label' => 'Коды АТХ', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'atcCodes-text', 'placeholder' => 'Начните вводить название или код')))->add('nozologies-text', 'text', array('label' => 'Заболевания МКБ-10', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'nozologies-text', 'placeholder' => 'Начните вводить название или код')))->add('molecules-text', 'text', array('label' => 'Активные вещества', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'molecules-text', 'placeholder' => 'Начните вводить название или код')))->add('infoPages-text', 'text', array('label' => 'Представительства', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'infoPages-text', 'placeholder' => 'Начните вводить название')))->add('products-text', 'text', array('label' => 'Описания препаратов', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'doc')))->add('date', null, array('label' => 'Дата создания', 'required' => true, 'years' => range(2000, date('Y'))))->add('synonym', null, array('label' => 'Синонимы', 'required' => false, 'help' => 'Через ;'))->add('metaTitle', null, array('label' => 'Мета заголовок', 'required' => false))->add('metaDescription', null, array('label' => 'Мета описание', 'required' => false))->add('metaKeywords', null, array('label' => 'Мета ключевые слова', 'required' => false))->add('videos', 'sonata_type_collection', array('label' => 'Видео файлы', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('atIndex', null, array('label' => 'Отображать на главной', 'required' => false))->add('anons', null, array('label' => 'Отображать в анонсе', 'required' => false))->add('anonsPriority', null, array('label' => 'Приоритет в анонсе'))->add('hideDate', null, array('label' => 'Скрывать дату', 'required' => false))->add('code', null, array('label' => 'Дополнительный код', 'required' => false))->add('testMode', null, array('label' => 'В режиме тестирования', 'required' => false, 'help' => 'видно только если в конец url-адреса дописать ?test'))->add('enabled', null, array('label' => 'Активна', 'required' => false));
 }
Example #7
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $subject = $this->getSubject();
     $em = $this->getModelManager()->getEntityManager($subject);
     $tagTransformer = new TagTransformer($em, $subject);
     $formMapper->add('companies', null, array('label' => 'Фарм-компании', 'required' => true, 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('c')->orderBy('c.title', 'ASC');
     }))->add('priority', null, array('label' => 'Приоритет', 'required' => false))->add('text', null, array('label' => 'Содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать тег', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes-text', 'text', array('label' => 'Коды АТХ', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'atcCodes-text', 'placeholder' => 'Начните вводить название или код')))->add('nozologies-text', 'text', array('label' => 'Заболевания МКБ-10', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'nozologies-text', 'placeholder' => 'Начните вводить название или код')))->add('molecules-text', 'text', array('label' => 'Активные вещества', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'molecules-text', 'placeholder' => 'Начните вводить название или код')))->add('infoPages-text', 'text', array('label' => 'Представительства', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'infoPages-text', 'placeholder' => 'Начните вводить название')))->add('products-text', 'text', array('label' => 'Описания препаратов', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'doc')))->add('created', null, array('label' => 'Дата создания', 'required' => true, 'years' => range(2000, date('Y'))))->add('enabled', null, array('label' => 'Активна', 'required' => false));
 }
 /**
  * @param \Sonata\AdminBundle\Form\FormMapper $formMapper
  *
  * @return \Symfony\Component\Form\FormBuilder
  */
 protected function getFieldFormBuilder(FormMapper $formMapper)
 {
     // simulate an association ...
     $fieldDescription = $this->getFormBuilderAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->formBuilderAdmin->getClass(), 'form_builder');
     $fieldDescription->setAssociationAdmin($this->getFormBuilderAdmin());
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setOption('edit', 'list');
     $fieldDescription->setAssociationMapping(array('fieldName' => 'form_builder', 'type' => \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_ONE));
     return $formMapper->create('formBuilderId', 'sonata_type_model', array('sonata_field_description' => $fieldDescription, 'label' => 'Form Builder', 'class' => $this->getFormBuilderAdmin()->getClass(), 'model_manager' => $this->getFormBuilderAdmin()->getModelManager()));
 }
 /**
  * @param FormMapper     $formMapper
  * @param AdminInterface $admin
  * @param string         $formField
  * @param string         $field
  * @param array          $fieldOptions
  * @param array          $adminOptions
  *
  * @return FormBuilder
  */
 protected final function getFormAdminType(FormMapper $formMapper, AdminInterface $admin, $formField, $field, $fieldOptions = array(), $adminOptions = array())
 {
     $adminOptions = array_merge(array('edit' => 'list', 'translation_domain' => 'SonataClassificationBundle'), $adminOptions);
     $fieldDescription = $admin->getModelManager()->getNewFieldDescriptionInstance($admin->getClass(), $field, $adminOptions);
     $fieldDescription->setAssociationAdmin($admin);
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setAssociationMapping(array('fieldName' => $field, 'type' => ClassMetadataInfo::MANY_TO_ONE));
     $fieldOptions = array_merge(array('sonata_field_description' => $fieldDescription, 'class' => $admin->getClass(), 'model_manager' => $admin->getModelManager(), 'required' => false), $fieldOptions);
     return $formMapper->create($formField, 'sonata_type_model_list', $fieldOptions);
 }
Example #10
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $subject = $this->getSubject();
     $em = $this->getModelManager()->getEntityManager($subject);
     $transformer = new DocumentToStringTransformer($em, $subject);
     $pt = array('ALRG' => 'Аллерген', 'BAD' => 'Биологически активная добавка', 'GOME' => 'Гомеопатическое средство', 'DIAG' => 'Диагностикум', 'DRUG' => 'Лекарственный препарат', 'MI' => 'Мед. изделие', 'SRED' => 'Питательная среда', 'SUBS' => 'Субстанция');
     # новому продукту можно проставить идентификатор
     if (!$this->getSubject()->getProductID()) {
         $formMapper->add('ProductID', null, array('label' => 'ID продукта', 'required' => true));
     }
     $formMapper->add('RusName', 'text', array('label' => 'Название', 'required' => true))->add('EngName', 'text', array('label' => 'Латинское', 'required' => true))->add('Name', 'text', array('label' => 'URL адрес', 'required' => true))->add($formMapper->create('document', 'text', array('label' => 'ID документа', 'required' => false, 'by_reference' => true))->addModelTransformer($transformer))->add('ProductTypeCode', 'choice', array('label' => 'Тип препарата', 'required' => true, 'choices' => $pt))->add('MarketStatusID', null, array('label' => 'Статус', 'required' => true))->add('ZipInfo', null, array('label' => 'Форма выпуска', 'required' => true))->add('photo', 'iphp_file', array('label' => 'Фотография временная', 'required' => false))->add('Composition', null, array('label' => 'Описание', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('RegistrationDate', null, array('label' => 'Дата регистрации'))->add('RegistrationNumber', null, array('label' => 'Номер регистрации'))->add('NonPrescriptionDrug', null, array('label' => 'Безрецептурный', 'required' => false))->add('StrongMeans', null, array('label' => 'Сильнодействующий', 'required' => false))->add('Poison', null, array('label' => 'Ядовитый', 'required' => false))->add('GNVLS', null, array('label' => 'ЖНВЛП', 'required' => false))->add('DLO', null, array('label' => 'ДЛО', 'required' => false))->add('ValidPeriod', null, array('label' => 'Срок действия', 'required' => false))->add('StrCond', null, array('label' => 'Условия хранения', 'required' => false))->add('atcCodes', null, array('label' => 'Коды АТХ', 'required' => false))->add('moleculeNames', null, array('label' => 'Активные вещества', 'required' => false))->add('clphGroups', null, array('label' => 'Клинико-фармакологические группы', 'required' => false, 'help' => 'ClPhGroups'))->add('phthgroups', null, array('label' => 'Фармако-терапевтические группы', 'required' => false, 'help' => 'PhThGroups'))->add('productCompany', 'sonata_type_collection', array('label' => 'Компании', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('inactive', null, array('label' => 'Отключить', 'required' => false, 'help' => 'Исключить препарат из списков выдачи'));
 }
Example #11
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $em = $this->getModelManager()->getEntityManager($this->getSubject());
     $searchTagsTransformer = new SearchTagsToStringTransformer($em);
     $filearray = $this->getRoot()->getSubject()->getImageFile();
     if (isset($filearray['fileName'])) {
         if (file_exists("./upload/publication/cropped" . $this->getRoot()->getSubject()->getImageFile()['fileName'])) {
             $filename = "/upload/publication/cropped" . $this->getRoot()->getSubject()->getImageFile()['fileName'];
         } elseif (file_exists("./upload/publication" . $this->getRoot()->getSubject()->getImageFile()['fileName'])) {
             $filename = "/upload/publication" . $this->getRoot()->getSubject()->getImageFile()['fileName'];
         } else {
             $filename = "/holder.js/180x150";
         }
     } else {
         $filename = "/holder.js/180x150";
     }
     $formMapper->add('title', 'textarea', array('label' => 'Название'))->add('shortText', null, array('required' => false, 'label' => 'Анонс *', 'attr' => array('class' => 'ckeditortrial')))->add('body', null, array('required' => false, 'label' => 'Текст *', 'attr' => array('class' => 'tinymce')))->add('embeddedCode', null, array('required' => false, 'label' => 'HTML-код видео'))->add('attachments', 'sonata_type_collection', array('required' => false, 'label' => 'Приложенные файлы', 'by_reference' => false), array('edit' => 'inline', 'inline' => 'table'))->add('category', null, array('label' => 'Категория'))->add('sourceTitle', null, array('label' => 'Название источника'))->add('sourceUrl', null, array('label' => 'Ссылка на источник'))->add('country', null, array('label' => 'Страна'))->add('imageFile', 'comur_image', array('uploadConfig' => array('uploadRoute' => 'comur_api_upload', 'uploadUrl' => $this->getRoot()->getSubject()->getUploadRootDir(), 'webDir' => $this->getRoot()->getSubject()->getUploadDir(), 'fileExt' => '*.jpg;*.gif;*.png;*.jpeg', 'libraryDir' => null, 'libraryRoute' => 'comur_api_image_library', 'showLibrary' => false, 'saveOriginal' => 'originalImage', 'imageFile' => $filename), 'cropConfig' => array('minWidth' => 450, 'minHeight' => 300, 'aspectRatio' => true, 'cropRoute' => 'comur_api_crop', 'forceResize' => false, 'thumbs' => array(array('maxWidth' => 450, 'maxHeight' => 300, 'useAsFieldImage' => true))), 'required' => false, 'label' => 'Изображение', 'data' => $this->getRoot()->getSubject()->getImageFile()))->add('hideAuthor', null, array('label' => 'Скрывать автора', 'help' => 'С галочкой вместо автора будет Evrika.ru', 'required' => false))->add('isVidal', null, array('label' => 'Публикация в Vidal', 'required' => false))->add('public', null, array('required' => false, 'label' => 'Могут видеть гости', 'help' => 'Если галочка не отмечена, то гости будут видеть только анонс'))->add('important', null, array('required' => false, 'label' => 'Отображать на главной', 'help' => 'Публикация попадёт на в главную ленту, но не будет закреплена в ней, если не указана дата закрепления (см. ниже)'))->add('stickedUntil', null, array('label' => 'Закреплена на главной до'))->add('thematicGroup', null, array('label' => 'Тематическая группа', 'help' => 'Если выбрана, то публикация будет опубликована внутри группы', 'query_builder' => function (ThematicGroupRepository $er) {
         return $er->createQueryBuilder('t')->orderBy('t.title', 'ASC');
     }))->add('specialties', null, array('required' => false, 'label' => 'Специальности', 'help' => ''))->add('specializations', null, array('required' => false, 'label' => 'Специализация основной специальности', 'attr' => array('data-placeholder' => 'Выберите специализацию')))->add('poll', null, array('required' => false, 'label' => 'Установить опрос', 'empty_value' => 'без опроса'))->add('broadcast', null, array('required' => false, 'label' => 'Для всех специальностей', 'help' => 'Если да - публикация попадёт в ленту даже тем, кто не подписан на эти специальности'))->add('weekly', null, array('label' => 'Еженедельная', 'required' => false))->add('enabled', null, array('required' => false, 'label' => 'Активна'))->add('created', null, array('required' => false, 'label' => 'Дата создания'))->add('searchTags', null, array('required' => false, 'label' => 'Ключевые слова'))->add($formMapper->create('searchTags', 'text', array('label' => 'Ключевые слова', 'required' => false, 'by_reference' => false))->addModelTransformer($searchTagsTransformer))->add('metaTitle', null, array('label' => 'META title', 'required' => false))->add('keywords', null, array('label' => 'META keywords', 'required' => false))->add('description', null, array('label' => 'META description', 'required' => false))->add('yandexUniqueText', null, array('label' => 'META Yandex.Вебмастер оригинальный текст', 'required' => false, 'read_only' => true, 'disabled' => true))->add('digest', null, array('label' => 'В дайджесте', 'required' => false));
     $builder = $formMapper->getFormBuilder();
     // Add listeners
     //        $builder->addEventListener(FormEvents::PRE_UPDATE, array($this, 'onPreSubmit'));
     /*$builder->addEventListener(FormEvents::PRE_BIND, function (FormEvent $event) use ($builder) {
                 $data = $event->getData();
                 if (empty($data['imageFile'])) return;
                 $selectedFoo = $data['imageFile'];
     
                 $arrayImage = [
                   'fileName' => $selectedFoo['imageFile'],
                   'originalName' => $selectedFoo['originalImage'],
                   'mimeType' => 'image/jpg',
                   'size' => 0,
                   'path' => '/upload/publication/'.$selectedFoo['imageFile'],
                   'width' => 200,
                   'height' => 200,
                 ];
                 
                 //$data['imageFile'] = serialize($arrayImage);
                 //$data['originalImage'] = serialize($arrayImage);
                 //$event->setData($data);
                 //$setImage = "setImageFile";
                 //$setOImage = "setOriginalImage";
                 //$this->getRoot()->getSubject()->$setImage(serialize($arrayImage));
                 //$this->getRoot()->getSubject()->$setOImage(serialize($arrayImage));
             });*/
 }
Example #12
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     //$user = $this->securityContext->getToken()->getUser()->getUsername();
     //$user = $this->securityContext->getToken()->getUser();
     //die(var_dump($user));
     //         die(var_dump('toto est la'));
     $author = $this->securityContext->getToken()->getUser();
     if ($this->isGranted('CREATE')) {
         $formMapper->add('author', 'sonata_type_model_hidden', array())->add('description', 'sizannia_editor_type', array('label' => 'Comments'))->add('isEnable', 'checkbox', array('required' => false, 'label' => 'Enable'));
     }
     $formMapper->getFormBuilder()->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use($author, $formMapper) {
         $event->setData($author);
         $comment = $event->getdata();
         //$form = $event->getForm();
         //$comment->setAuthor($author);
         //die(var_dump($comment));
         $formMapper->create($comment, null, array());
         //                                                                            ->add('author', 'sonata_type_model_list')
         //                                                                            ->add('description','sizannia_editor_type', array('label' => 'Comments'))
         //                                                                            ->add('isEnable', 'checkbox', array('required' => false, 'label' => 'Enable'));
     });
 }
 public function buildEditForm(CmsManagerInterface $manager, FormMapper $formMapper, BlockInterface $block)
 {
     $contextChoices = array();
     foreach ($this->getMediaPool()->getContexts() as $name => $context) {
         $contextChoices[$name] = $name;
     }
     $media = $block->getSetting('mediaId');
     $formatChoices = array();
     if ($media instanceof MediaInterface) {
         $formats = $this->getMediaPool()->getFormatNamesByContext($media->getContext());
         foreach ($formats as $code => $format) {
             $formatChoices[$code] = $code;
         }
     }
     // simulate an association ...
     $fieldDescription = $formMapper->getAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->mediaAdmin->getClass(), 'media');
     $fieldDescription->setAssociationAdmin($this->getMediaAdmin());
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setOption('edit', 'list');
     $fieldDescription->setAssociationMapping(array('fieldName' => 'media', 'type' => \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_ONE));
     $builder = $formMapper->create('mediaId', 'sonata_type_model', array('sonata_field_description' => $fieldDescription, 'class' => $this->getMediaAdmin()->getClass(), 'model_manager' => $this->getMediaAdmin()->getModelManager()));
     $formMapper->add('settings', 'sonata_type_immutable_array', array('keys' => array(array('title', 'text', array('required' => false)), array('context', 'choice', array('required' => true, 'choices' => $contextChoices)), array('format', 'choice', array('required' => count($formatChoices) > 0, 'choices' => $formatChoices)), array($builder, null, array()))));
 }
 /**
  * {@inheritdoc}
  */
 public function buildEditForm(FormMapper $formMapper, BlockInterface $block)
 {
     $contextChoices = array();
     foreach ($this->getMediaPool()->getContexts() as $name => $context) {
         $contextChoices[$name] = $name;
     }
     $gallery = $block->getSetting('galleryId');
     $formatChoices = array();
     if ($gallery instanceof GalleryInterface) {
         $formats = $this->getMediaPool()->getFormatNamesByContext($gallery->getContext());
         foreach ($formats as $code => $format) {
             $formatChoices[$code] = $code;
         }
     }
     // simulate an association ...
     $fieldDescription = $this->getGalleryAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->getGalleryAdmin()->getClass(), 'media', array('translation_domain' => 'SonataMediaBundle'));
     $fieldDescription->setAssociationAdmin($this->getGalleryAdmin());
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setOption('edit', 'list');
     $fieldDescription->setAssociationMapping(array('fieldName' => 'gallery', 'type' => ClassMetadataInfo::MANY_TO_ONE));
     $builder = $formMapper->create('galleryId', 'sonata_type_model_list', array('sonata_field_description' => $fieldDescription, 'class' => $this->getGalleryAdmin()->getClass(), 'model_manager' => $this->getGalleryAdmin()->getModelManager(), 'label' => 'form.label_gallery'));
     $formMapper->add('settings', 'sonata_type_immutable_array', array('keys' => array(array('title', 'text', array('required' => false, 'label' => 'form.label_title')), array('context', 'choice', array('required' => true, 'choices' => $contextChoices, 'label' => 'form.label_context')), array('format', 'choice', array('required' => count($formatChoices) > 0, 'choices' => $formatChoices, 'label' => 'form.label_format')), array($builder, null, array()), array('pauseTime', 'number', array('label' => 'form.label_pause_time')), array('startPaused', 'checkbox', array('required' => false, 'label' => 'form.label_start_paused')), array('wrap', 'checkbox', array('required' => false, 'label' => 'form.label_wrap'))), 'translation_domain' => 'SonataMediaBundle'));
 }
Example #15
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $em = $this->getModelManager()->getEntityManager($this->getSubject());
     $tagTransformer = new TagTransformer($em, $this->getSubject());
     $formMapper->add('photo', 'iphp_file', array('label' => 'Фотография', 'required' => false))->add('title', 'textarea', array('label' => 'Заголовок', 'required' => true, 'attr' => array('class' => 'ckeditormizer')))->add('priority', null, array('label' => 'Приоритет', 'required' => false, 'help' => 'Закреплено на главной по приоритету. Оставьте пустым, чтоб снять приоритет'))->add('announce', null, array('label' => 'Анонс', 'required' => false, 'attr' => array('class' => 'ckeditorfull')))->add('body', null, array('label' => 'Основное содержимое', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('tags', null, array('label' => 'Теги', 'required' => false, 'help' => 'Выберите существующие теги или добавьте новый ниже'))->add($formMapper->create('hidden', 'text', array('label' => 'Создать теги через ;', 'required' => false, 'by_reference' => false))->addModelTransformer($tagTransformer))->add('atcCodes-text', 'text', array('label' => 'Коды АТХ', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'atcCodes-text', 'placeholder' => 'Начните вводить название или код')))->add('nozologies-text', 'text', array('label' => 'Заболевания МКБ-10', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'nozologies-text', 'placeholder' => 'Начните вводить название или код')))->add('molecules-text', 'text', array('label' => 'Активные вещества', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'molecules-text', 'placeholder' => 'Начните вводить название или код')))->add('infoPages-text', 'text', array('label' => 'Представительства', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'infoPages-text', 'placeholder' => 'Начните вводить название')))->add('products-text', 'text', array('label' => 'Описания препаратов', 'required' => false, 'mapped' => false, 'attr' => array('class' => 'doc')))->add('date', null, array('label' => 'Дата создания', 'required' => true, 'years' => range(2000, date('Y'))))->add('videos', 'sonata_type_collection', array('label' => 'Видео файлы', 'by_reference' => false, 'cascade_validation' => true, 'required' => false), array('edit' => 'inline', 'inline' => 'table', 'allow_delete' => true))->add('code', null, array('label' => 'Дополнительный код', 'required' => false))->add('testMode', null, array('label' => 'В режиме тестирования', 'required' => false, 'help' => 'видно только если в конец url-адреса дописать ?test'))->add('sticked', null, array('label' => 'Закреплена слева', 'required' => false))->add('enabled', null, array('label' => 'Активна', 'required' => false));
 }
Example #16
0
 /**
  * @param \Sonata\AdminBundle\Form\FormMapper $formMapper
  *
  * @return void
  */
 protected function configureFormFields(FormMapper $formMapper)
 {
     $formMapper->add('title')->add('shortDescription')->add('text', 'textarea', ['attr' => ['class' => 'wysihtml5', 'style' => 'height:300px']])->add('mainPicture', 'sonata_type_model_list', ['required' => false, 'btn_list' => false], ['link_parameters' => ['context' => 'post', 'provider' => 'sonata.media.provider.image']])->add($formMapper->create('tags', 'text', ['empty_data' => $this->subject->getTags(), 'attr' => ['class' => 'posts-tags']])->addModelTransformer(new TagTransformer($this->default_locale, $this->locales, $this->modelManager->getEntityManager(new Tag()))))->add('galleryHasMedia', 'sonata_type_collection', ['required' => false, 'label' => 'Gallery'], ['edit' => 'inline', 'inline' => 'table', 'sortable' => 'position', 'targetEntity' => 'Application\\Sonata\\MediaBundle\\Entity\\GalleryHasMedia', 'admin_code' => 'sonata.media.admin.gallery_has_media', 'link_parameters' => ['context' => 'post', 'provider' => 'sonata.media.provider.image']]);
 }
 /**
  * {@inheritdoc}
  */
 protected function configureFormFields(FormMapper $formMapper)
 {
     $formMapper->with('General')->add('reference', 'text', array('required' => true))->add('layout', null, array('required' => true, 'attr' => array('data-sonata-select2' => 'false', 'class' => 'form-control')))->add('description', 'textarea', array('required' => false))->add('bcc')->add('spool', null, array('required' => false))->end()->with('Headers')->add($formMapper->create('headers', 'sonata_type_native_collection', array('type' => 'lexik_mailer_header', 'allow_add' => true, 'allow_delete' => true)))->end();
 }
 /**
  * @param FormMapper $formMapper
  *
  * @return FormBuilder
  */
 protected function getMediaBuilder(FormMapper $formMapper)
 {
     // simulate an association ...
     $fieldDescription = $this->getMediaAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->mediaAdmin->getClass(), 'media', array('translation_domain' => 'SonataMediaBundle'));
     $fieldDescription->setAssociationAdmin($this->getMediaAdmin());
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setOption('edit', 'list');
     $fieldDescription->setAssociationMapping(array('fieldName' => 'media', 'type' => ClassMetadataInfo::MANY_TO_ONE));
     return $formMapper->create('mediaId', 'sonata_type_model_list', array('sonata_field_description' => $fieldDescription, 'class' => $this->getMediaAdmin()->getClass(), 'model_manager' => $this->getMediaAdmin()->getModelManager(), 'label' => 'form.label_media'));
 }
Example #19
0
 protected function configureFormFields(FormMapper $formMapper)
 {
     $em = $this->modelManager->getEntityManager('Vidal\\MainBundle\\Entity\\City');
     $cityToStringTransformer = new CityToStringTransformer($em);
     $formMapper->add('authorFirstName', null, array('label' => 'Автор вопроса', 'required' => true))->add($formMapper->create('city', 'text', array('label' => 'Город'))->addModelTransformer($cityToStringTransformer))->add('authorEmail', null, array('label' => 'Email автора', 'required' => true))->add('question', null, array('label' => 'Вопрос', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('answer', null, array('label' => 'Ответ', 'required' => true, 'attr' => array('class' => 'ckeditorfull')))->add('enabled', null, array('label' => 'Активен', 'required' => false))->add('created', null, array('label' => 'Дата создания', 'data' => new \DateTime('now'), 'required' => true));
 }
 /**
  * @param FormMapper $formMapper
  *
  * @return FormBuilder
  */
 protected function getBlockBuilder(FormMapper $formMapper)
 {
     // simulate an association ...
     $fieldDescription = $this->getSharedBlockAdmin()->getModelManager()->getNewFieldDescriptionInstance($this->sharedBlockAdmin->getClass(), 'block', array('translation_domain' => 'SonataPageBundle'));
     $fieldDescription->setAssociationAdmin($this->getSharedBlockAdmin());
     $fieldDescription->setAdmin($formMapper->getAdmin());
     $fieldDescription->setOption('edit', 'list');
     $fieldDescription->setAssociationMapping(array('fieldName' => 'block', 'type' => \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_ONE));
     return $formMapper->create('blockId', 'sonata_type_model_list', array('sonata_field_description' => $fieldDescription, 'class' => $this->getSharedBlockAdmin()->getClass(), 'model_manager' => $this->getSharedBlockAdmin()->getModelManager(), 'label' => 'form.label_block', 'required' => false));
 }