<?php

namespace OfficeBrain\Bundle\CmsBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Validator\Constraints\NotBlank;

class CmsMenuItemLanguageType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array                $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('itemLabel', 'text', array('label' => 'cms.admin.menu.form.item_label.title', 'constraints' => array(new NotBlank(array('message' => 'cms.menu.admin.form.label.not_blank')))))
            ->add('title', 'text', array('label' => 'cms.admin.menu.form.title.title'))
            ->add('url', 'text', array('label' => 'cms.admin.menu.form.url.title', 'constraints' => array(new NotBlank(array('message' => 'cms.menu.admin.form.label.not_blank')))))
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'OfficeBrain\Bundle\CmsBundle\Entity\CmsMenuItemLanguage',
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'officebrain_bundle_cmsbundle_cmsmenuitemlanguage';
    }
}
