WIP Coupon

Refactor : creating dedicated reusable module for Constraints
Adding ConstraintManager
Secured :
- Effects : RemoveXPercent + RemoveXAmount
- Validators : all  except ModelParam (need CustomerModelParam, AreaModelParam, CountryModelParam ?)
- Conditions : AvailableForTotalAmount
This commit is contained in:
gmorel
2013-08-28 09:35:56 +02:00
parent 50d50d3b91
commit f1ed03a96a
2 changed files with 71 additions and 22 deletions

2
.gitignore vendored
View File

@@ -22,3 +22,5 @@ web/cache/*
web/.htaccess web/.htaccess
phpdoc*.log phpdoc*.log
php-cs php-cs
xhprof
phpunit.phar

91
composer.lock generated
View File

@@ -3,7 +3,7 @@
"This file locks the dependencies of your project to a known state", "This file locks the dependencies of your project to a known state",
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file" "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
], ],
"hash": "458aeccc06b7394d7653a9063b6fd981", "hash": "6f8ad7a37d85013a8c8f99611c0f1b84",
"packages": [ "packages": [
{ {
"name": "ezyang/htmlpurifier", "name": "ezyang/htmlpurifier",
@@ -11,12 +11,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git", "url": "https://github.com/ezyang/htmlpurifier.git",
"reference": "19eee1489965d9bc6eded80f847ced2382127261" "reference": "fac747bdbdba6aeaba4bed91ef49b2378c1798e4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/19eee1489965d9bc6eded80f847ced2382127261", "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/fac747bdbdba6aeaba4bed91ef49b2378c1798e4",
"reference": "19eee1489965d9bc6eded80f847ced2382127261", "reference": "fac747bdbdba6aeaba4bed91ef49b2378c1798e4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -47,7 +47,7 @@
"keywords": [ "keywords": [
"html" "html"
], ],
"time": "2013-07-27 04:54:53" "time": "2013-08-18 02:27:26"
}, },
{ {
"name": "imagine/imagine", "name": "imagine/imagine",
@@ -55,12 +55,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/avalanche123/Imagine.git", "url": "https://github.com/avalanche123/Imagine.git",
"reference": "v0.5.0" "reference": "f64ec666baaa800edcbf237db41121a569230709"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/avalanche123/Imagine/zipball/v0.5.0", "url": "https://api.github.com/repos/avalanche123/Imagine/zipball/f64ec666baaa800edcbf237db41121a569230709",
"reference": "v0.5.0", "reference": "f64ec666baaa800edcbf237db41121a569230709",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -128,7 +128,7 @@
"authors": [ "authors": [
{ {
"name": "Anthony Ferrara", "name": "Anthony Ferrara",
"email": "ircmaxell@php.net", "email": "ircmaxell@ircmaxell.com",
"homepage": "http://blog.ircmaxell.com" "homepage": "http://blog.ircmaxell.com"
} }
], ],
@@ -356,12 +356,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/krichprollsch/phpCssEmbed.git", "url": "https://github.com/krichprollsch/phpCssEmbed.git",
"reference": "v1.0.2" "reference": "406c6d5b846cafa9186f9944a6210d0e6fed154b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/krichprollsch/phpCssEmbed/zipball/v1.0.2", "url": "https://api.github.com/repos/krichprollsch/phpCssEmbed/zipball/406c6d5b846cafa9186f9944a6210d0e6fed154b",
"reference": "v1.0.2", "reference": "406c6d5b846cafa9186f9944a6210d0e6fed154b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -798,12 +798,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/Filesystem.git", "url": "https://github.com/symfony/Filesystem.git",
"reference": "v2.2.5" "reference": "fa16b9ab446b84371a63ab391133ff58134edff1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/v2.2.5", "url": "https://api.github.com/repos/symfony/Filesystem/zipball/fa16b9ab446b84371a63ab391133ff58134edff1",
"reference": "v2.2.5", "reference": "fa16b9ab446b84371a63ab391133ff58134edff1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1071,18 +1071,18 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/Icu.git", "url": "https://github.com/symfony/Icu.git",
"reference": "v1.2.0" "reference": "7299cd3d8d6602103d1ebff5d0a9917b7bc6de72"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/Icu/zipball/v1.2.0", "url": "https://api.github.com/repos/symfony/Icu/zipball/7299cd3d8d6602103d1ebff5d0a9917b7bc6de72",
"reference": "v1.2.0", "reference": "7299cd3d8d6602103d1ebff5d0a9917b7bc6de72",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"lib-icu": ">=4.4", "lib-icu": ">=4.4",
"php": ">=5.3.3", "php": ">=5.3.3",
"symfony/intl": ">=2.3,<3.0" "symfony/intl": "~2.3"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@@ -1452,6 +1452,53 @@
"homepage": "http://symfony.com", "homepage": "http://symfony.com",
"time": "2013-07-30 11:22:46" "time": "2013-07-30 11:22:46"
}, },
{
"name": "symfony/serializer",
"version": "v2.2.5",
"target-dir": "Symfony/Component/Serializer",
"source": {
"type": "git",
"url": "https://github.com/symfony/Serializer.git",
"reference": "v2.2.5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Serializer/zipball/v2.2.5",
"reference": "v2.2.5",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Serializer\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Serializer Component",
"homepage": "http://symfony.com",
"time": "2013-05-08 08:39:40"
},
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v2.2.5", "version": "v2.2.5",
@@ -1459,12 +1506,12 @@
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/Translation.git", "url": "https://github.com/symfony/Translation.git",
"reference": "v2.2.5" "reference": "32a1531e6298c037041ec82be95600e258938218"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/Translation/zipball/v2.2.5", "url": "https://api.github.com/repos/symfony/Translation/zipball/32a1531e6298c037041ec82be95600e258938218",
"reference": "v2.2.5", "reference": "32a1531e6298c037041ec82be95600e258938218",
"shasum": "" "shasum": ""
}, },
"require": { "require": {