/** * {@inheritdoc} */ public function finishView(FormView $view, FormInterface $form, array $options) { $isManualEditGranted = $this->orderAddressSecurityProvider->isManualEditGranted($options['addressType']); foreach ($view->children as $child) { $child->vars['disabled'] = !$isManualEditGranted; $child->vars['required'] = false; unset($child->vars['attr']['data-validation'], $child->vars['attr']['data-required'], $child->vars['label_attr']['data-required']); } if ($view->offsetExists('accountAddress')) { $view->offsetGet('accountAddress')->vars['disabled'] = false; } }
/** * @dataProvider manualEditDataProvider * @param string $type * @param string $permissionName * @param bool $permission */ public function testIsManualEditGranted($type, $permissionName, $permission) { $this->securityFacade->expects($this->atLeastOnce())->method('isGranted')->with($permissionName)->willReturn($permission); $this->assertEquals($permission, $this->provider->isManualEditGranted($type)); }