Exemplo n.º 1
0
 /**
  * @param Symfony\Component\HttpFoundation\Request $request
  *
  * @return Symfony\Component\HttpFoundation\Response
  */
 public function indexAction(Request $request)
 {
     $this->validateAccessForRole('ROLE_ACCESS_THEMES');
     $listManager = $this->createEntityListManager('RZ\\Roadiz\\Core\\Entities\\Theme');
     $listManager->handle();
     $this->assignation['filters'] = $listManager->getAssignation();
     $this->assignation['themes'] = $listManager->getEntities();
     $themeType = new \RZ\Roadiz\CMS\Forms\ThemesType();
     $this->assignation['availableThemesCount'] = $themeType->getSize();
     return $this->render('themes/list.html.twig', $this->assignation);
 }
Exemplo n.º 2
0
 /**
  * Build form for theme and site informations.
  *
  * @param Symfony\Component\HttpFoundation\Request $request
  *
  * @return Symfony\Component\Form\Forms
  */
 protected function buildInformationsForm(Request $request)
 {
     $siteName = SettingsBag::get('site_name');
     $metaDescription = SettingsBag::get('seo_description');
     $emailSender = SettingsBag::get('email_sender');
     $emailSenderName = SettingsBag::get('email_sender_name');
     $timeZone = $this->getService('config')['timezone'];
     $timeZoneList = (include dirname(__FILE__) . '/Resources/import/timezones.php');
     $defaults = ['site_name' => $siteName != '' ? $siteName : "My website", 'seo_description' => $metaDescription != '' ? $metaDescription : "My website is beautiful!", 'email_sender' => $emailSender != '' ? $emailSender : "", 'email_sender_name' => $emailSenderName != '' ? $emailSenderName : "", 'install_frontend' => true, 'timezone' => $timeZone != '' ? $timeZone : "Europe/Paris"];
     $builder = $this->createFormBuilder($defaults)->add('site_name', 'text', ['required' => true, 'label' => $this->getTranslator()->trans('site_name'), 'constraints' => [new NotBlank()]])->add('email_sender', 'email', ['required' => true, 'label' => $this->getTranslator()->trans('email_sender'), 'constraints' => [new NotBlank()]])->add('email_sender_name', 'text', ['required' => true, 'label' => $this->getTranslator()->trans('email_sender_name'), 'constraints' => [new NotBlank()]])->add('seo_description', 'text', ['required' => false, 'label' => $this->getTranslator()->trans('meta_description')])->add('timezone', 'choice', ['choices' => $timeZoneList, 'label' => $this->getTranslator()->trans('timezone'), 'required' => true]);
     $themesType = new \RZ\Roadiz\CMS\Forms\ThemesType();
     if ($themesType->getSize() > 0) {
         $builder->add('separator_1', new SeparatorType(), ['label' => $this->getTranslator()->trans('themes.frontend.description')])->add('install_theme', 'checkbox', ['required' => false, 'label' => $this->getTranslator()->trans('install_theme')])->add('className', $themesType, ['label' => $this->getTranslator()->trans('theme.selector'), 'required' => true, 'constraints' => [new \Symfony\Component\Validator\Constraints\NotNull(), new \Symfony\Component\Validator\Constraints\Type('string')]]);
     }
     return $builder->getForm();
 }