/** * @param string $key * @return array * @throws RuntimeException */ private function getResourceGroup($key) { $map = $this->mapBuilder->getMap(); $propertyPath = $this->createPropertyPath($key); $accessor = PropertyAccess::createPropertyAccessor(); $resources = $accessor->getValue($map, $propertyPath); if (!is_array($resources)) { throw new RuntimeException(sprintf('%s its not a resource group key', $key)); } return $resources; }
/** * @param \FSi\Bundle\ResourceRepositoryBundle\Repository\MapBuilder $mapBuilder * @param \Symfony\Component\Form\FormFactoryInterface $formFactory * @param \FSi\Bundle\AdminBundle\Admin\ResourceRepository\GenericResourceElement $element * @param \FSi\Bundle\ResourceRepositoryBundle\Model\ResourceValueRepository $valueRepository * @param \FSi\Bundle\ResourceRepositoryBundle\Repository\Resource\Type\TextType $resource */ function let($mapBuilder, $formFactory, $element, $valueRepository, $resource) { $mapBuilder->getMap()->willReturn(array('resources' => array('resource_key' => $resource))); $resource->getName()->willReturn('resources.resource_key'); $element->getRepository()->willReturn($valueRepository); $element->getResourceFormOptions()->willReturn(array('form_options')); $this->beConstructedWith($formFactory, $mapBuilder); }
/** * @param \FSi\Bundle\AdminBundle\Admin\Context\Request\HandlerInterface $handler * @param \FSi\Bundle\AdminBundle\Doctrine\Admin\ResourceElement $element * @param \FSi\Bundle\ResourceRepositoryBundle\Repository\MapBuilder $builder * @param \FSi\Bundle\AdminBundle\Admin\ResourceRepository\ResourceFormBuilder $resourceFormBuilder * @param \Symfony\Component\Form\Form $form */ function let($handler, $element, $builder, $resourceFormBuilder, $form) { $builder->getMap()->willReturn(array('resources' => array())); $element->getResourceFormOptions()->willReturn(array()); $element->getKey()->willReturn('resources'); $resourceFormBuilder->build($element)->willReturn($form); $this->beConstructedWith(array($handler), $resourceFormBuilder); $this->setElement($element); }