コード例 #1
0
ファイル: CustomerCreateForm.php プロジェクト: margery/thelia
 public function verifyEmailField($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if ($data["email"] != $data["email_confirm"]) {
         $context->addViolation(Translator::getInstance()->trans("email confirmation is not the same as email field"));
     }
 }
コード例 #2
0
 public function verifyPasswordField($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if ($data["password"] != $data["password_confirm"]) {
         $context->addViolation(Translator::getInstance()->trans("password confirmation is not the same as password field"));
     }
 }
コード例 #3
0
 public function checkAtLeastOnePhoneNumberIsDefined($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if (empty($data["phone"]) && empty($data["cellphone"])) {
         $context->addViolationAt("phone", Translator::getInstance()->trans("Please enter a home or mobile phone number"));
     }
 }
コード例 #4
0
 public function checkDuplicateRef($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     $count = ProductQuery::create()->filterById($data['id'], Criteria::NOT_EQUAL)->filterByRef($value)->count();
     if ($count > 0) {
         $context->addViolation(Translator::getInstance()->trans("A product with reference %ref already exists. Please choose another reference.", array('%ref' => $value)));
     }
 }
コード例 #5
0
 public function __construct(ExecutionContextInterface $context, $message, array $parameters)
 {
     $this->context = $context;
     $this->message = $message;
     $this->parameters = $parameters;
     $this->root = $context->getRoot();
     $this->invalidValue = $context->getValue();
 }
 function it_validates_deprecated_context($constraint, DeprecatedContext $context)
 {
     $context->getGroup()->shouldBeCalled();
     $context->getRoot()->shouldBeCalled();
     $context->validateValue('some value', $constraint->constraints, Argument::any(), Argument::any())->shouldBeCalled();
     $this->initialize($context);
     $this->validate('some value', $constraint);
 }
コード例 #7
0
 function let(ProductManager $productManager, ExecutionContextInterface $context, Form $form, ProductInterface $product, ProductValueInterface $value)
 {
     $this->beConstructedWith($productManager);
     $product->getValue('sku')->willReturn($value);
     $form->getData()->willReturn($product);
     $context->getPropertyPath()->willReturn(self::PROPERTY_PATH);
     $context->getRoot()->willReturn($form);
     $this->initialize($context);
 }
コード例 #8
0
 public function verifyPasswordField($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if ($data["password"] != $data["password_confirm"]) {
         $context->addViolation(Translator::getInstance()->trans("password confirmation is not the same as password field"));
     }
     if ($data["password"] !== '' && strlen($data["password"]) < 4) {
         $context->addViolation(Translator::getInstance()->trans("password must be composed of at least 4 characters"));
     }
 }
コード例 #9
0
ファイル: CustomerLogin.php プロジェクト: margery/thelia
 /**
  * If the user select "I'am a new customer", we make sure is email address does not exit in the database.
  */
 public function verifyExistingEmail($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if ($data["account"] == 0) {
         $customer = CustomerQuery::create()->findOneByEmail($value);
         if ($customer) {
             $context->addViolation(Translator::getInstance()->trans("A user already exists with this email address. Please login or if you've forgotten your password, go to Reset Your Password."));
         }
     }
 }
コード例 #10
0
ファイル: CartAdd.php プロジェクト: badelas/thelia
 public function checkStock($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if (null === $data["product_sale_elements_id"]) {
         $context->addViolationAt("quantity", Translator::getInstance()->trans("Invalid product_sale_elements"));
     } else {
         $productSaleElements = ProductSaleElementsQuery::create()->filterById($data["product_sale_elements_id"])->filterByProductId($data["product"])->findOne();
         $product = $productSaleElements->getProduct();
         if ($productSaleElements->getQuantity() < $value && $product->getVirtual() === 0 && ConfigQuery::checkAvailableStock()) {
             $context->addViolation(Translator::getInstance()->trans("quantity value is not valid"));
         }
     }
 }
コード例 #11
0
 public function verifyPasswordField($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if ($data["password"] === '' && $data["password_confirm"] === '') {
         $context->addViolation("password can't be empty");
     }
     if ($data["password"] != $data["password_confirm"]) {
         $context->addViolation("password confirmation is not the same as password field");
     }
     if (strlen($data["password"]) < 4) {
         $context->addViolation("password must be composed of at least 4 characters");
     }
 }
コード例 #12
0
 public function checkEmails($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     $value = trim($value);
     if ("" === trim($value) && !empty($data["enabled"])) {
         $context->addViolation($this->trans("The Emails can not be empty", ["%id" => $value]));
     }
     $emails = explode(',', $value);
     foreach ($emails as $email) {
         if (false === filter_var($email, FILTER_VALIDATE_EMAIL)) {
             $context->addViolation($this->trans("'%email' is not a valid email address", ["%email" => $email]));
         }
     }
 }
コード例 #13
0
 public function verifyState($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if (null !== ($country = CountryQuery::create()->findPk($data['country']))) {
         if ($country->getHasStates()) {
             if (null !== ($state = StateQuery::create()->findPk($data['state']))) {
                 if ($state->getCountryId() !== $country->getId()) {
                     $context->addViolation(Translator::getInstance()->trans("This state doesn't belong to this country."));
                 }
             } else {
                 $context->addViolation(Translator::getInstance()->trans("You should select a state for this country."));
             }
         }
     }
 }
コード例 #14
0
 function it_adds_violation_with_non_unique_value_from_form_data_and_value_comes_from_memory($uniqueValuesSet, ProductRepositoryInterface $productRepository, ProductValueInterface $uniqueValue, AttributeInterface $uniqueAttribute, ExecutionContextInterface $context, UniqueValue $constraint, ProductInterface $product, Form $form)
 {
     $context->getRoot()->willReturn($form);
     $form->getData()->willReturn($product);
     $product->getValue('unique_attribute')->willReturn($uniqueValue);
     $uniqueValue->getAttribute()->willReturn($uniqueAttribute);
     $uniqueValue->getProduct()->willReturn($product);
     $uniqueAttribute->isUnique()->willReturn(true);
     $uniqueValue->getData()->willReturn('a content');
     $uniqueAttribute->getCode()->willReturn('unique_attribute');
     $productRepository->valueExists($uniqueValue)->willReturn(false);
     $uniqueValuesSet->addValue($uniqueValue)->willReturn(false);
     $context->addViolation($constraint->message, Argument::any())->shouldBeCalled();
     $this->validate("my_value", $constraint)->shouldReturn(null);
 }
コード例 #15
0
 /**
  * Check if method is the right one if we want to use automatic inserted templates .
  *
  * @param $value
  * @param  ExecutionContextInterface $context
  *
  * @return bool
  */
 public function verifyTemplates($value, ExecutionContextInterface $context)
 {
     $data = $context->getRoot()->getData();
     if (!empty($data['templates']) && $data['method'] !== BaseHook::INJECT_TEMPLATE_METHOD_NAME) {
         $context->addViolation($this->trans("If you use automatic insert templates, you should use the method %method%", ['%method%' => BaseHook::INJECT_TEMPLATE_METHOD_NAME]));
     }
 }
コード例 #16
0
 private function getViolation()
 {
     return new ConstraintViolation(null, $this->message, $this->parameters, $this->context->getRoot(), $this->propertyPath, $this->invalidValue, $this->plural, $this->code);
 }
コード例 #17
0
 public function validateVAT($data, ExecutionContextInterface $context)
 {
     /** @var \Symfony\Component\Form\Form $form */
     $form = $context->getRoot();
     $vat = $form->get('formalibre_vat')->getData();
     $vat = str_replace(' ', '', $vat);
     /*
             if ($form->get('formalibre_user_type_choice')->getData() === 'c' && $vat === '') {
                 $context->addViolation($this->translator->trans('vat_required', array(), 'validators'));
             }*/
 }