get() public method

public get ( $name )
 /**
  * @dataProvider getBuildPagerWithPage2Tests
  */
 public function testBuildPagerWithPage2($page, $perPage)
 {
     $this->pager->expects($this->once())->method('setMaxPerPage')->with($this->equalTo('50'))->will($this->returnValue(null));
     $this->pager->expects($this->once())->method('setPage')->with($this->equalTo('3'))->will($this->returnValue(null));
     $this->datagrid = new Datagrid($this->query, $this->columns, $this->pager, $this->formBuilder, array());
     $this->datagrid->setValue('_per_page', null, $perPage);
     $this->datagrid->setValue('_page', null, $page);
     $this->datagrid->buildPager();
     $this->assertSame(array('_per_page' => array('type' => null, 'value' => $perPage), '_page' => array('type' => null, 'value' => $page)), $this->datagrid->getValues());
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_sort_by'));
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_sort_order'));
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_page'));
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_per_page'));
 }
 public function testBuildPagerWithSortBy()
 {
     $this->datagrid = new Datagrid($this->query, $this->pager, $this->formBuilder, array('_sort_by' => 'name'));
     $filter = $this->getMock('Sonata\\DatagridBundle\\Filter\\FilterInterface');
     $filter->expects($this->once())->method('getName')->will($this->returnValue('foo'));
     $filter->expects($this->any())->method('getFormName')->will($this->returnValue('fooFormName'));
     $filter->expects($this->any())->method('isActive')->will($this->returnValue(false));
     $filter->expects($this->any())->method('getRenderSettings')->will($this->returnValue(array('foo', array('bar' => 'baz'))));
     $this->datagrid->addFilter($filter);
     $this->datagrid->buildPager();
     $this->assertEquals(array('_sort_by' => 'name', 'foo' => null), $this->datagrid->getValues());
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('fooFormName'));
     $this->assertEquals(array('bar' => 'baz'), $this->formBuilder->get('fooFormName')->getOptions());
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_sort_by'));
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_sort_order'));
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_page'));
     $this->assertInstanceOf('Symfony\\Component\\Form\\FormBuilder', $this->formBuilder->get('_per_page'));
 }
Example #3
0
 public function buildFormElement(\Symfony\Bundle\FrameworkBundle\Controller\Controller $controller, \Symfony\Component\Form\FormBuilder $builder, \Symforce\AdminBundle\Compiler\Cache\AdminCache $admin, \Symforce\AdminBundle\Compiler\Cache\ActionCache $action, $object, $property_name, $parent_property)
 {
     if ($object) {
         if (!$object instanceof $admin->class_name) {
             throw new \Exception();
         }
         if ($admin->workflow) {
             if ($admin !== $this) {
                 throw new \Exception();
             }
             $status = $admin->getObjectWorkflowStatus($object);
             if (!isset($status['properties'][$property_name])) {
                 return;
             }
             $flag = $status['properties'][$property_name];
             $readable = \Symforce\AdminBundle\Compiler\MetaType\Admin\Workflow::FLAG_VIEW & $flag;
             $editable = \Symforce\AdminBundle\Compiler\MetaType\Admin\Workflow::FLAG_EDIT & $flag;
             if (\Symforce\AdminBundle\Compiler\MetaType\Admin\Workflow::FLAG_AUTH & $flag) {
                 if ($readable || $editable) {
                     throw new \Exception();
                 }
                 $securityContext = $this->container->get('security.context');
                 $user = $securityContext->getToken()->getUser();
                 $group = $user->getUserGroup();
                 if ($group) {
                     $flag = $group->getWorkflowPropertyVisiable($this->name, $property_name, $status['name']);
                     if ('1' === $flag) {
                         $editable = true;
                     } else {
                         if ('2' === $flag) {
                             $readable = true;
                         }
                     }
                 }
             }
             if ($readable) {
                 $options = array();
                 $_options = $admin->getFormBuilderOption($property_name, $action, $object);
                 if ($_options) {
                     $options['label'] = $_options['label'];
                 }
                 $builder->add($property_name, 'sf_view', $options);
                 return;
             }
             if (!$editable) {
                 return;
             }
         }
     }
     $options = $admin->getFormBuilderOption($property_name, $action, $object);
     $type = $options['sf_form_type'];
     if (isset($options['read_only']) && $options['read_only']) {
         if (in_array($type, array('sf_owner', 'sf_entity', 'sf_workflow', 'choice', 'checkbox', 'sf_file', 'sf_image', 'sf_html', 'money'))) {
             $options = array();
             $_options = $admin->getFormBuilderOption($property_name, $action, $object);
             if ($_options) {
                 $options['label'] = $_options['label'];
             }
             $builder->add($property_name, 'sf_view', $options);
             return;
         }
     }
     if (isset($options['required']) && $options['required']) {
         if (!isset($options['constraints'])) {
             $options['constraints'] = array(new \Symfony\Component\Validator\Constraints\NotBlank());
         } else {
             $find_not_blank = false;
             foreach ($options['constraints'] as $_constraint) {
                 if ($_constraint instanceof \Symfony\Component\Validator\Constraints\NotBlank) {
                     $find_not_blank = true;
                 }
             }
             if (!$find_not_blank) {
                 $options['constraints'][] = new \Symfony\Component\Validator\Constraints\NotBlank();
             }
         }
     }
     /**
      * @FIXME since symfony 2.7, without this hack radio(value=0) will not get checked
      */
     if ('bool' == $options['sf_form_meta']) {
         if ($object) {
             $options['data'] = $admin->getReflectionProperty($property_name)->getValue($object) ? 1 : 0;
         } else {
             $options['data'] = 0;
         }
     }
     $this->adjustFormOptions($object, $property_name, $options);
     $subscribers = null;
     if (isset($options['subscribers'])) {
         $subscribers = $options['subscribers'];
         unset($options['subscribers']);
     }
     $builder->add($property_name, $type, $options);
     if ($subscribers) {
         $_builder = $builder->get($property_name);
         foreach ($subscribers as $subscriber) {
             $events = $subscriber->getSubscribedEvents();
             foreach ($events as $_event => $method) {
                 $_builder->addEventListener($_event, array($subscriber, $method));
             }
         }
     }
 }
 protected function userFormUpdate($action, $row, \Symfony\Component\Form\FormBuilder $form)
 {
     $this->origUserPassword = $row->getPassword();
     $form->get('valid')->setRequired(false);
     $adminFormEvent = new AdminFormEvent($action, $row, $form);
     $this->get('event_dispatcher')->dispatch(AdminFormEvent::UPDATE_USER, $adminFormEvent);
 }