diff --git a/composer.json b/composer.json
index fa403f4a3949246f859854d190442eaadae4eb3a..1babd387ed25d70dea6ff0606de6a57076bcaf6a 100755
--- a/composer.json
+++ b/composer.json
@@ -11,10 +11,10 @@
"unicaen/unicaen-app": "dev-trunk",
"unicaen/unicaen-auth": "dev-trunk",
"unicaen/unicaen-ldap": "dev-trunk",
- "zendframework/zend-code": "2.2.6"
+ "zendframework/zend-code": ">=2.3"
},
"require-dev": {
- "zendframework/zend-test": "2.2.6",
+ "zendframework/zend-test": ">=2.3",
"phpunit/PHPUnit": ">=3.7"
}
}
\ No newline at end of file
diff --git a/composer.lock b/composer.lock
index d564ae324235466b5c2fc4a7797543ed8b079ff2..2f35c1c4fb72d126c3caeef55da210357ee4fd21 100644
--- a/composer.lock
+++ b/composer.lock
@@ -3,7 +3,7 @@
"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"
],
- "hash": "2342a379f33392f4144db609c0df708b",
+ "hash": "c4b1706ae7945df7afa01fe214591cda",
"packages": [
{
"name": "bjyoungblood/bjy-authorize",
@@ -701,7 +701,7 @@
{
"name": "Johannes Schmitt",
"email": "schmittjoh@gmail.com",
- "homepage": "http://jmsyst.com",
+ "homepage": "https://github.com/schmittjoh",
"role": "Developer of wrapped JMSSerializerBundle"
}
],
@@ -1072,32 +1072,32 @@
"source": {
"type": "svn",
"url": "https://svn.unicaen.fr/svn/UnicaenApp",
- "reference": "/trunk/@438"
+ "reference": "/trunk/@441"
},
"require": {
"doctrine/doctrine-orm-module": ">=0.7",
"php": ">=5.3.3",
"rwoverdijk/assetmanager": ">=1.3",
- "zendframework/zend-config": "2.2.*",
- "zendframework/zend-console": "2.2.*",
- "zendframework/zend-eventmanager": "2.2.*",
- "zendframework/zend-i18n": "2.2.*",
- "zendframework/zend-json": "2.2.*",
- "zendframework/zend-ldap": "2.2.*",
- "zendframework/zend-log": "2.2.*",
- "zendframework/zend-mail": "2.2.*",
- "zendframework/zend-mvc": "2.2.*",
- "zendframework/zend-navigation": "2.2.*",
- "zendframework/zend-serializer": "2.2.*",
- "zendframework/zend-servicemanager": "2.2.*",
- "zendframework/zend-session": "2.2.*",
- "zendframework/zend-version": "2.2.*",
- "zendframework/zend-view": "2.2.*"
+ "zendframework/zend-config": "2.3.*",
+ "zendframework/zend-console": "2.3.*",
+ "zendframework/zend-eventmanager": "2.3.*",
+ "zendframework/zend-i18n": "2.3.*",
+ "zendframework/zend-json": "2.3.*",
+ "zendframework/zend-ldap": "2.3.*",
+ "zendframework/zend-log": "2.3.*",
+ "zendframework/zend-mail": "2.3.*",
+ "zendframework/zend-mvc": "2.3.*",
+ "zendframework/zend-navigation": "2.3.*",
+ "zendframework/zend-serializer": "2.3.*",
+ "zendframework/zend-servicemanager": "2.3.*",
+ "zendframework/zend-session": "2.3.*",
+ "zendframework/zend-version": "2.3.*",
+ "zendframework/zend-view": "2.3.*"
},
"require-dev": {
"mpdf/mpdf": "v5.7.1",
"phpunit/phpunit": ">=3.7",
- "zendframework/zend-test": "2.2.*"
+ "zendframework/zend-test": "2.3.*"
},
"bin": [
"bin/deploy.sh",
@@ -1170,28 +1170,40 @@
},
{
"name": "zendframework/zend-authentication",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Authentication",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendAuthentication.git",
- "reference": "6151c1d70ed4bb364c113a2df60a7f711031e04a"
+ "reference": "13771a1738ebed55b9e9ed3f4c3871576a37d847"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendAuthentication/zipball/6151c1d70ed4bb364c113a2df60a7f711031e04a",
- "reference": "6151c1d70ed4bb364c113a2df60a7f711031e04a",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendAuthentication/zipball/13771a1738ebed55b9e9ed3f4c3871576a37d847",
+ "reference": "13771a1738ebed55b9e9ed3f4c3871576a37d847",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-crypt": "self.version",
+ "zendframework/zend-db": "self.version",
+ "zendframework/zend-http": "self.version",
+ "zendframework/zend-ldap": "self.version",
+ "zendframework/zend-session": "self.version",
+ "zendframework/zend-uri": "self.version",
+ "zendframework/zend-validator": "self.version"
+ },
"suggest": {
"zendframework/zend-crypt": "Zend\\Crypt component",
"zendframework/zend-db": "Zend\\Db component",
+ "zendframework/zend-http": "Zend\\Http component",
+ "zendframework/zend-ldap": "Zend\\Ldap component",
"zendframework/zend-session": "Zend\\Session component",
- "zendframework/zend-uri": "Zend\\Uri component"
+ "zendframework/zend-uri": "Zend\\Uri component",
+ "zendframework/zend-validator": "Zend\\Validator component"
},
"type": "library",
"extra": {
@@ -1214,31 +1226,32 @@
"Authentication",
"zf2"
],
- "time": "2014-01-04 13:00:06"
+ "time": "2014-03-14 16:20:28"
},
{
"name": "zendframework/zend-cache",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Cache",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendCache.git",
- "reference": "560355160f06cdc3ef549a7eef843af3bead7e39"
+ "reference": "00ab70f3bcbc9d9d2a925a1221410de8a941f3e8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendCache/zipball/560355160f06cdc3ef549a7eef843af3bead7e39",
- "reference": "560355160f06cdc3ef549a7eef843af3bead7e39",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendCache/zipball/00ab70f3bcbc9d9d2a925a1221410de8a941f3e8",
+ "reference": "00ab70f3bcbc9d9d2a925a1221410de8a941f3e8",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-eventmanager": "self.version",
"zendframework/zend-servicemanager": "self.version",
"zendframework/zend-stdlib": "self.version"
},
"require-dev": {
- "zendframework/zend-serializer": "self.version"
+ "zendframework/zend-serializer": "self.version",
+ "zendframework/zend-session": "self.version"
},
"suggest": {
"ext-apc": "APC >= 3.1.6 to use the APC storage adapter",
@@ -1269,32 +1282,34 @@
"cache",
"zf2"
],
- "time": "2014-03-03 23:00:17"
+ "time": "2014-03-14 16:20:37"
},
{
"name": "zendframework/zend-code",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Code",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendCode.git",
- "reference": "aaf820f205881563cc3c6708149e17364d1bb823"
+ "reference": "7eb108341ff6c9ec240764a11270f2d12934b733"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendCode/zipball/aaf820f205881563cc3c6708149e17364d1bb823",
- "reference": "aaf820f205881563cc3c6708149e17364d1bb823",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendCode/zipball/7eb108341ff6c9ec240764a11270f2d12934b733",
+ "reference": "7eb108341ff6c9ec240764a11270f2d12934b733",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-eventmanager": "self.version"
},
"require-dev": {
- "doctrine/common": ">=2.1"
+ "doctrine/common": ">=2.1",
+ "zendframework/zend-stdlib": "self.version"
},
"suggest": {
- "doctrine/common": "Doctrine\\Common >=2.1 for annotation features"
+ "doctrine/common": "Doctrine\\Common >=2.1 for annotation features",
+ "zendframework/zend-stdlib": "Zend\\Stdlib component"
},
"type": "library",
"extra": {
@@ -1317,28 +1332,36 @@
"code",
"zf2"
],
- "time": "2014-02-15 15:00:07"
+ "time": "2014-03-14 16:20:47"
},
{
"name": "zendframework/zend-config",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Config",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendConfig.git",
- "reference": "a31c3980cf7ec88418a931e9cf4ba21079f47a08"
+ "reference": "98ce618c4db60de1101cba39e9a1c2ef2c24f40f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendConfig/zipball/a31c3980cf7ec88418a931e9cf4ba21079f47a08",
- "reference": "a31c3980cf7ec88418a931e9cf4ba21079f47a08",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendConfig/zipball/98ce618c4db60de1101cba39e9a1c2ef2c24f40f",
+ "reference": "98ce618c4db60de1101cba39e9a1c2ef2c24f40f",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-filter": "self.version",
+ "zendframework/zend-i18n": "self.version",
+ "zendframework/zend-json": "self.version",
+ "zendframework/zend-servicemanager": "self.version"
+ },
"suggest": {
+ "zendframework/zend-filter": "Zend\\Filter component",
+ "zendframework/zend-i18n": "Zend\\I18n component",
"zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes",
"zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances"
},
@@ -1363,25 +1386,25 @@
"config",
"zf2"
],
- "time": "2014-01-02 18:00:10"
+ "time": "2014-03-14 16:20:50"
},
{
"name": "zendframework/zend-console",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Console",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendConsole.git",
- "reference": "63a60ec11930c6b1c6bab1b85cc1fb7aa9cf0ac8"
+ "reference": "4660d3efc0ac39c2f571d0971bc8545f404f38ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendConsole/zipball/63a60ec11930c6b1c6bab1b85cc1fb7aa9cf0ac8",
- "reference": "63a60ec11930c6b1c6bab1b85cc1fb7aa9cf0ac8",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendConsole/zipball/4660d3efc0ac39c2f571d0971bc8545f404f38ad",
+ "reference": "4660d3efc0ac39c2f571d0971bc8545f404f38ad",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
"type": "library",
@@ -1404,25 +1427,25 @@
"console",
"zf2"
],
- "time": "2014-01-02 18:00:10"
+ "time": "2014-03-12 17:04:32"
},
{
"name": "zendframework/zend-crypt",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Crypt",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendCrypt.git",
- "reference": "72cbd425ff6f8f452f9ed1ca403a5bd66ba4a0b6"
+ "reference": "ba5becb5adcbcf66c95480f179536b96878133d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendCrypt/zipball/72cbd425ff6f8f452f9ed1ca403a5bd66ba4a0b6",
- "reference": "72cbd425ff6f8f452f9ed1ca403a5bd66ba4a0b6",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendCrypt/zipball/ba5becb5adcbcf66c95480f179536b96878133d5",
+ "reference": "ba5becb5adcbcf66c95480f179536b96878133d5",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-math": "self.version",
"zendframework/zend-servicemanager": "self.version",
"zendframework/zend-stdlib": "self.version"
@@ -1447,7 +1470,7 @@
"crypt",
"zf2"
],
- "time": "2014-03-03 19:00:05"
+ "time": "2014-03-12 17:04:21"
},
{
"name": "zendframework/zend-db",
@@ -1501,21 +1524,21 @@
},
{
"name": "zendframework/zend-escaper",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Escaper",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendEscaper.git",
- "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f"
+ "reference": "ec2614db2ea860c5765a0adba687eacb365ad355"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f",
- "reference": "80abc4bc1f48b9fe8ed603aaa9eebd6e6f30fd0f",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendEscaper/zipball/ec2614db2ea860c5765a0adba687eacb365ad355",
+ "reference": "ec2614db2ea860c5765a0adba687eacb365ad355",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.23"
},
"type": "library",
"extra": {
@@ -1537,25 +1560,25 @@
"escaper",
"zf2"
],
- "time": "2014-01-04 13:00:13"
+ "time": "2014-03-14 16:21:02"
},
{
"name": "zendframework/zend-eventmanager",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/EventManager",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendEventManager.git",
- "reference": "89368704bb37303fba64c3ddd6bce0506aa7187c"
+ "reference": "048164ee81854942667ffdda3030ce06caa79bb5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendEventManager/zipball/89368704bb37303fba64c3ddd6bce0506aa7187c",
- "reference": "89368704bb37303fba64c3ddd6bce0506aa7187c",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendEventManager/zipball/048164ee81854942667ffdda3030ce06caa79bb5",
+ "reference": "048164ee81854942667ffdda3030ce06caa79bb5",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
"type": "library",
@@ -1578,35 +1601,37 @@
"eventmanager",
"zf2"
],
- "time": "2014-01-04 13:00:14"
+ "time": "2014-03-14 16:21:05"
},
{
"name": "zendframework/zend-filter",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Filter",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendFilter.git",
- "reference": "8ceece474b29d079e86976dbd3efffe6064b3d72"
+ "reference": "95e05d19a6941f93546103af1964995213994a8b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendFilter/zipball/8ceece474b29d079e86976dbd3efffe6064b3d72",
- "reference": "8ceece474b29d079e86976dbd3efffe6064b3d72",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendFilter/zipball/95e05d19a6941f93546103af1964995213994a8b",
+ "reference": "95e05d19a6941f93546103af1964995213994a8b",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
"require-dev": {
- "zendframework/zend-crypt": "self.version"
+ "zendframework/zend-crypt": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-uri": "self.version"
},
"suggest": {
"zendframework/zend-crypt": "Zend\\Crypt component",
"zendframework/zend-i18n": "Zend\\I18n component",
- "zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter",
- "zendframework/zend-validator": "Zend\\Validator component"
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
+ "zendframework/zend-uri": "Zend\\Uri component for UriNormalize filter"
},
"type": "library",
"extra": {
@@ -1629,32 +1654,48 @@
"filter",
"zf2"
],
- "time": "2014-03-03 21:00:06"
+ "time": "2014-03-14 16:21:18"
},
{
"name": "zendframework/zend-form",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Form",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendForm.git",
- "reference": "52fb1b8172b59a460b5d38467477179df188af11"
+ "reference": "d54d13514b645d415fac470ed38388a236928663"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendForm/zipball/52fb1b8172b59a460b5d38467477179df188af11",
- "reference": "52fb1b8172b59a460b5d38467477179df188af11",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendForm/zipball/d54d13514b645d415fac470ed38388a236928663",
+ "reference": "d54d13514b645d415fac470ed38388a236928663",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-inputfilter": "self.version",
"zendframework/zend-stdlib": "self.version"
},
"require-dev": {
+ "zendframework/zend-captcha": "self.version",
+ "zendframework/zend-code": "self.version",
+ "zendframework/zend-eventmanager": "self.version",
+ "zendframework/zend-filter": "self.version",
+ "zendframework/zend-i18n": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-validator": "self.version",
+ "zendframework/zend-view": "self.version",
"zendframework/zendservice-recaptcha": "*"
},
"suggest": {
+ "zendframework/zend-captcha": "Zend\\Captcha component",
+ "zendframework/zend-code": "Zend\\Code component",
+ "zendframework/zend-eventmanager": "Zend\\EventManager component",
+ "zendframework/zend-filter": "Zend\\Filter component",
+ "zendframework/zend-i18n": "Zend\\I18n component",
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
+ "zendframework/zend-validator": "Zend\\Validator component",
+ "zendframework/zend-view": "Zend\\View component",
"zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component"
},
"type": "library",
@@ -1677,25 +1718,25 @@
"form",
"zf2"
],
- "time": "2014-03-05 16:00:08"
+ "time": "2014-03-12 17:04:13"
},
{
"name": "zendframework/zend-http",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Http",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendHttp.git",
- "reference": "b91bea1d5972da19169dc2d546a45a8208df00b3"
+ "reference": "6d4314b1e3309071f3ab958186911296d70fe5fe"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendHttp/zipball/b91bea1d5972da19169dc2d546a45a8208df00b3",
- "reference": "b91bea1d5972da19169dc2d546a45a8208df00b3",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendHttp/zipball/6d4314b1e3309071f3ab958186911296d70fe5fe",
+ "reference": "6d4314b1e3309071f3ab958186911296d70fe5fe",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-loader": "self.version",
"zendframework/zend-stdlib": "self.version",
"zendframework/zend-uri": "self.version",
@@ -1722,32 +1763,44 @@
"http",
"zf2"
],
- "time": "2014-03-05 21:00:05"
+ "time": "2014-03-14 16:21:21"
},
{
"name": "zendframework/zend-i18n",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/I18n",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendI18n.git",
- "reference": "10f56e0869761d62699782e4dd04eb77262cc353"
+ "reference": "d90492e9771917392404ac0d53f09582d6462ec3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendI18n/zipball/10f56e0869761d62699782e4dd04eb77262cc353",
- "reference": "10f56e0869761d62699782e4dd04eb77262cc353",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendI18n/zipball/d90492e9771917392404ac0d53f09582d6462ec3",
+ "reference": "d90492e9771917392404ac0d53f09582d6462ec3",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-cache": "self.version",
+ "zendframework/zend-config": "self.version",
+ "zendframework/zend-eventmanager": "self.version",
+ "zendframework/zend-filter": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-validator": "self.version",
+ "zendframework/zend-view": "self.version"
+ },
"suggest": {
"ext-intl": "Required for most features of Zend\\I18n; included in default builds of PHP",
+ "zendframework/zend-cache": "Zend\\Cache component",
+ "zendframework/zend-config": "Zend\\Config component",
"zendframework/zend-eventmanager": "You should install this package to use the events in the translator",
"zendframework/zend-filter": "You should install this package to use the provided filters",
"zendframework/zend-resources": "Translation resources",
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
"zendframework/zend-validator": "You should install this package to use the provided validators",
"zendframework/zend-view": "You should install this package to use the provided view helpers"
},
@@ -1771,29 +1824,32 @@
"i18n",
"zf2"
],
- "time": "2014-01-04 13:00:19"
+ "time": "2014-03-14 16:21:23"
},
{
"name": "zendframework/zend-inputfilter",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/InputFilter",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendInputFilter.git",
- "reference": "b6825ee38a013dd0f19da770d96c020489a19bff"
+ "reference": "34a778412b77828830489e2d7c9efab44bbcedea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendInputFilter/zipball/b6825ee38a013dd0f19da770d96c020489a19bff",
- "reference": "b6825ee38a013dd0f19da770d96c020489a19bff",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendInputFilter/zipball/34a778412b77828830489e2d7c9efab44bbcedea",
+ "reference": "34a778412b77828830489e2d7c9efab44bbcedea",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-filter": "self.version",
"zendframework/zend-stdlib": "self.version",
"zendframework/zend-validator": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-servicemanager": "self.version"
+ },
"suggest": {
"zendframework/zend-servicemanager": "To support plugin manager support"
},
@@ -1817,28 +1873,33 @@
"inputfilter",
"zf2"
],
- "time": "2014-03-04 15:00:12"
+ "time": "2014-03-14 16:21:25"
},
{
"name": "zendframework/zend-json",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Json",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendJson.git",
- "reference": "dd8a8239a7c08c7449a6ea219da3e2369bd90d92"
+ "reference": "eedf099fb5cfc0a5735ee4e3a2fbed9fadedca6e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendJson/zipball/dd8a8239a7c08c7449a6ea219da3e2369bd90d92",
- "reference": "dd8a8239a7c08c7449a6ea219da3e2369bd90d92",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendJson/zipball/eedf099fb5cfc0a5735ee4e3a2fbed9fadedca6e",
+ "reference": "eedf099fb5cfc0a5735ee4e3a2fbed9fadedca6e",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-http": "self.version",
+ "zendframework/zend-server": "self.version"
+ },
"suggest": {
+ "zendframework/zend-http": "Zend\\Http component",
"zendframework/zend-server": "Zend\\Server component"
},
"type": "library",
@@ -1862,27 +1923,33 @@
"json",
"zf2"
],
- "time": "2014-03-06 18:00:05"
+ "time": "2014-03-12 17:04:14"
},
{
"name": "zendframework/zend-ldap",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Ldap",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendLdap.git",
- "reference": "62d38b5e72ab4c528a40254112c8f47bb4864546"
+ "reference": "348cee27fa952bdfbb186727355f5b29cf7bec6d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendLdap/zipball/62d38b5e72ab4c528a40254112c8f47bb4864546",
- "reference": "62d38b5e72ab4c528a40254112c8f47bb4864546",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendLdap/zipball/348cee27fa952bdfbb186727355f5b29cf7bec6d",
+ "reference": "348cee27fa952bdfbb186727355f5b29cf7bec6d",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-eventmanager": "self.version"
+ },
+ "suggest": {
+ "zendframework/zend-eventmanager": "Zend\\EventManager component"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -1904,25 +1971,25 @@
"ldap",
"zf2"
],
- "time": "2014-01-04 13:00:21"
+ "time": "2014-03-14 16:21:28"
},
{
"name": "zendframework/zend-loader",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Loader",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendLoader.git",
- "reference": "27a9f770630839e36cd5705f3661b5ef9abf8793"
+ "reference": "517f39de5c547d438556e86c270b384c9dee5b18"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendLoader/zipball/27a9f770630839e36cd5705f3661b5ef9abf8793",
- "reference": "27a9f770630839e36cd5705f3661b5ef9abf8793",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendLoader/zipball/517f39de5c547d438556e86c270b384c9dee5b18",
+ "reference": "517f39de5c547d438556e86c270b384c9dee5b18",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.23"
},
"type": "library",
"extra": {
@@ -1944,30 +2011,38 @@
"loader",
"zf2"
],
- "time": "2014-03-06 18:00:07"
+ "time": "2014-03-14 16:21:32"
},
{
"name": "zendframework/zend-log",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Log",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendLog.git",
- "reference": "e419a2d9b9c89a6dd2009b1cfe86de4da65cc7b0"
+ "reference": "a7fe7d3a171d9d60397452eb80a93a1f450e409a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendLog/zipball/e419a2d9b9c89a6dd2009b1cfe86de4da65cc7b0",
- "reference": "e419a2d9b9c89a6dd2009b1cfe86de4da65cc7b0",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendLog/zipball/a7fe7d3a171d9d60397452eb80a93a1f450e409a",
+ "reference": "a7fe7d3a171d9d60397452eb80a93a1f450e409a",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-servicemanager": "self.version",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-console": "self.version",
+ "zendframework/zend-db": "self.version",
+ "zendframework/zend-escaper": "self.version",
+ "zendframework/zend-mail": "self.version",
+ "zendframework/zend-validator": "self.version"
+ },
"suggest": {
"ext-mongo": "*",
+ "zendframework/zend-console": "Zend\\Console component",
"zendframework/zend-db": "Zend\\Db component",
"zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter",
"zendframework/zend-mail": "Zend\\Mail component",
@@ -1995,30 +2070,34 @@
"logging",
"zf2"
],
- "time": "2014-03-04 15:00:10"
+ "time": "2014-03-14 16:21:36"
},
{
"name": "zendframework/zend-mail",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Mail",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendMail.git",
- "reference": "80c8bccb70bad79b1a4f3f8b42a96bd90f065290"
+ "reference": "91373a2c7d3db5055467ac88f1981dea74cf3d34"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendMail/zipball/80c8bccb70bad79b1a4f3f8b42a96bd90f065290",
- "reference": "80c8bccb70bad79b1a4f3f8b42a96bd90f065290",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendMail/zipball/91373a2c7d3db5055467ac88f1981dea74cf3d34",
+ "reference": "91373a2c7d3db5055467ac88f1981dea74cf3d34",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-crypt": "self.version",
"zendframework/zend-loader": "self.version",
"zendframework/zend-mime": "self.version",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-validator": "self.version"
+ },
"suggest": {
"zendframework/zend-servicemanager": "Zend\\ServiceManager component",
"zendframework/zend-validator": "Zend\\Validator component"
@@ -2044,25 +2123,25 @@
"mail",
"zf2"
],
- "time": "2014-01-02 19:00:03"
+ "time": "2014-03-14 16:21:39"
},
{
"name": "zendframework/zend-math",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Math",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendMath.git",
- "reference": "b982ee2edafd4075b22372596ab2e2fdd0f6424e"
+ "reference": "156c107436b43c9bc8679adf6b7af08cf6bd10ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendMath/zipball/b982ee2edafd4075b22372596ab2e2fdd0f6424e",
- "reference": "b982ee2edafd4075b22372596ab2e2fdd0f6424e",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendMath/zipball/156c107436b43c9bc8679adf6b7af08cf6bd10ce",
+ "reference": "156c107436b43c9bc8679adf6b7af08cf6bd10ce",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.23"
},
"suggest": {
"ext-bcmath": "If using the bcmath functionality",
@@ -2090,27 +2169,33 @@
"math",
"zf2"
],
- "time": "2014-03-05 18:00:06"
+ "time": "2014-03-14 16:21:41"
},
{
"name": "zendframework/zend-mime",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Mime",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendMime.git",
- "reference": "35ae58792d036828122a168f2e3fc5bd9f3f38c2"
+ "reference": "0b1827dfb281b718bcbcf9b3d13db13855983740"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendMime/zipball/35ae58792d036828122a168f2e3fc5bd9f3f38c2",
- "reference": "35ae58792d036828122a168f2e3fc5bd9f3f38c2",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendMime/zipball/0b1827dfb281b718bcbcf9b3d13db13855983740",
+ "reference": "0b1827dfb281b718bcbcf9b3d13db13855983740",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-mail": "self.version"
+ },
+ "suggest": {
+ "zendframework/zend-mail": "Zend\\Mail component"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -2131,31 +2216,40 @@
"mime",
"zf2"
],
- "time": "2014-03-03 23:00:16"
+ "time": "2014-03-14 16:21:47"
},
{
"name": "zendframework/zend-modulemanager",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/ModuleManager",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendModuleManager.git",
- "reference": "cae3f622f476428ddfaf7eb1a74e413b2faa7c9c"
+ "reference": "954012707a639eb91f32b89173f5c1c413623072"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendModuleManager/zipball/cae3f622f476428ddfaf7eb1a74e413b2faa7c9c",
- "reference": "cae3f622f476428ddfaf7eb1a74e413b2faa7c9c",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendModuleManager/zipball/954012707a639eb91f32b89173f5c1c413623072",
+ "reference": "954012707a639eb91f32b89173f5c1c413623072",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-eventmanager": "self.version",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-config": "self.version",
+ "zendframework/zend-console": "self.version",
+ "zendframework/zend-loader": "self.version",
+ "zendframework/zend-mvc": "self.version",
+ "zendframework/zend-servicemanager": "self.version"
+ },
"suggest": {
"zendframework/zend-config": "Zend\\Config component",
+ "zendframework/zend-console": "Zend\\Console component",
"zendframework/zend-loader": "Zend\\Loader component",
+ "zendframework/zend-mvc": "Zend\\Mvc component",
"zendframework/zend-servicemanager": "Zend\\ServiceManager component"
},
"type": "library",
@@ -2178,29 +2272,48 @@
"modulemanager",
"zf2"
],
- "time": "2014-01-02 18:00:23"
+ "time": "2014-03-12 17:04:28"
},
{
"name": "zendframework/zend-mvc",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Mvc",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendMvc.git",
- "reference": "4e46a074b10c3eccae7b5a9ba14aa9b9e57c1635"
+ "reference": "9171841f8b2cdb914dba972878ec78b9885352d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendMvc/zipball/4e46a074b10c3eccae7b5a9ba14aa9b9e57c1635",
- "reference": "4e46a074b10c3eccae7b5a9ba14aa9b9e57c1635",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendMvc/zipball/9171841f8b2cdb914dba972878ec78b9885352d0",
+ "reference": "9171841f8b2cdb914dba972878ec78b9885352d0",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-eventmanager": "self.version",
"zendframework/zend-servicemanager": "self.version",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-authentication": "self.version",
+ "zendframework/zend-console": "self.version",
+ "zendframework/zend-di": "self.version",
+ "zendframework/zend-filter": "self.version",
+ "zendframework/zend-form": "self.version",
+ "zendframework/zend-http": "self.version",
+ "zendframework/zend-i18n": "self.version",
+ "zendframework/zend-inputfilter": "self.version",
+ "zendframework/zend-json": "self.version",
+ "zendframework/zend-modulemanager": "self.version",
+ "zendframework/zend-serializer": "self.version",
+ "zendframework/zend-session": "self.version",
+ "zendframework/zend-text": "self.version",
+ "zendframework/zend-uri": "self.version",
+ "zendframework/zend-validator": "self.version",
+ "zendframework/zend-version": "self.version",
+ "zendframework/zend-view": "self.version"
+ },
"suggest": {
"zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin",
"zendframework/zend-config": "Zend\\Config component",
@@ -2211,6 +2324,7 @@
"zendframework/zend-http": "Zend\\Http component",
"zendframework/zend-i18n": "Zend\\I18n component for translatable segments",
"zendframework/zend-inputfilter": "Zend\\Inputfilter component",
+ "zendframework/zend-json": "Zend\\Json component",
"zendframework/zend-modulemanager": "Zend\\ModuleManager component",
"zendframework/zend-serializer": "Zend\\Serializer component",
"zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins",
@@ -2218,6 +2332,7 @@
"zendframework/zend-text": "Zend\\Text component",
"zendframework/zend-uri": "Zend\\Uri component",
"zendframework/zend-validator": "Zend\\Validator component",
+ "zendframework/zend-version": "Zend\\Version component",
"zendframework/zend-view": "Zend\\View component"
},
"type": "library",
@@ -2240,30 +2355,39 @@
"mvc",
"zf2"
],
- "time": "2014-03-04 00:00:04"
+ "time": "2014-03-12 17:04:30"
},
{
"name": "zendframework/zend-navigation",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Navigation",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendNavigation.git",
- "reference": "e97819185f0fa07a2b42df2e2976f8c7e05e02de"
+ "reference": "cdd96824ec6e611d077950369827f605d2241db2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendNavigation/zipball/e97819185f0fa07a2b42df2e2976f8c7e05e02de",
- "reference": "e97819185f0fa07a2b42df2e2976f8c7e05e02de",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendNavigation/zipball/cdd96824ec6e611d077950369827f605d2241db2",
+ "reference": "cdd96824ec6e611d077950369827f605d2241db2",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-config": "self.version",
+ "zendframework/zend-mvc": "self.version",
+ "zendframework/zend-permissions-acl": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-view": "self.version"
+ },
"suggest": {
"zendframework/zend-config": "Zend\\Config component",
"zendframework/zend-mvc": "Zend\\Mvc component",
+ "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component",
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
"zendframework/zend-view": "Zend\\View component"
},
"type": "library",
@@ -2287,29 +2411,42 @@
"navigation",
"zf2"
],
- "time": "2014-01-02 18:00:24"
+ "time": "2014-03-14 16:21:49"
},
{
"name": "zendframework/zend-paginator",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Paginator",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendPaginator.git",
- "reference": "7ff21d9e4ffd83c6f1d66f08c8ab5960883f3eb8"
+ "reference": "aec346c8de27300024c7b3b43b6a3e9bc0aeccb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendPaginator/zipball/7ff21d9e4ffd83c6f1d66f08c8ab5960883f3eb8",
- "reference": "7ff21d9e4ffd83c6f1d66f08c8ab5960883f3eb8",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendPaginator/zipball/aec346c8de27300024c7b3b43b6a3e9bc0aeccb0",
+ "reference": "aec346c8de27300024c7b3b43b6a3e9bc0aeccb0",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-cache": "self.version",
+ "zendframework/zend-db": "self.version",
+ "zendframework/zend-filter": "self.version",
+ "zendframework/zend-json": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-view": "self.version"
+ },
"suggest": {
- "zendframework/zend-cache": "To support cache feature"
+ "zendframework/zend-cache": "Zend\\Cache component to support cache features",
+ "zendframework/zend-db": "Zend\\Db component",
+ "zendframework/zend-filter": "Zend\\Filter component",
+ "zendframework/zend-json": "Zend\\Json component",
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
+ "zendframework/zend-view": "Zend\\View component"
},
"type": "library",
"extra": {
@@ -2331,7 +2468,7 @@
"paginator",
"zf2"
],
- "time": "2014-01-04 13:00:24"
+ "time": "2014-03-14 16:21:52"
},
{
"name": "zendframework/zend-permissions-acl",
@@ -2376,25 +2513,28 @@
},
{
"name": "zendframework/zend-serializer",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Serializer",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendSerializer.git",
- "reference": "d76b931d3ffa842a496c9fa319bbe285b5ddfade"
+ "reference": "e858221feb705396b47b60123661df3e9fb9e1d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendSerializer/zipball/d76b931d3ffa842a496c9fa319bbe285b5ddfade",
- "reference": "d76b931d3ffa842a496c9fa319bbe285b5ddfade",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendSerializer/zipball/e858221feb705396b47b60123661df3e9fb9e1d4",
+ "reference": "e858221feb705396b47b60123661df3e9fb9e1d4",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-json": "self.version",
"zendframework/zend-math": "self.version",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-servicemanager": "self.version"
+ },
"suggest": {
"zendframework/zend-servicemanager": "To support plugin manager support"
},
@@ -2419,25 +2559,28 @@
"serializer",
"zf2"
],
- "time": "2014-01-02 18:00:26"
+ "time": "2014-03-14 16:22:09"
},
{
"name": "zendframework/zend-servicemanager",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/ServiceManager",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendServiceManager.git",
- "reference": "de182a20dfdcf978c49570514103c7477ef16e4f"
+ "reference": "310187f89fe830ed4484499f78338631f29d25c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendServiceManager/zipball/de182a20dfdcf978c49570514103c7477ef16e4f",
- "reference": "de182a20dfdcf978c49570514103c7477ef16e4f",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendServiceManager/zipball/310187f89fe830ed4484499f78338631f29d25c7",
+ "reference": "310187f89fe830ed4484499f78338631f29d25c7",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.23"
+ },
+ "require-dev": {
+ "zendframework/zend-di": "self.version"
},
"suggest": {
"zendframework/zend-di": "Zend\\Di component"
@@ -2462,29 +2605,40 @@
"servicemanager",
"zf2"
],
- "time": "2014-03-03 21:00:04"
+ "time": "2014-03-14 16:22:14"
},
{
"name": "zendframework/zend-session",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Session",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendSession.git",
- "reference": "39fbad1f3b72f9ba86a218bc7b6e04dc72d800bf"
+ "reference": "6a1866b3ef74e4db2008adb5b3d7e2cb2e618d3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendSession/zipball/39fbad1f3b72f9ba86a218bc7b6e04dc72d800bf",
- "reference": "39fbad1f3b72f9ba86a218bc7b6e04dc72d800bf",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendSession/zipball/6a1866b3ef74e4db2008adb5b3d7e2cb2e618d3b",
+ "reference": "6a1866b3ef74e4db2008adb5b3d7e2cb2e618d3b",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-cache": "self.version",
+ "zendframework/zend-db": "self.version",
+ "zendframework/zend-eventmanager": "self.version",
+ "zendframework/zend-http": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-validator": "self.version"
+ },
"suggest": {
+ "zendframework/zend-cache": "Zend\\Cache component",
+ "zendframework/zend-db": "Zend\\Db component",
"zendframework/zend-eventmanager": "Zend\\EventManager component",
+ "zendframework/zend-http": "Zend\\Http component",
"zendframework/zend-servicemanager": "Zend\\ServiceManager component",
"zendframework/zend-validator": "Zend\\Validator component"
},
@@ -2509,28 +2663,34 @@
"session",
"zf2"
],
- "time": "2014-01-04 13:00:26"
+ "time": "2014-03-14 16:22:16"
},
{
"name": "zendframework/zend-stdlib",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Stdlib",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendStdlib.git",
- "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5"
+ "reference": "d1c481b8a43f2f079b16d3567960ba539e9dacaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/e646729f2274f4552b6a92e38d8e458efe08ebc5",
- "reference": "e646729f2274f4552b6a92e38d8e458efe08ebc5",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendStdlib/zipball/d1c481b8a43f2f079b16d3567960ba539e9dacaa",
+ "reference": "d1c481b8a43f2f079b16d3567960ba539e9dacaa",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.23"
+ },
+ "require-dev": {
+ "zendframework/zend-eventmanager": "self.version",
+ "zendframework/zend-serializer": "self.version",
+ "zendframework/zend-servicemanager": "self.version"
},
"suggest": {
"zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+ "zendframework/zend-serializer": "Zend\\Serializer component",
"zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
},
"type": "library",
@@ -2553,25 +2713,25 @@
"stdlib",
"zf2"
],
- "time": "2014-01-04 13:00:28"
+ "time": "2014-03-14 16:22:22"
},
{
"name": "zendframework/zend-uri",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Uri",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendUri.git",
- "reference": "34bedeea8e58aab8c047df1bbe71a39949ad3813"
+ "reference": "83e617b6273625eeb771c8fb3e886a728fd9dfa4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendUri/zipball/34bedeea8e58aab8c047df1bbe71a39949ad3813",
- "reference": "34bedeea8e58aab8c047df1bbe71a39949ad3813",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendUri/zipball/83e617b6273625eeb771c8fb3e886a728fd9dfa4",
+ "reference": "83e617b6273625eeb771c8fb3e886a728fd9dfa4",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-escaper": "self.version",
"zendframework/zend-validator": "self.version"
},
@@ -2596,32 +2756,35 @@
"uri",
"zf2"
],
- "time": "2014-03-04 08:00:05"
+ "time": "2014-03-14 16:22:34"
},
{
"name": "zendframework/zend-validator",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Validator",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendValidator.git",
- "reference": "45ba4e595ec15f4b80b04a04db2feb7e22bfda32"
+ "reference": "1d4526a1f7db36d725a3a526d8951c1a6d0d69b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendValidator/zipball/45ba4e595ec15f4b80b04a04db2feb7e22bfda32",
- "reference": "45ba4e595ec15f4b80b04a04db2feb7e22bfda32",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendValidator/zipball/1d4526a1f7db36d725a3a526d8951c1a6d0d69b3",
+ "reference": "1d4526a1f7db36d725a3a526d8951c1a6d0d69b3",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-stdlib": "self.version"
},
"require-dev": {
+ "zendframework/zend-db": "self.version",
"zendframework/zend-filter": "self.version",
"zendframework/zend-i18n": "self.version",
"zendframework/zend-math": "self.version",
- "zendframework/zend-servicemanager": "self.version"
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-session": "self.version",
+ "zendframework/zend-uri": "self.version"
},
"suggest": {
"zendframework/zend-db": "Zend\\Db component",
@@ -2630,6 +2793,7 @@
"zendframework/zend-math": "Zend\\Math component",
"zendframework/zend-resources": "Translations of validator messages",
"zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
+ "zendframework/zend-session": "Zend\\Session component",
"zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators"
},
"type": "library",
@@ -2653,25 +2817,26 @@
"validator",
"zf2"
],
- "time": "2014-03-03 23:00:13"
+ "time": "2014-03-14 16:22:37"
},
{
"name": "zendframework/zend-version",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Version",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendVersion.git",
- "reference": "b214e6a0d5f8c76b3c31017fd69105bcc11af418"
+ "reference": "3c399cc44790e52234a4966e1b5a82af978549e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendVersion/zipball/b214e6a0d5f8c76b3c31017fd69105bcc11af418",
- "reference": "b214e6a0d5f8c76b3c31017fd69105bcc11af418",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendVersion/zipball/3c399cc44790e52234a4966e1b5a82af978549e7",
+ "reference": "3c399cc44790e52234a4966e1b5a82af978549e7",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
+ "php": ">=5.3.23",
+ "zendframework/zend-json": "self.version"
},
"suggest": {
"zendframework/zend-json": "To check latest version hosted in GitHub"
@@ -2696,32 +2861,58 @@
"version",
"zf2"
],
- "time": "2014-03-06 18:00:08"
+ "time": "2014-03-12 17:04:32"
},
{
"name": "zendframework/zend-view",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/View",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendView.git",
- "reference": "3d5977f5e253c830e2b7291e5fece5baed951fd9"
+ "reference": "470468485d3dda6db131905f4e3fcce8f6361ac1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendView/zipball/3d5977f5e253c830e2b7291e5fece5baed951fd9",
- "reference": "3d5977f5e253c830e2b7291e5fece5baed951fd9",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendView/zipball/470468485d3dda6db131905f4e3fcce8f6361ac1",
+ "reference": "470468485d3dda6db131905f4e3fcce8f6361ac1",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"zendframework/zend-eventmanager": "self.version",
"zendframework/zend-loader": "self.version",
"zendframework/zend-stdlib": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-authentication": "self.version",
+ "zendframework/zend-escaper": "self.version",
+ "zendframework/zend-feed": "self.version",
+ "zendframework/zend-filter": "self.version",
+ "zendframework/zend-http": "self.version",
+ "zendframework/zend-i18n": "self.version",
+ "zendframework/zend-json": "self.version",
+ "zendframework/zend-mvc": "self.version",
+ "zendframework/zend-navigation": "self.version",
+ "zendframework/zend-paginator": "self.version",
+ "zendframework/zend-permissions-acl": "self.version",
+ "zendframework/zend-servicemanager": "self.version",
+ "zendframework/zend-uri": "self.version"
+ },
"suggest": {
+ "zendframework/zend-authentication": "Zend\\Authentication component",
+ "zendframework/zend-escaper": "Zend\\Escaper component",
+ "zendframework/zend-feed": "Zend\\Feed component",
"zendframework/zend-filter": "Zend\\Filter component",
- "zendframework/zend-servicemanager": "2.2.6"
+ "zendframework/zend-http": "Zend\\Http component",
+ "zendframework/zend-i18n": "Zend\\I18n component",
+ "zendframework/zend-json": "Zend\\Json component",
+ "zendframework/zend-mvc": "Zend\\Mvc component",
+ "zendframework/zend-navigation": "Zend\\Navigation component",
+ "zendframework/zend-paginator": "Zend\\Paginator component",
+ "zendframework/zend-permissions-acl": "Zend\\Permissions\\Acl component",
+ "zendframework/zend-servicemanager": "Zend\\ServiceManager component",
+ "zendframework/zend-uri": "Zend\\Uri component"
},
"type": "library",
"extra": {
@@ -2744,7 +2935,7 @@
"view",
"zf2"
],
- "time": "2014-01-04 13:00:31"
+ "time": "2014-03-14 16:22:39"
},
{
"name": "zf-commons/zfc-base",
@@ -3328,22 +3519,21 @@
},
{
"name": "zendframework/zend-dom",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Dom",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendDom.git",
- "reference": "cc21e09cf61264a554b7c118e0891054def51201"
+ "reference": "91b6afe87aeb8a67e4294e82d453e0b00c98552e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendDom/zipball/cc21e09cf61264a554b7c118e0891054def51201",
- "reference": "cc21e09cf61264a554b7c118e0891054def51201",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendDom/zipball/91b6afe87aeb8a67e4294e82d453e0b00c98552e",
+ "reference": "91b6afe87aeb8a67e4294e82d453e0b00c98552e",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
- "zendframework/zend-stdlib": "self.version"
+ "php": ">=5.3.23"
},
"type": "library",
"extra": {
@@ -3366,25 +3556,25 @@
"dom",
"zf2"
],
- "time": "2014-01-02 18:00:13"
+ "time": "2014-03-14 16:20:59"
},
{
"name": "zendframework/zend-test",
- "version": "2.2.6",
+ "version": "2.3.0",
"target-dir": "Zend/Test",
"source": {
"type": "git",
"url": "https://github.com/zendframework/Component_ZendTest.git",
- "reference": "29f184943bed4f822130f470c8e19fea0830916d"
+ "reference": "46ef619ba9858e3431ecb3e718980afea3cc4d55"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/Component_ZendTest/zipball/29f184943bed4f822130f470c8e19fea0830916d",
- "reference": "29f184943bed4f822130f470c8e19fea0830916d",
+ "url": "https://api.github.com/repos/zendframework/Component_ZendTest/zipball/46ef619ba9858e3431ecb3e718980afea3cc4d55",
+ "reference": "46ef619ba9858e3431ecb3e718980afea3cc4d55",
"shasum": ""
},
"require": {
- "php": ">=5.3.3",
+ "php": ">=5.3.23",
"phpunit/phpunit": "3.7.*",
"zendframework/zend-console": "self.version",
"zendframework/zend-dom": "self.version",
@@ -3396,6 +3586,12 @@
"zendframework/zend-uri": "self.version",
"zendframework/zend-view": "self.version"
},
+ "require-dev": {
+ "zendframework/zend-console": "self.version"
+ },
+ "suggest": {
+ "zendframework/zend-console": "Zend\\Console component"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -3416,7 +3612,7 @@
"test",
"zf2"
],
- "time": "2014-03-04 09:00:04"
+ "time": "2014-03-14 16:22:30"
}
],
"aliases": [
diff --git a/module/Application/config/volume_horaire.config.php b/module/Application/config/volume_horaire.config.php
index 94d2259ee76a3b561d25f2e2fbffb6fa5a08f456..9cf00ed9ad30359cf51936cf2fda07b6129d3302 100644
--- a/module/Application/config/volume_horaire.config.php
+++ b/module/Application/config/volume_horaire.config.php
@@ -93,11 +93,9 @@ return array(
)
),
'view_helpers' => array(
- 'factories' => array(
- 'volumeHoraireListe' => 'Application\View\Helper\VolumeHoraire\ListeFactory',
- ),
'invokables' => array(
'volumeHoraireDl' => 'Application\View\Helper\VolumeHoraire\Dl',
+ 'volumeHoraireListe' => 'Application\View\Helper\VolumeHoraire\Liste',
'volumeHoraireLigne' => 'Application\View\Helper\VolumeHoraire\Ligne',
),
),
diff --git a/module/Application/src/Application/Controller/ServiceController.php b/module/Application/src/Application/Controller/ServiceController.php
index 1f7ec20c7be0c309a85167b53a6453da66773084..8ce0687ce6b392f844cfb536a9dce1959574ad42 100644
--- a/module/Application/src/Application/Controller/ServiceController.php
+++ b/module/Application/src/Application/Controller/ServiceController.php
@@ -7,6 +7,7 @@ use Common\Exception\RuntimeException;
use Common\Exception\LogicException;
use Application\Form\Service\Saisie;
use Application\Entity\Db\Service;
+use Application\Exception\DbException;
/**
@@ -49,22 +50,39 @@ class ServiceController extends AbstractActionController
return compact('service');
}
+ public function voirLigneAction()
+ {
+ $id = (int)$this->params()->fromRoute('id',0);
+ $details = 1 == (int)$this->params()->fromQuery('details',0);
+ $onlyContent = 1 == (int)$this->params()->fromQuery('only-content',0);
+ $service = $this->getServiceService();
+ $entity = $service->getRepo()->find($id);
+ $context = $service->getGlobalContext();
+ $details = false;
+
+ return compact('entity', 'context', 'details', 'onlyContent');
+ }
+
public function suppressionAction()
{
$id = (int)$this->params()->fromRoute('id',0);
$service = $this->getServiceService();
$entity = $service->getRepo()->find($id);
- $entity->setHistoDestruction(new \DateTime);
- $this->em()->flush();
+ $errors = array();
- //$url = $this->url()->fromRoute('service/default', array('action' => 'index'));
- //return $this->redirect()->toUrl($url);
+ try{
+ $entity->setHistoDestruction(new \DateTime);
+ $this->em()->flush();
+ }catch(\Exception $e){
+ $e = DbException::translate($e);
+ $errors[] = $e->getMessage();
+ }
$terminal = $this->getRequest()->isXmlHttpRequest();
$viewModel = new \Zend\View\Model\ViewModel();
$viewModel
->setTemplate('application/service/suppression')
- ->setVariables(compact('form', 'context','errors'));
+ ->setVariables(compact('entity', 'context','errors'));
if ($terminal) {
return $this->modalInnerViewModel($viewModel, "Suppression de service", false);
}
@@ -84,7 +102,9 @@ class ServiceController extends AbstractActionController
/* Initialisation des valeurs */
$entity = $service->getRepo()->find($id);
/* @var $entity \Application\Entity\Db\Service */
-
+
+ $form->get('id')->setValue( $entity->getId() );
+
if (! isset($context['intervenant'])){
$form->get('intervenant')->setValue(array(
'id' => $entity->getIntervenant()->getId(),
@@ -92,9 +112,9 @@ class ServiceController extends AbstractActionController
));
}
if ($entity->getElementPedagogique()){
- $form->get('elementPedagogique')->setValue(array(
+ $form->get('elementPedagogique')->get('element')->setValue(array(
'id' => $entity->getElementPedagogique()->getId(),
- 'label' => $entity->getElementPedagogique()->getLibelle()
+ //'label' => $entity->getElementPedagogique()->getLibelle()
));
}
$form->get('etablissement')->setValue(array(
@@ -109,7 +129,7 @@ class ServiceController extends AbstractActionController
if (null == $post->etablissement['id']){
$post->etablissement = array( 'id' => $context['etablissement']->getId(), 'label' => (string)$context['etablissement'] );
}elseif( (int)$post->etablissement['id'] != $context['etablissement']->getId() ){
- $post->elementPedagogique = ''; // pas d'élément si un autre établissement a été sélectionné
+ $post->elementPedagogique['element'] = ''; // pas d'élément si un autre établissement a été sélectionné
}
$form->setData($post);
@@ -128,8 +148,8 @@ class ServiceController extends AbstractActionController
if (isset($context['elementPedagogique'])){
$elementPedagogique = $context['elementPedagogique'];
- }elseif(isset($post->elementPedagogique['id']) && 0 != (int)$post->elementPedagogique['id']){
- $elementPedagogique = $this->em()->getRepository('Application\\Entity\\Db\\ElementPedagogique')->find($post->elementPedagogique['id']);
+ }elseif(isset($post->elementPedagogique['element']['id']) && 0 != (int)$post->elementPedagogique['element']['id']){
+ $elementPedagogique = $this->em()->getRepository('Application\\Entity\\Db\\ElementPedagogique')->find($post->elementPedagogique['element']['id']);
}else{
$elementPedagogique = null;
}
@@ -149,8 +169,14 @@ class ServiceController extends AbstractActionController
$entity->setElementPedagogique( $elementPedagogique );
$entity->setEtablissement( $etablissement );
- $this->em()->persist($entity);
- $this->em()->flush();
+ try{
+ $this->em()->persist($entity);
+ $this->em()->flush();
+ $form->get('id')->setValue( $entity->getId() ); // transmet le nouvel ID
+ }catch(\Exception $e){
+ $e = DbException::translate($e);
+ $errors[] = $e->getMessage();
+ }
}else{
$errors[] = 'La validation du formulaire a échoué. L\'enregistrement des données n\'a donc pas été fait.';
}
diff --git a/module/Application/src/Application/Exception/DbException.php b/module/Application/src/Application/Exception/DbException.php
new file mode 100644
index 0000000000000000000000000000000000000000..c42d6265208a56350149681966481ffc25233620
--- /dev/null
+++ b/module/Application/src/Application/Exception/DbException.php
@@ -0,0 +1,59 @@
+<?php
+
+namespace Application\Exception;
+
+use Common\Exception\RuntimeException;
+
+/**
+ *
+ *
+ * @author Laurent Lécluse <laurent.lecluse at unicaen.fr>
+ */
+class DbException extends RuntimeException {
+
+ /**
+ * Errors
+ *
+ * @var array
+ */
+ protected static $messages = array(
+ 'unique constraint (OSE.SERVICE__UN) violated' =>
+ 'Vous ne pouvez pas enregistrer ce service car il en existe déjà un de similaire.',
+
+ );
+
+
+
+ /**
+ * Se charge de traduire les exceptions en provanance de la base de données
+ *
+ * @param \Exception $exception
+ * @param string $tableName
+ *
+ * @return self
+ */
+ public static function translate(\Exception $exception)
+ {
+ if (! $exception->getPrevious() instanceof \Doctrine\DBAL\Driver\OCI8\OCI8Exception){
+ // Non gérée donc on retourne l'original'
+ return $exception;
+ }
+
+ $msg = $exception->getPrevious()->getMessage();
+
+ foreach( self::$messages as $key => $newMsg ){
+ if (false !== strpos( $msg, $key)){
+ $msg = $newMsg;
+ break;
+ }
+ }
+
+ if (false !== strpos($msg, '20101')){ // erreur décrite manuellement dans Oracle (depuis un trigger par exemple)
+ $msg = substr( $msg, 0, strpos($msg, "\n")); // Chaque erreur comporte 3 lignes. On ne récupère que la première
+ $msg = str_replace( 'ORA-20101: ', '', $msg ); // On retire le code erreur (20101 par convention pour les erreurs perso OSE)
+ }
+
+ return new self($msg, 0, $exception);
+ }
+
+}
\ No newline at end of file
diff --git a/module/Application/src/Application/Form/OffreFormation/ElementPedagogiqueRechercheFieldset.php b/module/Application/src/Application/Form/OffreFormation/ElementPedagogiqueRechercheFieldset.php
index 91c4d1b9f0ba87110820161819ecb400284dc74c..962293c47357e60ab8c1853365dcf95af507759f 100644
--- a/module/Application/src/Application/Form/OffreFormation/ElementPedagogiqueRechercheFieldset.php
+++ b/module/Application/src/Application/Form/OffreFormation/ElementPedagogiqueRechercheFieldset.php
@@ -9,7 +9,7 @@ use Zend\Form\Fieldset;
*
* @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>
*/
-class ElementPedagogiqueRechercheFieldset extends Fieldset implements \Zend\Form\ElementPrepareAwareInterface
+class ElementPedagogiqueRechercheFieldset extends Fieldset implements \Zend\InputFilter\InputFilterProviderInterface
{
public function __construct($name = null, $options = array())
{
@@ -198,4 +198,28 @@ class ElementPedagogiqueRechercheFieldset extends Fieldset implements \Zend\Form
$this->structures = $structures;
return $this;
}
+
+ /**
+ * Should return an array specification compatible with
+ * {@link Zend\InputFilter\Factory::createInputFilter()}.
+ *
+ * @return array
+ */
+ public function getInputFilterSpecification(){
+ return array(
+ 'structure' => array(
+ 'required' => false
+ ),
+ 'niveau' => array(
+ 'required' => false
+ ),
+ 'etape' => array(
+ 'required' => false
+ ),
+ 'element' => array(
+ 'required' => false
+ )
+ );
+ }
+
}
\ No newline at end of file
diff --git a/module/Application/src/Application/Form/Service/Saisie.php b/module/Application/src/Application/Form/Service/Saisie.php
index 0774ea12a960cf5b7646ffa995d992d01f17ae0c..97d864ce953af3c064c45b5185889b368645a90f 100644
--- a/module/Application/src/Application/Form/Service/Saisie.php
+++ b/module/Application/src/Application/Form/Service/Saisie.php
@@ -15,7 +15,7 @@ use Zend\Mvc\Controller\Plugin\Url;
*
* @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
*/
-class Saisie extends Form
+class Saisie extends Form implements \Zend\InputFilter\InputFilterProviderInterface
{
public function __construct( Url $url, array $context=array() )
@@ -43,13 +43,41 @@ class Saisie extends Form
$this->add($intervenant);
}
- $elementPedagogique = new SearchAndSelect('elementPedagogique');
+ $interneExterne = new \Zend\Form\Element\Radio;
+ $interneExterne->setLabel('Service effectué : ');
+ $interneExterne->setName('interne-externe');
+ $interneExterne->setValueOptions(array(
+ 'service-interne' => 'en interne',
+ 'service-externe' => 'dans un autre établissement',
+ ));
+ $this->add($interneExterne);
+
+ /*$elementPedagogique = new SearchAndSelect('elementPedagogique');
$elementPedagogique->setLabel("Elément pédagogique :")
->setAttributes(array('title' => "Saisissez 2 lettres au moins"))
->setAutocompleteSource(
$url->fromRoute('of/default', array('action' => 'search-element') )
);
- $this->add($elementPedagogique);
+ $this->add($elementPedagogique);*/
+
+ $queryTemplate = array('structure' => '__structure__', 'niveau' => '__niveau__', 'etape' => '__etape__');
+ $urlStructures = $url->fromRoute('of/default', array('action' => 'search-structures'), array('query' => $queryTemplate));
+ $urlNiveaux = $url->fromRoute('of/default', array('action' => 'search-niveaux'), array('query' => $queryTemplate));
+ $urlEtapes = $url->fromRoute('of/default', array('action' => 'search-etapes'), array('query' => $queryTemplate));
+ $urlElements = $url->fromRoute('of/default', array('action' => 'search-element'), array('query' => $queryTemplate));
+
+ $fs = new \Application\Form\OffreFormation\ElementPedagogiqueRechercheFieldset('elementPedagogique');
+ $fs
+ ->setStructuresSourceUrl($urlStructures)
+ ->setNiveauxSourceUrl($urlNiveaux)
+ ->setEtapesSourceUrl($urlEtapes)
+ ->setElementsSourceUrl($urlElements)
+ ->setStructureEnabled(false)
+// ->setNiveauEnabled(false)
+ ->setEtapeEnabled(false)
+ ;
+// $fs->get('element')->setName('elementPedagogique');
+ $this->add($fs);
$etablissement = new SearchAndSelect('etablissement');
$etablissement ->setRequired(true)
@@ -95,4 +123,18 @@ class Saisie extends Form
{
return parent::bind($object, $flags);
}
+
+ /**
+ * Should return an array specification compatible with
+ * {@link Zend\InputFilter\Factory::createInputFilter()}.
+ *
+ * @return array
+ */
+ public function getInputFilterSpecification(){
+ return array(
+ 'interne-externe' => array(
+ 'required' => false
+ )
+ );
+ }
}
\ No newline at end of file
diff --git a/module/Application/src/Application/Service/AbstractService.php b/module/Application/src/Application/Service/AbstractService.php
index a513d74fc9eb1b718e6095abb14148deed70f0ad..015be1e700815b8e353055f334fe8ece70b18aa2 100644
--- a/module/Application/src/Application/Service/AbstractService.php
+++ b/module/Application/src/Application/Service/AbstractService.php
@@ -5,6 +5,7 @@ namespace Application\Service;
use Doctrine\ORM\EntityManager;
use Zend\ServiceManager\ServiceLocatorInterface;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
+use Zend\ServiceManager\ServiceLocatorAwareTrait;
/**
* Service abstrait
@@ -15,10 +16,7 @@ use Zend\ServiceManager\ServiceLocatorAwareInterface;
*/
class AbstractService implements ServiceLocatorAwareInterface {
- /**
- * @var ServiceLocatorInterface
- */
- protected $serviceLocator;
+ use ServiceLocatorAwareTrait;
/**
* @var EntityManager
@@ -40,27 +38,4 @@ class AbstractService implements ServiceLocatorAwareInterface {
$this->entityManager = $this->getServiceLocator()->get('doctrine.entitymanager.orm_default');
return $this->entityManager;
}
-
- /**
- * Get service locator
- *
- * @return ServiceLocator
- */
- public function getServiceLocator()
- {
- return $this->serviceLocator;
- }
-
- /**
- * Set service locator
- *
- * @param ServiceLocatorInterface $serviceLocator
- * @return self
- */
- public function setServiceLocator(ServiceLocatorInterface $serviceLocator)
- {
- $this->serviceLocator = $serviceLocator;
- return $this;
- }
-
}
\ No newline at end of file
diff --git a/module/Application/src/Application/Service/Service.php b/module/Application/src/Application/Service/Service.php
index 4739cfe9dd726fbb1d891c1a4f6808e5a5abc03d..be3a4844b860f30851bc9f86247daaa1c68d79e7 100644
--- a/module/Application/src/Application/Service/Service.php
+++ b/module/Application/src/Application/Service/Service.php
@@ -7,6 +7,7 @@ use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
use Application\Entity\Db\Intervenant;
use Application\Entity\Db\Annee;
+use Application\Entity\Db\Service as ServiceEntity;
/**
@@ -75,4 +76,34 @@ class Service extends AbstractService
}
return $this->repo;
}
+
+ /**
+ * Retourne, par ID du type d'intervention, la liste des heures saisies pour le service donné
+ *
+ * @param integer|ServiceEntity|null $service
+ * @return array
+ */
+ public function getTotalHeures($service)
+ {
+ if ($service instanceof ServiceEntity) $service = $service->getId();
+
+ $sql = 'SELECT * FROM V_SERVICE_HEURES';
+ if ($service) $sql .= ' WHERE service_id = '.(int)$service;
+
+ $stmt = $this->getEntityManager()->getConnection()->executeQuery($sql);
+
+ $result = array();
+ while($r = $stmt->fetch()){
+ $result[(int)$r['SERVICE_ID']][(int)$r['TYPE_INTERVENTION_ID']] = (float)$r['HEURES'];
+ }
+
+ if ($service){
+ if (array_key_exists( $service, $result)){
+ return $result[$service];
+ }else{
+ return array();
+ }
+ }
+ return $result;
+ }
}
\ No newline at end of file
diff --git a/module/Application/src/Application/Service/TypeIntervention.php b/module/Application/src/Application/Service/TypeIntervention.php
index 0950e7c3228eea4d67829ac43878c1cd147b427d..a6948699338cc0aa879d9b7cf46b464904a739e8 100644
--- a/module/Application/src/Application/Service/TypeIntervention.php
+++ b/module/Application/src/Application/Service/TypeIntervention.php
@@ -5,7 +5,7 @@ namespace Application\Service;
use Application\Service\AbstractService;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
-
+use Application\Entity\Db\TypeIntervention as Entity;
/**
* Description of TypeIntervention
@@ -22,6 +22,12 @@ class TypeIntervention extends AbstractService
*/
protected $repo;
+ /**
+ * Liste des types d'intervention
+ *
+ * @var Entity[]
+ */
+ protected $typesIntervention;
@@ -53,4 +59,22 @@ class TypeIntervention extends AbstractService
}
return $this->repo;
}
+
+ /**
+ * Liste des types d'intervention
+ *
+ * @return Entity[]
+ */
+ public function getTypesIntervention()
+ {
+ if (! $this->typesIntervention){
+ $til = $this->finderByAll()->getQuery()->execute();
+
+ $this->typesIntervention = array();
+ foreach( $til as $ti ){
+ $this->typesIntervention[$ti->getId()] = $ti;
+ }
+ }
+ return $this->typesIntervention;
+ }
}
\ No newline at end of file
diff --git a/module/Application/src/Application/View/Helper/Service/Ligne.php b/module/Application/src/Application/View/Helper/Service/Ligne.php
index 02a7b49f573ec502e16f6e47a9336f040cfa0aa8..9e3576efc2820815f645f790240a8f67ff8d9df4 100644
--- a/module/Application/src/Application/View/Helper/Service/Ligne.php
+++ b/module/Application/src/Application/View/Helper/Service/Ligne.php
@@ -4,15 +4,19 @@ namespace Application\View\Helper\Service;
use Zend\View\Helper\AbstractHelper;
use Application\Entity\Db\Service;
+use Zend\ServiceManager\ServiceLocatorAwareInterface;
+use Zend\ServiceManager\ServiceLocatorAwareTrait;
/**
* Aide de vue permettant d'afficher une ligne de service
*
* @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
*/
-class Ligne extends AbstractHelper
+class Ligne extends AbstractHelper implements ServiceLocatorAwareInterface
{
+ use ServiceLocatorAwareTrait;
+
/**
* @var Service
*/
@@ -55,12 +59,16 @@ class Ligne extends AbstractHelper
/**
* Génère le code HTML.
*
+ * @param boolean $details
* @return string
*/
- protected function render(){
- $out = '<tr>';
+ public function render( $details=false ){
+ $typesIntervention = $this->getServiceLocator()->getServiceLocator()->get('ApplicationTypeIntervention')->getTypesIntervention();
+ $heures = $this->getServiceLocator()->getServiceLocator()->get('ApplicationService')->getTotalHeures($this->service);
+
+ $sid = $this->service->getId();
- $out .= '<td>'.$this->renderId($this->service->getId())."</td>\n";
+ $out = '';
if (empty($this->context['intervenant'])){
$out .= '<td>'.$this->service->getIntervenant()->getNomComplet(true);
$out .= $this->renderStructure( $this->service->getStructureAff() )."</td>\n";
@@ -74,17 +82,13 @@ class Ligne extends AbstractHelper
if (empty($this->context['annee'])){
$out .= '<td>'.$this->renderAnnee( $this->service->getAnnee() )."</td>\n";
}
+ foreach( $typesIntervention as $ti ){
+ $out .= $this->renderTypeIntervention( $ti, $heures );
+ }
+
$out .= $this->renderModifier();
$out .= $this->renderSupprimer();
- $out .= $this->renderDetails();
-
- $out .= '</tr>';
- return $out;
- }
-
- protected function renderId($id)
- {
- $out = '<a href="#">N° <span class="badge">'.(string)$id.'</span></a>'."\n";
+ $out .= $this->renderDetails( $details );
return $out;
}
@@ -93,7 +97,8 @@ class Ligne extends AbstractHelper
if (! $structure) return '';
$url = $this->getView()->url('structure/default', array('action' => 'voir', 'id' => $structure->getId()));
- $out = '<a href="'.$url.'" class="modal-action">'.$structure->getLibelleCourt().'</a>';
+ $pourl = $this->getView()->url('structure/default', array('action' => 'apercevoir', 'id' => $structure->getId()));
+ $out = '<a data-poload="/ose/test" href="'.$url.'" data-po-href="'.$pourl.'" class="modal-action">'.$structure->getLibelleCourt().'</a>';
return $out;
}
@@ -102,7 +107,8 @@ class Ligne extends AbstractHelper
{
if (! $element) return '';
$url = $this->getView()->url('of/default', array('action' => 'voir-element'), array('query' => array('id' => $element->getId())));
- $out = '<a href="'.$url.'" class="modal-action">'.$element->getLibelle().' ('.$element->getSourceCode().')</a>';
+ $pourl = $this->getView()->url('of/default', array('action' => 'apercevoir-element'), array('query' => array('id' => $element->getId())));
+ $out = '<a href="'.$url.'" data-po-href="'.$pourl.'" class="modal-action">'.$element->getSourceCode().' - '.$element->getLibelle().'</a>';
return $out;
}
@@ -117,30 +123,42 @@ class Ligne extends AbstractHelper
{
if ($etablissement != $this->context['etablissement']){
$url = $this->getView()->url('etablissement/default', array('action' => 'voir', 'id' => $etablissement->getId()));
- $out = '<a href="'.$url.'" class="modal-action">'.$etablissement->getLibelle().'</a>';
+ $pourl = $this->getView()->url('etablissement/default', array('action' => 'voir', 'id' => $etablissement->getId()));
+ $out = '<a href="'.$url.'" data-po-href="'.$pourl.'" class="modal-action">'.$etablissement->getLibelle().'</a>';
}else{
$out = '';
}
return $out;
}
+ protected function renderTypeIntervention( \Application\Entity\Db\TypeIntervention $typeIntervention, $heures )
+ {
+ $out = '<td id="service-'.$this->service->getId().'-ti-'.$typeIntervention->getId().'">'
+ .(array_key_exists($typeIntervention->getId(),$heures)
+ ? \UnicaenApp\Util::formattedFloat($heures[$typeIntervention->getId()], \NumberFormatter::DECIMAL, -1)
+ : ''
+ )
+ ."</td>\n";
+ return $out;
+ }
+
protected function renderModifier()
{
$url = $this->getView()->url('service/default', array('action' => 'saisie', 'id' => $this->service->getId()));
- return '<td><a class="modal-action event_save-message" href="'.$url.'" title="Modifier le service"><span class="glyphicon glyphicon-edit"></span></a></td>';
+ return '<td><a class="modal-action event_service-modify-message" href="'.$url.'" title="Modifier le service"><span class="glyphicon glyphicon-edit"></span></a></td>';
}
protected function renderSupprimer()
{
- $url = $this->getView()->url('service/default', array('action' => 'suppression', 'id' => $this->service->getId()));
- return '<td><a class="modal-action event_save-message" href="'.$url.'" title="Supprimer le service"><span class="glyphicon glyphicon-remove"></span></a></td>';
+ $url = $this->getView()->url('service/default', array('action' => 'suppression', 'id' => $this->service->getId()));//onclick="return Service.get('.$this->service->getId().').delete(this)"
+ return '<td><a class="service-delete" data-id="'.$this->service->getId().'" href="'.$url.'" title="Supprimer le service"><span class="glyphicon glyphicon-remove"></span></a></td>';
}
- protected function renderDetails()
+ protected function renderDetails( $details=false )
{
$out = '<td>'
- .'<a data-service-id="'.$this->service->getId().'" title="Détail des services" onclick="serviceShowHideDetails(this)">'
- .'<span class="glyphicon glyphicon-chevron-down"></span>'
+ .'<a class="service-details-button" title="Détail des heures" onclick="Service.get('.$this->service->getId().').showHideDetails(this)">'
+ .'<span class="glyphicon glyphicon-chevron-'.($details ? 'up' : 'down').'"></span>'
.'</a>'
."</td>\n";
return $out;
diff --git a/module/Application/src/Application/View/Helper/Service/Liste.php b/module/Application/src/Application/View/Helper/Service/Liste.php
index 24308e709564b305124dfeb812191f83550433a4..435baae4119971e2496d6faf06108e98cd1bc04a 100644
--- a/module/Application/src/Application/View/Helper/Service/Liste.php
+++ b/module/Application/src/Application/View/Helper/Service/Liste.php
@@ -4,15 +4,20 @@ namespace Application\View\Helper\Service;
use Zend\View\Helper\AbstractHelper;
use Application\Entity\Db\Service;
+use Zend\ServiceManager\ServiceLocatorAwareInterface;
+use Zend\ServiceManager\ServiceLocatorAwareTrait;
/**
* Aide de vue permettant d'afficher une liste de services
*
* @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
*/
-class Liste extends AbstractHelper
+class Liste extends AbstractHelper implements ServiceLocatorAwareInterface
{
+ use ServiceLocatorAwareTrait;
+
+
/**
* Helper entry point.
*
@@ -42,39 +47,66 @@ class Liste extends AbstractHelper
*
* @return string
*/
- protected function render(){
- if (empty($this->services)) return 'Aucun service n\'est renseigné';
+ public function render( $details = false ){
+ $typesIntervention = $this->getServiceLocator()->getServiceLocator()->get('ApplicationTypeIntervention')->getTypesIntervention();
- $colspan = 5;
+ if (empty($this->services)){
+ $out = 'Aucun service n\'est renseigné';
+ }else{
+ $colspan = 4;
+ $out = $this->renderShowHide();
+ $out .= '<table id="services" class="table service">';
+ $out .= '<tr>';
- $out = '<table class="table service">';
- $out .= '<tr>';
+ if (empty($this->context['intervenant'])){
+ $out .= "<th colspan=\"2\">Intervenant</th>\n";
+ $colspan += 2;
+ }
+ $out .= "<th>Structure</th>\n";
+ $out .= "<th>Enseignement ou responsabilité</th>\n";
+ if (empty($this->context['annee'])){
+ $out .= "<th>Année univ.</th>\n";
+ $colspan += 1;
+ }
+ foreach( $typesIntervention as $ti ){
+ $colspan++;
+ $out .= "<th style=\"width:8%\" title=\"".$ti->getLibelle()."\">".$ti->getCode()."</th>\n";
+ }
+ $out .= "<th> </th>\n";
+ $out .= "<th> </th>\n";
+ $out .= "</tr>\n";
+ foreach( $this->services as $service ){
+ $out .= '<tr id="service-'.$service->getId().'-ligne">';
+ $out .= $this->getView()->serviceLigne( $service, $this->context )->render($details);
+ $out .= '</tr>';
+ $out .= '<tr class="volume-horaire" id="service-'.$service->getId().'-volume-horaire-tr"'.($details ? '' : ' style="display:none"').'>'
+ .'<td class="volume-horaire" id="service-'.$service->getId().'-volume-horaire-td" colspan="'.$colspan.'">'
+ .$this->getView()->volumeHoraireListe( $service->getVolumeHoraire(), array('service' => $service ) )->render()
+ .'</td>'
+ .'</tr>';
+ }
+ $out .= '</table>'."\n";
+ $out .= $this->renderShowHide();
- $out .= "<th>Numéro</th>\n";
- if (empty($this->context['intervenant'])){
- $out .= "<th colspan=\"2\">Intervenant</th>\n";
- $colspan += 2;
- }
- $out .= "<th>Structure</th>\n";
- $out .= "<th>Elément pédagogique</th>\n";
- if (empty($this->context['annee'])){
- $out .= "<th>Année univ.</th>\n";
- $colspan += 1;
- }
- $out .= "<th> </th>\n";
- $out .= "<th> </th>\n";
- $out .= "</tr>\n";
- foreach( $this->services as $service ){
- $out .= $this->getView()->serviceLigne( $service, $this->context );
- $out .= '<tr class="volume-horaire" id="service-'.$service->getId().'-details"><td class="volume-horaire" colspan="'.$colspan.'">'.$this->getView()->volumeHoraireListe( $service->getVolumeHoraire(), array('service' => $service ) ).'</td></tr>';
}
- $out .= '</table>'."\n";
$url = $this->getView()->url('service/default', array('action' => 'saisie'));
- $out .= '<a class="modal-action event_save-message btn btn-primary" href="'.$url.'" title="Ajouter un service"><span class="glyphicon glyphicon-plus"></span> Saisir un nouveau service</a>';
-
+ $out .= '<br /><a class="modal-action event_service-add-message btn btn-primary" href="'.$url.'" title="Ajouter un service"><span class="glyphicon glyphicon-plus"></span> Saisir un nouveau service</a>';
+ $out .= $this->getView()->modalAjaxDialog('service-div');
+ $out .= '<script type="text/javascript">';
+ $out .= '$(function() { Service.init("'.$this->getView()->url('service/default', array('action' => 'voirLigne') ).'"); });';
+ $out .= '</script>';
return $out;
}
+ public function renderShowHide()
+ {
+ return
+ '<div class="service-show-hide-buttons">'
+ .'<button type="button" class="btn btn-default btn-xs service-show-all-details"><span class="glyphicon glyphicon-chevron-down"></span> Tout déplier</button> '
+ .'<button type="button" class="btn btn-default btn-xs service-hide-all-details"><span class="glyphicon glyphicon-chevron-up"></span> Tout replier</button>'
+ .'</div>';
+ }
+
/**
*
* @return Service[]
diff --git a/module/Application/src/Application/View/Helper/VolumeHoraire/Liste.php b/module/Application/src/Application/View/Helper/VolumeHoraire/Liste.php
index 549c889ca6fa8324abdae6c67d7565effaf6e825..6923398f7a1449edf71d30a02d3c9d328f0ce073 100644
--- a/module/Application/src/Application/View/Helper/VolumeHoraire/Liste.php
+++ b/module/Application/src/Application/View/Helper/VolumeHoraire/Liste.php
@@ -5,15 +5,20 @@ namespace Application\View\Helper\VolumeHoraire;
use Zend\View\Helper\AbstractHelper;
use Application\Entity\Db\VolumeHoraire;
use Doctrine\ORM\PersistentCollection;
+use Zend\ServiceManager\ServiceLocatorAwareInterface;
+use Zend\ServiceManager\ServiceLocatorAwareTrait;
+
/**
* Aide de vue permettant d'afficher une liste de volumes horaires
*
* @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
*/
-class Liste extends AbstractHelper
+class Liste extends AbstractHelper implements ServiceLocatorAwareInterface
{
+ use ServiceLocatorAwareTrait;
+
/**
* Données formattées
*
@@ -59,7 +64,9 @@ class Liste extends AbstractHelper
*
* @return string
*/
- protected function render(){
+ public function render(){
+ $typesIntervention = $this->getServiceLocator()->getServiceLocator()->get('ApplicationTypeIntervention')->getTypesIntervention();
+
$out = '<table class="table volume-horaire">';
$out .= '<tr>';
@@ -67,7 +74,7 @@ class Liste extends AbstractHelper
$out .= "<th style=\"width:15%\">Service</th>\n";
}
$out .= "<th style=\"width:10%\">Période</th>\n";
- foreach( self::$typesIntervention as $ti ){
+ foreach( $typesIntervention as $ti ){
$out .= "<th style=\"width:8%\" title=\"".$ti->getLibelle()."\">".$ti->getCode()."</th>\n";
}
$out .= "<th style=\"width:25%\">Motif de non paiement</th>\n";
@@ -79,7 +86,7 @@ class Liste extends AbstractHelper
$out .= "<td>".$this->renderService($default->getService())."</td>\n";
}
$out .= "<td>".$this->renderPeriode($default->getPeriode())."</td>\n";
- foreach( self::$typesIntervention as $ti ){
+ foreach( $typesIntervention as $ti ){
if (isset($gvh[$ti->getId()])){
$out .= "<td>".$this->renderHeures($gvh[$ti->getId()]->getHeures())."</td>\n";
}else{
@@ -107,13 +114,7 @@ class Liste extends AbstractHelper
protected function renderHeures($heures)
{
- $h = floor($heures);
- $m = ($heures - floor($heures)) * 60;
- if (0 == $m){
- return $h.'h';
- }else{
- return $h.'h'.sprintf('%02s', $m);
- }
+ return \UnicaenApp\Util::formattedFloat($heures, \NumberFormatter::DECIMAL, -1);
}
protected function renderMotifNonPaiement($motifNonPaiement)
diff --git a/module/Application/src/Application/View/Helper/VolumeHoraire/ListeFactory.php b/module/Application/src/Application/View/Helper/VolumeHoraire/ListeFactory.php
deleted file mode 100644
index 629bbf0d687684eee2006cbce04c47c6ce912be9..0000000000000000000000000000000000000000
--- a/module/Application/src/Application/View/Helper/VolumeHoraire/ListeFactory.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-namespace Application\View\Helper\VolumeHoraire;
-
-use Zend\ServiceManager\FactoryInterface;
-use Zend\ServiceManager\ServiceLocatorInterface;
-
-/**
- * Description of ListeFactory
- *
- * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
- */
-class ListeFactory implements FactoryInterface
-{
- /**
- * Create service
- *
- * @param ServiceLocatorInterface $serviceLocator
- * @return mixed
- */
- public function createService(ServiceLocatorInterface $serviceLocator)
- {
- if (empty(Liste::$typesIntervention)){
- $tis = $serviceLocator->getServiceLocator()->get('ApplicationTypeIntervention');
-
- $til = $tis->finderByAll()->getQuery()->execute();
-
- Liste::$typesIntervention = array();
- foreach( $til as $ti ){
- Liste::$typesIntervention[$ti->getId()] = $ti;
- }
- }
- return new Liste();
- }
-}
\ No newline at end of file
diff --git a/module/Application/view/application/demo/index.phtml b/module/Application/view/application/demo/index.phtml
index d1d30756a9b85f6e7ab0265bb2be47abf2497a37..6fb493df2884e6b4b3bc3065ad7da58ef8209049 100755
--- a/module/Application/view/application/demo/index.phtml
+++ b/module/Application/view/application/demo/index.phtml
@@ -3,4 +3,4 @@
<h2>Organisation des Services d'Enseignement</h2>
</div>
-<?php echo $this->fieldsetElementPedagogiqueRecherche($fs); ?>
\ No newline at end of file
+<?php echo $this->fieldsetElementPedagogiqueRecherche($fs); ?>
diff --git a/module/Application/view/application/etablissement/voir.phtml b/module/Application/view/application/etablissement/voir.phtml
index 8b51a00163829ccd62f13cddca2134dcc8e04333..bb4b9c20e74d109b17ed4114d88f3a27d7eb860e 100644
--- a/module/Application/view/application/etablissement/voir.phtml
+++ b/module/Application/view/application/etablissement/voir.phtml
@@ -4,4 +4,4 @@
<br /><?php foreach( $changements as $changement ) { echo $this->differentielLigne( $changement ); } ?>
-<?php echo $this->navigation('navigation')->menuContextuel()->withTarget($etablissement->getId()) ?>
+<?php //echo $this->navigation('navigation')->menuContextuel()->withTarget($etablissement->getId()) ?>
diff --git a/module/Application/view/application/service/index.phtml b/module/Application/view/application/service/index.phtml
index a9a3649c2d20762039492a5e3afa3f36e180ccc1..9521e280168311cd418e849f2faef7cb13cf9a24 100644
--- a/module/Application/view/application/service/index.phtml
+++ b/module/Application/view/application/service/index.phtml
@@ -1,13 +1,4 @@
-<h1>Année universitaire <?php echo $annee; ?></h1>
+<h1>Services</h1>
+<h2>Année universitaire <?php echo $annee; ?></h2>
-<?php echo $this->serviceListe( $services, $context ); ?>
-<?php echo $this->modalAjaxDialog('service-div'); ?>
-
-<script>
- $(function() {
- $("body").on("save-message", function(event, data) {
- event.dialog.modal('hide'); // ferme la fenêtre modale
- location.reload();
- });
- });
-</script>
\ No newline at end of file
+<?php echo $this->serviceListe( $services, $context )->render(); ?>
\ No newline at end of file
diff --git a/module/Application/view/application/service/saisie.phtml b/module/Application/view/application/service/saisie.phtml
index 39e86a121b201db124b50e4f9b94305e62daf289..e39c8b65a7db38b7aaee5a0f7d70aee6ca4a24ff 100644
--- a/module/Application/view/application/service/saisie.phtml
+++ b/module/Application/view/application/service/saisie.phtml
@@ -13,45 +13,22 @@ if (null == $etablissementValue || $etablissementValue == $etablissementParam){
$interne = false;
}
-/*$interneExterne = new \Zend\Form\Element\Radio;
-$interneExterne->setLabel('Service effectué : ');
-$interneExterne->setName('interne-externe');
-$interneExterne->setCheckedValue('service-interne');
-$interneExterne->setValueOptions(array(
- 'service-interne' => 'en interne',
- 'service-externe' => 'dans un autre établissement',
- ));
-$interneExterne->setLabelAttributes( array('class' => 'btn btn-primary'));*/
+$form->get('interne-externe')->setValue($interne ? 'service-interne' : 'service-externe');
-//$form->setAttribute('action', $this->url('album', array('action' => 'add')));
-
- $form->prepare();
- echo $this->form()->openTag($form);
- if (! isset($context['intervenant'])){
- echo $this->formControlGroup($form->get('intervenant'));
- }
-
- ?><div class="form-group">
- <label class="control-label" for="service-interne">Service effectué : </label>
- <br />
- <div class="btn-group" data-toggle="buttons">
- <label class="btn btn-default <?php echo ($interne) ? 'active' : '' ?>">
- <input type="radio" name="interne-externe" id="service-interne" onchange="serviceShowInterneExterne(this.id)"> en interne
- </label>
- <label class="btn btn-default <?php echo ($interne) ? '' : 'active' ?>">
- <input type="radio" name="interne-externe" id="service-externe" onchange="serviceShowInterneExterne(this.id)"> dans un autre établissement
- </label>
- </div>
-</div>
-<?php
- echo '<div id="element-interne" '.(($interne) ? '' : 'style="display:none"').'>'.$this->formControlGroup($form->get('elementPedagogique')).'</div>';
- echo '<div id="element-externe" '.(($interne) ? 'style="display:none"' : '').'>'.$this->formControlGroup($form->get('etablissement')).'</div>';
- echo $this->formRow($form->get('submit'));
- echo $this->formHidden($form->get('security'));
- echo $this->formHidden($form->get('id'));
- echo $this->form()->closeTag();
- echo $this->formErrors( $form );
-
- if ($errors) echo $this->messenger()->setMessages(array(UnicaenApp\View\Helper\Messenger::ERROR => array($errors)));
-?>
+$form->prepare();
+echo $this->form()->openTag($form);
+if (! isset($context['intervenant'])){
+ echo $this->formControlGroup($form->get('intervenant'));
+}
+echo $this->formControlGroup($form->get('interne-externe'), 'formButtonGroup');
+echo '<div id="element-interne" '.(($interne) ? '' : 'style="display:none"').'>'.$this->fieldsetElementPedagogiqueRecherche($form->get('elementPedagogique')).'</div>';
+//echo '<div id="element-interne" '.(($interne) ? '' : 'style="display:none"').'>'.$this->formControlGroup($form->get('elementPedagogique')).'</div>';
+echo '<div id="element-externe" '.(($interne) ? 'style="display:none"' : '').'>'.$this->formControlGroup($form->get('etablissement')).'</div>';
+echo $this->formRow($form->get('submit'));
+echo $this->formHidden($form->get('security'));
+echo $this->formHidden($form->get('id'));
+echo $this->form()->closeTag().'<br />';
+
+echo $this->formErrors( $form );
+if ($errors) echo $this->messenger()->setMessages(array(UnicaenApp\View\Helper\Messenger::ERROR => array($errors)));
\ No newline at end of file
diff --git a/module/Application/view/application/service/suppression.phtml b/module/Application/view/application/service/suppression.phtml
index aaf6a129480267864bed14335682d2c072ff45a6..b347181c904e61780ac8e164d67d6c59a7a1b960 100644
--- a/module/Application/view/application/service/suppression.phtml
+++ b/module/Application/view/application/service/suppression.phtml
@@ -1 +1,7 @@
-Service supprimé.
\ No newline at end of file
+<input type="hidden" id="service-deleted-id" value="<?php echo $entity->getId() ?>" />
+<?php
+
+ if ($errors)
+ echo $this->messenger()->setMessages(array(UnicaenApp\View\Helper\Messenger::ERROR => array($errors)));
+ else
+ echo 'Le service a été supprimé.';
\ No newline at end of file
diff --git a/module/Application/view/application/service/voir-ligne.phtml b/module/Application/view/application/service/voir-ligne.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..29573dab39dc885f1c0deaf101d24ef5b6d8c6ef
--- /dev/null
+++ b/module/Application/view/application/service/voir-ligne.phtml
@@ -0,0 +1,10 @@
+<?php if (! $onlyContent): ?><tr id="service-<?php echo $entity->getId() ?>-ligne"><?php endif; ?>
+<?php echo $this->serviceLigne( $entity, $context )->render($details); ?>
+<?php if (! $onlyContent): ?>
+</tr>
+<tr class="volume-horaire" id="service-<?php echo $entity->getId() ?>-volume-horaire-tr"<?php echo ($details ? '' : ' style="display:none"') ?>>
+ <td class="volume-horaire" id="service-<?php echo $entity->getId() ?>-volume-horaire-td" colspan="999">
+ <?php echo $this->volumeHoraireListe( $entity->getVolumeHoraire(), array('service' => $entity ) )->render(); ?>
+ </td>
+</tr>
+<?php endif; ?>
diff --git a/module/Common/Module.php b/module/Common/Module.php
index 66975861b4c4c5400fe906b4b549c33f594e4f1f..4e2eab8611a1062c4522cf9eb174ad99e4ff4d2e 100755
--- a/module/Common/Module.php
+++ b/module/Common/Module.php
@@ -64,6 +64,7 @@ class Module
'factories' => array(
),
'invokables' => array(
+ 'formButtonGroup' => 'Common\Form\View\Helper\FormButtonGroup',
),
);
}
diff --git a/module/Common/src/Common/Form/View/Helper/FormButtonGroup.php b/module/Common/src/Common/Form/View/Helper/FormButtonGroup.php
new file mode 100644
index 0000000000000000000000000000000000000000..9aaf5364ce3ecbabdbcd0cb62e262170f611a23b
--- /dev/null
+++ b/module/Common/src/Common/Form/View/Helper/FormButtonGroup.php
@@ -0,0 +1,84 @@
+<?php
+namespace Common\Form\View\Helper;
+
+use Zend\Form\View\Helper\FormRadio;
+use Zend\Form\Element\Radio as RadioElement;
+use Zend\Form\LabelAwareInterface;
+
+
+/**
+ *
+ * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
+ */
+class FormButtonGroup extends FormRadio
+{
+
+ /**
+ * Render options
+ *
+ * @param RadioElement $element
+ * @param array $options
+ * @param array $selectedOptions
+ * @param array $attributes
+ * @return string
+ */
+ protected function renderOptions(RadioElement $element, array $options, array $selectedOptions,
+ array $attributes)
+ {
+ $escapeHtmlHelper = $this->getEscapeHtmlHelper();
+ $labelHelper = $this->getLabelHelper();
+
+ if ($element instanceof LabelAwareInterface) {
+ $globalLabelAttributes = $element->getLabelAttributes();
+ }
+
+ if (empty($globalLabelAttributes)) {
+ $globalLabelAttributes = $this->labelAttributes;
+ }
+
+ $out = '<div class="btn-group" data-toggle="buttons">';
+ foreach ($options as $key => $optionSpec) {
+ $value = $key;
+ $label = $optionSpec;
+
+ if (isset($optionSpec['value'])) {
+ $value = $optionSpec['value'];
+ }
+ if (isset($optionSpec['label'])) {
+ $label = $optionSpec['label'];
+ }
+ if (isset($optionSpec['selected'])) {
+ $selected = $optionSpec['selected'];
+ }else{
+ $selected = in_array($value, $selectedOptions);
+ }
+
+ $inputAttributes = $attributes;
+ $inputAttributes['type'] = 'radio';
+ $inputAttributes['value'] = $value;
+
+ $labelAttributes = array(
+ 'class' => 'btn btn-default'
+ );
+ if ($selected) $labelAttributes['class'] .= ' active';
+
+ if (null !== ($translator = $this->getTranslator())) {
+ $label = $translator->translate(
+ $label, $this->getTranslatorTextDomain()
+ );
+ }
+
+ if (! $element instanceof LabelAwareInterface || ! $element->getLabelOption('disable_html_escape')) {
+ $label = $escapeHtmlHelper($label);
+ }
+
+ $out .= $labelHelper->openTag($labelAttributes);
+ $out .= '<input '.$this->createAttributesString($inputAttributes).$this->getInlineClosingBracket().' '.$label;
+ $out .= $labelHelper->closeTag();
+
+ }
+ $out .= '</div>';
+
+ return $out;
+ }
+}
\ No newline at end of file
diff --git a/public/css/app.css b/public/css/app.css
index 191562b3382e81f6f8a22650cb9bc281ac28a113..b0cc4ccb7eb84d557497289ba6aca973adea3602 100755
--- a/public/css/app.css
+++ b/public/css/app.css
@@ -1,14 +1,33 @@
-
+/* Services */
table.service td.volume-horaire {
padding-left:10em;
}
-table.service tr.volume-horaire {
- display: none;
+div.service-show-hide-buttons {
+ padding-bottom:3px;
+ padding-top:3px;
+ text-align:right;
}
+
+
+
/* recherche d'élément */
+.ui-autocomplete {
+ max-height: 300px;
+ overflow-y: auto;
+ /* prevent horizontal scrollbar */
+ overflow-x: hidden;
+}
+
+/* IE 6 doesn't support max-height
+* we use height instead, but this forces the menu to always be this tall
+*/
+/* * html .ui-autocomplete {
+ height: 300px;
+}*/
+
span.etape,
span.periode,
span.element {
@@ -24,4 +43,12 @@ span.periode {
span.sas-highlight {
font-weight: bold;
+}
+
+
+/* Gestion des popovers */
+div.popover {
+
+ max-width:600px;
+
}
\ No newline at end of file
diff --git a/public/js/app.js b/public/js/app.js
index 99f47402e388c4c8877e58dfd3b962db92703867..032f5687078cf8642e17012b6947f642453c808a 100755
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -1,24 +1,156 @@
-function serviceShowHideDetails(serviceA){
- var serviceId = serviceA.dataset.serviceId;
- var tr = $('#service-' + serviceId + '-details');
- if ('none' == tr.css('display')){
- $(serviceA).html('<span class="glyphicon glyphicon-chevron-up"></span>');
- tr.show(200);
- }else{
- $(serviceA).html('<span class="glyphicon glyphicon-chevron-down"></span>');
- tr.hide(200);
+/* Propre à l'affichage des services */
+
+function Service( id ) {
+
+ this.id = id;
+
+ this.delete = function( url ){
+ ok = window.confirm('Voulez-vous vraiment supprimer ce service ?');
+ if (ok){
+ $('#service-div').modal({remote: url});
+ }
+ return false;
+ }
+
+ this.showHideDetails = function( serviceA ){
+
+ var state = $.data(serviceA,'state');
+ var tr = $('#service-' + this.id + '-volume-horaire-tr');
+
+ if (('show' == state || 'none' == tr.css('display')) && 'hide' != state ){
+ $(serviceA).html('<span class="glyphicon glyphicon-chevron-up"></span>');
+ tr.show(200);
+ }else{
+ $(serviceA).html('<span class="glyphicon glyphicon-chevron-down"></span>');
+ tr.hide(200);
+ }
+ }
+
+ this.showInterneExterne = function(){
+ if ('service-interne' == this.id){
+ $('#element-interne').show();
+ $('#element-externe').hide();
+ $("input[name='etablissement\\[label\\]']").val('');
+ $("input[name='etablissement\\[id\\]']").val('');
+ }else{
+ $('#element-interne').hide();
+ $("input[name='elementPedagogique\\[label\\]']").val('');
+ $("input[name='elementPedagogique\\[id\\]']").val('');
+ $('#element-externe').show();
+ }
}
-}
-function serviceShowInterneExterne( id ){
- if ('service-interne' == id){
- $('#element-interne').show();
- $('#element-externe').hide();
- }else{
- $('#element-interne').hide();
- $('#element-externe').show();
+ this.onAfterAdd = function(){
+ $.get( Service.voirLigneUrl+"/"+this.id+'?only-content=0', function( data ) {
+ $( "#service-"+this.id+"-ligne" ).load( Service.voirLigneUrl );
+ $('#services > tbody:last').append(data);
+ });
}
-}
\ No newline at end of file
+
+ this.onAfterModify = function(){
+ var details = $('#service-'+this.id+'-volume-horaire-tr').css('display') == 'none' ? '0' : '1';
+ $( "#service-"+this.id+"-ligne" ).load( Service.voirLigneUrl + "/"+this.id+'?only-content=1&details='+details );
+ }
+
+ this.onAfterDelete = function(){
+ $('#service-'+this.id+'-volume-horaire-tr').remove();
+ $( "#service-"+this.id+"-ligne" ).remove();
+ }
+
+}
+
+Service.get = function( id ){
+ if (null == Service.services) Service.services = new Array();
+ if (null == Service.services[id]) Service.services[id] = new Service(id);
+ return Service.services[id];
+}
+
+Service.init = function( voirLigneUrl ){
+ Service.voirLigneUrl = voirLigneUrl;
+
+ $("body").on("service-modify-message", function(event, data) {
+ var id = null;
+ if ($("div .messenger, div .alert").length ? false : true){
+ event.dialog.modal('hide'); // ferme la fenêtre modale
+ for( i in data ){
+ if (data[i].name == 'id'){
+ id = data[i].value;
+ }
+ }
+
+ if (id){
+ Service.get(id).onAfterModify();
+ }
+ }
+ });
+
+ $('#service-div').on('loaded.bs.modal', function (e) {
+ if (id = $('#service-deleted-id').val()){
+ Service.get(id).onAfterDelete();
+ }
+ });
+
+ $("body").on("service-add-message", function(event, data) {
+ var id = null;
+ if ($("div .messenger, div .alert").length ? false : true){
+ event.dialog.modal('hide'); // ferme la fenêtre modale
+ for( i in data ){
+ if (data[i].name == 'id'){
+ id = data[i].value;
+ }
+ }
+
+ if (id){
+ Service.get(id).onAfterAdd();
+ }
+ }
+ });
+
+ $("body").on('change', 'form#service input[name="interne-externe"]', function(){
+ Service.get(this.value).showInterneExterne( $( this ).val() );
+ });
+
+ $(".service-show-all-details").on('click', function(){ Service.showAllDetails(); });
+ $(".service-hide-all-details").on('click', function(){ Service.hideAllDetails(); });
+ $('body').on('click', '.service-delete', function(){
+ Service.get( $(this).data('id') ).delete( $(this).attr('href') );
+ return false;
+ })
+}
+
+Service.showAllDetails = function(){
+ $('.service-details-button').data('state', 'show');
+ $('.service-details-button').click();
+ $('.service-details-button').data('state', '');
+}
+
+Service.hideAllDetails = function(){
+ $('.service-details-button').data('state', 'hide');
+ $('.service-details-button').click();
+ $('.service-details-button').data('state', '');
+}
+
+
+
+
+
+/* Initialisation des popovers ajax de liens "a" (utilisés dans les services) */
+$(document).ready(function() {
+
+ $("*[data-po-href]").popover({
+ html: true,
+ trigger: 'hover',
+ content: function(e){
+ return $.ajax({
+ type: "GET",
+ url: $($(this).context).data('po-href'),
+ async: false
+ }).responseText;
+ },
+ delay: {show:1000, hide:100}
+ });
+
+});
\ No newline at end of file