Admin de usuário do Sonata - Dependência de campo personalizado

Eu estendi a classe SonataAdmin para o FOSUser e adicionei 2 campos personalizados (tipo de opção da fonte de dados externa):Company eSector

Eu gostaria de fazerSector dependente deCompany, portanto, se o usuário selecionar uma empresa, ele filtrará os setores disponíveis.

Eu pensei em usar FormEvents para filtrar no carregamento da página, mas eu nem sei como obter oCompany valor do formulário atual.

Aqui está uma parte do meu costumeSectorType

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->addEventListener(FormEvents::PRE_SET_DATA
    , function(FormEvent $event) {
        $data = $event->getData();
        $form = $event->getForm();
        // Need to get the company value here if set
    });
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'choices' => $this->getSectors(),
    ));
}

public function getSectors()
{
    $sects = array();
    // Need to pass the selected company value to my getList
    // (which gets the list of sector as you can imagine)
    if (($tmp_sects = $this->ssrs->getList('Sector'))) {
        foreach ($tmp_sects as $sect) {
            $label = $sect['id'] ? $sect['label'] : '';
            $sects[$sect['id']] = $label;
        }
    }
    return $sects;
}

Então a questão é:

Como obter o selecionadoCompany do meu costumeSectorType ?

Depois disso, preciso atualizar o setor com o Ajax, mas isso será outra questão

questionAnswers(1)

yourAnswerToTheQuestion