Merge branch 'master' of https://github.com/thelia/thelia into coupon
* 'master' of https://github.com/thelia/thelia: (87 commits) Missing ajax-loader icon don't use alternative Logger in debugbar if debug is disabled Remove debug bar Move temporarily fontawesome's font into the web folder Add loader css fix product visibility comparaison parameter Change this page on public page Bug : Remove close tag </a> decode url before searching if it's a rewritten url Modification font-size of price elements add page View All Add button "add product to cart" Footer : Static to dynamic content Add order on attribute_combination loop Fix bug in Content Loop with "current_folder" params Creation of Content page Change path /customer/account into /account Change path : /customer/update into /account/update /password into /account/password CustomerUpdateForm - Extend CustomerCreation Update profile - new method [Not finished yet] ...
This commit is contained in:
65
core/lib/Thelia/Form/AdminProfileCreationForm.php
Normal file
65
core/lib/Thelia/Form/AdminProfileCreationForm.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/*************************************************************************************/
|
||||
/* */
|
||||
/* Thelia */
|
||||
/* */
|
||||
/* Copyright (c) OpenStudio */
|
||||
/* email : info@thelia.net */
|
||||
/* web : http://www.thelia.net */
|
||||
/* */
|
||||
/* This program is free software; you can redistribute it and/or modify */
|
||||
/* it under the terms of the GNU General Public License as published by */
|
||||
/* the Free Software Foundation; either version 3 of the License */
|
||||
/* */
|
||||
/* This program is distributed in the hope that it will be useful, */
|
||||
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
||||
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
||||
/* GNU General Public License for more details. */
|
||||
/* */
|
||||
/* You should have received a copy of the GNU General Public License */
|
||||
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
/* */
|
||||
/*************************************************************************************/
|
||||
namespace Thelia\Form;
|
||||
|
||||
use Symfony\Component\Validator\Constraints;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Thelia\Core\Translation\Translator;
|
||||
|
||||
class AdminProfileCreationForm extends BaseForm
|
||||
{
|
||||
protected function buildForm()
|
||||
{
|
||||
$this->formBuilder
|
||||
->add("wording" , "text" , array(
|
||||
"constraints" => array(
|
||||
new NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Wording *"),
|
||||
"label_attr" => array(
|
||||
"for" => "wording"
|
||||
))
|
||||
)
|
||||
->add("name" , "text" , array(
|
||||
"constraints" => array(
|
||||
new NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Name *"),
|
||||
"label_attr" => array(
|
||||
"for" => "name"
|
||||
))
|
||||
)
|
||||
->add("description" , "text" , array(
|
||||
"label" => Translator::getInstance()->trans("Description"),
|
||||
"label_attr" => array(
|
||||
"for" => "description"
|
||||
))
|
||||
)
|
||||
;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return "thelia_admin_profile_creation";
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,16 @@ class CustomerCreation extends BaseForm
|
||||
{
|
||||
$this->formBuilder
|
||||
->add("auto_login", "integer")
|
||||
// Personal Informations
|
||||
->add("title", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Title"),
|
||||
"label_attr" => array(
|
||||
"for" => "title"
|
||||
)
|
||||
))
|
||||
->add("firstname", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
@@ -58,84 +68,6 @@ class CustomerCreation extends BaseForm
|
||||
"for" => "lastname"
|
||||
)
|
||||
))
|
||||
->add("address1", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label_attr" => array(
|
||||
"for" => "address"
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Street Address"),
|
||||
"label_attr" => array(
|
||||
"for" => "address1"
|
||||
)
|
||||
))
|
||||
->add("address2", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Address Line 2"),
|
||||
"label_attr" => array(
|
||||
"for" => "address2"
|
||||
)
|
||||
))
|
||||
->add("address3", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Address Line 3"),
|
||||
"label_attr" => array(
|
||||
"for" => "address3"
|
||||
)
|
||||
))
|
||||
->add("company", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Company Name"),
|
||||
"label_attr" => array(
|
||||
"for" => "company"
|
||||
)
|
||||
))
|
||||
->add("phone", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Phone"),
|
||||
"label_attr" => array(
|
||||
"for" => "phone"
|
||||
)
|
||||
))
|
||||
->add("cellphone", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Cellphone"),
|
||||
"label_attr" => array(
|
||||
"for" => "cellphone"
|
||||
)
|
||||
))
|
||||
->add("zipcode", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Zip code"),
|
||||
"label_attr" => array(
|
||||
"for" => "zipcode"
|
||||
)
|
||||
))
|
||||
->add("city", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("City"),
|
||||
"label_attr" => array(
|
||||
"for" => "city"
|
||||
)
|
||||
))
|
||||
->add("country", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Country"),
|
||||
"label_attr" => array(
|
||||
"for" => "country"
|
||||
)
|
||||
))
|
||||
->add("title", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Title"),
|
||||
"label_attr" => array(
|
||||
"for" => "title"
|
||||
)
|
||||
))
|
||||
->add("email", "email", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank(),
|
||||
@@ -143,7 +75,7 @@ class CustomerCreation extends BaseForm
|
||||
new Constraints\Callback(array(
|
||||
"methods" => array(
|
||||
array($this,
|
||||
"verifyExistingEmail")
|
||||
"verifyExistingEmail")
|
||||
)
|
||||
))
|
||||
),
|
||||
@@ -163,6 +95,79 @@ class CustomerCreation extends BaseForm
|
||||
),
|
||||
"label" => "email confirmation"
|
||||
))*/
|
||||
->add("phone", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Phone"),
|
||||
"label_attr" => array(
|
||||
"for" => "phone"
|
||||
),
|
||||
"required" => false
|
||||
))
|
||||
->add("cellphone", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Cellphone"),
|
||||
"label_attr" => array(
|
||||
"for" => "cellphone"
|
||||
),
|
||||
"required" => false
|
||||
))
|
||||
// Delivery Informations
|
||||
->add("company", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Company Name"),
|
||||
"label_attr" => array(
|
||||
"for" => "company"
|
||||
),
|
||||
"required" => false
|
||||
))
|
||||
->add("address1", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Street Address"),
|
||||
"label_attr" => array(
|
||||
"for" => "address1"
|
||||
)
|
||||
))
|
||||
->add("address2", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Address Line 2"),
|
||||
"label_attr" => array(
|
||||
"for" => "address2"
|
||||
),
|
||||
"required" => false
|
||||
))
|
||||
->add("address3", "text", array(
|
||||
"label" => Translator::getInstance()->trans("Address Line 3"),
|
||||
"label_attr" => array(
|
||||
"for" => "address3"
|
||||
),
|
||||
"required" => false
|
||||
))
|
||||
->add("city", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("City"),
|
||||
"label_attr" => array(
|
||||
"for" => "city"
|
||||
)
|
||||
))
|
||||
->add("zipcode", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Zip code"),
|
||||
"label_attr" => array(
|
||||
"for" => "zipcode"
|
||||
)
|
||||
))
|
||||
->add("country", "text", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Country"),
|
||||
"label_attr" => array(
|
||||
"for" => "country"
|
||||
)
|
||||
))
|
||||
// Login Information
|
||||
->add("password", "password", array(
|
||||
"constraints" => array(
|
||||
new Constraints\NotBlank(),
|
||||
@@ -186,8 +191,14 @@ class CustomerCreation extends BaseForm
|
||||
"for" => "password_confirmation"
|
||||
)
|
||||
))
|
||||
|
||||
;
|
||||
->add("agreed", "checkbox", array(
|
||||
"constraints" => array(
|
||||
new Constraints\True(array("message" => "Please accept the Terms and conditions in order to register."))
|
||||
),
|
||||
"label_attr" => array(
|
||||
"for" => "agreed"
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
public function verifyPasswordField($value, ExecutionContextInterface $context)
|
||||
|
||||
@@ -22,10 +22,19 @@
|
||||
/*************************************************************************************/
|
||||
namespace Thelia\Form;
|
||||
|
||||
use Symfony\Component\Validator\Constraints;
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Symfony\Component\Validator\Constraints\Email;
|
||||
use Symfony\Component\Validator\ConstraintViolation;
|
||||
use Symfony\Component\Validator\ExecutionContextInterface;
|
||||
use Thelia\Core\Translation\Translator;
|
||||
use Thelia\Model\Base\CustomerQuery;
|
||||
|
||||
/**
|
||||
* Class CustomerLogin
|
||||
* @package Thelia\Form
|
||||
* @author Manuel Raynaud <mraynaud@openstudio.fr>
|
||||
*/
|
||||
class CustomerLogin extends BaseForm
|
||||
{
|
||||
protected function buildForm()
|
||||
@@ -33,27 +42,82 @@ class CustomerLogin extends BaseForm
|
||||
$this->formBuilder
|
||||
->add("email", "email", array(
|
||||
"constraints" => array(
|
||||
new NotBlank(),
|
||||
new Email()
|
||||
new Constraints\NotBlank(),
|
||||
new Constraints\Email(),
|
||||
new Constraints\Callback(array(
|
||||
"methods" => array(
|
||||
array($this, "verifyExistingEmail")
|
||||
)
|
||||
))
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Please enter your email address"),
|
||||
"label_attr" => array(
|
||||
"for" => "email"
|
||||
)
|
||||
))
|
||||
->add("account", "choice", array(
|
||||
"constraints" => array(
|
||||
new Constraints\Callback(array(
|
||||
"methods" => array(
|
||||
array($this, "verifyAccount")
|
||||
)
|
||||
))
|
||||
),
|
||||
"required" => true
|
||||
"choices" => array(
|
||||
0 => Translator::getInstance()->trans("No, I am a new customer."),
|
||||
1 => Translator::getInstance()->trans("Yes, I have a password :")
|
||||
),
|
||||
"label_attr" => array(
|
||||
"for" => "account"
|
||||
),
|
||||
"data" => 0
|
||||
))
|
||||
->add("password", "password", array(
|
||||
"constraints" => array(
|
||||
new NotBlank()
|
||||
),
|
||||
/*"constraints" => array(
|
||||
new Constraints\NotBlank()
|
||||
),*/
|
||||
"label" => Translator::getInstance()->trans("Please enter your password"),
|
||||
"label_attr" => array(
|
||||
"for" => "password"
|
||||
),
|
||||
"required" => true
|
||||
))
|
||||
->add("remember_me", "checkbox")
|
||||
;
|
||||
"required" => false
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* If the user select "Yes, I have a password", we check the password.
|
||||
*/
|
||||
public function verifyAccount($value, ExecutionContextInterface $context)
|
||||
{
|
||||
if ($value == 1) {
|
||||
$data = $context->getRoot()->getData();
|
||||
if (false === $data['password'] || (empty($data['password']) && '0' != $data['password'])) {
|
||||
|
||||
$context->getViolations()->add(new ConstraintViolation(
|
||||
'This value should not be blank.',
|
||||
'account_password',
|
||||
array(),
|
||||
$context->getRoot(),
|
||||
'children[password].data',
|
||||
'propertyPath'
|
||||
));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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("A user already exists with this email address. Please login or if you've forgotten your password, go to Reset Your Password.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getName()
|
||||
|
||||
@@ -82,7 +82,7 @@ class CustomerLostPasswordForm extends BaseForm
|
||||
{
|
||||
$customer = CustomerQuery::create()->findOneByEmail($value);
|
||||
if (null === $customer) {
|
||||
$context->addViolation("This email does not exists exists");
|
||||
$context->addViolation("This email does not exists");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
75
core/lib/Thelia/Form/CustomerUpdateForm.php
Executable file
75
core/lib/Thelia/Form/CustomerUpdateForm.php
Executable file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/*************************************************************************************/
|
||||
/* */
|
||||
/* Thelia */
|
||||
/* */
|
||||
/* Copyright (c) OpenStudio */
|
||||
/* email : info@thelia.net */
|
||||
/* web : http://www.thelia.net */
|
||||
/* */
|
||||
/* This program is free software; you can redistribute it and/or modify */
|
||||
/* it under the terms of the GNU General Public License as published by */
|
||||
/* the Free Software Foundation; either version 3 of the License */
|
||||
/* */
|
||||
/* This program is distributed in the hope that it will be useful, */
|
||||
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
||||
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
||||
/* GNU General Public License for more details. */
|
||||
/* */
|
||||
/* You should have received a copy of the GNU General Public License */
|
||||
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
/* */
|
||||
/*************************************************************************************/
|
||||
namespace Thelia\Form;
|
||||
|
||||
use Symfony\Component\Validator\Constraints;
|
||||
use Thelia\Model\ConfigQuery;
|
||||
use Thelia\Core\Translation\Translator;
|
||||
|
||||
/**
|
||||
* Class CustomerUpdateForm
|
||||
* @package Thelia\Form
|
||||
* @author Christophe Laffont <claffont@openstudio.fr>
|
||||
*/
|
||||
class CustomerUpdateForm extends CustomerCreation
|
||||
{
|
||||
|
||||
protected function buildForm()
|
||||
{
|
||||
parent::buildForm();
|
||||
|
||||
|
||||
$this->formBuilder
|
||||
->remove("auto_login")
|
||||
// Remove From Personal Informations
|
||||
->remove("phone")
|
||||
->remove("cellphone")
|
||||
// Remove Delivery Informations
|
||||
->remove("company")
|
||||
->remove("address1")
|
||||
->remove("address2")
|
||||
->remove("address3")
|
||||
->remove("city")
|
||||
->remove("zipcode")
|
||||
->remove("country")
|
||||
// Remove Login Information
|
||||
->remove("password")
|
||||
->remove("password_confirm")
|
||||
// Remove Terms & conditions
|
||||
->remove("agreed")
|
||||
|
||||
// Add Newsletter
|
||||
->add("newsletter", "checkbox", array(
|
||||
"label" => "I would like to receive the newsletter our the latest news.",
|
||||
"label_attr" => array(
|
||||
"for" => "newsletter"
|
||||
),
|
||||
"required" => false
|
||||
));
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return "thelia_customer_update";
|
||||
}
|
||||
}
|
||||
58
core/lib/Thelia/Form/LanguageCreationForm.php
Normal file
58
core/lib/Thelia/Form/LanguageCreationForm.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/*************************************************************************************/
|
||||
/* */
|
||||
/* Thelia */
|
||||
/* */
|
||||
/* Copyright (c) OpenStudio */
|
||||
/* email : info@thelia.net */
|
||||
/* web : http://www.thelia.net */
|
||||
/* */
|
||||
/* This program is free software; you can redistribute it and/or modify */
|
||||
/* it under the terms of the GNU General Public License as published by */
|
||||
/* the Free Software Foundation; either version 3 of the License */
|
||||
/* */
|
||||
/* This program is distributed in the hope that it will be useful, */
|
||||
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
||||
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
||||
/* GNU General Public License for more details. */
|
||||
/* */
|
||||
/* You should have received a copy of the GNU General Public License */
|
||||
/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
/* */
|
||||
/*************************************************************************************/
|
||||
namespace Thelia\Form;
|
||||
|
||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
||||
use Thelia\Core\Translation\Translator;
|
||||
|
||||
class LanguageCreationForm extends BaseForm
|
||||
{
|
||||
protected function buildForm()
|
||||
{
|
||||
$this->formBuilder
|
||||
->add("title", "text", array(
|
||||
"constraints" => array(
|
||||
new NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("Language title *"),
|
||||
"label_attr" => array(
|
||||
"for" => "title"
|
||||
)
|
||||
))
|
||||
->add("isocode", "text", array(
|
||||
"constraints" => array(
|
||||
new NotBlank()
|
||||
),
|
||||
"label" => Translator::getInstance()->trans("ISO Code *"),
|
||||
"label_attr" => array(
|
||||
"for" => "isocode"
|
||||
)
|
||||
))
|
||||
;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return "thelia_language_creation";
|
||||
}
|
||||
}
|
||||
@@ -64,8 +64,8 @@ class TaxCreationForm extends BaseForm
|
||||
foreach($requirementList as $type => $requirements) {
|
||||
foreach($requirements as $name => $requirementType) {
|
||||
$this->formBuilder
|
||||
->add($type . '_' . $name, new TheliaType(), array(
|
||||
"instance" => $requirementType,
|
||||
->add($type . ':' . $name, new TheliaType(), array(
|
||||
//"instance" => $requirementType,
|
||||
"constraints" => array(
|
||||
new Constraints\Callback(
|
||||
array(
|
||||
@@ -77,8 +77,6 @@ class TaxCreationForm extends BaseForm
|
||||
),
|
||||
"attr" => array(
|
||||
"tag" => "requirements",
|
||||
),
|
||||
"data" => array(
|
||||
"tax_type" => $type,
|
||||
),
|
||||
"label" => Translator::getInstance()->trans($name),
|
||||
@@ -96,11 +94,4 @@ class TaxCreationForm extends BaseForm
|
||||
{
|
||||
return "thelia_tax_creation";
|
||||
}
|
||||
|
||||
public function verifyForm($value, ExecutionContextInterface $context)
|
||||
{
|
||||
$in = true;
|
||||
|
||||
//$this->getForm()->getChildren()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user