diff --git a/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php b/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php new file mode 100644 index 000000000..62aa90118 --- /dev/null +++ b/core/lib/Thelia/Form/TaxRuleTaxListUpdateForm.php @@ -0,0 +1,91 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\ExecutionContextInterface; +use Thelia\Model\TaxRuleQuery; + +class TaxRuleModificationForm extends TaxRuleCreationForm +{ + use StandardDescriptionFieldsTrait; + + protected function buildForm() + { + parent::buildForm(true); + + $this->formBuilder + ->add("id", "hidden", array( + "required" => true, + "constraints" => array( + new Constraints\NotBlank(), + new Constraints\Callback( + array( + "methods" => array( + array($this, "verifyTaxRuleId"), + ), + ) + ), + ) + )) + ->add("tab", "text", array( + "constraints" => array( + new Constraints\Choice( + array( + 'choices' => array('data', 'taxes'), + ) + ) + ), + )) + ->add("country", "text", array( + "constraints" => array( + new Constraints\Callback( + array( + "methods" => array( + array($this, "verifyCountry"), + ), + ) + ), + ) + )) + ; + + // Add standard description fields + $this->addStandardDescFields(array('postscriptum', 'chapo', 'locale')); + } + + public function getName() + { + return "thelia_tax_rule_modification"; + } + + public function verifyTaxRuleId($value, ExecutionContextInterface $context) + { + $taxRule = TaxRuleQuery::create() + ->findPk($value); + + if (null === $taxRule) { + $context->addViolation("Tax rule ID not found"); + } + } +}