Compare commits

..

85 Commits

Author SHA1 Message Date
349f5c26e7 Merge branch 'master' into dist/eole/2.7.2/master 2021-03-05 14:29:21 +01:00
01f56289b4 update route app_event_load parameter 2021-03-05 14:19:57 +01:00
18d993f307 Merge branch 'master' into dist/eole/2.7.2/master 2021-03-05 10:24:51 +01:00
94fa9d1f0b switch task inactives ref #61 2021-03-04 10:17:13 +01:00
5343d61401 correction mise en page rapport pdf ref #58 2021-03-04 09:26:18 +01:00
6bd189271f correction fermeture div dans rapport ref #57 2021-03-04 09:18:17 +01:00
f8b4d0446d Merge branch 'master' into dist/eole/2.7.2/master 2021-03-03 16:16:59 +01:00
ce10df9293 Correction affichage calendrier sélectionné ref #60 2021-03-03 16:10:48 +01:00
b14fc3d0e1 Merge branch 'master' into dist/eole/2.7.2/master 2021-03-03 14:55:03 +01:00
164da2ee48 correction on planing 2021-03-03 14:51:22 +01:00
1fec858f01 suppression trace de debug 2021-02-04 17:05:39 +01:00
697c7a8f1c Merge branch 'dist/eole/2.7.2/master' of https://forge.cadoles.com/Cadoles/schedule into dist/eole/2.7.2/master 2021-02-04 16:17:23 +01:00
24ecd6c87e Merge branch 'master' into dist/eole/2.7.2/master 2021-02-04 16:17:18 +01:00
6acf427696 correctif sur autosubmit des users 2021-02-04 16:13:35 +01:00
b17024cccd Merge branch 'master' into dist/eole/2.7.2/master 2021-01-28 12:15:43 +01:00
cdb2537d3f update migration script 2020-12-17 11:04:01 +01:00
2ba143e5a2 Ajout notion de tâche active, et affichage uniquement des taches active lors de la création d'événements #55 2020-12-17 10:53:52 +01:00
5037b0945e ajout export jours facturés #56 2020-12-16 16:40:15 +01:00
a0b87b907f Merge branch 'master' into dist/eole/2.7.2/master 2020-11-13 10:20:38 +01:00
c31d14bff4 mise à niveau des fichiers d'environnement 2020-11-13 10:20:05 +01:00
dfa5a993ce Merge branch 'master' into dist/eole/2.7.2/master 2020-11-13 09:30:06 +01:00
91536ed930 update dico description 2020-11-06 15:25:29 +01:00
10cb25730b Merge branch 'api_dolibarr' of Cadoles/schedule into master 2020-11-03 09:55:46 +01:00
0e159604e6 maj condition affichage dolibarr 2020-11-03 09:53:53 +01:00
62e7339057 ajout variable pour activer dolibarr 2020-11-03 09:53:53 +01:00
5ea06c9aec set template for link orders 2020-11-03 09:53:53 +01:00
bb7e66f0c9 Add link on dolibarr on convertion 2020-11-03 09:53:53 +01:00
e5863fdd0a set template 2020-11-03 09:53:53 +01:00
1691620986 first implementation of dolibarr api 2020-11-03 09:53:53 +01:00
bceee0582e add template configuration 2020-11-03 09:53:16 +01:00
5b62397a23 remove debugs 2020-10-15 10:23:58 +02:00
f86972fe7d modification taille box sur les stats 2020-10-14 16:51:26 +02:00
37095a4aac nettoyage des natures 2020-10-14 16:13:58 +02:00
4e407397f2 stat cadoles 2020-10-14 16:08:53 +02:00
702d471c1a max y pour les graph 2020-10-14 14:11:44 +02:00
1d7ad9bfc0 mise en place de stats 2020-10-14 12:01:28 +02:00
a6acd26a5c Ne pas afficher le cumul des congés sur le calendrier ref #52 2020-10-14 10:16:00 +02:00
e47bf32cc6 Correction cumul par tache dans les rapports ref: #54 2020-10-14 10:06:40 +02:00
398e803b1a récupération du bon utilisateur lors de la validation des congés 2020-10-13 10:29:40 +02:00
364da8ae38 add container to notificationservice 2020-10-13 09:08:44 +02:00
2c281d5166 corrections on timer task form id 2020-10-13 09:08:20 +02:00
5dacb82378 update composer.json 2020-10-12 16:57:01 +02:00
64e3da238d Merge branch 'sentry' of Cadoles/schedule into master 2020-10-07 13:04:03 +02:00
7b0a263581 update .env for sentry 2020-10-07 13:02:05 +02:00
2cac8080ee ajout de sentry en composer #48 2020-10-07 11:35:39 +02:00
92ac88b39d typo 2020-10-06 16:27:15 +02:00
354e2186c8 Ajout export commandes 2020-10-06 16:25:16 +02:00
6a92c43234 typo 2020-10-06 15:56:01 +02:00
1f53179ea5 export all projects 2020-10-06 15:54:46 +02:00
9a72b782c2 Affichage des user actif uniquement sur la création d'events 2020-10-06 15:23:58 +02:00
0d9524f5d2 set Default Nature Task choice correctly 2020-10-06 15:02:29 +02:00
8b9e27ad50 update offer title page 2020-10-06 14:46:25 +02:00
c28f7a8b2f select default nature on Task 2020-10-06 14:41:32 +02:00
653031017c set filter on customer project 2020-10-06 14:19:46 +02:00
e4526cb621 implémentaiton de _tosrting a project pour la création de taches 2020-10-01 10:36:48 +02:00
45606d9b97 correciton requete recherche dans liste des projets 2020-09-29 10:34:05 +02:00
c81d58d399 amélioration affichage listes des taches 2020-09-29 10:19:41 +02:00
937ec6f4ca Merge branch 'master' into dist/eole/2.7.2/master 2020-09-29 08:58:50 +02:00
58ac18f005 ajout vue par tache dans le planning 2020-09-28 16:11:25 +02:00
4d98fd9d42 Affichage et recherche d'un projet poru créer une tache 2020-09-28 15:57:17 +02:00
9006dd3b38 correciton sur la configuration du mailer 2020-09-28 14:33:18 +02:00
51337ee42b affichage des dates ISO dans les rapports 2020-09-28 14:33:04 +02:00
1de7abe9fd Tri alphabétique des taches 2020-09-28 10:10:47 +02:00
862c3651c0 Affcihage 8 events par défaut sur le calendrier 2020-09-28 10:10:17 +02:00
7e988ff7a9 Merge branch 'master' into dist/eole/2.7.0/master 2020-09-23 09:15:06 +02:00
51bf8c855f add TimeRepository 2020-09-23 08:28:31 +02:00
c66962097d Merge branch 'master' into dist/eole/2.7.0/master 2020-09-22 14:32:26 +02:00
root
6a9ae5323b mise à plat depot 2020-09-22 14:20:47 +02:00
66fa43497e Add atsk nature on export 2020-09-22 10:49:43 +02:00
9836498b1c Corrections sur Timers 2020-09-01 16:25:05 +02:00
ecacf68ad3 correction timer 2020-09-01 16:04:59 +02:00
d9fe49cce5 Affichage 7 evenement par jour 2020-09-01 14:46:37 +02:00
761f4c929d opyimisation de la requetes des événements 2020-09-01 14:34:32 +02:00
root
04ed1645fa Merge branch 'timetracking' of https://forge.cadoles.com/afornerot/schedule into timetracking 2020-09-01 11:59:43 +02:00
root
e37ced1f4d resolution pb proxy.sh sur reconf 2020-09-01 11:59:20 +02:00
b86601b709 Merge branch 'timetracking' of https://forge.cadoles.com/afornerot/schedule into timetracking 2020-09-01 11:55:06 +02:00
c0d1759bed distinguer les vacations sur le flag validateholiday (fixes #29) 2020-09-01 11:54:55 +02:00
058d5177eb remove select multi user 2020-09-01 11:45:41 +02:00
254dec4372 ajout var office à la config 2020-09-01 10:43:05 +02:00
a524e353db cumul des durées d'événements dans les rapports si deux événements sur une meme date 2020-09-01 10:42:50 +02:00
4523aa41b1 filtre evenets par projet 2020-09-01 10:42:09 +02:00
root
6954153be9 correction script migration 2020-08-31 11:03:41 +02:00
db11d66ae0 Merge branch 'master' into dist/eole/2.7.0/master 2020-05-13 14:06:01 +02:00
2d42e3016d Merge branch 'master' into dist/eole/2.7.0/master 2020-05-12 11:35:36 +02:00
ba4acc1b89 ajout repertoire debian 2020-05-12 09:49:53 +02:00
68 changed files with 3628 additions and 1292 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
*~

1
debian/compat vendored Normal file
View File

@@ -0,0 +1 @@
7

24
debian/control vendored Normal file
View File

@@ -0,0 +1,24 @@
Source: eole-schedule
Section: web
Priority: optional
Maintainer: Cadoles <contact@cadoles.com>
Build-Depends: debhelper (>= 7.0.50)
Standards-Version: 3.8.4
Homepage: https://forge.cadoles.com/Cadoles/schedule
Vcs-Git: https://forge.cadoles.com/Cadoles/schedule
Vcs-Browser: https://forge.cadoles.com/Cadoles/schedule
Package: schedule-sso
Architecture: all
Depends: ${misc:Depends}, eole-sso
Description: Filtre SSO pour schedule "EOLE".
Package: eole-schedule
Architecture: all
Depends: ${misc:Depends}, eole-envole-dependances, schedule-sso
Description: Eolisation de l'application schedule.
Package: schedule-apps
Architecture: all
Depends: ${misc:Depends}, envole-dependances-apps
Description: Sources pour schedule "EOLE".

44
debian/copyright vendored Normal file
View File

@@ -0,0 +1,44 @@
Format: http://dep.debian.net/deps/dep5
Upstream-Name: {PROJECT}
Source: {URL}
Files: *
Copyright: YEAR {UPSTREAM} {AUTHOR} <{MAIL}>
License: {UPSTREAM LICENSE}
Files: debian/*
Copyright: 2012 Équipe EOLE <eole@ac-dijon.fr>
License: CeCILL-2
License: {UPSTREAM LICENSE}
{TEXT OF THE LICENSE}
License: CeCILL-2
This software is governed by the CeCILL-2 license under French law and
abiding by the rules of distribution of free software. You can use,
modify and or redistribute the software under the terms of the CeCILL-2
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info";.
.
As a counterpart to the access to the source code and rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty and the software's author, the holder of the
economic rights, and the successive licensors have only limited
liability.
.
In this respect, the user's attention is drawn to the risks associated
with loading, using, modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean that it is complicated to manipulate, and that also
therefore means that it is reserved for developers and experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or
data to be ensured and, more generally, to use and operate it in the
same conditions as regards security.
.
The fact that you are presently reading this means that you have had
knowledge of the CeCILL-2 license and that you accept its terms.
.
On Eole systems, the complete text of the CeCILL-2 License can be found
in '/usr/share/common-licenses/CeCILL-2-en'.

1
debian/eole-schedule.install vendored Normal file
View File

@@ -0,0 +1 @@
usr/share/eole

3
debian/gbp.conf vendored Normal file
View File

@@ -0,0 +1,3 @@
# Set per distribution debian tag
[DEFAULT]
debian-tag = debian/envole/%(version)s

8
debian/rules vendored Executable file
View File

@@ -0,0 +1,8 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@

1
debian/schedule-apps.install vendored Normal file
View File

@@ -0,0 +1 @@
var/www/html

1
debian/schedule-sso.install vendored Normal file
View File

@@ -0,0 +1 @@
usr/share/sso

1
debian/source/format vendored Normal file
View File

@@ -0,0 +1 @@
3.0 (native)

View File

@@ -34,7 +34,24 @@
<variable type='string' name='schedule_allow_hosts' description="Hôtes authorisés à utiliser la base de données" multi='True'/> <variable type='string' name='schedule_allow_hosts' description="Hôtes authorisés à utiliser la base de données" multi='True'/>
<variable type='string' name='schedule_dbuser' description='Utilisateur du serveur de base de données'/> <variable type='string' name='schedule_dbuser' description='Utilisateur du serveur de base de données'/>
<variable type='string' name='schedule_dbpass' description='Fichier de mot de passe du serveur'/> <variable type='string' name='schedule_dbpass' description='Fichier de mot de passe du serveur'/>
<variable type='mail' name='schedule_email_global_notif' description='Email pour envoie de notifications'/> <variable type='string' name='schedule_email_url' description='URL de connexion au serveur smtp'/>
<variable type='string' name='schedule_email_global_notif' description='Email pour envoie de notifications'/>
<variable type='string' name="schedule_office_hour_start" description="Heure de début d'une journée">
<value>09:00</value>
</variable>
<variable type='string' name="schedule_office_hour_end" description="Heure de fin d'une journée">
<value>17:30</value>
</variable>
<variable type='oui/non' name="schedule_dolibarr_api" description='Activer la récupération des commandes depuis Dolibarr'>
<value>non</value>
</variable>
<variable type='string' name='schedule_dolibarr_apikey' description='Api Key pour Dolibarr'/>
<variable type='string' name='schedule_dolibarr_uri' description='Uri du serveur Dolibarr'/>
<variable type='oui/non' name="schedule_sentry" description='Activer Sentry'>
<value>non</value>
</variable>
<variable type='string' name='schedule_sentry_dsn' description='DSN de Sentry'/>
</family> </family>
</variables> </variables>
@@ -69,6 +86,15 @@
<target type='variable'>schedule_dbpass</target> <target type='variable'>schedule_dbpass</target>
<target type='variable'>schedule_allow_hosts</target> <target type='variable'>schedule_allow_hosts</target>
</condition> </condition>
<condition name='disabled_if_in' source='schedule_dolibarr_api'>
<param>non</param>
<target type='variable'>schedule_dolibarr_apikey</target>
<target type='variable'>schedule_dolibarr_uri</target>
</condition>
<condition name='disabled_if_in' source='schedule_sentry'>
<param>non</param>
<target type='variable'>schedule_sentry_dsn</target>
</condition>
</constraints> </constraints>
<help> <help>

View File

@@ -57,8 +57,10 @@ CAS_EMAIL=email
CAS_LASTNAME=lastname CAS_LASTNAME=lastname
CAS_FIRSTNAME=firstname CAS_FIRSTNAME=firstname
###> symfony/swiftmailer-bundle ### ## Sentry DSN
# For Gmail as a transport, use: "gmail://username:password@localhost" SENTRY_DSN=
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
# Delivery is disabled by default via "null://localhost" # Dolibar
MAILER_URL= DOLIBARR_ACTIVE=false
DOLIBARR_API_KEY=
DOLIBARR_URI=

View File

@@ -20,3 +20,4 @@
npm-debug.log npm-debug.log
yarn-error.log yarn-error.log
###< symfony/webpack-encore-bundle ### ###< symfony/webpack-encore-bundle ###
*~

View File

@@ -9,6 +9,8 @@ import interactionPlugin from '@fullcalendar/interaction';
import dayGridPlugin from '@fullcalendar/daygrid'; import dayGridPlugin from '@fullcalendar/daygrid';
var calendar; var calendar;
var e = document.getElementById("sideuser");
var iduser = e.value;
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('fullcalendar'); var calendarEl = document.getElementById('fullcalendar');
calendar = new Calendar(calendarEl, { calendar = new Calendar(calendarEl, {
@@ -16,11 +18,11 @@ document.addEventListener('DOMContentLoaded', function() {
locale: frLocale, locale: frLocale,
weekNumbers: true, weekNumbers: true,
selectable: true, selectable: true,
events: 'event/load', events: 'event/load/'+iduser,
eventLimit:4, eventLimit:8,
eventDrop: function(info) { eventDrop: function(info) {
info.revert(); info.revert();
}, },
eventRender: function (info) { eventRender: function (info) {
eventRender(info); eventRender(info);
}, },
@@ -33,4 +35,4 @@ document.addEventListener('DOMContentLoaded', function() {
}); });
global.calendar = calendar; global.calendar = calendar;
calendar.render(); calendar.render();
}); });

View File

@@ -14,6 +14,7 @@
"nelmio/api-doc-bundle": "^3.6", "nelmio/api-doc-bundle": "^3.6",
"oneup/uploader-bundle": "^2.2", "oneup/uploader-bundle": "^2.2",
"sensio/framework-extra-bundle": "^5.1", "sensio/framework-extra-bundle": "^5.1",
"sentry/sentry-symfony": "^3.5",
"symfony/apache-pack": "^1.0", "symfony/apache-pack": "^1.0",
"symfony/asset": "4.4.*", "symfony/asset": "4.4.*",
"symfony/console": "4.4.*", "symfony/console": "4.4.*",
@@ -76,7 +77,7 @@
"cache:clear --env=prod": "symfony-cmd", "cache:clear --env=prod": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd", "assets:install %PUBLIC_DIR%": "symfony-cmd",
"make:migration": "symfony-cmd", "make:migration": "symfony-cmd",
"doctrine:migrations:migrate --no-interaction": "symfony-cmd" "doctrine:migrations:migrate --no-interaction --allow-no-migration": "symfony-cmd"
}, },
"post-install-cmd": [ "post-install-cmd": [
"@auto-scripts" "@auto-scripts"

View File

@@ -4,34 +4,143 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "1be2a2e3a398eb23cd3c3e26bc75c090", "content-hash": "1ad3ebfcef7f9cf273d256ed17d9bfa1",
"packages": [ "packages": [
{ {
"name": "doctrine/annotations", "name": "clue/stream-filter",
"version": "v1.8.0", "version": "v1.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/annotations.git", "url": "https://github.com/clue/php-stream-filter.git",
"reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", "url": "https://api.github.com/repos/clue/php-stream-filter/zipball/aeb7d8ea49c7963d3b581378955dbf5bc49aa320",
"reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320",
"shasum": ""
},
"require": {
"php": ">=5.3"
},
"require-dev": {
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
},
"type": "library",
"autoload": {
"psr-4": {
"Clue\\StreamFilter\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Christian Lück",
"email": "christian@clue.engineering"
}
],
"description": "A simple and modern approach to stream filtering in PHP",
"homepage": "https://github.com/clue/php-stream-filter",
"keywords": [
"bucket brigade",
"callback",
"filter",
"php_user_filter",
"stream",
"stream_filter_append",
"stream_filter_register"
],
"time": "2020-10-02T12:38:20+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855",
"reference": "c8c9aa8a14cc3d3bec86d0a8c3fa52ea79936855",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"time": "2020-08-25T05:50:16+00:00"
},
{
"name": "doctrine/annotations",
"version": "1.10.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
"reference": "bfe91e31984e2ba76df1c1339681770401ec262f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/annotations/zipball/bfe91e31984e2ba76df1c1339681770401ec262f",
"reference": "bfe91e31984e2ba76df1c1339681770401ec262f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/lexer": "1.*", "doctrine/lexer": "1.*",
"php": "^7.1" "ext-tokenizer": "*",
"php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/cache": "1.*", "doctrine/cache": "1.*",
"phpunit/phpunit": "^7.5" "phpstan/phpstan": "^0.12.20",
"phpunit/phpunit": "^7.5 || ^9.1.5"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.7.x-dev" "dev-master": "1.9.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -72,24 +181,24 @@
"docblock", "docblock",
"parser" "parser"
], ],
"time": "2019-10-01T18:55:10+00:00" "time": "2020-08-10T19:35:50+00:00"
}, },
{ {
"name": "doctrine/cache", "name": "doctrine/cache",
"version": "1.10.0", "version": "1.10.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/cache.git", "url": "https://github.com/doctrine/cache.git",
"reference": "382e7f4db9a12dc6c19431743a2b096041bcdd62" "reference": "13e3381b25847283a91948d04640543941309727"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/cache/zipball/382e7f4db9a12dc6c19431743a2b096041bcdd62", "url": "https://api.github.com/repos/doctrine/cache/zipball/13e3381b25847283a91948d04640543941309727",
"reference": "382e7f4db9a12dc6c19431743a2b096041bcdd62", "reference": "13e3381b25847283a91948d04640543941309727",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "~7.1" "php": "~7.1 || ^8.0"
}, },
"conflict": { "conflict": {
"doctrine/common": ">2.2,<2.4" "doctrine/common": ">2.2,<2.4"
@@ -154,37 +263,32 @@
"redis", "redis",
"xcache" "xcache"
], ],
"time": "2019-11-29T15:36:20+00:00" "time": "2020-07-07T18:54:01+00:00"
}, },
{ {
"name": "doctrine/collections", "name": "doctrine/collections",
"version": "1.6.4", "version": "1.6.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/collections.git", "url": "https://github.com/doctrine/collections.git",
"reference": "6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7" "reference": "55f8b799269a1a472457bd1a41b4f379d4cfba4a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/collections/zipball/6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7", "url": "https://api.github.com/repos/doctrine/collections/zipball/55f8b799269a1a472457bd1a41b4f379d4cfba4a",
"reference": "6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7", "reference": "55f8b799269a1a472457bd1a41b4f379d4cfba4a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": "^7.1.3 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^6.0", "doctrine/coding-standard": "^6.0",
"phpstan/phpstan-shim": "^0.9.2", "phpstan/phpstan-shim": "^0.9.2",
"phpunit/phpunit": "^7.0", "phpunit/phpunit": "^7.0",
"vimeo/psalm": "^3.2.2" "vimeo/psalm": "^3.8.1"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections"
@@ -224,20 +328,20 @@
"iterators", "iterators",
"php" "php"
], ],
"time": "2019-11-13T13:07:11+00:00" "time": "2020-07-27T17:53:49+00:00"
}, },
{ {
"name": "doctrine/common", "name": "doctrine/common",
"version": "2.12.0", "version": "2.13.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/common.git", "url": "https://github.com/doctrine/common.git",
"reference": "2053eafdf60c2172ee1373d1b9289ba1db7f1fc6" "reference": "f3812c026e557892c34ef37f6ab808a6b567da7f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/common/zipball/2053eafdf60c2172ee1373d1b9289ba1db7f1fc6", "url": "https://api.github.com/repos/doctrine/common/zipball/f3812c026e557892c34ef37f6ab808a6b567da7f",
"reference": "2053eafdf60c2172ee1373d1b9289ba1db7f1fc6", "reference": "f3812c026e557892c34ef37f6ab808a6b567da7f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -247,9 +351,9 @@
"doctrine/event-manager": "^1.0", "doctrine/event-manager": "^1.0",
"doctrine/inflector": "^1.0", "doctrine/inflector": "^1.0",
"doctrine/lexer": "^1.0", "doctrine/lexer": "^1.0",
"doctrine/persistence": "^1.1", "doctrine/persistence": "^1.3.3",
"doctrine/reflection": "^1.0", "doctrine/reflection": "^1.0",
"php": "^7.1" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^1.0", "doctrine/coding-standard": "^1.0",
@@ -307,20 +411,20 @@
"doctrine", "doctrine",
"php" "php"
], ],
"time": "2020-01-10T15:49:25+00:00" "time": "2020-06-05T16:46:05+00:00"
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "v2.10.1", "version": "2.10.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8" "reference": "47433196b6390d14409a33885ee42b6208160643"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8", "url": "https://api.github.com/repos/doctrine/dbal/zipball/47433196b6390d14409a33885ee42b6208160643",
"reference": "c2b8e6e82732a64ecde1cddf9e1e06cb8556e3d8", "reference": "47433196b6390d14409a33885ee42b6208160643",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -330,11 +434,14 @@
"php": "^7.2" "php": "^7.2"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^6.0", "doctrine/coding-standard": "^8.1",
"jetbrains/phpstorm-stubs": "^2019.1", "jetbrains/phpstorm-stubs": "^2019.1",
"phpstan/phpstan": "^0.11.3", "nikic/php-parser": "^4.4",
"phpunit/phpunit": "^8.4.1", "phpstan/phpstan": "^0.12.40",
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0" "phpunit/phpunit": "^8.5.5",
"psalm/plugin-phpunit": "^0.10.0",
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0",
"vimeo/psalm": "^3.14.2"
}, },
"suggest": { "suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files." "symfony/console": "For helpful console commands such as SQL execution and import of files."
@@ -399,27 +506,27 @@
"sqlserver", "sqlserver",
"sqlsrv" "sqlsrv"
], ],
"time": "2020-01-04T12:56:21+00:00" "time": "2020-09-12T21:20:41+00:00"
}, },
{ {
"name": "doctrine/doctrine-bundle", "name": "doctrine/doctrine-bundle",
"version": "2.0.7", "version": "2.1.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git", "url": "https://github.com/doctrine/DoctrineBundle.git",
"reference": "6926771140ee87a823c3b2c72602de9dda4490d3" "reference": "f5153089993e1230f5d8acbd8e126014d5a63e17"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/6926771140ee87a823c3b2c72602de9dda4490d3", "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/f5153089993e1230f5d8acbd8e126014d5a63e17",
"reference": "6926771140ee87a823c3b2c72602de9dda4490d3", "reference": "f5153089993e1230f5d8acbd8e126014d5a63e17",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/dbal": "^2.9.0", "doctrine/dbal": "^2.9.0|^3.0",
"doctrine/persistence": "^1.3.3", "doctrine/persistence": "^1.3.3|^2.0",
"jdorn/sql-formatter": "^1.2.16", "doctrine/sql-formatter": "^1.0.1",
"php": "^7.1", "php": "^7.1 || ^8.0",
"symfony/cache": "^4.3.3|^5.0", "symfony/cache": "^4.3.3|^5.0",
"symfony/config": "^4.3.3|^5.0", "symfony/config": "^4.3.3|^5.0",
"symfony/console": "^3.4.30|^4.3.3|^5.0", "symfony/console": "^3.4.30|^4.3.3|^5.0",
@@ -453,7 +560,7 @@
"type": "symfony-bundle", "type": "symfony-bundle",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0.x-dev" "dev-master": "2.1.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -491,20 +598,20 @@
"orm", "orm",
"persistence" "persistence"
], ],
"time": "2020-01-18T11:56:15+00:00" "time": "2020-08-25T10:57:15+00:00"
}, },
{ {
"name": "doctrine/doctrine-migrations-bundle", "name": "doctrine/doctrine-migrations-bundle",
"version": "2.1.2", "version": "2.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
"reference": "856437e8de96a70233e1f0cc2352fc8dd15a899d" "reference": "5efa29df768abaafe29b34e73dac68efbedcaa4d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/856437e8de96a70233e1f0cc2352fc8dd15a899d", "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/5efa29df768abaafe29b34e73dac68efbedcaa4d",
"reference": "856437e8de96a70233e1f0cc2352fc8dd15a899d", "reference": "5efa29df768abaafe29b34e73dac68efbedcaa4d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -559,24 +666,24 @@
"migrations", "migrations",
"schema" "schema"
], ],
"time": "2019-11-13T12:57:41+00:00" "time": "2020-06-25T19:36:08+00:00"
}, },
{ {
"name": "doctrine/event-manager", "name": "doctrine/event-manager",
"version": "1.1.0", "version": "1.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/event-manager.git", "url": "https://github.com/doctrine/event-manager.git",
"reference": "629572819973f13486371cb611386eb17851e85c" "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/event-manager/zipball/629572819973f13486371cb611386eb17851e85c", "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f",
"reference": "629572819973f13486371cb611386eb17851e85c", "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1" "php": "^7.1 || ^8.0"
}, },
"conflict": { "conflict": {
"doctrine/common": "<2.9@dev" "doctrine/common": "<2.9@dev"
@@ -635,37 +742,42 @@
"event system", "event system",
"events" "events"
], ],
"time": "2019-11-10T09:48:07+00:00" "time": "2020-05-29T18:28:51+00:00"
}, },
{ {
"name": "doctrine/inflector", "name": "doctrine/inflector",
"version": "1.3.1", "version": "1.4.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/inflector.git", "url": "https://github.com/doctrine/inflector.git",
"reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" "reference": "4650c8b30c753a76bf44fb2ed00117d6f367490c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", "url": "https://api.github.com/repos/doctrine/inflector/zipball/4650c8b30c753a76bf44fb2ed00117d6f367490c",
"reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", "reference": "4650c8b30c753a76bf44fb2ed00117d6f367490c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^6.2" "doctrine/coding-standard": "^7.0",
"phpstan/phpstan": "^0.11",
"phpstan/phpstan-phpunit": "^0.11",
"phpstan/phpstan-strict-rules": "^0.11",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.3.x-dev" "dev-master": "2.0.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector",
"Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@@ -694,32 +806,38 @@
"email": "schmittjoh@gmail.com" "email": "schmittjoh@gmail.com"
} }
], ],
"description": "Common String Manipulations with regard to casing and singular/plural rules.", "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
"homepage": "http://www.doctrine-project.org", "homepage": "https://www.doctrine-project.org/projects/inflector.html",
"keywords": [ "keywords": [
"inflection", "inflection",
"pluralize", "inflector",
"singularize", "lowercase",
"string" "manipulation",
"php",
"plural",
"singular",
"strings",
"uppercase",
"words"
], ],
"time": "2019-10-30T19:59:35+00:00" "time": "2020-05-29T07:19:59+00:00"
}, },
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
"version": "1.3.0", "version": "1.3.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/instantiator.git", "url": "https://github.com/doctrine/instantiator.git",
"reference": "ae466f726242e637cebdd526a7d991b9433bacf1" "reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
"reference": "ae466f726242e637cebdd526a7d991b9433bacf1", "reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^6.0", "doctrine/coding-standard": "^6.0",
@@ -758,24 +876,24 @@
"constructor", "constructor",
"instantiate" "instantiate"
], ],
"time": "2019-10-21T16:45:58+00:00" "time": "2020-05-29T17:27:14+00:00"
}, },
{ {
"name": "doctrine/lexer", "name": "doctrine/lexer",
"version": "1.2.0", "version": "1.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/lexer.git", "url": "https://github.com/doctrine/lexer.git",
"reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" "reference": "e864bbf5904cb8f5bb334f99209b48018522f042"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042",
"reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", "reference": "e864bbf5904cb8f5bb334f99209b48018522f042",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2" "php": "^7.2 || ^8.0"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^6.0", "doctrine/coding-standard": "^6.0",
@@ -820,7 +938,7 @@
"parser", "parser",
"php" "php"
], ],
"time": "2019-10-30T14:39:59+00:00" "time": "2020-05-25T17:44:05+00:00"
}, },
{ {
"name": "doctrine/migrations", "name": "doctrine/migrations",
@@ -906,27 +1024,29 @@
}, },
{ {
"name": "doctrine/orm", "name": "doctrine/orm",
"version": "v2.7.1", "version": "v2.7.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/orm.git", "url": "https://github.com/doctrine/orm.git",
"reference": "445796af0e873d9bd04f2502d322a7d5009b6846" "reference": "d95e03ba660d50d785a9925f41927fef0ee553cf"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/orm/zipball/445796af0e873d9bd04f2502d322a7d5009b6846", "url": "https://api.github.com/repos/doctrine/orm/zipball/d95e03ba660d50d785a9925f41927fef0ee553cf",
"reference": "445796af0e873d9bd04f2502d322a7d5009b6846", "reference": "d95e03ba660d50d785a9925f41927fef0ee553cf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/annotations": "^1.8", "doctrine/annotations": "^1.8",
"doctrine/cache": "^1.9.1", "doctrine/cache": "^1.9.1",
"doctrine/collections": "^1.5", "doctrine/collections": "^1.5",
"doctrine/common": "^2.11", "doctrine/common": "^2.11 || ^3.0",
"doctrine/dbal": "^2.9.3", "doctrine/dbal": "^2.9.3",
"doctrine/event-manager": "^1.1", "doctrine/event-manager": "^1.1",
"doctrine/inflector": "^1.0",
"doctrine/instantiator": "^1.3", "doctrine/instantiator": "^1.3",
"doctrine/persistence": "^1.2", "doctrine/lexer": "^1.0",
"doctrine/persistence": "^1.3.3 || ^2.0",
"ext-pdo": "*", "ext-pdo": "*",
"ocramius/package-versions": "^1.2", "ocramius/package-versions": "^1.2",
"php": "^7.1", "php": "^7.1",
@@ -934,8 +1054,10 @@
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^5.0", "doctrine/coding-standard": "^5.0",
"phpstan/phpstan": "^0.12.18",
"phpunit/phpunit": "^7.5", "phpunit/phpunit": "^7.5",
"symfony/yaml": "^3.4|^4.0|^5.0" "symfony/yaml": "^3.4|^4.0|^5.0",
"vimeo/psalm": "^3.11"
}, },
"suggest": { "suggest": {
"symfony/yaml": "If you want to use YAML Metadata Mapping Driver" "symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
@@ -986,20 +1108,20 @@
"database", "database",
"orm" "orm"
], ],
"time": "2020-02-15T14:35:56+00:00" "time": "2020-05-26T16:03:49+00:00"
}, },
{ {
"name": "doctrine/persistence", "name": "doctrine/persistence",
"version": "1.3.6", "version": "1.3.8",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/persistence.git", "url": "https://github.com/doctrine/persistence.git",
"reference": "5dd3ac5eebef2d0b074daa4440bb18f93132dee4" "reference": "7a6eac9fb6f61bba91328f15aa7547f4806ca288"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/persistence/zipball/5dd3ac5eebef2d0b074daa4440bb18f93132dee4", "url": "https://api.github.com/repos/doctrine/persistence/zipball/7a6eac9fb6f61bba91328f15aa7547f4806ca288",
"reference": "5dd3ac5eebef2d0b074daa4440bb18f93132dee4", "reference": "7a6eac9fb6f61bba91328f15aa7547f4806ca288",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1007,8 +1129,8 @@
"doctrine/cache": "^1.0", "doctrine/cache": "^1.0",
"doctrine/collections": "^1.0", "doctrine/collections": "^1.0",
"doctrine/event-manager": "^1.0", "doctrine/event-manager": "^1.0",
"doctrine/reflection": "^1.1", "doctrine/reflection": "^1.2",
"php": "^7.1" "php": "^7.1 || ^8.0"
}, },
"conflict": { "conflict": {
"doctrine/common": "<2.10@dev" "doctrine/common": "<2.10@dev"
@@ -1016,7 +1138,8 @@
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^6.0", "doctrine/coding-standard": "^6.0",
"phpstan/phpstan": "^0.11", "phpstan/phpstan": "^0.11",
"phpunit/phpunit": "^7.0" "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
"vimeo/psalm": "^3.11"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -1069,20 +1192,20 @@
"orm", "orm",
"persistence" "persistence"
], ],
"time": "2020-01-16T22:06:23+00:00" "time": "2020-06-20T12:56:16+00:00"
}, },
{ {
"name": "doctrine/reflection", "name": "doctrine/reflection",
"version": "v1.1.0", "version": "1.2.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/reflection.git", "url": "https://github.com/doctrine/reflection.git",
"reference": "bc420ead87fdfe08c03ecc3549db603a45b06d4c" "reference": "55e71912dfcd824b2fdd16f2d9afe15684cfce79"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/reflection/zipball/bc420ead87fdfe08c03ecc3549db603a45b06d4c", "url": "https://api.github.com/repos/doctrine/reflection/zipball/55e71912dfcd824b2fdd16f2d9afe15684cfce79",
"reference": "bc420ead87fdfe08c03ecc3549db603a45b06d4c", "reference": "55e71912dfcd824b2fdd16f2d9afe15684cfce79",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1103,7 +1226,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.0.x-dev" "dev-master": "1.2.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -1147,20 +1270,73 @@
"reflection", "reflection",
"static" "static"
], ],
"time": "2020-01-08T19:53:19+00:00" "time": "2020-03-27T11:06:43+00:00"
}, },
{ {
"name": "egulias/email-validator", "name": "doctrine/sql-formatter",
"version": "2.1.17", "version": "1.1.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/egulias/EmailValidator.git", "url": "https://github.com/doctrine/sql-formatter.git",
"reference": "ade6887fd9bd74177769645ab5c474824f8a418a" "reference": "56070bebac6e77230ed7d306ad13528e60732871"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ade6887fd9bd74177769645ab5c474824f8a418a", "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/56070bebac6e77230ed7d306ad13528e60732871",
"reference": "ade6887fd9bd74177769645ab5c474824f8a418a", "reference": "56070bebac6e77230ed7d306ad13528e60732871",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4"
},
"bin": [
"bin/sql-formatter"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\SqlFormatter\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jeremy Dorn",
"email": "jeremy@jeremydorn.com",
"homepage": "http://jeremydorn.com/"
}
],
"description": "a PHP SQL highlighting library",
"homepage": "https://github.com/doctrine/sql-formatter/",
"keywords": [
"highlight",
"sql"
],
"time": "2020-07-30T16:57:33+00:00"
},
{
"name": "egulias/email-validator",
"version": "2.1.22",
"source": {
"type": "git",
"url": "https://github.com/egulias/EmailValidator.git",
"reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5",
"reference": "68e418ec08fbfc6f58f6fd2eea70ca8efc8cc7d5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1184,7 +1360,7 @@
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Egulias\\EmailValidator\\": "EmailValidator" "Egulias\\EmailValidator\\": "src"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@@ -1205,7 +1381,7 @@
"validation", "validation",
"validator" "validator"
], ],
"time": "2020-02-13T22:36:52+00:00" "time": "2020-09-26T15:48:38+00:00"
}, },
{ {
"name": "exsyst/swagger", "name": "exsyst/swagger",
@@ -1326,21 +1502,21 @@
}, },
{ {
"name": "friendsofsymfony/rest-bundle", "name": "friendsofsymfony/rest-bundle",
"version": "2.7.2", "version": "2.8.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git",
"reference": "22fbbc35a2964564bfde765007655174262315c9" "reference": "2000204f4ac6bf5515222fc5d9be1652ed138e8f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/22fbbc35a2964564bfde765007655174262315c9", "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/2000204f4ac6bf5515222fc5d9be1652ed138e8f",
"reference": "22fbbc35a2964564bfde765007655174262315c9", "reference": "2000204f4ac6bf5515222fc5d9be1652ed138e8f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/inflector": "^1.0", "doctrine/inflector": "^1.0",
"php": "^7.1", "php": "^7.1|^8.0",
"psr/log": "^1.0", "psr/log": "^1.0",
"symfony/config": "^3.4|^4.3", "symfony/config": "^3.4|^4.3",
"symfony/debug": "^3.4|^4.3", "symfony/debug": "^3.4|^4.3",
@@ -1356,6 +1532,7 @@
"willdurand/negotiation": "^2.0" "willdurand/negotiation": "^2.0"
}, },
"conflict": { "conflict": {
"doctrine/inflector": "1.4.0",
"jms/serializer": "<1.13.0", "jms/serializer": "<1.13.0",
"jms/serializer-bundle": "<2.0.0", "jms/serializer-bundle": "<2.0.0",
"sensio/framework-extra-bundle": "<3.0.13" "sensio/framework-extra-bundle": "<3.0.13"
@@ -1391,6 +1568,7 @@
"type": "symfony-bundle", "type": "symfony-bundle",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"2.x-dev": "2.8-dev",
"dev-master": "2.7-dev" "dev-master": "2.7-dev"
} }
}, },
@@ -1399,6 +1577,7 @@
"FOS\\RestBundle\\": "" "FOS\\RestBundle\\": ""
}, },
"exclude-from-classmap": [ "exclude-from-classmap": [
"Resources/",
"Tests/" "Tests/"
] ]
}, },
@@ -1425,7 +1604,179 @@
"keywords": [ "keywords": [
"rest" "rest"
], ],
"time": "2020-03-04T21:18:53+00:00" "time": "2020-09-10T06:51:53+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "1.4.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "60d379c243457e073cff02bc323a2a86cb355631"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631",
"reference": "60d379c243457e073cff02bc323a2a86cb355631",
"shasum": ""
},
"require": {
"php": ">=5.5"
},
"require-dev": {
"symfony/phpunit-bridge": "^4.4 || ^5.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Promise\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle promises library",
"keywords": [
"promise"
],
"time": "2020-09-30T07:37:28+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3",
"reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.7-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Psr7\\": "src/"
},
"files": [
"src/functions_include.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Schultze",
"homepage": "https://github.com/Tobion"
}
],
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"http",
"message",
"psr-7",
"request",
"response",
"stream",
"uri",
"url"
],
"time": "2020-09-30T07:37:11+00:00"
},
{
"name": "http-interop/http-factory-guzzle",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/http-interop/http-factory-guzzle.git",
"reference": "34861658efb9899a6618cef03de46e2a52c80fc0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/http-interop/http-factory-guzzle/zipball/34861658efb9899a6618cef03de46e2a52c80fc0",
"reference": "34861658efb9899a6618cef03de46e2a52c80fc0",
"shasum": ""
},
"require": {
"guzzlehttp/psr7": "^1.4.2",
"psr/http-factory": "^1.0"
},
"provide": {
"psr/http-factory-implementation": "^1.0"
},
"require-dev": {
"http-interop/http-factory-tests": "^0.5",
"phpunit/phpunit": "^6.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Http\\Factory\\Guzzle\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "An HTTP Factory using Guzzle PSR7",
"keywords": [
"factory",
"http",
"psr-17",
"psr-7"
],
"time": "2018-07-31T19:32:56+00:00"
}, },
{ {
"name": "jasig/phpcas", "name": "jasig/phpcas",
@@ -1483,35 +1834,36 @@
"time": "2019-08-18T20:01:55+00:00" "time": "2019-08-18T20:01:55+00:00"
}, },
{ {
"name": "jdorn/sql-formatter", "name": "jean85/pretty-package-versions",
"version": "v1.2.17", "version": "1.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/jdorn/sql-formatter.git", "url": "https://github.com/Jean85/pretty-package-versions.git",
"reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" "reference": "a917488320c20057da87f67d0d40543dd9427f7a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/a917488320c20057da87f67d0d40543dd9427f7a",
"reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", "reference": "a917488320c20057da87f67d0d40543dd9427f7a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.2.4" "composer/package-versions-deprecated": "^1.8.0",
"php": "^7.0|^8.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "3.7.*" "phpunit/phpunit": "^6.0|^8.5|^9.2"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.3.x-dev" "dev-master": "1.x-dev"
} }
}, },
"autoload": { "autoload": {
"classmap": [ "psr-4": {
"lib" "Jean85\\": "src/"
] }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@@ -1519,18 +1871,18 @@
], ],
"authors": [ "authors": [
{ {
"name": "Jeremy Dorn", "name": "Alessandro Lai",
"email": "jeremy@jeremydorn.com", "email": "alessandro.lai85@gmail.com"
"homepage": "http://jeremydorn.com/"
} }
], ],
"description": "a PHP SQL highlighting library", "description": "A wrapper for ocramius/package-versions to get pretty versions strings",
"homepage": "https://github.com/jdorn/sql-formatter/",
"keywords": [ "keywords": [
"highlight", "composer",
"sql" "package",
"release",
"versions"
], ],
"time": "2014-01-12T16:20:24+00:00" "time": "2020-09-14T08:43:34+00:00"
}, },
{ {
"name": "knplabs/knp-snappy", "name": "knplabs/knp-snappy",
@@ -1600,16 +1952,16 @@
}, },
{ {
"name": "knplabs/knp-snappy-bundle", "name": "knplabs/knp-snappy-bundle",
"version": "v1.7.0", "version": "v1.7.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/KnpLabs/KnpSnappyBundle.git", "url": "https://github.com/KnpLabs/KnpSnappyBundle.git",
"reference": "717185618888b03daf85a54897a8a11e655a3eeb" "reference": "89a633d30d39b71b38511b70e1f0495164140933"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/KnpLabs/KnpSnappyBundle/zipball/717185618888b03daf85a54897a8a11e655a3eeb", "url": "https://api.github.com/repos/KnpLabs/KnpSnappyBundle/zipball/89a633d30d39b71b38511b70e1f0495164140933",
"reference": "717185618888b03daf85a54897a8a11e655a3eeb", "reference": "89a633d30d39b71b38511b70e1f0495164140933",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1635,7 +1987,7 @@
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Knp\\Bundle\\SnappyBundle\\": "" "Knp\\Bundle\\SnappyBundle\\": "src/"
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@@ -1652,7 +2004,7 @@
"homepage": "http://github.com/KnpLabs/KnpSnappyBundle/contributors" "homepage": "http://github.com/KnpLabs/KnpSnappyBundle/contributors"
} }
], ],
"description": "Easily create PDF and images in Symfony2 by converting Twig/HTML templates.", "description": "Easily create PDF and images in Symfony by converting Twig/HTML templates.",
"homepage": "http://github.com/KnpLabs/KnpSnappyBundle", "homepage": "http://github.com/KnpLabs/KnpSnappyBundle",
"keywords": [ "keywords": [
"bundle", "bundle",
@@ -1661,20 +2013,20 @@
"pdf", "pdf",
"snappy" "snappy"
], ],
"time": "2019-12-30T16:19:53+00:00" "time": "2020-09-11T12:51:46+00:00"
}, },
{ {
"name": "monolog/monolog", "name": "monolog/monolog",
"version": "1.25.3", "version": "1.25.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/Seldaek/monolog.git", "url": "https://github.com/Seldaek/monolog.git",
"reference": "fa82921994db851a8becaf3787a9e73c5976b6f1" "reference": "1817faadd1846cd08be9a49e905dc68823bc38c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/fa82921994db851a8becaf3787a9e73c5976b6f1", "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1817faadd1846cd08be9a49e905dc68823bc38c0",
"reference": "fa82921994db851a8becaf3787a9e73c5976b6f1", "reference": "1817faadd1846cd08be9a49e905dc68823bc38c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1688,11 +2040,10 @@
"aws/aws-sdk-php": "^2.4.9 || ^3.0", "aws/aws-sdk-php": "^2.4.9 || ^3.0",
"doctrine/couchdb": "~1.0@dev", "doctrine/couchdb": "~1.0@dev",
"graylog2/gelf-php": "~1.0", "graylog2/gelf-php": "~1.0",
"jakub-onderka/php-parallel-lint": "0.9",
"php-amqplib/php-amqplib": "~2.4", "php-amqplib/php-amqplib": "~2.4",
"php-console/php-console": "^3.1.3", "php-console/php-console": "^3.1.3",
"php-parallel-lint/php-parallel-lint": "^1.0",
"phpunit/phpunit": "~4.5", "phpunit/phpunit": "~4.5",
"phpunit/phpunit-mock-objects": "2.3.0",
"ruflin/elastica": ">=0.90 <3.0", "ruflin/elastica": ">=0.90 <3.0",
"sentry/sentry": "^0.13", "sentry/sentry": "^0.13",
"swiftmailer/swiftmailer": "^5.3|^6.0" "swiftmailer/swiftmailer": "^5.3|^6.0"
@@ -1739,7 +2090,7 @@
"logging", "logging",
"psr-3" "psr-3"
], ],
"time": "2019-12-20T14:15:16+00:00" "time": "2020-07-23T08:35:51+00:00"
}, },
{ {
"name": "nategood/httpful", "name": "nategood/httpful",
@@ -1793,16 +2144,16 @@
}, },
{ {
"name": "nelmio/api-doc-bundle", "name": "nelmio/api-doc-bundle",
"version": "v3.6.0", "version": "v3.7.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nelmio/NelmioApiDocBundle.git", "url": "https://github.com/nelmio/NelmioApiDocBundle.git",
"reference": "0fcf2d5c9a9b4e230e5bcf6b3f4ad469ba738ed2" "reference": "290df23dc0060c4daaed95a7f37845f16a287ebd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nelmio/NelmioApiDocBundle/zipball/0fcf2d5c9a9b4e230e5bcf6b3f4ad469ba738ed2", "url": "https://api.github.com/repos/nelmio/NelmioApiDocBundle/zipball/290df23dc0060c4daaed95a7f37845f16a287ebd",
"reference": "0fcf2d5c9a9b4e230e5bcf6b3f4ad469ba738ed2", "reference": "290df23dc0060c4daaed95a7f37845f16a287ebd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1821,7 +2172,7 @@
"api-platform/core": "^2.1.2", "api-platform/core": "^2.1.2",
"doctrine/annotations": "^1.2", "doctrine/annotations": "^1.2",
"doctrine/common": "^2.4", "doctrine/common": "^2.4",
"friendsofsymfony/rest-bundle": "^2.0", "friendsofsymfony/rest-bundle": "^2.0|^3.0@beta",
"jms/serializer": "^1.14|^3.0", "jms/serializer": "^1.14|^3.0",
"jms/serializer-bundle": "^2.3|^3.0", "jms/serializer-bundle": "^2.3|^3.0",
"sensio/framework-extra-bundle": "^3.0.13|^4.0|^5.0", "sensio/framework-extra-bundle": "^3.0.13|^4.0|^5.0",
@@ -1834,7 +2185,7 @@
"symfony/form": "^3.4|^4.0|^5.0", "symfony/form": "^3.4|^4.0|^5.0",
"symfony/phpunit-bridge": "^3.4.24|^4.0|^5.0", "symfony/phpunit-bridge": "^3.4.24|^4.0|^5.0",
"symfony/property-access": "^3.4|^4.0|^5.0", "symfony/property-access": "^3.4|^4.0|^5.0",
"symfony/routing": "^3.4|^4.0|^5.0", "symfony/routing": "^3.4.42|^4.0|^5.0",
"symfony/stopwatch": "^3.4|^4.0|^5.0", "symfony/stopwatch": "^3.4|^4.0|^5.0",
"symfony/templating": "^3.4|^4.0|^5.0", "symfony/templating": "^3.4|^4.0|^5.0",
"symfony/twig-bundle": "^3.4|^4.0|^5.0", "symfony/twig-bundle": "^3.4|^4.0|^5.0",
@@ -1848,13 +2199,16 @@
"type": "symfony-bundle", "type": "symfony-bundle",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.6.x-dev" "dev-3.x": "3.7.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Nelmio\\ApiDocBundle\\": "" "Nelmio\\ApiDocBundle\\": ""
} },
"exclude-from-classmap": [
"/Tests/"
]
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
"license": [ "license": [
@@ -1877,20 +2231,20 @@
"documentation", "documentation",
"rest" "rest"
], ],
"time": "2020-02-23T16:51:12+00:00" "time": "2020-09-29T10:30:21+00:00"
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v4.3.0", "version": "v4.10.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc" "reference": "658f1be311a230e0907f5dfe0213742aff0596de"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/9a9981c347c5c49d6dfe5cf826bb882b824080dc", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/658f1be311a230e0907f5dfe0213742aff0596de",
"reference": "9a9981c347c5c49d6dfe5cf826bb882b824080dc", "reference": "658f1be311a230e0907f5dfe0213742aff0596de",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -1898,8 +2252,8 @@
"php": ">=7.0" "php": ">=7.0"
}, },
"require-dev": { "require-dev": {
"ircmaxell/php-yacc": "0.0.5", "ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0" "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
}, },
"bin": [ "bin": [
"bin/php-parse" "bin/php-parse"
@@ -1907,7 +2261,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "4.3-dev" "dev-master": "4.9-dev"
} }
}, },
"autoload": { "autoload": {
@@ -1929,57 +2283,7 @@
"parser", "parser",
"php" "php"
], ],
"time": "2019-11-08T13:50:10+00:00" "time": "2020-09-26T10:30:38+00:00"
},
{
"name": "ocramius/package-versions",
"version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/Ocramius/PackageVersions.git",
"reference": "44af6f3a2e2e04f2af46bcb302ad9600cba41c7d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Ocramius/PackageVersions/zipball/44af6f3a2e2e04f2af46bcb302ad9600cba41c7d",
"reference": "44af6f3a2e2e04f2af46bcb302ad9600cba41c7d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0.0",
"php": "^7.1.0"
},
"require-dev": {
"composer/composer": "^1.6.3",
"doctrine/coding-standard": "^5.0.1",
"ext-zip": "*",
"infection/infection": "^0.7.1",
"phpunit/phpunit": "^7.5.17"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"time": "2019-11-15T16:17:10+00:00"
}, },
{ {
"name": "ocramius/proxy-manager", "name": "ocramius/proxy-manager",
@@ -2139,24 +2443,164 @@
"time": "2020-02-06T09:12:03+00:00" "time": "2020-02-06T09:12:03+00:00"
}, },
{ {
"name": "phpdocumentor/reflection-common", "name": "php-http/client-common",
"version": "2.0.0", "version": "2.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git", "url": "https://github.com/php-http/client-common.git",
"reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" "reference": "e37e46c610c87519753135fb893111798c69076a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", "url": "https://api.github.com/repos/php-http/client-common/zipball/e37e46c610c87519753135fb893111798c69076a",
"reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "reference": "e37e46c610c87519753135fb893111798c69076a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.1" "php": "^7.1 || ^8.0",
"php-http/httplug": "^2.0",
"php-http/message": "^1.6",
"php-http/message-factory": "^1.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0",
"psr/http-message": "^1.0",
"symfony/options-resolver": "^2.6 || ^3.4.20 || ~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0",
"symfony/polyfill-php80": "^1.17"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~6" "doctrine/instantiator": "^1.1",
"guzzlehttp/psr7": "^1.4",
"nyholm/psr7": "^1.2",
"phpspec/phpspec": "^5.1 || ^6.0",
"phpspec/prophecy": "^1.10.2",
"phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3"
},
"suggest": {
"ext-json": "To detect JSON responses with the ContentTypePlugin",
"ext-libxml": "To detect XML responses with the ContentTypePlugin",
"php-http/cache-plugin": "PSR-6 Cache plugin",
"php-http/logger-plugin": "PSR-3 Logger plugin",
"php-http/stopwatch-plugin": "Symfony Stopwatch plugin"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3.x-dev"
}
},
"autoload": {
"psr-4": {
"Http\\Client\\Common\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "Common HTTP Client implementations and tools for HTTPlug",
"homepage": "http://httplug.io",
"keywords": [
"client",
"common",
"http",
"httplug"
],
"time": "2020-07-21T10:04:13+00:00"
},
{
"name": "php-http/discovery",
"version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/discovery.git",
"reference": "4366bf1bc39b663aa87459bd725501d2f1988b6c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/discovery/zipball/4366bf1bc39b663aa87459bd725501d2f1988b6c",
"reference": "4366bf1bc39b663aa87459bd725501d2f1988b6c",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
"nyholm/psr7": "<1.0"
},
"require-dev": {
"graham-campbell/phpspec-skip-example-extension": "^5.0",
"php-http/httplug": "^1.0 || ^2.0",
"php-http/message-factory": "^1.0",
"phpspec/phpspec": "^5.1 || ^6.1",
"puli/composer-plugin": "1.0.0-beta10"
},
"suggest": {
"php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories",
"puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.9-dev"
}
},
"autoload": {
"psr-4": {
"Http\\Discovery\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "Finds installed HTTPlug implementations and PSR-7 message factories",
"homepage": "http://php-http.org",
"keywords": [
"adapter",
"client",
"discovery",
"factory",
"http",
"message",
"psr7"
],
"time": "2020-09-22T13:31:04+00:00"
},
{
"name": "php-http/httplug",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/httplug.git",
"reference": "191a0a1b41ed026b717421931f8d3bd2514ffbf9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/httplug/zipball/191a0a1b41ed026b717421931f8d3bd2514ffbf9",
"reference": "191a0a1b41ed026b717421931f8d3bd2514ffbf9",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0",
"php-http/promise": "^1.1",
"psr/http-client": "^1.0",
"psr/http-message": "^1.0"
},
"require-dev": {
"friends-of-phpspec/phpspec-code-coverage": "^4.1",
"phpspec/phpspec": "^5.1 || ^6.0"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -2164,6 +2608,233 @@
"dev-master": "2.x-dev" "dev-master": "2.x-dev"
} }
}, },
"autoload": {
"psr-4": {
"Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Eric GELOEN",
"email": "geloen.eric@gmail.com"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com",
"homepage": "https://sagikazarmark.hu"
}
],
"description": "HTTPlug, the HTTP client abstraction for PHP",
"homepage": "http://httplug.io",
"keywords": [
"client",
"http"
],
"time": "2020-07-13T15:43:23+00:00"
},
{
"name": "php-http/message",
"version": "1.9.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/message.git",
"reference": "2c7256e3c1aba0bfca70f099810f1c7712e00945"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/message/zipball/2c7256e3c1aba0bfca70f099810f1c7712e00945",
"reference": "2c7256e3c1aba0bfca70f099810f1c7712e00945",
"shasum": ""
},
"require": {
"clue/stream-filter": "^1.4.1",
"php": "^7.1",
"php-http/message-factory": "^1.0.2",
"psr/http-message": "^1.0"
},
"provide": {
"php-http/message-factory-implementation": "1.0"
},
"require-dev": {
"akeneo/phpspec-skip-example-extension": "^1.0",
"coduo/phpspec-data-provider-extension": "^1.0",
"ergebnis/composer-normalize": "^2.1",
"ext-zlib": "*",
"guzzlehttp/psr7": "^1.0",
"henrikbjorn/phpspec-code-coverage": "^1.0",
"phpspec/phpspec": "^2.4",
"slim/slim": "^3.0",
"zendframework/zend-diactoros": "^1.0"
},
"suggest": {
"ext-zlib": "Used with compressor/decompressor streams",
"guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories",
"slim/slim": "Used with Slim Framework PSR-7 implementation",
"zendframework/zend-diactoros": "Used with Diactoros Factories"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.8-dev"
}
},
"autoload": {
"psr-4": {
"Http\\Message\\": "src/"
},
"files": [
"src/filters.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "HTTP Message related tools",
"homepage": "http://php-http.org",
"keywords": [
"http",
"message",
"psr-7"
],
"time": "2020-08-17T06:33:14+00:00"
},
{
"name": "php-http/message-factory",
"version": "v1.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-http/message-factory.git",
"reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1",
"reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1",
"shasum": ""
},
"require": {
"php": ">=5.4",
"psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"autoload": {
"psr-4": {
"Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "Factory interfaces for PSR-7 HTTP Message",
"homepage": "http://php-http.org",
"keywords": [
"factory",
"http",
"message",
"stream",
"uri"
],
"time": "2015-12-19T14:08:53+00:00"
},
{
"name": "php-http/promise",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/promise.git",
"reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-http/promise/zipball/4c4c1f9b7289a2ec57cde7f1e9762a5789506f88",
"reference": "4c4c1f9b7289a2ec57cde7f1e9762a5789506f88",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"friends-of-phpspec/phpspec-code-coverage": "^4.3.2",
"phpspec/phpspec": "^5.1.2 || ^6.2"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1-dev"
}
},
"autoload": {
"psr-4": {
"Http\\Promise\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Joel Wurtz",
"email": "joel.wurtz@gmail.com"
},
{
"name": "Márk Sági-Kazár",
"email": "mark.sagikazar@gmail.com"
}
],
"description": "Promise used for asynchronous HTTP requests",
"homepage": "http://httplug.io",
"keywords": [
"promise"
],
"time": "2020-07-07T09:29:14+00:00"
},
{
"name": "phpdocumentor/reflection-common",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
"reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-2.x": "2.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"phpDocumentor\\Reflection\\": "src/" "phpDocumentor\\Reflection\\": "src/"
@@ -2188,45 +2859,41 @@
"reflection", "reflection",
"static analysis" "static analysis"
], ],
"time": "2018-08-07T13:53:10+00:00" "time": "2020-06-27T09:03:43+00:00"
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "4.3.4", "version": "5.2.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0", "ext-filter": "*",
"phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", "php": "^7.2 || ^8.0",
"phpdocumentor/type-resolver": "~0.4 || ^1.0.0", "phpdocumentor/reflection-common": "^2.2",
"webmozart/assert": "^1.0" "phpdocumentor/type-resolver": "^1.3",
"webmozart/assert": "^1.9.1"
}, },
"require-dev": { "require-dev": {
"doctrine/instantiator": "^1.0.5", "mockery/mockery": "~1.3.2"
"mockery/mockery": "^1.0",
"phpdocumentor/type-resolver": "0.4.*",
"phpunit/phpunit": "^6.4"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "4.x-dev" "dev-master": "5.x-dev"
} }
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"phpDocumentor\\Reflection\\": [ "phpDocumentor\\Reflection\\": "src"
"src/"
]
} }
}, },
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@@ -2237,37 +2904,40 @@
{ {
"name": "Mike van Riel", "name": "Mike van Riel",
"email": "me@mikevanriel.com" "email": "me@mikevanriel.com"
},
{
"name": "Jaap van Otterdijk",
"email": "account@ijaap.nl"
} }
], ],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"time": "2019-12-28T18:55:12+00:00" "time": "2020-09-03T19:13:55+00:00"
}, },
{ {
"name": "phpdocumentor/type-resolver", "name": "phpdocumentor/type-resolver",
"version": "1.1.0", "version": "1.4.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git", "url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "7462d5f123dfc080dfdf26897032a6513644fc95" "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"reference": "7462d5f123dfc080dfdf26897032a6513644fc95", "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2", "php": "^7.2 || ^8.0",
"phpdocumentor/reflection-common": "^2.0" "phpdocumentor/reflection-common": "^2.0"
}, },
"require-dev": { "require-dev": {
"ext-tokenizer": "^7.2", "ext-tokenizer": "*"
"mockery/mockery": "~1"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.x-dev" "dev-1.x": "1.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -2286,7 +2956,7 @@
} }
], ],
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"time": "2020-02-18T18:59:58+00:00" "time": "2020-09-17T18:55:26+00:00"
}, },
{ {
"name": "psr/cache", "name": "psr/cache",
@@ -2383,6 +3053,157 @@
], ],
"time": "2017-02-14T16:28:37+00:00" "time": "2017-02-14T16:28:37+00:00"
}, },
{
"name": "psr/http-client",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-client.git",
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"shasum": ""
},
"require": {
"php": "^7.0 || ^8.0",
"psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP clients",
"homepage": "https://github.com/php-fig/http-client",
"keywords": [
"http",
"http-client",
"psr",
"psr-18"
],
"time": "2020-06-29T06:28:15+00:00"
},
{
"name": "psr/http-factory",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-factory.git",
"reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
"reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
"shasum": ""
},
"require": {
"php": ">=7.0.0",
"psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interfaces for PSR-7 HTTP message factories",
"keywords": [
"factory",
"http",
"message",
"psr",
"psr-17",
"psr-7",
"request",
"response"
],
"time": "2019-04-30T12:38:16+00:00"
},
{
"name": "psr/http-message",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"time": "2016-08-06T14:39:51+00:00"
},
{ {
"name": "psr/link", "name": "psr/link",
"version": "1.0.0", "version": "1.0.0",
@@ -2434,16 +3255,16 @@
}, },
{ {
"name": "psr/log", "name": "psr/log",
"version": "1.1.2", "version": "1.1.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-fig/log.git", "url": "https://github.com/php-fig/log.git",
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801" "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801", "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801", "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -2477,59 +3298,97 @@
"psr", "psr",
"psr-3" "psr-3"
], ],
"time": "2019-11-01T11:05:21+00:00" "time": "2020-03-23T09:12:05+00:00"
}, },
{ {
"name": "sensio/framework-extra-bundle", "name": "ralouphie/getallheaders",
"version": "v5.5.3", "version": "3.0.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git", "url": "https://github.com/ralouphie/getallheaders.git",
"reference": "98f0807137b13d0acfdf3c255a731516e97015de" "reference": "120b605dfeb996808c31b6477290a714d356e822"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/98f0807137b13d0acfdf3c255a731516e97015de", "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "98f0807137b13d0acfdf3c255a731516e97015de", "reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
"files": [
"src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ralph Khattar",
"email": "ralph.khattar@gmail.com"
}
],
"description": "A polyfill for getallheaders.",
"time": "2019-03-08T08:55:37+00:00"
},
{
"name": "sensio/framework-extra-bundle",
"version": "v5.6.1",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
"reference": "430d14c01836b77c28092883d195a43ce413ee32"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/430d14c01836b77c28092883d195a43ce413ee32",
"reference": "430d14c01836b77c28092883d195a43ce413ee32",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/annotations": "^1.0", "doctrine/annotations": "^1.0",
"php": ">=7.1.3", "php": ">=7.2.5",
"symfony/config": "^4.3|^5.0", "symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.3|^5.0", "symfony/dependency-injection": "^4.4|^5.0",
"symfony/framework-bundle": "^4.3|^5.0", "symfony/framework-bundle": "^4.4|^5.0",
"symfony/http-kernel": "^4.3|^5.0" "symfony/http-kernel": "^4.4|^5.0"
}, },
"conflict": { "conflict": {
"doctrine/doctrine-cache-bundle": "<1.3.1" "doctrine/doctrine-cache-bundle": "<1.3.1",
"doctrine/persistence": "<1.3"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "^2.10|^3.0",
"doctrine/doctrine-bundle": "^1.11|^2.0", "doctrine/doctrine-bundle": "^1.11|^2.0",
"doctrine/orm": "^2.5", "doctrine/orm": "^2.5",
"nyholm/psr7": "^1.1", "nyholm/psr7": "^1.1",
"symfony/browser-kit": "^4.3|^5.0", "symfony/browser-kit": "^4.4|^5.0",
"symfony/dom-crawler": "^4.3|^5.0", "symfony/doctrine-bridge": "^4.4|^5.0",
"symfony/expression-language": "^4.3|^5.0", "symfony/dom-crawler": "^4.4|^5.0",
"symfony/finder": "^4.3|^5.0", "symfony/expression-language": "^4.4|^5.0",
"symfony/finder": "^4.4|^5.0",
"symfony/monolog-bridge": "^4.0|^5.0", "symfony/monolog-bridge": "^4.0|^5.0",
"symfony/monolog-bundle": "^3.2", "symfony/monolog-bundle": "^3.2",
"symfony/phpunit-bridge": "^4.3.5|^5.0", "symfony/phpunit-bridge": "^4.4.9|^5.0.9",
"symfony/psr-http-message-bridge": "^1.1", "symfony/psr-http-message-bridge": "^1.1",
"symfony/security-bundle": "^4.3|^5.0", "symfony/security-bundle": "^4.4|^5.0",
"symfony/twig-bundle": "^4.3|^5.0", "symfony/twig-bundle": "^4.4|^5.0",
"symfony/yaml": "^4.3|^5.0", "symfony/yaml": "^4.4|^5.0",
"twig/twig": "^1.34|^2.4|^3.0" "twig/twig": "^1.34|^2.4|^3.0"
}, },
"suggest": {
"symfony/expression-language": "",
"symfony/psr-http-message-bridge": "To use the PSR-7 converters",
"symfony/security-bundle": ""
},
"type": "symfony-bundle", "type": "symfony-bundle",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "5.5.x-dev" "dev-master": "5.6.x-dev"
} }
}, },
"autoload": { "autoload": {
@@ -2555,7 +3414,221 @@
"annotations", "annotations",
"controllers" "controllers"
], ],
"time": "2019-12-27T08:57:19+00:00" "time": "2020-08-25T19:10:18+00:00"
},
{
"name": "sentry/sdk",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-php-sdk.git",
"reference": "089858b1b27d3705a5fd1c32d8d10beb55980190"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/089858b1b27d3705a5fd1c32d8d10beb55980190",
"reference": "089858b1b27d3705a5fd1c32d8d10beb55980190",
"shasum": ""
},
"require": {
"http-interop/http-factory-guzzle": "^1.0",
"sentry/sentry": "^2.5",
"symfony/http-client": "^4.3|^5.0"
},
"type": "metapackage",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Sentry",
"email": "accounts@sentry.io"
}
],
"description": "This is a metapackage shipping sentry/sentry with a recommended HTTP client.",
"homepage": "http://sentry.io",
"keywords": [
"crash-reporting",
"crash-reports",
"error-handler",
"error-monitoring",
"log",
"logging",
"sentry"
],
"time": "2020-09-14T09:30:55+00:00"
},
{
"name": "sentry/sentry",
"version": "2.5.0",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-php.git",
"reference": "bab5b73dbaf5f0ff62317e1611d952764d5514a9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/bab5b73dbaf5f0ff62317e1611d952764d5514a9",
"reference": "bab5b73dbaf5f0ff62317e1611d952764d5514a9",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-mbstring": "*",
"guzzlehttp/promises": "^1.3",
"guzzlehttp/psr7": "^1.6",
"jean85/pretty-package-versions": "^1.2",
"php": "^7.1",
"php-http/async-client-implementation": "^1.0",
"php-http/client-common": "^1.5|^2.0",
"php-http/discovery": "^1.6.1",
"php-http/httplug": "^1.1|^2.0",
"php-http/message": "^1.5",
"psr/http-factory": "^1.0",
"psr/http-message-implementation": "^1.0",
"psr/log": "^1.0",
"symfony/options-resolver": "^2.7|^3.0|^4.0|^5.0",
"symfony/polyfill-uuid": "^1.13.1"
},
"conflict": {
"php-http/client-common": "1.8.0",
"raven/raven": "*"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.16",
"monolog/monolog": "^1.3|^2.0",
"php-http/mock-client": "^1.3",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12",
"phpstan/phpstan-phpunit": "^0.12",
"phpunit/phpunit": "^7.5.18",
"symfony/phpunit-bridge": "^4.3|^5.0",
"vimeo/psalm": "^3.4"
},
"suggest": {
"monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler."
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.5.x-dev"
}
},
"autoload": {
"files": [
"src/functions.php"
],
"psr-4": {
"Sentry\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sentry",
"email": "accounts@sentry.io"
}
],
"description": "A PHP SDK for Sentry (http://sentry.io)",
"homepage": "http://sentry.io",
"keywords": [
"crash-reporting",
"crash-reports",
"error-handler",
"error-monitoring",
"log",
"logging",
"sentry"
],
"time": "2020-09-14T07:02:40+00:00"
},
{
"name": "sentry/sentry-symfony",
"version": "3.5.2",
"source": {
"type": "git",
"url": "https://github.com/getsentry/sentry-symfony.git",
"reference": "ed178a9cff1cff2e8816d5b279ab311e43b16371"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/ed178a9cff1cff2e8816d5b279ab311e43b16371",
"reference": "ed178a9cff1cff2e8816d5b279ab311e43b16371",
"shasum": ""
},
"require": {
"jean85/pretty-package-versions": "^1.5",
"php": "^7.1",
"sentry/sdk": "^2.1",
"symfony/config": "^3.4||^4.0||^5.0",
"symfony/console": "^3.4||^4.0||^5.0",
"symfony/dependency-injection": "^3.4||^4.0||^5.0",
"symfony/event-dispatcher": "^3.4||^4.0||^5.0",
"symfony/http-kernel": "^3.4||^4.0||^5.0",
"symfony/security-core": "^3.4||^4.0||^5.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.8",
"jangregor/phpstan-prophecy": "^0.6.2",
"monolog/monolog": "^1.11||^2.0",
"php-http/mock-client": "^1.0",
"phpspec/prophecy": "!=1.11.0",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12.19",
"phpstan/phpstan-phpunit": "^0.12.8",
"phpunit/phpunit": "^7.5||^8.5",
"symfony/browser-kit": "^3.4||^4.0||^5.0",
"symfony/expression-language": "^3.4||^4.0||^5.0",
"symfony/framework-bundle": "^3.4||^4.0||^5.0",
"symfony/messenger": "^4.3||^5.0",
"symfony/monolog-bundle": "^3.4",
"symfony/phpunit-bridge": "^5.0",
"symfony/yaml": "^3.4||^4.0||^5.0"
},
"suggest": {
"monolog/monolog": "Required to use the Monolog handler"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
"master": "3.x-dev",
"releases/3.2.x": "3.2.x-dev",
"releases/2.x": "2.x-dev",
"releases/1.x": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Sentry\\SentryBundle\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "David Cramer",
"email": "dcramer@gmail.com"
},
{
"name": "Alessandro Lai",
"email": "alessandro.lai85@gmail.com"
}
],
"description": "Symfony integration for Sentry (http://getsentry.com)",
"homepage": "http://getsentry.com",
"keywords": [
"errors",
"logging",
"sentry",
"symfony"
],
"time": "2020-07-08T10:36:55+00:00"
}, },
{ {
"name": "swiftmailer/swiftmailer", "name": "swiftmailer/swiftmailer",
@@ -2643,20 +3716,20 @@
}, },
{ {
"name": "symfony/asset", "name": "symfony/asset",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/asset.git", "url": "https://github.com/symfony/asset.git",
"reference": "5c1afa35f0ff6a4fa5d037b4a5ef1bf60513e65b" "reference": "9b446eb7c16347088663dc18d38fb0f3b536b7e2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/asset/zipball/5c1afa35f0ff6a4fa5d037b4a5ef1bf60513e65b", "url": "https://api.github.com/repos/symfony/asset/zipball/9b446eb7c16347088663dc18d38fb0f3b536b7e2",
"reference": "5c1afa35f0ff6a4fa5d037b4a5ef1bf60513e65b", "reference": "9b446eb7c16347088663dc18d38fb0f3b536b7e2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"require-dev": { "require-dev": {
"symfony/http-foundation": "^3.4|^4.0|^5.0", "symfony/http-foundation": "^3.4|^4.0|^5.0",
@@ -2695,24 +3768,24 @@
], ],
"description": "Symfony Asset Component", "description": "Symfony Asset Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T13:10:00+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/cache", "name": "symfony/cache",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache.git", "url": "https://github.com/symfony/cache.git",
"reference": "28511cbd8c760a19f4b4b70961d2cd957733b3d9" "reference": "969a76c2dbce7e4306684f5376718147d1ec4ae7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/28511cbd8c760a19f4b4b70961d2cd957733b3d9", "url": "https://api.github.com/repos/symfony/cache/zipball/969a76c2dbce7e4306684f5376718147d1ec4ae7",
"reference": "28511cbd8c760a19f4b4b70961d2cd957733b3d9", "reference": "969a76c2dbce7e4306684f5376718147d1ec4ae7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/cache": "~1.0", "psr/cache": "~1.0",
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/cache-contracts": "^1.1.7|^2", "symfony/cache-contracts": "^1.1.7|^2",
@@ -2732,9 +3805,9 @@
}, },
"require-dev": { "require-dev": {
"cache/integration-tests": "dev-master", "cache/integration-tests": "dev-master",
"doctrine/cache": "~1.6", "doctrine/cache": "^1.6",
"doctrine/dbal": "~2.5", "doctrine/dbal": "^2.5|^3.0",
"predis/predis": "~1.1", "predis/predis": "^1.1",
"psr/simple-cache": "^1.0", "psr/simple-cache": "^1.0",
"symfony/config": "^4.2|^5.0", "symfony/config": "^4.2|^5.0",
"symfony/dependency-injection": "^3.4|^4.1|^5.0", "symfony/dependency-injection": "^3.4|^4.1|^5.0",
@@ -2774,24 +3847,24 @@
"caching", "caching",
"psr6" "psr6"
], ],
"time": "2020-02-20T16:31:44+00:00" "time": "2020-09-27T12:40:39+00:00"
}, },
{ {
"name": "symfony/cache-contracts", "name": "symfony/cache-contracts",
"version": "v2.0.1", "version": "v2.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache-contracts.git", "url": "https://github.com/symfony/cache-contracts.git",
"reference": "23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16" "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16", "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/8034ca0b61d4dd967f3698aaa1da2507b631d0cb",
"reference": "23ed8bfc1a4115feca942cb5f1aacdf3dcdf3c16", "reference": "8034ca0b61d4dd967f3698aaa1da2507b631d0cb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2.5", "php": ">=7.2.5",
"psr/cache": "^1.0" "psr/cache": "^1.0"
}, },
"suggest": { "suggest": {
@@ -2800,7 +3873,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
} }
}, },
"autoload": { "autoload": {
@@ -2832,24 +3909,24 @@
"interoperability", "interoperability",
"standards" "standards"
], ],
"time": "2019-11-18T17:27:11+00:00" "time": "2020-09-07T11:33:47+00:00"
}, },
{ {
"name": "symfony/config", "name": "symfony/config",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/config.git", "url": "https://github.com/symfony/config.git",
"reference": "cbfef5ae91ccd3b06621c18d58cd355c68c87ae9" "reference": "7c5a1002178a612787c291a4f515f87b19176b61"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/cbfef5ae91ccd3b06621c18d58cd355c68c87ae9", "url": "https://api.github.com/repos/symfony/config/zipball/7c5a1002178a612787c291a4f515f87b19176b61",
"reference": "cbfef5ae91ccd3b06621c18d58cd355c68c87ae9", "reference": "7c5a1002178a612787c291a4f515f87b19176b61",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/filesystem": "^3.4|^4.0|^5.0", "symfony/filesystem": "^3.4|^4.0|^5.0",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8"
}, },
@@ -2896,26 +3973,27 @@
], ],
"description": "Symfony Config Component", "description": "Symfony Config Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-04T09:32:40+00:00" "time": "2020-10-02T07:34:48+00:00"
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "4fa15ae7be74e53f6ec8c83ed403b97e23b665e9" "reference": "90933b39c7b312fc3ceaa1ddeac7eb48cb953124"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/4fa15ae7be74e53f6ec8c83ed403b97e23b665e9", "url": "https://api.github.com/repos/symfony/console/zipball/90933b39c7b312fc3ceaa1ddeac7eb48cb953124",
"reference": "4fa15ae7be74e53f6ec8c83ed403b97e23b665e9", "reference": "90933b39c7b312fc3ceaa1ddeac7eb48cb953124",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8", "symfony/polyfill-php73": "^1.8",
"symfony/polyfill-php80": "^1.15",
"symfony/service-contracts": "^1.1|^2" "symfony/service-contracts": "^1.1|^2"
}, },
"conflict": { "conflict": {
@@ -2972,25 +4050,26 @@
], ],
"description": "Symfony Console Component", "description": "Symfony Console Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T13:10:00+00:00" "time": "2020-09-15T07:58:55+00:00"
}, },
{ {
"name": "symfony/debug", "name": "symfony/debug",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug.git", "url": "https://github.com/symfony/debug.git",
"reference": "a980d87a659648980d89193fd8b7a7ca89d97d21" "reference": "726b85e69342e767d60e3853b98559a68ff74183"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/a980d87a659648980d89193fd8b7a7ca89d97d21", "url": "https://api.github.com/repos/symfony/debug/zipball/726b85e69342e767d60e3853b98559a68ff74183",
"reference": "a980d87a659648980d89193fd8b7a7ca89d97d21", "reference": "726b85e69342e767d60e3853b98559a68ff74183",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/log": "~1.0" "psr/log": "~1.0",
"symfony/polyfill-php80": "^1.15"
}, },
"conflict": { "conflict": {
"symfony/http-kernel": "<3.4" "symfony/http-kernel": "<3.4"
@@ -3028,24 +4107,24 @@
], ],
"description": "Symfony Debug Component", "description": "Symfony Debug Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-23T14:41:43+00:00" "time": "2020-09-09T05:20:36+00:00"
}, },
{ {
"name": "symfony/dependency-injection", "name": "symfony/dependency-injection",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dependency-injection.git", "url": "https://github.com/symfony/dependency-injection.git",
"reference": "ebb2e882e8c9e2eb990aa61ddcd389848466e342" "reference": "89274c8847dff2ed703e481843eb9159ca25cc6e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ebb2e882e8c9e2eb990aa61ddcd389848466e342", "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/89274c8847dff2ed703e481843eb9159ca25cc6e",
"reference": "ebb2e882e8c9e2eb990aa61ddcd389848466e342", "reference": "89274c8847dff2ed703e481843eb9159ca25cc6e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/container": "^1.0", "psr/container": "^1.0",
"symfony/service-contracts": "^1.1.6|^2" "symfony/service-contracts": "^1.1.6|^2"
}, },
@@ -3101,26 +4180,26 @@
], ],
"description": "Symfony DependencyInjection Component", "description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-29T09:50:10+00:00" "time": "2020-09-10T10:08:39+00:00"
}, },
{ {
"name": "symfony/doctrine-bridge", "name": "symfony/doctrine-bridge",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git", "url": "https://github.com/symfony/doctrine-bridge.git",
"reference": "1b4564758fe91f5d53dfbdfd9007d15e43fa465f" "reference": "98c60d6dbaafeaf6204d3476ab1b54335ff7f540"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/1b4564758fe91f5d53dfbdfd9007d15e43fa465f", "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/98c60d6dbaafeaf6204d3476ab1b54335ff7f540",
"reference": "1b4564758fe91f5d53dfbdfd9007d15e43fa465f", "reference": "98c60d6dbaafeaf6204d3476ab1b54335ff7f540",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/event-manager": "~1.0", "doctrine/event-manager": "~1.0",
"doctrine/persistence": "^1.3", "doctrine/persistence": "^1.3|^2",
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^1.1|^2" "symfony/service-contracts": "^1.1|^2"
@@ -3135,17 +4214,18 @@
"symfony/validator": "<4.4.2|<5.0.2,>=5.0" "symfony/validator": "<4.4.2|<5.0.2,>=5.0"
}, },
"require-dev": { "require-dev": {
"composer/package-versions-deprecated": "^1.8",
"doctrine/annotations": "~1.7", "doctrine/annotations": "~1.7",
"doctrine/cache": "~1.6", "doctrine/cache": "~1.6",
"doctrine/collections": "~1.0", "doctrine/collections": "~1.0",
"doctrine/data-fixtures": "1.0.*", "doctrine/data-fixtures": "^1.1",
"doctrine/dbal": "~2.4", "doctrine/dbal": "~2.4|^3.0",
"doctrine/orm": "^2.6.3", "doctrine/orm": "^2.6.3",
"doctrine/reflection": "~1.0", "doctrine/reflection": "~1.0",
"symfony/config": "^4.2|^5.0", "symfony/config": "^4.2|^5.0",
"symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0",
"symfony/expression-language": "^3.4|^4.0|^5.0", "symfony/expression-language": "^3.4|^4.0|^5.0",
"symfony/form": "^4.4|^5.0", "symfony/form": "^4.4.11|^5.0.11",
"symfony/http-kernel": "^4.3.7", "symfony/http-kernel": "^4.3.7",
"symfony/messenger": "^4.4|^5.0", "symfony/messenger": "^4.4|^5.0",
"symfony/property-access": "^3.4|^4.0|^5.0", "symfony/property-access": "^3.4|^4.0|^5.0",
@@ -3195,24 +4275,24 @@
], ],
"description": "Symfony Doctrine Bridge", "description": "Symfony Doctrine Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T17:16:47+00:00" "time": "2020-09-27T14:14:06+00:00"
}, },
{ {
"name": "symfony/dotenv", "name": "symfony/dotenv",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dotenv.git", "url": "https://github.com/symfony/dotenv.git",
"reference": "9bba981ecb1f57c04520d4165b3e6a17ac49319f" "reference": "f17675595fd7527c57d11bd3d733eb5d41600128"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dotenv/zipball/9bba981ecb1f57c04520d4165b3e6a17ac49319f", "url": "https://api.github.com/repos/symfony/dotenv/zipball/f17675595fd7527c57d11bd3d733eb5d41600128",
"reference": "9bba981ecb1f57c04520d4165b3e6a17ac49319f", "reference": "f17675595fd7527c57d11bd3d733eb5d41600128",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"require-dev": { "require-dev": {
"symfony/process": "^3.4.2|^4.0|^5.0" "symfony/process": "^3.4.2|^4.0|^5.0"
@@ -3252,26 +4332,27 @@
"env", "env",
"environment" "environment"
], ],
"time": "2020-02-29T10:04:02+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/error-handler", "name": "symfony/error-handler",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/error-handler.git", "url": "https://github.com/symfony/error-handler.git",
"reference": "89aa4b9ac6f1f35171b8621b24f60477312085be" "reference": "c8be4a5c70af70fec82e762dd93e3bbcf95c035f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/error-handler/zipball/89aa4b9ac6f1f35171b8621b24f60477312085be", "url": "https://api.github.com/repos/symfony/error-handler/zipball/c8be4a5c70af70fec82e762dd93e3bbcf95c035f",
"reference": "89aa4b9ac6f1f35171b8621b24f60477312085be", "reference": "c8be4a5c70af70fec82e762dd93e3bbcf95c035f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/debug": "^4.4.5", "symfony/debug": "^4.4.5",
"symfony/polyfill-php80": "^1.15",
"symfony/var-dumper": "^4.4|^5.0" "symfony/var-dumper": "^4.4|^5.0"
}, },
"require-dev": { "require-dev": {
@@ -3308,24 +4389,24 @@
], ],
"description": "Symfony ErrorHandler Component", "description": "Symfony ErrorHandler Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-26T11:45:31+00:00" "time": "2020-10-01T16:21:20+00:00"
}, },
{ {
"name": "symfony/event-dispatcher", "name": "symfony/event-dispatcher",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher.git", "url": "https://github.com/symfony/event-dispatcher.git",
"reference": "4ad8e149799d3128621a3a1f70e92b9897a8930d" "reference": "e17bb5e0663dc725f7cdcafc932132735b4725cd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4ad8e149799d3128621a3a1f70e92b9897a8930d", "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e17bb5e0663dc725f7cdcafc932132735b4725cd",
"reference": "4ad8e149799d3128621a3a1f70e92b9897a8930d", "reference": "e17bb5e0663dc725f7cdcafc932132735b4725cd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/event-dispatcher-contracts": "^1.1" "symfony/event-dispatcher-contracts": "^1.1"
}, },
"conflict": { "conflict": {
@@ -3339,6 +4420,7 @@
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/config": "^3.4|^4.0|^5.0", "symfony/config": "^3.4|^4.0|^5.0",
"symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0",
"symfony/error-handler": "~3.4|~4.4",
"symfony/expression-language": "^3.4|^4.0|^5.0", "symfony/expression-language": "^3.4|^4.0|^5.0",
"symfony/http-foundation": "^3.4|^4.0|^5.0", "symfony/http-foundation": "^3.4|^4.0|^5.0",
"symfony/service-contracts": "^1.1|^2", "symfony/service-contracts": "^1.1|^2",
@@ -3378,24 +4460,24 @@
], ],
"description": "Symfony EventDispatcher Component", "description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-04T09:32:40+00:00" "time": "2020-09-18T14:07:46+00:00"
}, },
{ {
"name": "symfony/event-dispatcher-contracts", "name": "symfony/event-dispatcher-contracts",
"version": "v1.1.7", "version": "v1.1.9",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git", "url": "https://github.com/symfony/event-dispatcher-contracts.git",
"reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7",
"reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"suggest": { "suggest": {
"psr/event-dispatcher": "", "psr/event-dispatcher": "",
@@ -3405,6 +4487,10 @@
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.1-dev" "dev-master": "1.1-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
} }
}, },
"autoload": { "autoload": {
@@ -3436,24 +4522,24 @@
"interoperability", "interoperability",
"standards" "standards"
], ],
"time": "2019-09-17T09:54:03+00:00" "time": "2020-07-06T13:19:58+00:00"
}, },
{ {
"name": "symfony/expression-language", "name": "symfony/expression-language",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/expression-language.git", "url": "https://github.com/symfony/expression-language.git",
"reference": "70649e0abcac6ad1109f6243886bca0445e278b9" "reference": "54b118a1c91991b90e67919146db66093def1bf9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/expression-language/zipball/70649e0abcac6ad1109f6243886bca0445e278b9", "url": "https://api.github.com/repos/symfony/expression-language/zipball/54b118a1c91991b90e67919146db66093def1bf9",
"reference": "70649e0abcac6ad1109f6243886bca0445e278b9", "reference": "54b118a1c91991b90e67919146db66093def1bf9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/cache": "^3.4|^4.0|^5.0", "symfony/cache": "^3.4|^4.0|^5.0",
"symfony/service-contracts": "^1.1|^2" "symfony/service-contracts": "^1.1|^2"
}, },
@@ -3487,24 +4573,24 @@
], ],
"description": "Symfony ExpressionLanguage Component", "description": "Symfony ExpressionLanguage Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T13:10:00+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/filesystem", "name": "symfony/filesystem",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/filesystem.git", "url": "https://github.com/symfony/filesystem.git",
"reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd" "reference": "ebc51494739d3b081ea543ed7c462fa73a4f74db"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/266c9540b475f26122b61ef8b23dd9198f5d1cfd", "url": "https://api.github.com/repos/symfony/filesystem/zipball/ebc51494739d3b081ea543ed7c462fa73a4f74db",
"reference": "266c9540b475f26122b61ef8b23dd9198f5d1cfd", "reference": "ebc51494739d3b081ea543ed7c462fa73a4f74db",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8"
}, },
"type": "library", "type": "library",
@@ -3537,24 +4623,24 @@
], ],
"description": "Symfony Filesystem Component", "description": "Symfony Filesystem Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-01-21T08:20:44+00:00" "time": "2020-09-27T13:54:16+00:00"
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/finder.git", "url": "https://github.com/symfony/finder.git",
"reference": "ea69c129aed9fdeca781d4b77eb20b62cf5d5357" "reference": "60d08560f9aa72997c44077c40d47aa28a963230"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/ea69c129aed9fdeca781d4b77eb20b62cf5d5357", "url": "https://api.github.com/repos/symfony/finder/zipball/60d08560f9aa72997c44077c40d47aa28a963230",
"reference": "ea69c129aed9fdeca781d4b77eb20b62cf5d5357", "reference": "60d08560f9aa72997c44077c40d47aa28a963230",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -3586,36 +4672,36 @@
], ],
"description": "Symfony Finder Component", "description": "Symfony Finder Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-14T07:42:58+00:00" "time": "2020-10-02T07:34:48+00:00"
}, },
{ {
"name": "symfony/flex", "name": "symfony/flex",
"version": "v1.6.2", "version": "v1.9.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/flex.git", "url": "https://github.com/symfony/flex.git",
"reference": "e4f5a2653ca503782a31486198bd1dd1c9a47f83" "reference": "115e67f76ba95d70946a6e0b15d4578bf04927c3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/flex/zipball/e4f5a2653ca503782a31486198bd1dd1c9a47f83", "url": "https://api.github.com/repos/symfony/flex/zipball/115e67f76ba95d70946a6e0b15d4578bf04927c3",
"reference": "e4f5a2653ca503782a31486198bd1dd1c9a47f83", "reference": "115e67f76ba95d70946a6e0b15d4578bf04927c3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"composer-plugin-api": "^1.0", "composer-plugin-api": "^1.0|^2.0",
"php": "^7.0" "php": ">=7.1"
}, },
"require-dev": { "require-dev": {
"composer/composer": "^1.0.2", "composer/composer": "^1.0.2|^2.0",
"symfony/dotenv": "^3.4|^4.0|^5.0", "symfony/dotenv": "^4.4|^5.0",
"symfony/phpunit-bridge": "^3.4.19|^4.1.8|^5.0", "symfony/phpunit-bridge": "^4.4|^5.0",
"symfony/process": "^2.7|^3.0|^4.0|^5.0" "symfony/process": "^3.4|^4.4|^5.0"
}, },
"type": "composer-plugin", "type": "composer-plugin",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.5-dev" "dev-master": "1.8-dev"
}, },
"class": "Symfony\\Flex\\Flex" "class": "Symfony\\Flex\\Flex"
}, },
@@ -3635,30 +4721,30 @@
} }
], ],
"description": "Composer plugin for Symfony", "description": "Composer plugin for Symfony",
"time": "2020-01-30T12:06:45+00:00" "time": "2020-09-14T14:58:36+00:00"
}, },
{ {
"name": "symfony/form", "name": "symfony/form",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/form.git", "url": "https://github.com/symfony/form.git",
"reference": "677927dad3b9f93117db62fc1df4de82027dc282" "reference": "54d9ec68b65440a4a5937bd6b76ac92214dcd210"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/form/zipball/677927dad3b9f93117db62fc1df4de82027dc282", "url": "https://api.github.com/repos/symfony/form/zipball/54d9ec68b65440a4a5937bd6b76ac92214dcd210",
"reference": "677927dad3b9f93117db62fc1df4de82027dc282", "reference": "54d9ec68b65440a4a5937bd6b76ac92214dcd210",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/event-dispatcher": "^4.3", "symfony/event-dispatcher": "^4.3",
"symfony/intl": "^4.4|^5.0", "symfony/intl": "^4.4|^5.0",
"symfony/options-resolver": "~4.3|^5.0", "symfony/options-resolver": "~4.3|^5.0",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/property-access": "^3.4|^4.0|^5.0", "symfony/property-access": "^3.4.40|^4.4.8|^5.0.8",
"symfony/service-contracts": "^1.1|^2" "symfony/service-contracts": "^1.1|^2"
}, },
"conflict": { "conflict": {
@@ -3677,11 +4763,12 @@
"symfony/config": "^3.4|^4.0|^5.0", "symfony/config": "^3.4|^4.0|^5.0",
"symfony/console": "^4.3|^5.0", "symfony/console": "^4.3|^5.0",
"symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0",
"symfony/expression-language": "^3.4|^4.0|^5.0",
"symfony/http-foundation": "^3.4|^4.0|^5.0", "symfony/http-foundation": "^3.4|^4.0|^5.0",
"symfony/http-kernel": "^4.4", "symfony/http-kernel": "^4.4",
"symfony/security-csrf": "^3.4|^4.0|^5.0", "symfony/security-csrf": "^3.4|^4.0|^5.0",
"symfony/translation": "^4.2|^5.0", "symfony/translation": "^4.2|^5.0",
"symfony/validator": "^3.4.31|^4.3.4|^5.0", "symfony/validator": "^3.4.44|^4.3.4|^5.0",
"symfony/var-dumper": "^4.3|^5.0" "symfony/var-dumper": "^4.3|^5.0"
}, },
"suggest": { "suggest": {
@@ -3719,25 +4806,25 @@
], ],
"description": "Symfony Form Component", "description": "Symfony Form Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-29T10:05:28+00:00" "time": "2020-10-02T12:43:11+00:00"
}, },
{ {
"name": "symfony/framework-bundle", "name": "symfony/framework-bundle",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/framework-bundle.git", "url": "https://github.com/symfony/framework-bundle.git",
"reference": "df5528926e6e1954975f3d73a91f029ba3d9c76b" "reference": "01c517f48814a1f599ce721814435f2dc548ce4c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/df5528926e6e1954975f3d73a91f029ba3d9c76b", "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/01c517f48814a1f599ce721814435f2dc548ce4c",
"reference": "df5528926e6e1954975f3d73a91f029ba3d9c76b", "reference": "01c517f48814a1f599ce721814435f2dc548ce4c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-xml": "*", "ext-xml": "*",
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/cache": "^4.4|^5.0", "symfony/cache": "^4.4|^5.0",
"symfony/config": "^4.3.4|^5.0", "symfony/config": "^4.3.4|^5.0",
"symfony/dependency-injection": "^4.4.1|^5.0.1", "symfony/dependency-injection": "^4.4.1|^5.0.1",
@@ -3850,26 +4937,26 @@
], ],
"description": "Symfony FrameworkBundle", "description": "Symfony FrameworkBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-28T13:15:16+00:00" "time": "2020-09-29T09:51:46+00:00"
}, },
{ {
"name": "symfony/http-client", "name": "symfony/http-client",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-client.git", "url": "https://github.com/symfony/http-client.git",
"reference": "65ccb6ca4a5a7bf7c244b8a28195fa188521b3d2" "reference": "b1cb966898aaf8df37280fde537a27b6724b3bc4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-client/zipball/65ccb6ca4a5a7bf7c244b8a28195fa188521b3d2", "url": "https://api.github.com/repos/symfony/http-client/zipball/b1cb966898aaf8df37280fde537a27b6724b3bc4",
"reference": "65ccb6ca4a5a7bf7c244b8a28195fa188521b3d2", "reference": "b1cb966898aaf8df37280fde537a27b6724b3bc4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/log": "^1.0", "psr/log": "^1.0",
"symfony/http-client-contracts": "^1.1.8|^2", "symfony/http-client-contracts": "^1.1.10|^2",
"symfony/polyfill-php73": "^1.11", "symfony/polyfill-php73": "^1.11",
"symfony/service-contracts": "^1.0|^2" "symfony/service-contracts": "^1.0|^2"
}, },
@@ -3885,7 +4972,7 @@
"php-http/httplug": "^1.0|^2.0", "php-http/httplug": "^1.0|^2.0",
"psr/http-client": "^1.0", "psr/http-client": "^1.0",
"symfony/dependency-injection": "^4.3|^5.0", "symfony/dependency-injection": "^4.3|^5.0",
"symfony/http-kernel": "^4.4", "symfony/http-kernel": "^4.4.13",
"symfony/process": "^4.2|^5.0" "symfony/process": "^4.2|^5.0"
}, },
"type": "library", "type": "library",
@@ -3918,24 +5005,24 @@
], ],
"description": "Symfony HttpClient component", "description": "Symfony HttpClient component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-25T13:55:11+00:00" "time": "2020-10-02T13:41:48+00:00"
}, },
{ {
"name": "symfony/http-client-contracts", "name": "symfony/http-client-contracts",
"version": "v2.0.1", "version": "v2.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-client-contracts.git", "url": "https://github.com/symfony/http-client-contracts.git",
"reference": "378868b61b85c5cac6822d4f84e26999c9f2e881" "reference": "3a5d0fe7908daaa23e3dbf4cee3ba4bfbb19fdd3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/378868b61b85c5cac6822d4f84e26999c9f2e881", "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/3a5d0fe7908daaa23e3dbf4cee3ba4bfbb19fdd3",
"reference": "378868b61b85c5cac6822d4f84e26999c9f2e881", "reference": "3a5d0fe7908daaa23e3dbf4cee3ba4bfbb19fdd3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2.5" "php": ">=7.2.5"
}, },
"suggest": { "suggest": {
"symfony/http-client-implementation": "" "symfony/http-client-implementation": ""
@@ -3943,7 +5030,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
} }
}, },
"autoload": { "autoload": {
@@ -3975,24 +5066,24 @@
"interoperability", "interoperability",
"standards" "standards"
], ],
"time": "2019-11-26T23:25:11+00:00" "time": "2020-09-07T11:33:47+00:00"
}, },
{ {
"name": "symfony/http-foundation", "name": "symfony/http-foundation",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-foundation.git", "url": "https://github.com/symfony/http-foundation.git",
"reference": "7e41b4fcad4619535f45f8bfa7744c4f384e1648" "reference": "10683b407c3b6087c64619ebc97a87e36ea62c92"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/7e41b4fcad4619535f45f8bfa7744c4f384e1648", "url": "https://api.github.com/repos/symfony/http-foundation/zipball/10683b407c3b6087c64619ebc97a87e36ea62c92",
"reference": "7e41b4fcad4619535f45f8bfa7744c4f384e1648", "reference": "10683b407c3b6087c64619ebc97a87e36ea62c92",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/mime": "^4.3|^5.0", "symfony/mime": "^4.3|^5.0",
"symfony/polyfill-mbstring": "~1.1" "symfony/polyfill-mbstring": "~1.1"
}, },
@@ -4030,30 +5121,32 @@
], ],
"description": "Symfony HttpFoundation Component", "description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-13T19:40:01+00:00" "time": "2020-09-27T14:14:06+00:00"
}, },
{ {
"name": "symfony/http-kernel", "name": "symfony/http-kernel",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/http-kernel.git", "url": "https://github.com/symfony/http-kernel.git",
"reference": "8c8734486dada83a6041ab744709bdc1651a8462" "reference": "6544745997b06c7dcecf0d4a70f09e5de1db7ca8"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/8c8734486dada83a6041ab744709bdc1651a8462", "url": "https://api.github.com/repos/symfony/http-kernel/zipball/6544745997b06c7dcecf0d4a70f09e5de1db7ca8",
"reference": "8c8734486dada83a6041ab744709bdc1651a8462", "reference": "6544745997b06c7dcecf0d4a70f09e5de1db7ca8",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/error-handler": "^4.4", "symfony/error-handler": "^4.4",
"symfony/event-dispatcher": "^4.4", "symfony/event-dispatcher": "^4.4",
"symfony/http-client-contracts": "^1.1|^2",
"symfony/http-foundation": "^4.4|^5.0", "symfony/http-foundation": "^4.4|^5.0",
"symfony/polyfill-ctype": "^1.8", "symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-php73": "^1.9" "symfony/polyfill-php73": "^1.9",
"symfony/polyfill-php80": "^1.15"
}, },
"conflict": { "conflict": {
"symfony/browser-kit": "<4.3", "symfony/browser-kit": "<4.3",
@@ -4120,24 +5213,24 @@
], ],
"description": "Symfony HttpKernel Component", "description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-29T10:31:38+00:00" "time": "2020-10-04T07:48:13+00:00"
}, },
{ {
"name": "symfony/inflector", "name": "symfony/inflector",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/inflector.git", "url": "https://github.com/symfony/inflector.git",
"reference": "f419ab2853cc00471ffd7fc18e544b5f5a90adb1" "reference": "3330be44724db42f0aa493002ae63f5d29f8d5f7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/inflector/zipball/f419ab2853cc00471ffd7fc18e544b5f5a90adb1", "url": "https://api.github.com/repos/symfony/inflector/zipball/3330be44724db42f0aa493002ae63f5d29f8d5f7",
"reference": "f419ab2853cc00471ffd7fc18e544b5f5a90adb1", "reference": "3330be44724db42f0aa493002ae63f5d29f8d5f7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8"
}, },
"type": "library", "type": "library",
@@ -4178,24 +5271,24 @@
"symfony", "symfony",
"words" "words"
], ],
"time": "2020-01-04T13:00:46+00:00" "time": "2020-05-20T08:37:50+00:00"
}, },
{ {
"name": "symfony/intl", "name": "symfony/intl",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/intl.git", "url": "https://github.com/symfony/intl.git",
"reference": "f675f139e20b9e0ff05bac662c081fe9ef7b2f88" "reference": "0da1f7f08072ddb9185b02ce30ce098fa61f4042"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/intl/zipball/f675f139e20b9e0ff05bac662c081fe9ef7b2f88", "url": "https://api.github.com/repos/symfony/intl/zipball/0da1f7f08072ddb9185b02ce30ce098fa61f4042",
"reference": "f675f139e20b9e0ff05bac662c081fe9ef7b2f88", "reference": "0da1f7f08072ddb9185b02ce30ce098fa61f4042",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-intl-icu": "~1.0" "symfony/polyfill-intl-icu": "~1.0"
}, },
"require-dev": { "require-dev": {
@@ -4253,32 +5346,31 @@
"l10n", "l10n",
"localization" "localization"
], ],
"time": "2020-02-04T09:32:40+00:00" "time": "2020-09-27T03:36:23+00:00"
}, },
{ {
"name": "symfony/lock", "name": "symfony/lock",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/lock.git", "url": "https://github.com/symfony/lock.git",
"reference": "de412046486269dd3984db757e492ee5f81e0bf2" "reference": "9d7e8148dd399f392b9b4920832b632c04ffdf64"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/lock/zipball/de412046486269dd3984db757e492ee5f81e0bf2", "url": "https://api.github.com/repos/symfony/lock/zipball/9d7e8148dd399f392b9b4920832b632c04ffdf64",
"reference": "de412046486269dd3984db757e492ee5f81e0bf2", "reference": "9d7e8148dd399f392b9b4920832b632c04ffdf64",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/log": "~1.0" "psr/log": "~1.0"
}, },
"conflict": { "conflict": {
"doctrine/dbal": "<2.5" "doctrine/dbal": "<2.5"
}, },
"require-dev": { "require-dev": {
"doctrine/dbal": "~2.5", "doctrine/dbal": "^2.5|^3.0",
"mongodb/mongodb": "~1.1",
"predis/predis": "~1.0" "predis/predis": "~1.0"
}, },
"type": "library", "type": "library",
@@ -4319,25 +5411,25 @@
"redlock", "redlock",
"semaphore" "semaphore"
], ],
"time": "2020-02-04T09:32:40+00:00" "time": "2020-10-03T06:31:32+00:00"
}, },
{ {
"name": "symfony/mailer", "name": "symfony/mailer",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/mailer.git", "url": "https://github.com/symfony/mailer.git",
"reference": "f79a2cc091c14c2d78cade2f8b772f568fb63c43" "reference": "c1018952b49058802c2aa1ea831935e996b7f5d3"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/mailer/zipball/f79a2cc091c14c2d78cade2f8b772f568fb63c43", "url": "https://api.github.com/repos/symfony/mailer/zipball/c1018952b49058802c2aa1ea831935e996b7f5d3",
"reference": "f79a2cc091c14c2d78cade2f8b772f568fb63c43", "reference": "c1018952b49058802c2aa1ea831935e996b7f5d3",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"egulias/email-validator": "^2.1.10", "egulias/email-validator": "^2.1.10",
"php": "^7.1.3", "php": ">=7.1.3",
"psr/log": "~1.0", "psr/log": "~1.0",
"symfony/event-dispatcher": "^4.3", "symfony/event-dispatcher": "^4.3",
"symfony/mime": "^4.4|^5.0", "symfony/mime": "^4.4|^5.0",
@@ -4387,26 +5479,26 @@
], ],
"description": "Symfony Mailer Component", "description": "Symfony Mailer Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-07T16:56:37+00:00" "time": "2020-09-06T17:12:23+00:00"
}, },
{ {
"name": "symfony/maker-bundle", "name": "symfony/maker-bundle",
"version": "v1.14.6", "version": "v1.21.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/maker-bundle.git", "url": "https://github.com/symfony/maker-bundle.git",
"reference": "bc4df88792fbaaeb275167101dc714218475db5f" "reference": "da629093c7bf9abd9a6a0f232a43bbb1b88de68d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/maker-bundle/zipball/bc4df88792fbaaeb275167101dc714218475db5f", "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/da629093c7bf9abd9a6a0f232a43bbb1b88de68d",
"reference": "bc4df88792fbaaeb275167101dc714218475db5f", "reference": "da629093c7bf9abd9a6a0f232a43bbb1b88de68d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/inflector": "^1.2", "doctrine/inflector": "^1.2",
"nikic/php-parser": "^4.0", "nikic/php-parser": "^4.0",
"php": "^7.0.8", "php": "^7.1.3",
"symfony/config": "^3.4|^4.0|^5.0", "symfony/config": "^3.4|^4.0|^5.0",
"symfony/console": "^3.4|^4.0|^5.0", "symfony/console": "^3.4|^4.0|^5.0",
"symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0",
@@ -4416,6 +5508,7 @@
"symfony/http-kernel": "^3.4|^4.0|^5.0" "symfony/http-kernel": "^3.4|^4.0|^5.0"
}, },
"require-dev": { "require-dev": {
"composer/semver": "^3.0@dev",
"doctrine/doctrine-bundle": "^1.8|^2.0", "doctrine/doctrine-bundle": "^1.8|^2.0",
"doctrine/orm": "^2.3", "doctrine/orm": "^2.3",
"friendsofphp/php-cs-fixer": "^2.8", "friendsofphp/php-cs-fixer": "^2.8",
@@ -4455,24 +5548,24 @@
"scaffold", "scaffold",
"scaffolding" "scaffolding"
], ],
"time": "2020-03-04T13:57:29+00:00" "time": "2020-08-29T18:05:46+00:00"
}, },
{ {
"name": "symfony/mime", "name": "symfony/mime",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/mime.git", "url": "https://github.com/symfony/mime.git",
"reference": "304db017bafd71c122cd5223a9ac2d03dc24da32" "reference": "42df2507eb8e6cd9795f51c99dd52bab543a918f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/304db017bafd71c122cd5223a9ac2d03dc24da32", "url": "https://api.github.com/repos/symfony/mime/zipball/42df2507eb8e6cd9795f51c99dd52bab543a918f",
"reference": "304db017bafd71c122cd5223a9ac2d03dc24da32", "reference": "42df2507eb8e6cd9795f51c99dd52bab543a918f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0" "symfony/polyfill-mbstring": "^1.0"
}, },
@@ -4517,25 +5610,25 @@
"mime", "mime",
"mime-type" "mime-type"
], ],
"time": "2020-02-04T09:32:40+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/monolog-bridge", "name": "symfony/monolog-bridge",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/monolog-bridge.git", "url": "https://github.com/symfony/monolog-bridge.git",
"reference": "b14ee2f0488b3ad879fd000bc3dcce1cd2f6cfff" "reference": "267085e15c00ea5e8059dbf1cd7ba8f5f7541221"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/b14ee2f0488b3ad879fd000bc3dcce1cd2f6cfff", "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/267085e15c00ea5e8059dbf1cd7ba8f5f7541221",
"reference": "b14ee2f0488b3ad879fd000bc3dcce1cd2f6cfff", "reference": "267085e15c00ea5e8059dbf1cd7ba8f5f7541221",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"monolog/monolog": "^1.25.1", "monolog/monolog": "^1.25.1",
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/http-kernel": "^4.3", "symfony/http-kernel": "^4.3",
"symfony/service-contracts": "^1.1|^2" "symfony/service-contracts": "^1.1|^2"
}, },
@@ -4584,20 +5677,20 @@
], ],
"description": "Symfony Monolog Bridge", "description": "Symfony Monolog Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-04T09:32:40+00:00" "time": "2020-10-02T07:34:48+00:00"
}, },
{ {
"name": "symfony/monolog-bundle", "name": "symfony/monolog-bundle",
"version": "v3.5.0", "version": "v3.6.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/monolog-bundle.git", "url": "https://github.com/symfony/monolog-bundle.git",
"reference": "dd80460fcfe1fa2050a7103ad818e9d0686ce6fd" "reference": "e495f5c7e4e672ffef4357d4a4d85f010802f940"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/dd80460fcfe1fa2050a7103ad818e9d0686ce6fd", "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/e495f5c7e4e672ffef4357d4a4d85f010802f940",
"reference": "dd80460fcfe1fa2050a7103ad818e9d0686ce6fd", "reference": "e495f5c7e4e672ffef4357d4a4d85f010802f940",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4610,7 +5703,7 @@
}, },
"require-dev": { "require-dev": {
"symfony/console": "~3.4 || ~4.0 || ^5.0", "symfony/console": "~3.4 || ~4.0 || ^5.0",
"symfony/phpunit-bridge": "^3.4.19 || ^4.0 || ^5.0", "symfony/phpunit-bridge": "^4.4 || ^5.0",
"symfony/yaml": "~3.4 || ~4.0 || ^5.0" "symfony/yaml": "~3.4 || ~4.0 || ^5.0"
}, },
"type": "symfony-bundle", "type": "symfony-bundle",
@@ -4647,24 +5740,24 @@
"log", "log",
"logging" "logging"
], ],
"time": "2019-11-13T13:11:14+00:00" "time": "2020-10-06T15:12:11+00:00"
}, },
{ {
"name": "symfony/options-resolver", "name": "symfony/options-resolver",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/options-resolver.git", "url": "https://github.com/symfony/options-resolver.git",
"reference": "9a02d6662660fe7bfadad63b5f0b0718d4c8b6b0" "reference": "02b120a79ff06b779819f1594a300226bfc75105"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/9a02d6662660fe7bfadad63b5f0b0718d4c8b6b0", "url": "https://api.github.com/repos/symfony/options-resolver/zipball/02b120a79ff06b779819f1594a300226bfc75105",
"reference": "9a02d6662660fe7bfadad63b5f0b0718d4c8b6b0", "reference": "02b120a79ff06b779819f1594a300226bfc75105",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -4701,26 +5794,28 @@
"configuration", "configuration",
"options" "options"
], ],
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-24T16:40:22+00:00"
}, },
{ {
"name": "symfony/orm-pack", "name": "symfony/orm-pack",
"version": "v1.0.8", "version": "v1.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/orm-pack.git", "url": "https://github.com/symfony/orm-pack.git",
"reference": "c9bcc08102061f406dc908192c0f33524a675666" "reference": "21ac491414b5815e5ebb7425908c1d1568d2e775"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/orm-pack/zipball/c9bcc08102061f406dc908192c0f33524a675666", "url": "https://api.github.com/repos/symfony/orm-pack/zipball/21ac491414b5815e5ebb7425908c1d1568d2e775",
"reference": "c9bcc08102061f406dc908192c0f33524a675666", "reference": "21ac491414b5815e5ebb7425908c1d1568d2e775",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/doctrine-bundle": "*", "composer/package-versions-deprecated": "*",
"doctrine/doctrine-migrations-bundle": "*", "doctrine/common": "^2",
"doctrine/orm": "*" "doctrine/doctrine-bundle": "^2",
"doctrine/doctrine-migrations-bundle": "^2",
"doctrine/orm": "^2"
}, },
"type": "symfony-pack", "type": "symfony-pack",
"notification-url": "https://packagist.org/downloads/", "notification-url": "https://packagist.org/downloads/",
@@ -4728,20 +5823,20 @@
"MIT" "MIT"
], ],
"description": "A pack for the Doctrine ORM", "description": "A pack for the Doctrine ORM",
"time": "2020-02-10T18:03:48+00:00" "time": "2020-08-31T10:20:18+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-icu", "name": "symfony/polyfill-intl-icu",
"version": "v1.14.0", "version": "v1.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-icu.git", "url": "https://github.com/symfony/polyfill-intl-icu.git",
"reference": "727b3bb5bfa7ca9eeb86416784cf1c08a6289b86" "reference": "4e45a6e39041a9cc78835b11abc47874ae302a55"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/727b3bb5bfa7ca9eeb86416784cf1c08a6289b86", "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/4e45a6e39041a9cc78835b11abc47874ae302a55",
"reference": "727b3bb5bfa7ca9eeb86416784cf1c08a6289b86", "reference": "4e45a6e39041a9cc78835b11abc47874ae302a55",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4754,7 +5849,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.14-dev" "dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
} }
}, },
"autoload": { "autoload": {
@@ -4786,25 +5885,26 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2020-01-13T11:15:53+00:00" "time": "2020-07-14T12:35:20+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-idn", "name": "symfony/polyfill-intl-idn",
"version": "v1.14.0", "version": "v1.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git", "url": "https://github.com/symfony/polyfill-intl-idn.git",
"reference": "6842f1a39cf7d580655688069a03dd7cd83d244a" "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6842f1a39cf7d580655688069a03dd7cd83d244a", "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/5dcab1bc7146cf8c1beaa4502a3d9be344334251",
"reference": "6842f1a39cf7d580655688069a03dd7cd83d244a", "reference": "5dcab1bc7146cf8c1beaa4502a3d9be344334251",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.3", "php": ">=5.3.3",
"symfony/polyfill-mbstring": "^1.3", "symfony/polyfill-intl-normalizer": "^1.10",
"symfony/polyfill-php70": "^1.10",
"symfony/polyfill-php72": "^1.10" "symfony/polyfill-php72": "^1.10"
}, },
"suggest": { "suggest": {
@@ -4813,7 +5913,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.14-dev" "dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
} }
}, },
"autoload": { "autoload": {
@@ -4833,6 +5937,10 @@
"name": "Laurent Bassin", "name": "Laurent Bassin",
"email": "laurent@bassin.info" "email": "laurent@bassin.info"
}, },
{
"name": "Trevor Rowbotham",
"email": "trevor.rowbotham@pm.me"
},
{ {
"name": "Symfony Community", "name": "Symfony Community",
"homepage": "https://symfony.com/contributors" "homepage": "https://symfony.com/contributors"
@@ -4848,20 +5956,87 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2020-01-17T12:01:36+00:00" "time": "2020-08-04T06:02:08+00:00"
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-intl-normalizer",
"version": "v1.14.0", "version": "v1.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "34094cfa9abe1f0f14f48f490772db7a775559f2" "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/34094cfa9abe1f0f14f48f490772db7a775559f2", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
"reference": "34094cfa9abe1f0f14f48f490772db7a775559f2", "reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"intl",
"normalizer",
"polyfill",
"portable",
"shim"
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.18.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4873,7 +6048,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.14-dev" "dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
} }
}, },
"autoload": { "autoload": {
@@ -4907,20 +6086,20 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2020-01-13T11:15:53+00:00" "time": "2020-07-14T12:35:20+00:00"
}, },
{ {
"name": "symfony/polyfill-php72", "name": "symfony/polyfill-php72",
"version": "v1.14.0", "version": "v1.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php72.git", "url": "https://github.com/symfony/polyfill-php72.git",
"reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf" "reference": "639447d008615574653fb3bc60d1986d7172eaae"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae",
"reference": "46ecacf4751dd0dc81e4f6bf01dbf9da1dc1dadf", "reference": "639447d008615574653fb3bc60d1986d7172eaae",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4929,7 +6108,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.14-dev" "dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
} }
}, },
"autoload": { "autoload": {
@@ -4962,20 +6145,20 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2020-01-13T11:15:53+00:00" "time": "2020-07-14T12:35:20+00:00"
}, },
{ {
"name": "symfony/polyfill-php73", "name": "symfony/polyfill-php73",
"version": "v1.14.0", "version": "v1.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php73.git", "url": "https://github.com/symfony/polyfill-php73.git",
"reference": "5e66a0fa1070bf46bec4bea7962d285108edd675" "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/5e66a0fa1070bf46bec4bea7962d285108edd675", "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
"reference": "5e66a0fa1070bf46bec4bea7962d285108edd675", "reference": "fffa1a52a023e782cdcc221d781fe1ec8f87fcca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -4984,7 +6167,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.14-dev" "dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
} }
}, },
"autoload": { "autoload": {
@@ -5020,24 +6207,153 @@
"portable", "portable",
"shim" "shim"
], ],
"time": "2020-01-13T11:15:53+00:00" "time": "2020-07-14T12:35:20+00:00"
}, },
{ {
"name": "symfony/process", "name": "symfony/polyfill-php80",
"version": "v4.4.5", "version": "v1.18.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/process.git", "url": "https://github.com/symfony/polyfill-php80.git",
"reference": "bf9166bac906c9e69fb7a11d94875e7ced97bcd7" "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/bf9166bac906c9e69fb7a11d94875e7ced97bcd7", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/d87d5766cbf48d72388a9f6b85f280c8ad51f981",
"reference": "bf9166bac906c9e69fb7a11d94875e7ced97bcd7", "reference": "d87d5766cbf48d72388a9f6b85f280c8ad51f981",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.0.8"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"files": [
"bootstrap.php"
],
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/polyfill-uuid",
"version": "v1.18.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
"reference": "da48e2cccd323e48c16c26481bf5800f6ab1c49d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/da48e2cccd323e48c16c26481bf5800f6ab1c49d",
"reference": "da48e2cccd323e48c16c26481bf5800f6ab1c49d",
"shasum": ""
},
"require": {
"paragonie/random_compat": "~1.0|~2.0|~9.99",
"php": ">=5.3.3"
},
"suggest": {
"ext-uuid": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.18-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"psr-4": {
"Symfony\\Polyfill\\Uuid\\": ""
},
"files": [
"bootstrap.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Grégoire Pineau",
"email": "lyrixx@lyrixx.info"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for uuid functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"uuid"
],
"time": "2020-07-14T12:35:20+00:00"
},
{
"name": "symfony/process",
"version": "v4.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "9b887acc522935f77555ae8813495958c7771ba7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/9b887acc522935f77555ae8813495958c7771ba7",
"reference": "9b887acc522935f77555ae8813495958c7771ba7",
"shasum": ""
},
"require": {
"php": ">=7.1.3"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -5069,24 +6385,23 @@
], ],
"description": "Symfony Process Component", "description": "Symfony Process Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-07T20:06:44+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/profiler-pack", "name": "symfony/profiler-pack",
"version": "v1.0.4", "version": "v1.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/profiler-pack.git", "url": "https://github.com/symfony/profiler-pack.git",
"reference": "99c4370632c2a59bb0444852f92140074ef02209" "reference": "29ec66471082b4eb068db11eb4f0a48c277653f7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/profiler-pack/zipball/99c4370632c2a59bb0444852f92140074ef02209", "url": "https://api.github.com/repos/symfony/profiler-pack/zipball/29ec66471082b4eb068db11eb4f0a48c277653f7",
"reference": "99c4370632c2a59bb0444852f92140074ef02209", "reference": "29ec66471082b4eb068db11eb4f0a48c277653f7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.0",
"symfony/stopwatch": "*", "symfony/stopwatch": "*",
"symfony/twig-bundle": "*", "symfony/twig-bundle": "*",
"symfony/web-profiler-bundle": "*" "symfony/web-profiler-bundle": "*"
@@ -5097,24 +6412,24 @@
"MIT" "MIT"
], ],
"description": "A pack for the Symfony web profiler", "description": "A pack for the Symfony web profiler",
"time": "2018-12-10T12:11:44+00:00" "time": "2020-08-12T06:50:46+00:00"
}, },
{ {
"name": "symfony/property-access", "name": "symfony/property-access",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/property-access.git", "url": "https://github.com/symfony/property-access.git",
"reference": "090b4bc92ded1ec512f7e2ed1691210769dffdb3" "reference": "ecc35239f0f665fd7a8e3a2ecaad7e4ee2668ab6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/property-access/zipball/090b4bc92ded1ec512f7e2ed1691210769dffdb3", "url": "https://api.github.com/repos/symfony/property-access/zipball/ecc35239f0f665fd7a8e3a2ecaad7e4ee2668ab6",
"reference": "090b4bc92ded1ec512f7e2ed1691210769dffdb3", "reference": "ecc35239f0f665fd7a8e3a2ecaad7e4ee2668ab6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/inflector": "^3.4|^4.0|^5.0" "symfony/inflector": "^3.4|^4.0|^5.0"
}, },
"require-dev": { "require-dev": {
@@ -5164,24 +6479,24 @@
"property path", "property path",
"reflection" "reflection"
], ],
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/property-info", "name": "symfony/property-info",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/property-info.git", "url": "https://github.com/symfony/property-info.git",
"reference": "e6355ba81c738be31c3c3b3cd7929963f98da576" "reference": "387c5823e37f14271a499d1b9844c2009cb79d44"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/property-info/zipball/e6355ba81c738be31c3c3b3cd7929963f98da576", "url": "https://api.github.com/repos/symfony/property-info/zipball/387c5823e37f14271a499d1b9844c2009cb79d44",
"reference": "e6355ba81c738be31c3c3b3cd7929963f98da576", "reference": "387c5823e37f14271a499d1b9844c2009cb79d44",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/inflector": "^3.4|^4.0|^5.0" "symfony/inflector": "^3.4|^4.0|^5.0"
}, },
"conflict": { "conflict": {
@@ -5191,7 +6506,7 @@
}, },
"require-dev": { "require-dev": {
"doctrine/annotations": "~1.7", "doctrine/annotations": "~1.7",
"phpdocumentor/reflection-docblock": "^3.0|^4.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
"symfony/cache": "^3.4|^4.0|^5.0", "symfony/cache": "^3.4|^4.0|^5.0",
"symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0",
"symfony/serializer": "^3.4|^4.0|^5.0" "symfony/serializer": "^3.4|^4.0|^5.0"
@@ -5240,24 +6555,24 @@
"type", "type",
"validator" "validator"
], ],
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-03T00:26:19+00:00"
}, },
{ {
"name": "symfony/routing", "name": "symfony/routing",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/routing.git", "url": "https://github.com/symfony/routing.git",
"reference": "4124d621d0e445732520037f888a0456951bde8c" "reference": "006b2d06672b8650998f328fc603eb6f3feb979f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/4124d621d0e445732520037f888a0456951bde8c", "url": "https://api.github.com/repos/symfony/routing/zipball/006b2d06672b8650998f328fc603eb6f3feb979f",
"reference": "4124d621d0e445732520037f888a0456951bde8c", "reference": "006b2d06672b8650998f328fc603eb6f3feb979f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"conflict": { "conflict": {
"symfony/config": "<4.2", "symfony/config": "<4.2",
@@ -5316,25 +6631,25 @@
"uri", "uri",
"url" "url"
], ],
"time": "2020-02-25T12:41:09+00:00" "time": "2020-10-01T16:25:17+00:00"
}, },
{ {
"name": "symfony/security-bundle", "name": "symfony/security-bundle",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-bundle.git", "url": "https://github.com/symfony/security-bundle.git",
"reference": "21c4270b37f76e6c3c22f92597f397593ed1c9db" "reference": "274b0eb10dfc9067175cb4d1bcc68f8b37ebee14"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/21c4270b37f76e6c3c22f92597f397593ed1c9db", "url": "https://api.github.com/repos/symfony/security-bundle/zipball/274b0eb10dfc9067175cb4d1bcc68f8b37ebee14",
"reference": "21c4270b37f76e6c3c22f92597f397593ed1c9db", "reference": "274b0eb10dfc9067175cb4d1bcc68f8b37ebee14",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-xml": "*", "ext-xml": "*",
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/config": "^4.2|^5.0", "symfony/config": "^4.2|^5.0",
"symfony/dependency-injection": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0",
"symfony/http-kernel": "^4.4", "symfony/http-kernel": "^4.4",
@@ -5399,24 +6714,24 @@
], ],
"description": "Symfony SecurityBundle", "description": "Symfony SecurityBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-26T10:27:30+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/security-core", "name": "symfony/security-core",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-core.git", "url": "https://github.com/symfony/security-core.git",
"reference": "6251c8e432640106e6f2f045ac3b365f1af36d44" "reference": "264f391b7b172e36884790b4689152303d61e424"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-core/zipball/6251c8e432640106e6f2f045ac3b365f1af36d44", "url": "https://api.github.com/repos/symfony/security-core/zipball/264f391b7b172e36884790b4689152303d61e424",
"reference": "6251c8e432640106e6f2f045ac3b365f1af36d44", "reference": "264f391b7b172e36884790b4689152303d61e424",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/event-dispatcher-contracts": "^1.1|^2", "symfony/event-dispatcher-contracts": "^1.1|^2",
"symfony/service-contracts": "^1.1.6|^2" "symfony/service-contracts": "^1.1.6|^2"
}, },
@@ -5472,24 +6787,24 @@
], ],
"description": "Symfony Security Component - Core Library", "description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T13:10:00+00:00" "time": "2020-10-04T07:09:09+00:00"
}, },
{ {
"name": "symfony/security-csrf", "name": "symfony/security-csrf",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-csrf.git", "url": "https://github.com/symfony/security-csrf.git",
"reference": "da4664d94164e2b50ce75f2453724c6c33222505" "reference": "59bc56de929b1e1d2cd41c22874f8f57863f0aff"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/da4664d94164e2b50ce75f2453724c6c33222505", "url": "https://api.github.com/repos/symfony/security-csrf/zipball/59bc56de929b1e1d2cd41c22874f8f57863f0aff",
"reference": "da4664d94164e2b50ce75f2453724c6c33222505", "reference": "59bc56de929b1e1d2cd41c22874f8f57863f0aff",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/security-core": "^3.4|^4.0|^5.0" "symfony/security-core": "^3.4|^4.0|^5.0"
}, },
"conflict": { "conflict": {
@@ -5531,24 +6846,24 @@
], ],
"description": "Symfony Security Component - CSRF Library", "description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/security-guard", "name": "symfony/security-guard",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-guard.git", "url": "https://github.com/symfony/security-guard.git",
"reference": "7dcc99e3fa89387a1914496118b4aa0927f282e1" "reference": "95b7f702c4f07c44504a81c69ef07036e68b96b9"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-guard/zipball/7dcc99e3fa89387a1914496118b4aa0927f282e1", "url": "https://api.github.com/repos/symfony/security-guard/zipball/95b7f702c4f07c44504a81c69ef07036e68b96b9",
"reference": "7dcc99e3fa89387a1914496118b4aa0927f282e1", "reference": "95b7f702c4f07c44504a81c69ef07036e68b96b9",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/security-core": "^3.4.22|^4.2.3|^5.0", "symfony/security-core": "^3.4.22|^4.2.3|^5.0",
"symfony/security-http": "^4.4.1" "symfony/security-http": "^4.4.1"
}, },
@@ -5585,28 +6900,28 @@
], ],
"description": "Symfony Security Component - Guard", "description": "Symfony Security Component - Guard",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T13:10:00+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/security-http", "name": "symfony/security-http",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/security-http.git", "url": "https://github.com/symfony/security-http.git",
"reference": "c38fe1cd72360dfaa39c82fcb9e4666b041f8834" "reference": "eddcd6b7372d430a47091fa5e5d733785b5a582b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/security-http/zipball/c38fe1cd72360dfaa39c82fcb9e4666b041f8834", "url": "https://api.github.com/repos/symfony/security-http/zipball/eddcd6b7372d430a47091fa5e5d733785b5a582b",
"reference": "c38fe1cd72360dfaa39c82fcb9e4666b041f8834", "reference": "eddcd6b7372d430a47091fa5e5d733785b5a582b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/http-foundation": "^3.4|^4.0|^5.0", "symfony/http-foundation": "^3.4.40|^4.4.7|^5.0.7",
"symfony/http-kernel": "^4.4", "symfony/http-kernel": "^4.4",
"symfony/property-access": "^3.4|^4.0|^5.0", "symfony/property-access": "^3.4|^4.0|^5.0",
"symfony/security-core": "^4.4" "symfony/security-core": "^4.4.8"
}, },
"conflict": { "conflict": {
"symfony/event-dispatcher": ">=5", "symfony/event-dispatcher": ">=5",
@@ -5651,24 +6966,24 @@
], ],
"description": "Symfony Security Component - HTTP Integration", "description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-26T10:27:30+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/serializer", "name": "symfony/serializer",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/serializer.git", "url": "https://github.com/symfony/serializer.git",
"reference": "bc76d242fea5ff09c3ca34c90f3bb9341a2470a4" "reference": "8e97a9cfc5a48de83437f286d6d0ab4a2a2c22b0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/serializer/zipball/bc76d242fea5ff09c3ca34c90f3bb9341a2470a4", "url": "https://api.github.com/repos/symfony/serializer/zipball/8e97a9cfc5a48de83437f286d6d0ab4a2a2c22b0",
"reference": "bc76d242fea5ff09c3ca34c90f3bb9341a2470a4", "reference": "8e97a9cfc5a48de83437f286d6d0ab4a2a2c22b0",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8"
}, },
"conflict": { "conflict": {
@@ -5733,26 +7048,26 @@
], ],
"description": "Symfony Serializer Component", "description": "Symfony Serializer Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-29T10:05:28+00:00" "time": "2020-10-02T20:12:42+00:00"
}, },
{ {
"name": "symfony/serializer-pack", "name": "symfony/serializer-pack",
"version": "v1.0.2", "version": "v1.0.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/serializer-pack.git", "url": "https://github.com/symfony/serializer-pack.git",
"reference": "c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2" "reference": "9bbce72dcad0cca797b678d3bfb764cf923ab28a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/serializer-pack/zipball/c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2", "url": "https://api.github.com/repos/symfony/serializer-pack/zipball/9bbce72dcad0cca797b678d3bfb764cf923ab28a",
"reference": "c5f18ba4ff989a42d7d140b7f85406e77cd8c4b2", "reference": "9bbce72dcad0cca797b678d3bfb764cf923ab28a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/annotations": "^1.0", "doctrine/annotations": "^1.0",
"php": "^7.0", "php": "^7.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0", "phpdocumentor/reflection-docblock": "*",
"symfony/property-access": "*", "symfony/property-access": "*",
"symfony/property-info": "*", "symfony/property-info": "*",
"symfony/serializer": "*" "symfony/serializer": "*"
@@ -5763,24 +7078,24 @@
"MIT" "MIT"
], ],
"description": "A pack for the Symfony serializer", "description": "A pack for the Symfony serializer",
"time": "2018-12-10T12:14:14+00:00" "time": "2020-03-28T16:26:24+00:00"
}, },
{ {
"name": "symfony/service-contracts", "name": "symfony/service-contracts",
"version": "v2.0.1", "version": "v2.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/service-contracts.git", "url": "https://github.com/symfony/service-contracts.git",
"reference": "144c5e51266b281231e947b51223ba14acf1a749" "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"reference": "144c5e51266b281231e947b51223ba14acf1a749", "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2.5", "php": ">=7.2.5",
"psr/container": "^1.0" "psr/container": "^1.0"
}, },
"suggest": { "suggest": {
@@ -5789,7 +7104,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "2.2-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
} }
}, },
"autoload": { "autoload": {
@@ -5821,24 +7140,24 @@
"interoperability", "interoperability",
"standards" "standards"
], ],
"time": "2019-11-18T17:27:11+00:00" "time": "2020-09-07T11:33:47+00:00"
}, },
{ {
"name": "symfony/stopwatch", "name": "symfony/stopwatch",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/stopwatch.git", "url": "https://github.com/symfony/stopwatch.git",
"reference": "abc08d7c48987829bac301347faa10f7e8bbf4fb" "reference": "6f89e19772cf61b3c65bab329fe0e318259fbd91"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/stopwatch/zipball/abc08d7c48987829bac301347faa10f7e8bbf4fb", "url": "https://api.github.com/repos/symfony/stopwatch/zipball/6f89e19772cf61b3c65bab329fe0e318259fbd91",
"reference": "abc08d7c48987829bac301347faa10f7e8bbf4fb", "reference": "6f89e19772cf61b3c65bab329fe0e318259fbd91",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/service-contracts": "^1.0|^2" "symfony/service-contracts": "^1.0|^2"
}, },
"type": "library", "type": "library",
@@ -5871,45 +7190,42 @@
], ],
"description": "Symfony Stopwatch Component", "description": "Symfony Stopwatch Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/swiftmailer-bundle", "name": "symfony/swiftmailer-bundle",
"version": "v3.4.0", "version": "v3.5.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/swiftmailer-bundle.git", "url": "https://github.com/symfony/swiftmailer-bundle.git",
"reference": "553d2474288349faed873da8ab7c1551a00d26ae" "reference": "933be6a3196fb354615290f53ff7ff61e0bdde58"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/553d2474288349faed873da8ab7c1551a00d26ae", "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/933be6a3196fb354615290f53ff7ff61e0bdde58",
"reference": "553d2474288349faed873da8ab7c1551a00d26ae", "reference": "933be6a3196fb354615290f53ff7ff61e0bdde58",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=7.1", "php": ">=7.1",
"swiftmailer/swiftmailer": "^6.1.3", "swiftmailer/swiftmailer": "^6.1.3",
"symfony/config": "^4.3.8|^5.0", "symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.3.8|^5.0", "symfony/dependency-injection": "^4.4|^5.0",
"symfony/http-kernel": "^4.3.8|^5.0" "symfony/http-kernel": "^4.4|^5.0"
}, },
"conflict": { "conflict": {
"twig/twig": "<1.41|<2.10" "twig/twig": "<1.41|<2.10"
}, },
"require-dev": { "require-dev": {
"symfony/console": "^4.3.8|^5.0", "symfony/console": "^4.4|^5.0",
"symfony/framework-bundle": "^4.3.8|^5.0", "symfony/framework-bundle": "^4.4|^5.0",
"symfony/phpunit-bridge": "^4.3.8|^5.0", "symfony/phpunit-bridge": "^4.4|^5.0",
"symfony/yaml": "^4.3.8|^5.0" "symfony/yaml": "^4.4|^5.0"
},
"suggest": {
"psr/log": "Allows logging"
}, },
"type": "symfony-bundle", "type": "symfony-bundle",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.4-dev" "dev-master": "3.5-dev"
} }
}, },
"autoload": { "autoload": {
@@ -5936,24 +7252,24 @@
], ],
"description": "Symfony SwiftmailerBundle", "description": "Symfony SwiftmailerBundle",
"homepage": "http://symfony.com", "homepage": "http://symfony.com",
"time": "2019-11-14T16:18:31+00:00" "time": "2020-10-06T05:51:35+00:00"
}, },
{ {
"name": "symfony/templating", "name": "symfony/templating",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/templating.git", "url": "https://github.com/symfony/templating.git",
"reference": "9995a4f65149d5ab7f0d9cca6d88136ae8bfaa72" "reference": "7c5e32de7cf3efe9a11def8eaedc7901ec7b22b6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/templating/zipball/9995a4f65149d5ab7f0d9cca6d88136ae8bfaa72", "url": "https://api.github.com/repos/symfony/templating/zipball/7c5e32de7cf3efe9a11def8eaedc7901ec7b22b6",
"reference": "9995a4f65149d5ab7f0d9cca6d88136ae8bfaa72", "reference": "7c5e32de7cf3efe9a11def8eaedc7901ec7b22b6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8"
}, },
"require-dev": { "require-dev": {
@@ -5992,24 +7308,24 @@
], ],
"description": "Symfony Templating Component", "description": "Symfony Templating Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/translation", "name": "symfony/translation",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation.git", "url": "https://github.com/symfony/translation.git",
"reference": "0a19a77fba20818a969ef03fdaf1602de0546353" "reference": "8494fa1bbf9d77fe1e7d50ac8ccfb80a858a98bd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/0a19a77fba20818a969ef03fdaf1602de0546353", "url": "https://api.github.com/repos/symfony/translation/zipball/8494fa1bbf9d77fe1e7d50ac8ccfb80a858a98bd",
"reference": "0a19a77fba20818a969ef03fdaf1602de0546353", "reference": "8494fa1bbf9d77fe1e7d50ac8ccfb80a858a98bd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^1.1.6|^2" "symfony/translation-contracts": "^1.1.6|^2"
}, },
@@ -6068,24 +7384,24 @@
], ],
"description": "Symfony Translation Component", "description": "Symfony Translation Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-04T09:32:40+00:00" "time": "2020-10-02T07:34:48+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
"version": "v2.0.1", "version": "v2.3.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/translation-contracts.git", "url": "https://github.com/symfony/translation-contracts.git",
"reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2.5" "php": ">=7.2.5"
}, },
"suggest": { "suggest": {
"symfony/translation-implementation": "" "symfony/translation-implementation": ""
@@ -6093,7 +7409,11 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.0-dev" "dev-master": "2.3-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
} }
}, },
"autoload": { "autoload": {
@@ -6125,24 +7445,24 @@
"interoperability", "interoperability",
"standards" "standards"
], ],
"time": "2019-11-18T17:27:11+00:00" "time": "2020-09-28T13:05:58+00:00"
}, },
{ {
"name": "symfony/twig-bridge", "name": "symfony/twig-bridge",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bridge.git", "url": "https://github.com/symfony/twig-bridge.git",
"reference": "e76e963d8aeb1370a1236ca237a8028141402fc0" "reference": "ac5de06ef28f0638bd87d8fcf515715232db34d2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/e76e963d8aeb1370a1236ca237a8028141402fc0", "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/ac5de06ef28f0638bd87d8fcf515715232db34d2",
"reference": "e76e963d8aeb1370a1236ca237a8028141402fc0", "reference": "ac5de06ef28f0638bd87d8fcf515715232db34d2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/translation-contracts": "^1.1|^2", "symfony/translation-contracts": "^1.1|^2",
"twig/twig": "^1.41|^2.10|^3.0" "twig/twig": "^1.41|^2.10|^3.0"
}, },
@@ -6228,24 +7548,24 @@
], ],
"description": "Symfony Twig Bridge", "description": "Symfony Twig Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-14T08:28:51+00:00" "time": "2020-09-02T16:08:58+00:00"
}, },
{ {
"name": "symfony/twig-bundle", "name": "symfony/twig-bundle",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/twig-bundle.git", "url": "https://github.com/symfony/twig-bundle.git",
"reference": "d3e3e46e9e683e946746219570299ba07506260a" "reference": "19369cd319700a925c1a736f3059894aab04c387"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/d3e3e46e9e683e946746219570299ba07506260a", "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/19369cd319700a925c1a736f3059894aab04c387",
"reference": "d3e3e46e9e683e946746219570299ba07506260a", "reference": "19369cd319700a925c1a736f3059894aab04c387",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/http-foundation": "^4.3|^5.0", "symfony/http-foundation": "^4.3|^5.0",
"symfony/http-kernel": "^4.4", "symfony/http-kernel": "^4.4",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
@@ -6303,7 +7623,7 @@
], ],
"description": "Symfony TwigBundle", "description": "Symfony TwigBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-01-04T13:00:46+00:00" "time": "2020-10-01T13:17:48+00:00"
}, },
{ {
"name": "symfony/twig-pack", "name": "symfony/twig-pack",
@@ -6335,20 +7655,20 @@
}, },
{ {
"name": "symfony/validator", "name": "symfony/validator",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/validator.git", "url": "https://github.com/symfony/validator.git",
"reference": "3a3a07fe2f42492eccca6771f1a460c9900cd851" "reference": "8da71f775b7e1ffeed784d27f526527bb8e9504b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/validator/zipball/3a3a07fe2f42492eccca6771f1a460c9900cd851", "url": "https://api.github.com/repos/symfony/validator/zipball/8da71f775b7e1ffeed784d27f526527bb8e9504b",
"reference": "3a3a07fe2f42492eccca6771f1a460c9900cd851", "reference": "8da71f775b7e1ffeed784d27f526527bb8e9504b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/translation-contracts": "^1.1|^2" "symfony/translation-contracts": "^1.1|^2"
@@ -6424,26 +7744,27 @@
], ],
"description": "Symfony Validator Component", "description": "Symfony Validator Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-29T10:05:28+00:00" "time": "2020-09-27T03:36:23+00:00"
}, },
{ {
"name": "symfony/var-dumper", "name": "symfony/var-dumper",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-dumper.git", "url": "https://github.com/symfony/var-dumper.git",
"reference": "2572839911702b0405479410ea7a1334bfab0b96" "reference": "0dc22bdf9d1197467bb04d505355180b6f20bcca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/2572839911702b0405479410ea7a1334bfab0b96", "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0dc22bdf9d1197467bb04d505355180b6f20bcca",
"reference": "2572839911702b0405479410ea7a1334bfab0b96", "reference": "0dc22bdf9d1197467bb04d505355180b6f20bcca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php72": "~1.5" "symfony/polyfill-php72": "~1.5",
"symfony/polyfill-php80": "^1.15"
}, },
"conflict": { "conflict": {
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
@@ -6500,27 +7821,27 @@
"debug", "debug",
"dump" "dump"
], ],
"time": "2020-02-24T13:10:00+00:00" "time": "2020-09-18T08:35:10+00:00"
}, },
{ {
"name": "symfony/var-exporter", "name": "symfony/var-exporter",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/var-exporter.git", "url": "https://github.com/symfony/var-exporter.git",
"reference": "1a76a943f2af334da13bc9f33f49392fa530eec9" "reference": "bb6c505d1492bf55534184c0a38826bda529e5e2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a76a943f2af334da13bc9f33f49392fa530eec9", "url": "https://api.github.com/repos/symfony/var-exporter/zipball/bb6c505d1492bf55534184c0a38826bda529e5e2",
"reference": "1a76a943f2af334da13bc9f33f49392fa530eec9", "reference": "bb6c505d1492bf55534184c0a38826bda529e5e2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"require-dev": { "require-dev": {
"symfony/var-dumper": "^4.1.1|^5.0" "symfony/var-dumper": "^4.4.9|^5.0.9"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -6560,24 +7881,24 @@
"instantiate", "instantiate",
"serialize" "serialize"
], ],
"time": "2020-01-04T13:00:46+00:00" "time": "2020-09-07T21:10:21+00:00"
}, },
{ {
"name": "symfony/web-link", "name": "symfony/web-link",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/web-link.git", "url": "https://github.com/symfony/web-link.git",
"reference": "dad60d94b2e7f16e1a7d0ebd0f1f460f45a51386" "reference": "b862a104ef3a233b6f12fdbf6b57113308af79ff"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/web-link/zipball/dad60d94b2e7f16e1a7d0ebd0f1f460f45a51386", "url": "https://api.github.com/repos/symfony/web-link/zipball/b862a104ef3a233b6f12fdbf6b57113308af79ff",
"reference": "dad60d94b2e7f16e1a7d0ebd0f1f460f45a51386", "reference": "b862a104ef3a233b6f12fdbf6b57113308af79ff",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"psr/link": "^1.0", "psr/link": "^1.0",
"symfony/polyfill-php72": "^1.5" "symfony/polyfill-php72": "^1.5"
}, },
@@ -6636,24 +7957,24 @@
"psr13", "psr13",
"push" "push"
], ],
"time": "2020-01-04T13:00:46+00:00" "time": "2020-05-26T09:42:42+00:00"
}, },
{ {
"name": "symfony/web-profiler-bundle", "name": "symfony/web-profiler-bundle",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git", "url": "https://github.com/symfony/web-profiler-bundle.git",
"reference": "76c21d0137f0b9c6bbbc93ac2672cadfdf2e625a" "reference": "f3b967b34b1db5d3285c415fbe5ce2b9299e6cd6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/76c21d0137f0b9c6bbbc93ac2672cadfdf2e625a", "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/f3b967b34b1db5d3285c415fbe5ce2b9299e6cd6",
"reference": "76c21d0137f0b9c6bbbc93ac2672cadfdf2e625a", "reference": "f3b967b34b1db5d3285c415fbe5ce2b9299e6cd6",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/config": "^4.2|^5.0", "symfony/config": "^4.2|^5.0",
"symfony/framework-bundle": "^4.4|^5.0", "symfony/framework-bundle": "^4.4|^5.0",
"symfony/http-kernel": "^4.4", "symfony/http-kernel": "^4.4",
@@ -6702,7 +8023,7 @@
], ],
"description": "Symfony WebProfilerBundle", "description": "Symfony WebProfilerBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-14T07:42:58+00:00" "time": "2020-09-06T17:41:24+00:00"
}, },
{ {
"name": "symfony/webpack-encore-bundle", "name": "symfony/webpack-encore-bundle",
@@ -6759,20 +8080,20 @@
}, },
{ {
"name": "symfony/yaml", "name": "symfony/yaml",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/yaml.git",
"reference": "94d005c176db2080e98825d98e01e8b311a97a88" "reference": "c7885964b1eceb70b0981556d0a9b01d2d97c8d1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/94d005c176db2080e98825d98e01e8b311a97a88", "url": "https://api.github.com/repos/symfony/yaml/zipball/c7885964b1eceb70b0981556d0a9b01d2d97c8d1",
"reference": "94d005c176db2080e98825d98e01e8b311a97a88", "reference": "c7885964b1eceb70b0981556d0a9b01d2d97c8d1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8" "symfony/polyfill-ctype": "~1.8"
}, },
"conflict": { "conflict": {
@@ -6814,20 +8135,20 @@
], ],
"description": "Symfony Yaml Component", "description": "Symfony Yaml Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-03T10:46:43+00:00" "time": "2020-09-27T03:36:23+00:00"
}, },
{ {
"name": "tetranz/select2entity-bundle", "name": "tetranz/select2entity-bundle",
"version": "v3.0.0", "version": "v3.1.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/tetranz/select2entity-bundle.git", "url": "https://github.com/tetranz/select2entity-bundle.git",
"reference": "46326457084f6c01f204a02af4a3a3aba19e02c4" "reference": "66f515417c609f20f49ff27d3980ffcf1b8f347b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/tetranz/select2entity-bundle/zipball/46326457084f6c01f204a02af4a3a3aba19e02c4", "url": "https://api.github.com/repos/tetranz/select2entity-bundle/zipball/66f515417c609f20f49ff27d3980ffcf1b8f347b",
"reference": "46326457084f6c01f204a02af4a3a3aba19e02c4", "reference": "66f515417c609f20f49ff27d3980ffcf1b8f347b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -6867,24 +8188,24 @@
"symfony", "symfony",
"typeahead" "typeahead"
], ],
"time": "2019-09-23T00:42:17+00:00" "time": "2020-09-28T11:42:58+00:00"
}, },
{ {
"name": "twig/extra-bundle", "name": "twig/extra-bundle",
"version": "v3.0.3", "version": "v3.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git", "url": "https://github.com/twigphp/twig-extra-bundle.git",
"reference": "6eaf1637abe6b68518e7e0949ebb84e55770d5c6" "reference": "a7c5799cf742ab0827f5d32df37528ee8bf5a233"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/6eaf1637abe6b68518e7e0949ebb84e55770d5c6", "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/a7c5799cf742ab0827f5d32df37528ee8bf5a233",
"reference": "6eaf1637abe6b68518e7e0949ebb84e55770d5c6", "reference": "a7c5799cf742ab0827f5d32df37528ee8bf5a233",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": "^7.1.3|^8.0",
"symfony/framework-bundle": "^4.3|^5.0", "symfony/framework-bundle": "^4.3|^5.0",
"symfony/twig-bundle": "^4.3|^5.0", "symfony/twig-bundle": "^4.3|^5.0",
"twig/twig": "^2.4|^3.0" "twig/twig": "^2.4|^3.0"
@@ -6926,30 +8247,30 @@
"extra", "extra",
"twig" "twig"
], ],
"time": "2020-01-01T17:11:09+00:00" "time": "2020-05-21T09:56:39+00:00"
}, },
{ {
"name": "twig/twig", "name": "twig/twig",
"version": "v3.0.3", "version": "v3.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twigphp/Twig.git", "url": "https://github.com/twigphp/Twig.git",
"reference": "3b88ccd180a6b61ebb517aea3b1a8906762a1dc2" "reference": "9b76b1535483cdf4edf01bb787b0217b62bd68a5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/3b88ccd180a6b61ebb517aea3b1a8906762a1dc2", "url": "https://api.github.com/repos/twigphp/Twig/zipball/9b76b1535483cdf4edf01bb787b0217b62bd68a5",
"reference": "3b88ccd180a6b61ebb517aea3b1a8906762a1dc2", "reference": "9b76b1535483cdf4edf01bb787b0217b62bd68a5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.2.5", "php": ">=7.2.5",
"symfony/polyfill-ctype": "^1.8", "symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3" "symfony/polyfill-mbstring": "^1.3"
}, },
"require-dev": { "require-dev": {
"psr/container": "^1.0", "psr/container": "^1.0",
"symfony/phpunit-bridge": "^4.4|^5.0" "symfony/phpunit-bridge": "^4.4.9|^5.0.9"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -6988,28 +8309,29 @@
"keywords": [ "keywords": [
"templating" "templating"
], ],
"time": "2020-02-11T15:33:47+00:00" "time": "2020-08-05T15:13:19+00:00"
}, },
{ {
"name": "webmozart/assert", "name": "webmozart/assert",
"version": "1.7.0", "version": "1.9.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/webmozart/assert.git", "url": "https://github.com/webmozart/assert.git",
"reference": "aed98a490f9a8f78468232db345ab9cf606cf598" "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/webmozart/assert/zipball/aed98a490f9a8f78468232db345ab9cf606cf598", "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
"reference": "aed98a490f9a8f78468232db345ab9cf606cf598", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^5.3.3 || ^7.0", "php": "^5.3.3 || ^7.0 || ^8.0",
"symfony/polyfill-ctype": "^1.8" "symfony/polyfill-ctype": "^1.8"
}, },
"conflict": { "conflict": {
"vimeo/psalm": "<3.6.0" "phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<3.9.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8.36 || ^7.5.13" "phpunit/phpunit": "^4.8.36 || ^7.5.13"
@@ -7036,7 +8358,7 @@
"check", "check",
"validate" "validate"
], ],
"time": "2020-02-14T12:15:55+00:00" "time": "2020-07-08T17:02:28+00:00"
}, },
{ {
"name": "willdurand/jsonp-callback-validator", "name": "willdurand/jsonp-callback-validator",
@@ -7245,16 +8567,16 @@
}, },
{ {
"name": "zircote/swagger-php", "name": "zircote/swagger-php",
"version": "2.0.15", "version": "2.0.16",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/zircote/swagger-php.git", "url": "https://github.com/zircote/swagger-php.git",
"reference": "5fd9439cfb76713925e23f206e9db4bf35784683" "reference": "a25c1bfe508e5f27d5f618648449593a79cbe406"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/zircote/swagger-php/zipball/5fd9439cfb76713925e23f206e9db4bf35784683", "url": "https://api.github.com/repos/zircote/swagger-php/zipball/a25c1bfe508e5f27d5f618648449593a79cbe406",
"reference": "5fd9439cfb76713925e23f206e9db4bf35784683", "reference": "a25c1bfe508e5f27d5f618648449593a79cbe406",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -7303,77 +8625,26 @@
"rest", "rest",
"service discovery" "service discovery"
], ],
"time": "2020-01-25T14:15:57+00:00" "time": "2020-05-10T13:42:24+00:00"
} }
], ],
"packages-dev": [ "packages-dev": [
{
"name": "easycorp/easy-log-handler",
"version": "v1.0.9",
"source": {
"type": "git",
"url": "https://github.com/EasyCorp/easy-log-handler.git",
"reference": "224e1dfcf9455aceee89cd0af306ac097167fac1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/EasyCorp/easy-log-handler/zipball/224e1dfcf9455aceee89cd0af306ac097167fac1",
"reference": "224e1dfcf9455aceee89cd0af306ac097167fac1",
"shasum": ""
},
"require": {
"monolog/monolog": "~1.6|~2.0",
"php": ">=7.1",
"symfony/yaml": "^3.4|^4.0|^5.0"
},
"type": "library",
"autoload": {
"psr-4": {
"EasyCorp\\EasyLog\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Javier Eguiluz",
"email": "javiereguiluz@gmail.com"
},
{
"name": "Project Contributors",
"homepage": "https://github.com/EasyCorp/easy-log-handler"
}
],
"description": "A handler for Monolog that optimizes log messages to be processed by humans instead of software. Improve your productivity with logs that are easy to understand.",
"homepage": "https://github.com/EasyCorp/easy-log-handler",
"keywords": [
"easy",
"log",
"logging",
"monolog",
"productivity"
],
"abandoned": true,
"time": "2019-10-24T07:13:31+00:00"
},
{ {
"name": "symfony/browser-kit", "name": "symfony/browser-kit",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/browser-kit.git", "url": "https://github.com/symfony/browser-kit.git",
"reference": "090ce406505149d6852a7c03b0346dec3b8cf612" "reference": "9a1786e5020783605a30cff2ceed9aca030e8d80"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/090ce406505149d6852a7c03b0346dec3b8cf612", "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9a1786e5020783605a30cff2ceed9aca030e8d80",
"reference": "090ce406505149d6852a7c03b0346dec3b8cf612", "reference": "9a1786e5020783605a30cff2ceed9aca030e8d80",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/dom-crawler": "^3.4|^4.0|^5.0" "symfony/dom-crawler": "^3.4|^4.0|^5.0"
}, },
"require-dev": { "require-dev": {
@@ -7415,24 +8686,24 @@
], ],
"description": "Symfony BrowserKit Component", "description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-23T10:00:59+00:00" "time": "2020-10-02T08:38:15+00:00"
}, },
{ {
"name": "symfony/css-selector", "name": "symfony/css-selector",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/css-selector.git", "url": "https://github.com/symfony/css-selector.git",
"reference": "d0a6dd288fa8848dcc3d1f58b94de6a7cc5d2d22" "reference": "bf17dc9f6ce144e41f786c32435feea4d8e11dcc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/d0a6dd288fa8848dcc3d1f58b94de6a7cc5d2d22", "url": "https://api.github.com/repos/symfony/css-selector/zipball/bf17dc9f6ce144e41f786c32435feea4d8e11dcc",
"reference": "d0a6dd288fa8848dcc3d1f58b94de6a7cc5d2d22", "reference": "bf17dc9f6ce144e41f786c32435feea4d8e11dcc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3" "php": ">=7.1.3"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
@@ -7468,25 +8739,25 @@
], ],
"description": "Symfony CssSelector Component", "description": "Symfony CssSelector Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-04T09:01:01+00:00" "time": "2020-07-05T09:39:30+00:00"
}, },
{ {
"name": "symfony/debug-bundle", "name": "symfony/debug-bundle",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug-bundle.git", "url": "https://github.com/symfony/debug-bundle.git",
"reference": "570c3c69e69f7709f184ee3acbebe45e5ff1adce" "reference": "12a020d14b4f6f3a5cfb46cd83836b78be036210"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/570c3c69e69f7709f184ee3acbebe45e5ff1adce", "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/12a020d14b4f6f3a5cfb46cd83836b78be036210",
"reference": "570c3c69e69f7709f184ee3acbebe45e5ff1adce", "reference": "12a020d14b4f6f3a5cfb46cd83836b78be036210",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-xml": "*", "ext-xml": "*",
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/http-kernel": "^3.4|^4.0|^5.0", "symfony/http-kernel": "^3.4|^4.0|^5.0",
"symfony/twig-bridge": "^3.4|^4.0|^5.0", "symfony/twig-bridge": "^3.4|^4.0|^5.0",
"symfony/var-dumper": "^4.1.1|^5.0" "symfony/var-dumper": "^4.1.1|^5.0"
@@ -7534,24 +8805,23 @@
], ],
"description": "Symfony DebugBundle", "description": "Symfony DebugBundle",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-01-04T13:00:46+00:00" "time": "2020-05-20T08:37:50+00:00"
}, },
{ {
"name": "symfony/debug-pack", "name": "symfony/debug-pack",
"version": "v1.0.7", "version": "v1.0.8",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/debug-pack.git", "url": "https://github.com/symfony/debug-pack.git",
"reference": "09a4a1e9bf2465987d4f79db0ad6c11cc632bc79" "reference": "7310a66f9f81c9f292ff9089f0b0062386cb83fb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/debug-pack/zipball/09a4a1e9bf2465987d4f79db0ad6c11cc632bc79", "url": "https://api.github.com/repos/symfony/debug-pack/zipball/7310a66f9f81c9f292ff9089f0b0062386cb83fb",
"reference": "09a4a1e9bf2465987d4f79db0ad6c11cc632bc79", "reference": "7310a66f9f81c9f292ff9089f0b0062386cb83fb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"easycorp/easy-log-handler": "^1.0.7",
"php": "^7.0", "php": "^7.0",
"symfony/debug-bundle": "*", "symfony/debug-bundle": "*",
"symfony/monolog-bundle": "^3.0", "symfony/monolog-bundle": "^3.0",
@@ -7564,24 +8834,24 @@
"MIT" "MIT"
], ],
"description": "A debug pack for Symfony projects", "description": "A debug pack for Symfony projects",
"time": "2018-12-10T12:11:11+00:00" "time": "2020-04-07T10:08:51+00:00"
}, },
{ {
"name": "symfony/dom-crawler", "name": "symfony/dom-crawler",
"version": "v4.4.5", "version": "v4.4.15",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/dom-crawler.git", "url": "https://github.com/symfony/dom-crawler.git",
"reference": "11dcf08f12f29981bf770f097a5d64d65bce5929" "reference": "bdcb7633a501770a0daefbf81d2e6b28c3864f2b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/11dcf08f12f29981bf770f097a5d64d65bce5929", "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/bdcb7633a501770a0daefbf81d2e6b28c3864f2b",
"reference": "11dcf08f12f29981bf770f097a5d64d65bce5929", "reference": "bdcb7633a501770a0daefbf81d2e6b28c3864f2b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.1.3", "php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8", "symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-mbstring": "~1.0" "symfony/polyfill-mbstring": "~1.0"
}, },
@@ -7625,27 +8895,30 @@
], ],
"description": "Symfony DomCrawler Component", "description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-29T10:05:28+00:00" "time": "2020-10-02T07:34:48+00:00"
}, },
{ {
"name": "symfony/phpunit-bridge", "name": "symfony/phpunit-bridge",
"version": "v5.0.5", "version": "v5.1.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git", "url": "https://github.com/symfony/phpunit-bridge.git",
"reference": "b8fee53045a55ccbb9209e453bf6fdcf74381959" "reference": "150aeb91dd9dafe13ec8416abd62e435330ca12d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/b8fee53045a55ccbb9209e453bf6fdcf74381959", "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/150aeb91dd9dafe13ec8416abd62e435330ca12d",
"reference": "b8fee53045a55ccbb9209e453bf6fdcf74381959", "reference": "150aeb91dd9dafe13ec8416abd62e435330ca12d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.5.9" "php": ">=5.5.9"
}, },
"conflict": { "conflict": {
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0|<6.4,>=6.0" "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0|<6.4,>=6.0|9.1.2"
},
"require-dev": {
"symfony/deprecation-contracts": "^2.1"
}, },
"suggest": { "suggest": {
"symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader"
@@ -7656,7 +8929,7 @@
"type": "symfony-bridge", "type": "symfony-bridge",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "5.0-dev" "dev-master": "5.1-dev"
}, },
"thanks": { "thanks": {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
@@ -7690,7 +8963,7 @@
], ],
"description": "Symfony PHPUnit Bridge", "description": "Symfony PHPUnit Bridge",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2020-02-24T15:05:31+00:00" "time": "2020-10-02T12:57:56+00:00"
}, },
{ {
"name": "symfony/test-pack", "name": "symfony/test-pack",

View File

@@ -20,4 +20,5 @@ return [
Oneup\UploaderBundle\OneupUploaderBundle::class => ['all' => true], Oneup\UploaderBundle\OneupUploaderBundle::class => ['all' => true],
Knp\Bundle\SnappyBundle\KnpSnappyBundle::class => ['all' => true], Knp\Bundle\SnappyBundle\KnpSnappyBundle::class => ['all' => true],
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
]; ];

View File

@@ -0,0 +1,4 @@
# See https://symfony.com/doc/current/email/dev_environment.html
swiftmailer:
# send all emails to a specific address
#delivery_addresses: ['me@example.com']

View File

@@ -0,0 +1,6 @@
# config/packages/framework.yaml
framework:
http_client:
default_options:
headers:
DOLAPIKEY: '%env(DOLIBARR_API_KEY)%'

View File

@@ -0,0 +1,2 @@
sentry:
dsn: '%env(SENTRY_DSN)%'

View File

@@ -22,7 +22,7 @@ app_home_selectservice:
#== Security ==================================================================================================== #== Security ====================================================================================================
app_login: app_login:
path: /login path: /login
defaults: { _controller: App\Controller\SecurityController:login } defaults: { _controller: App\Controller\SecurityController:login }
app_logincheck: app_logincheck:
path: /logincheck path: /logincheck
@@ -53,11 +53,11 @@ app_crop02:
oneup_uploader: oneup_uploader:
resource: . resource: .
type: uploader type: uploader
#== Cron ======================================================================================================== #== Cron ========================================================================================================
app_cron: app_cron:
path: /admin/cron path: /admin/cron
defaults: { _controller: App\Controller\CronController:list } defaults: { _controller: App\Controller\CronController:list }
app_cron_ajax_list: app_cron_ajax_list:
path: /admin/cron/ajax/list path: /admin/cron/ajax/list
@@ -65,16 +65,16 @@ app_cron_ajax_list:
app_cron_update: app_cron_update:
path: /admin/cron/update/{id} path: /admin/cron/update/{id}
defaults: { _controller: App\Controller\CronController:update } defaults: { _controller: App\Controller\CronController:update }
app_cron_exec: app_cron_exec:
path: /admin/cron/exec/{id} path: /admin/cron/exec/{id}
defaults: { _controller: App\Controller\CronController:exec } defaults: { _controller: App\Controller\CronController:exec }
app_cron_log: app_cron_log:
path: /admin/cron/log/{id} path: /admin/cron/log/{id}
controller: App\Controller\Cron:log controller: App\Controller\Cron:log
defaults: { id: "cron" } defaults: { id: "cron" }
#== User ======================================================================================================== #== User ========================================================================================================
app_user: app_user:
@@ -147,7 +147,7 @@ app_customer_update:
app_customer_delete: app_customer_delete:
path: /master/customer/delete/{id} path: /master/customer/delete/{id}
defaults: { _controller: App\Controller\CustomerController:delete } defaults: { _controller: App\Controller\CustomerController:delete }
#== Job ===================================================================================================== #== Job =====================================================================================================
app_job: app_job:
path: /admin/job path: /admin/job
@@ -186,7 +186,7 @@ app_project_update:
app_project_delete: app_project_delete:
path: /master/project/delete/{id} path: /master/project/delete/{id}
defaults: { _controller: App\Controller\ProjectController:delete } defaults: { _controller: App\Controller\ProjectController:delete }
app_project_activeproject: app_project_activeproject:
path: /master/project/activeproject path: /master/project/activeproject
defaults: { _controller: App\Controller\ProjectController:activeproject } defaults: { _controller: App\Controller\ProjectController:activeproject }
@@ -207,7 +207,7 @@ app_project_users_del:
app_project_users: app_project_users:
path: /master/project/users/{id} path: /master/project/users/{id}
defaults: { _controller: App\Controller\ProjectController:users } defaults: { _controller: App\Controller\ProjectController:users }
#== Offer ==================================================================================================== #== Offer ====================================================================================================
app_offer: app_offer:
path: /master/offer path: /master/offer
@@ -224,7 +224,7 @@ app_offer_update:
app_offer_delete: app_offer_delete:
path: /master/offer/delete/{id} path: /master/offer/delete/{id}
defaults: { _controller: App\Controller\OfferController:delete } defaults: { _controller: App\Controller\OfferController:delete }
app_offer_activeproject: app_offer_activeproject:
path: /master/offer/activeproject path: /master/offer/activeproject
defaults: { _controller: App\Controller\OfferController:activeproject } defaults: { _controller: App\Controller\OfferController:activeproject }
@@ -233,6 +233,14 @@ app_offer_activeoffer:
path: /master/offer/activeoffer path: /master/offer/activeoffer
defaults: { _controller: App\Controller\OfferController:activeoffer } defaults: { _controller: App\Controller\OfferController:activeoffer }
app_offer_getorders:
path: /master/offer/getorders
defaults: { _controller: App\Controller\OfferController:getorders }
app_offer_convert:
path: /master/offer/convert/{type}/{id}
defaults: { _controller: App\Controller\OfferController:convert }
#== Task ==================================================================================================== #== Task ====================================================================================================
app_task: app_task:
path: /master/task path: /master/task
@@ -249,18 +257,22 @@ app_task_update:
app_task_delete: app_task_delete:
path: /master/task/delete/{id} path: /master/task/delete/{id}
defaults: { _controller: App\Controller\TaskController:delete } defaults: { _controller: App\Controller\TaskController:delete }
app_task_activeproject: app_task_activeproject:
path: /master/task/activeproject path: /master/task/activeproject
defaults: { _controller: App\Controller\TaskController:activeproject } defaults: { _controller: App\Controller\TaskController:activeproject }
app_task_activetask:
path: /master/task/activetask
defaults: { _controller: App\Controller\TaskController:activetask }
#== Event ==================================================================================================== #== Event ====================================================================================================
app_event: app_event:
path: /user/event path: /user/event
defaults: { _controller: App\Controller\EventController:list } defaults: { _controller: App\Controller\EventController:list }
app_event_load: app_event_load:
path: /user/event/load path: /user/event/load/{iduser}
defaults: { _controller: App\Controller\EventController:load } defaults: { _controller: App\Controller\EventController:load }
app_event_submit: app_event_submit:
@@ -391,13 +403,17 @@ app_timer_delete:
#== Customer ====================================================================================================== #== Customer ======================================================================================================
app_customer_home:
path: /customer
defaults: { _controller: App\Controller\HomeController:customer }
app_customer_report: app_customer_report:
path: /customer/report/{key} path: /customer/report/{key}
defaults: { _controller: App\Controller\ReportController:report, access: 'customer' } defaults: { _controller: App\Controller\ReportController:report, access: 'customer' }
app_customer_planning: app_customer_planning:
path: /customer/planning/{key} path: /customer/planning/{key}
defaults: { _controller: App\Controller\ReportController:planning, access: 'customer' } defaults: { _controller: App\Controller\ReportController:planning, access: 'customer' }
#== Export ====================================================================================================== #== Export ======================================================================================================
app_export_view: app_export_view:
@@ -406,7 +422,7 @@ app_export_view:
app_export_penalty_additional: app_export_penalty_additional:
path: /export/export_penalty_additional path: /export/export_penalty_additional
defaults: { _controller: App\Controller\ExportController:export_penalty_additional } defaults: { _controller: App\Controller\ExportController:export_penalty_additional }
export_project_weekly: export_project_weekly:
path: /export/export_project_weekly path: /export/export_project_weekly
@@ -414,10 +430,23 @@ export_project_weekly:
export_full_worked_days: export_full_worked_days:
path: /export/export_full_worked_days path: /export/export_full_worked_days
defaults: { _controller: App\Controller\ExportController:export_full_worked_days } defaults: { _controller: App\Controller\ExportController:export_full_worked_days }
export_offers:
path: /export/export_offers
defaults: { _controller: App\Controller\ExportController:export_offers }
export_month_charged_days:
path: /export/export_month_charged_days
defaults: { _controller: App\Controller\ExportController:export_month_charged_days }
#== Export ======================================================================================================
app_stat_view:
path: /user/stat
defaults: { _controller: App\Controller\StatController:view }
#== API =========================================================================================================== #== API ===========================================================================================================
app_api: app_api:
path: /api/{key} path: /api/{key}
defaults: { _controller: App\Controller\ApiController:api } defaults: { _controller: App\Controller\ApiController:api }

View File

@@ -21,6 +21,9 @@ parameters:
casFirstname: '%env(resolve:CAS_FIRSTNAME)%' casFirstname: '%env(resolve:CAS_FIRSTNAME)%'
officeHourStart: '%env(resolve:OFFICE_HOUR_START)%' officeHourStart: '%env(resolve:OFFICE_HOUR_START)%'
officeHourEnd: '%env(resolve:OFFICE_HOUR_END)%' officeHourEnd: '%env(resolve:OFFICE_HOUR_END)%'
doliActive: '%env(resolve:DOLIBARR_ACTIVE)%'
doliApiKey: '%env(resolve:DOLIBARR_API_KEY)%'
doliUri: '%env(resolve:DOLIBARR_URI)%'
services: services:
# default configuration for services in *this* file # default configuration for services in *this* file

View File

@@ -36,6 +36,8 @@ __webpack_require__(/*! @fullcalendar/daygrid/main.css */ "./node_modules/@fullc
var calendar; var calendar;
var e = document.getElementById("sideuser");
var iduser = e.value;
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('fullcalendar'); var calendarEl = document.getElementById('fullcalendar');
calendar = new _fullcalendar_core__WEBPACK_IMPORTED_MODULE_3__["Calendar"](calendarEl, { calendar = new _fullcalendar_core__WEBPACK_IMPORTED_MODULE_3__["Calendar"](calendarEl, {
@@ -43,8 +45,8 @@ document.addEventListener('DOMContentLoaded', function () {
locale: _fullcalendar_core_locales_fr_js__WEBPACK_IMPORTED_MODULE_4___default.a, locale: _fullcalendar_core_locales_fr_js__WEBPACK_IMPORTED_MODULE_4___default.a,
weekNumbers: true, weekNumbers: true,
selectable: true, selectable: true,
events: 'event/load', events: 'event/load/'+iduser,
eventLimit: 4, eventLimit: 8,
eventDrop: function eventDrop(info) { eventDrop: function eventDrop(info) {
info.revert(); info.revert();
}, },
@@ -86,4 +88,4 @@ document.addEventListener('DOMContentLoaded', function () {
/***/ }) /***/ })
},[["./assets/js/fullcalendar.js","runtime","vendors~fullcalendar"]]]); },[["./assets/js/fullcalendar.js","runtime","vendors~fullcalendar"]]]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvZnVsbGNhbGVuZGFyLmpzIl0sIm5hbWVzIjpbInJlcXVpcmUiLCJjYWxlbmRhciIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNhbGVuZGFyRWwiLCJnZXRFbGVtZW50QnlJZCIsIkNhbGVuZGFyIiwicGx1Z2lucyIsImludGVyYWN0aW9uUGx1Z2luIiwiZGF5R3JpZFBsdWdpbiIsImxvY2FsZSIsImZyTG9jYWxlIiwid2Vla051bWJlcnMiLCJzZWxlY3RhYmxlIiwiZXZlbnRzIiwiZXZlbnRMaW1pdCIsImV2ZW50RHJvcCIsImluZm8iLCJyZXZlcnQiLCJldmVudFJlbmRlciIsInNlbGVjdCIsInNlbGVjdGlvbkluZm8iLCJldmVudFNlbGVjdCIsImV2ZW50Q2xpY2siLCJnbG9iYWwiLCJyZW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQUEsbUJBQU8sQ0FBQywrRUFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLHFGQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMscUZBQUQsQ0FBUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlDLFFBQUo7QUFDQUMsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixrQkFBMUIsRUFBOEMsWUFBVztBQUNyRCxNQUFJQyxVQUFVLEdBQUdGLFFBQVEsQ0FBQ0csY0FBVCxDQUF3QixjQUF4QixDQUFqQjtBQUNBSixVQUFRLEdBQUcsSUFBSUssMkRBQUosQ0FBYUYsVUFBYixFQUF5QjtBQUNoQ0csV0FBTyxFQUFFLENBQUVDLGlFQUFGLEVBQXFCQyw2REFBckIsQ0FEdUI7QUFFaENDLFVBQU0sRUFBRUMsdUVBRndCO0FBR2hDQyxlQUFXLEVBQUUsSUFIbUI7QUFJaENDLGNBQVUsRUFBRSxJQUpvQjtBQUtoQ0MsVUFBTSxFQUFFLFlBTHdCO0FBTWhDQyxjQUFVLEVBQUMsQ0FOcUI7QUFPaENDLGFBQVMsRUFBRSxtQkFBU0MsSUFBVCxFQUFlO0FBQ3RCQSxVQUFJLENBQUNDLE1BQUw7QUFDSCxLQVQrQjtBQVVoQ0MsZUFBVztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxNQUFFLFVBQVVGLElBQVYsRUFBZ0I7QUFDekJFLGlCQUFXLENBQUNGLElBQUQsQ0FBWDtBQUNILEtBRlUsQ0FWcUI7QUFhaENHLFVBQU0sRUFBRSxnQkFBU0MsYUFBVCxFQUF3QjtBQUM1QkMsaUJBQVcsQ0FBQ0QsYUFBRCxDQUFYO0FBQ0gsS0FmK0I7QUFnQmhDRSxjQUFVO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLE1BQUUsVUFBU04sSUFBVCxFQUFlO0FBQ3ZCTSxnQkFBVSxDQUFDTixJQUFELENBQVY7QUFDSCxLQUZTO0FBaEJzQixHQUF6QixDQUFYO0FBb0JBTyxRQUFNLENBQUN2QixRQUFQLEdBQWtCQSxRQUFsQjtBQUNBQSxVQUFRLENBQUN3QixNQUFUO0FBQ0gsQ0F4QkQsRSIsImZpbGUiOiJmdWxsY2FsZW5kYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGdWxsY2FsZW5kYXJcbnJlcXVpcmUoJ0BmdWxsY2FsZW5kYXIvY29yZS9tYWluLmNzcycpO1xucmVxdWlyZSgnQGZ1bGxjYWxlbmRhci9kYXlncmlkL21haW4uY3NzJyk7XG5yZXF1aXJlKCdAZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MnKTtcblxuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUnO1xuaW1wb3J0IGZyTG9jYWxlIGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9sb2NhbGVzL2ZyLmpzJztcbmltcG9ydCBpbnRlcmFjdGlvblBsdWdpbiBmcm9tICdAZnVsbGNhbGVuZGFyL2ludGVyYWN0aW9uJztcbmltcG9ydCBkYXlHcmlkUGx1Z2luIGZyb20gJ0BmdWxsY2FsZW5kYXIvZGF5Z3JpZCc7XG5cbnZhciBjYWxlbmRhcjtcbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHtcbiAgICB2YXIgY2FsZW5kYXJFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsY2FsZW5kYXInKTtcbiAgICBjYWxlbmRhciA9IG5ldyBDYWxlbmRhcihjYWxlbmRhckVsLCB7XG4gICAgICAgIHBsdWdpbnM6IFsgaW50ZXJhY3Rpb25QbHVnaW4sIGRheUdyaWRQbHVnaW4gXSxcbiAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgd2Vla051bWJlcnM6IHRydWUsXG4gICAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICAgIGV2ZW50czogJ2V2ZW50L2xvYWQnLFxuICAgICAgICBldmVudExpbWl0OjQsIFxuICAgICAgICBldmVudERyb3A6IGZ1bmN0aW9uKGluZm8pIHtcbiAgICAgICAgICAgIGluZm8ucmV2ZXJ0KCk7XG4gICAgICAgIH0sICAgICAgICBcbiAgICAgICAgZXZlbnRSZW5kZXI6IGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgICAgICBldmVudFJlbmRlcihpbmZvKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0OiBmdW5jdGlvbihzZWxlY3Rpb25JbmZvKSB7XG4gICAgICAgICAgICBldmVudFNlbGVjdChzZWxlY3Rpb25JbmZvKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXZlbnRDbGljazogZnVuY3Rpb24oaW5mbykge1xuICAgICAgICAgICAgZXZlbnRDbGljayhpbmZvKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGdsb2JhbC5jYWxlbmRhciA9IGNhbGVuZGFyO1xuICAgIGNhbGVuZGFyLnJlbmRlcigpO1xufSk7ICBcbiJdLCJzb3VyY2VSb290IjoiIn0= //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvZnVsbGNhbGVuZGFyLmpzIl0sIm5hbWVzIjpbInJlcXVpcmUiLCJjYWxlbmRhciIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNhbGVuZGFyRWwiLCJnZXRFbGVtZW50QnlJZCIsIkNhbGVuZGFyIiwicGx1Z2lucyIsImludGVyYWN0aW9uUGx1Z2luIiwiZGF5R3JpZFBsdWdpbiIsImxvY2FsZSIsImZyTG9jYWxlIiwid2Vla051bWJlcnMiLCJzZWxlY3RhYmxlIiwiZXZlbnRzIiwiZXZlbnRMaW1pdCIsImV2ZW50RHJvcCIsImluZm8iLCJyZXZlcnQiLCJldmVudFJlbmRlciIsInNlbGVjdCIsInNlbGVjdGlvbkluZm8iLCJldmVudFNlbGVjdCIsImV2ZW50Q2xpY2siLCJnbG9iYWwiLCJyZW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQUEsbUJBQU8sQ0FBQywrRUFBRCxDQUFQOztBQUNBQSxtQkFBTyxDQUFDLHFGQUFELENBQVA7O0FBQ0FBLG1CQUFPLENBQUMscUZBQUQsQ0FBUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlDLFFBQUo7QUFDQUMsUUFBUSxDQUFDQyxnQkFBVCxDQUEwQixrQkFBMUIsRUFBOEMsWUFBVztBQUNyRCxNQUFJQyxVQUFVLEdBQUdGLFFBQVEsQ0FBQ0csY0FBVCxDQUF3QixjQUF4QixDQUFqQjtBQUNBSixVQUFRLEdBQUcsSUFBSUssMkRBQUosQ0FBYUYsVUFBYixFQUF5QjtBQUNoQ0csV0FBTyxFQUFFLENBQUVDLGlFQUFGLEVBQXFCQyw2REFBckIsQ0FEdUI7QUFFaENDLFVBQU0sRUFBRUMsdUVBRndCO0FBR2hDQyxlQUFXLEVBQUUsSUFIbUI7QUFJaENDLGNBQVUsRUFBRSxJQUpvQjtBQUtoQ0MsVUFBTSxFQUFFLFlBTHdCO0FBTWhDQyxjQUFVLEVBQUMsQ0FOcUI7QUFPaENDLGFBQVMsRUFBRSxtQkFBU0MsSUFBVCxFQUFlO0FBQ3RCQSxVQUFJLENBQUNDLE1BQUw7QUFDSCxLQVQrQjtBQVVoQ0MsZUFBVztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxNQUFFLFVBQVVGLElBQVYsRUFBZ0I7QUFDekJFLGlCQUFXLENBQUNGLElBQUQsQ0FBWDtBQUNILEtBRlUsQ0FWcUI7QUFhaENHLFVBQU0sRUFBRSxnQkFBU0MsYUFBVCxFQUF3QjtBQUM1QkMsaUJBQVcsQ0FBQ0QsYUFBRCxDQUFYO0FBQ0gsS0FmK0I7QUFnQmhDRSxjQUFVO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLE1BQUUsVUFBU04sSUFBVCxFQUFlO0FBQ3ZCTSxnQkFBVSxDQUFDTixJQUFELENBQVY7QUFDSCxLQUZTO0FBaEJzQixHQUF6QixDQUFYO0FBb0JBTyxRQUFNLENBQUN2QixRQUFQLEdBQWtCQSxRQUFsQjtBQUNBQSxVQUFRLENBQUN3QixNQUFUO0FBQ0gsQ0F4QkQsRSIsImZpbGUiOiJmdWxsY2FsZW5kYXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGdWxsY2FsZW5kYXJcbnJlcXVpcmUoJ0BmdWxsY2FsZW5kYXIvY29yZS9tYWluLmNzcycpO1xucmVxdWlyZSgnQGZ1bGxjYWxlbmRhci9kYXlncmlkL21haW4uY3NzJyk7XG5yZXF1aXJlKCdAZnVsbGNhbGVuZGFyL2RheWdyaWQvbWFpbi5jc3MnKTtcblxuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUnO1xuaW1wb3J0IGZyTG9jYWxlIGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9sb2NhbGVzL2ZyLmpzJztcbmltcG9ydCBpbnRlcmFjdGlvblBsdWdpbiBmcm9tICdAZnVsbGNhbGVuZGFyL2ludGVyYWN0aW9uJztcbmltcG9ydCBkYXlHcmlkUGx1Z2luIGZyb20gJ0BmdWxsY2FsZW5kYXIvZGF5Z3JpZCc7XG5cbnZhciBjYWxlbmRhcjtcbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHtcbiAgICB2YXIgY2FsZW5kYXJFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmdWxsY2FsZW5kYXInKTtcbiAgICBjYWxlbmRhciA9IG5ldyBDYWxlbmRhcihjYWxlbmRhckVsLCB7XG4gICAgICAgIHBsdWdpbnM6IFsgaW50ZXJhY3Rpb25QbHVnaW4sIGRheUdyaWRQbHVnaW4gXSxcbiAgICAgICAgbG9jYWxlOiBmckxvY2FsZSxcbiAgICAgICAgd2Vla051bWJlcnM6IHRydWUsXG4gICAgICAgIHNlbGVjdGFibGU6IHRydWUsXG4gICAgICAgIGV2ZW50czogJ2V2ZW50L2xvYWQnLFxuICAgICAgICBldmVudExpbWl0OjQsIFxuICAgICAgICBldmVudERyb3A6IGZ1bmN0aW9uKGluZm8pIHtcbiAgICAgICAgICAgIGluZm8ucmV2ZXJ0KCk7XG4gICAgICAgIH0sICAgICAgICBcbiAgICAgICAgZXZlbnRSZW5kZXI6IGZ1bmN0aW9uIChpbmZvKSB7XG4gICAgICAgICAgICBldmVudFJlbmRlcihpbmZvKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2VsZWN0OiBmdW5jdGlvbihzZWxlY3Rpb25JbmZvKSB7XG4gICAgICAgICAgICBldmVudFNlbGVjdChzZWxlY3Rpb25JbmZvKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXZlbnRDbGljazogZnVuY3Rpb24oaW5mbykge1xuICAgICAgICAgICAgZXZlbnRDbGljayhpbmZvKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGdsb2JhbC5jYWxlbmRhciA9IGNhbGVuZGFyO1xuICAgIGNhbGVuZGFyLnJlbmRlcigpO1xufSk7ICBcbiJdLCJzb3VyY2VSb290IjoiIn0=

View File

@@ -32,6 +32,16 @@ APP_NAME=Schedule
APP_ENV=PROD APP_ENV=PROD
APP_CRON=false APP_CRON=false
# Office hours
OFFICE_HOUR_START=09:00
OFFICE_HOUR_END=17:30
# MAIL sendmail / smtp
MAILER_METHOD=sendmail
MAILER_URL=
MAILER_NOREPLY=noreply@noreply.fr
MAILER_DEFAULT_NOTIF=
# BDD # BDD
DATABASE_NAME= DATABASE_NAME=
DATABASE_USER= DATABASE_USER=
@@ -46,3 +56,11 @@ CAS_USERNAME=username
CAS_EMAIL=email CAS_EMAIL=email
CAS_LASTNAME=lastname CAS_LASTNAME=lastname
CAS_FIRSTNAME=firstname CAS_FIRSTNAME=firstname
## Sentry DSN
SENTRY_DSN=
# Dolibar
DOLIBARR_ACTIVE=false
DOLIBARR_API_KEY=
DOLIBARR_URI=

View File

@@ -15,7 +15,7 @@ function purge($table) {
writeligne("$table"); writeligne("$table");
$q="DELETE FROM $table"; $q="DELETE FROM $table";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute(); $query->execute();
} }
// Test de la connexion à la base // Test de la connexion à la base
@@ -48,6 +48,8 @@ writeligne("MIGRATION");
writeligne(""); writeligne("");
writeligne("Purge des Tables Scheudle"); writeligne("Purge des Tables Scheudle");
Purge("userproject");
Purge("timer");
Purge("event"); Purge("event");
Purge("penalty"); Purge("penalty");
Purge("task"); Purge("task");
@@ -66,46 +68,46 @@ writeligne("");
writeligne("== Récupération Customer"); writeligne("== Récupération Customer");
$q="SELECT * FROM schedule_customer"; $q="SELECT * FROM schedule_customer";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["customer_name"]); writeligne($row["customer_name"]);
$q="INSERT IGNORE INTO customer (id, name, keypass) VALUES (?,?,?)"; $q="INSERT IGNORE INTO customer (id, name, keypass) VALUES (?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["customer_id"],$row["customer_name"],$row["customer_key"]]); $query->execute([$row["customer_id"],$row["customer_name"],$row["customer_key"]]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération Nature"); writeligne("== Récupération Nature");
$q="SELECT * FROM schedule_nature"; $q="SELECT * FROM schedule_nature";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["nature_name"]); writeligne($row["nature_name"]);
$q="INSERT IGNORE INTO nature (id, name, isvacation) VALUES (?,?,?)"; $q="INSERT IGNORE INTO nature (id, name, isvacation) VALUES (?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["nature_id"],$row["nature_name"],false]); $query->execute([$row["nature_id"],$row["nature_name"],false]);
} }
writeligne("Congés"); writeligne("Congés");
$q="INSERT IGNORE INTO nature (id, name, isvacation) VALUES (?,?,?)"; $q="INSERT IGNORE INTO nature (id, name, isvacation) VALUES (?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([-200,"Congés",true]); $query->execute([-200,"Congés",true]);
writeligne("Temps Partiel"); writeligne("Temps Partiel");
$q="INSERT IGNORE INTO nature (id, name, isvacation) VALUES (?,?,?)"; $q="INSERT IGNORE INTO nature (id, name, isvacation) VALUES (?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([-190,"Temps Partiel",true]); $query->execute([-190,"Temps Partiel",true]);
writeligne(""); writeligne("");
writeligne("== Récupération Service"); writeligne("== Récupération Service");
$q="SELECT * FROM schedule_service"; $q="SELECT * FROM schedule_service";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["service_name"]); writeligne($row["service_name"]);
$q="INSERT IGNORE INTO service (id, name) VALUES (?,?)"; $q="INSERT IGNORE INTO service (id, name) VALUES (?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["service_id"],$row["service_name"]]); $query->execute([$row["service_id"],$row["service_name"]]);
} }
@@ -113,16 +115,16 @@ writeligne("");
writeligne("== Récupération User"); writeligne("== Récupération User");
$q="SELECT * FROM schedule_user WHERE user_login!='system'"; $q="SELECT * FROM schedule_user WHERE user_login!='system'";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["user_login"]); writeligne($row["user_login"]);
$q="INSERT IGNORE INTO user (id, username, firstname, lastname, email, service_id, apikey, password) VALUES (?,?,?,?,?,?,?,?)"; $q="INSERT IGNORE INTO user (id, username, firstname, lastname, email, service_id, apikey, password) VALUES (?,?,?,?,?,?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["user_id"],$row["user_login"],$row["user_firstname"],$row["user_lastname"],$row["user_email"],$row["user_service"],$row["user_login"],"nopassword" ]); $query->execute([$row["user_id"],$row["user_login"],$row["user_firstname"],$row["user_lastname"],$row["user_email"],$row["user_service"],$row["user_login"],"nopassword" ]);
$output = shell_exec('/var/www/html/schedule/bin/console app:setPassword '.$row["user_login"].' '.$row["user_login"]); $output = shell_exec('/var/www/html/schedule/bin/console app:setPassword '.$row["user_login"].' '.$row["user_login"]);
if($row["user_login"]=="afornerot") $roles='ROLE_ADMIN,ROLE_USER'; if($row["user_login"]=="afornerot") $roles='ROLE_ADMIN,ROLE_USER';
else { else {
switch($row["user_profil"]) { switch($row["user_profil"]) {
@@ -131,7 +133,7 @@ while($row=$queryold->fetch()) {
case 50: $roles='ROLE_USER'; break; case 50: $roles='ROLE_USER'; break;
case 99: $roles='ROLE_VISITOR'; break; case 99: $roles='ROLE_VISITOR'; break;
default: $roles='ROLE_VISITOR'; break; default: $roles='ROLE_VISITOR'; break;
} }
} }
$output = shell_exec('/var/www/html/schedule/bin/console app:setRoles '.$row["user_login"].' '.$roles); $output = shell_exec('/var/www/html/schedule/bin/console app:setRoles '.$row["user_login"].' '.$roles);
} }
@@ -141,12 +143,12 @@ writeligne("");
writeligne("== Récupération Project"); writeligne("== Récupération Project");
$q="SELECT * FROM schedule_project"; $q="SELECT * FROM schedule_project";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["project_name"]); writeligne($row["project_name"]);
$q="INSERT IGNORE INTO project (id, name, active, service_id, customer_id ) VALUES (?,?,?,?,?)"; $q="INSERT IGNORE INTO project (id, name, active, service_id, customer_id ) VALUES (?,?,?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["project_id"],$row["project_name"],$row["project_actif"],$row["project_service"],$row["project_customer"] ]); $query->execute([$row["project_id"],$row["project_name"],$row["project_actif"],$row["project_service"],$row["project_customer"] ]);
} }
@@ -154,88 +156,99 @@ writeligne("");
writeligne("== Récupération Offer"); writeligne("== Récupération Offer");
$q="SELECT * FROM schedule_order"; $q="SELECT * FROM schedule_order";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["order_name"]); writeligne($row["order_name"]);
$q="INSERT IGNORE INTO offer (id, name, ref, quantity, pu, validate, active, project_id ) VALUES (?,?,?,?,?,?,?,?)"; $q="INSERT IGNORE INTO offer (id, name, ref, quantity, pu, validate, active, project_id ) VALUES (?,?,?,?,?,?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["order_id"],$row["order_name"],$row["order_ref"],$row["order_quantity"],$row["order_pu"],$row["order_validate"],$row["order_actif"],$row["order_project"] ]); $query->execute([$row["order_id"],$row["order_name"],$row["order_ref"],$row["order_quantity"],$row["order_pu"],$row["order_validate"],$row["order_actif"],$row["order_project"] ]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération Task"); writeligne("== Récupération Task");
$q="SELECT * FROM schedule_task"; $q="SELECT * FROM schedule_task";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["task_name"]); writeligne($row["task_name"]);
$nature=$row["task_nature"]; $nature=$row["task_nature"];
if($row["task_id"]<=-70) $nature=-200; if($row["task_id"]<=-70) $nature=-200;
if($row["task_id"]==-85 || $row["task_id"]==-70) $nature=-190; if($row["task_id"]==-85 || $row["task_id"]==-70) $nature=-190;
$q="INSERT IGNORE INTO task (id, name, color, quantity, validate, project_id, nature_id ) VALUES (?,?,?,?,?,?,?)"; $q="INSERT IGNORE INTO task (id, name, color, quantity, validate, project_id, nature_id, active) VALUES (?,?,?,?,?,?,?,?)";
$quantity=($row["task_quantity"]==0?null:$row["task_quantity"]); $quantity=($row["task_quantity"]==0?null:$row["task_quantity"]);
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["task_id"],$row["task_name"],"#".$row["task_color"],$quantity,$row["task_validate"],$row["task_project"],$nature ]); $query->execute([$row["task_id"],$row["task_name"],"#".$row["task_color"],$quantity,$row["task_validate"],$row["task_project"],$nature, 1]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération Event"); writeligne("== Récupération Event");
$q="SELECT * FROM schedule_event"; $q="SELECT * FROM schedule_event, schedule_task WHERE event_task=task_id";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
// Event vacation ?
$isvacation=false;
if($row["task_id"]<=-70) $isvacation=true;
if($row["task_id"]==-85 || $row["task_id"]==-70) $isvacation=true;
// Validation
$validate=$row["event_validate"];
$validateholiday=false;
if($isvacation) $validateholiday=$row["event_validate"];
// Génération de l'event
writeligne($row["event_id"]); writeligne($row["event_id"]);
$q="INSERT IGNORE INTO event (id, description, start, end, allday, duration, validate, validateholiday, task_id, user_id ) VALUES (?,?,?,?,?,?,?,?,?,?)"; $q="INSERT IGNORE INTO event (id, description, start, end, allday, duration, validate, validateholiday, task_id, user_id ) VALUES (?,?,?,?,?,?,?,?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["event_id"],$row["event_description"],$row["event_start"],$row["event_end"],$row["event_allday"],$row["event_duration"],$row["event_validate"],$row["event_validate"],$row["event_task"],$row["event_user"] ]); $query->execute([$row["event_id"],$row["event_description"],$row["event_start"],$row["event_end"],$row["event_allday"],$row["event_duration"],$validate,$validateholiday,$row["event_task"],$row["event_user"] ]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération Penalty"); writeligne("== Récupération Penalty");
$q="SELECT * FROM schedule_penalty"; $q="SELECT * FROM schedule_penalty";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["penalty_id"]); writeligne($row["penalty_id"]);
$q="INSERT IGNORE INTO penalty (id, description, start, end, allday, duration, validate, task_id, user_id ) VALUES (?,?,?,?,?,?,?,?,?)"; $q="INSERT IGNORE INTO penalty (id, description, start, end, allday, duration, validate, task_id, user_id ) VALUES (?,?,?,?,?,?,?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["penalty_id"],$row["penalty_description"],$row["penalty_start"],$row["penalty_end"],$row["penalty_allday"],$row["penalty_duration"],$row["penalty_validate"],$row["penalty_task"],$row["penalty_user"] ]); $query->execute([$row["penalty_id"],$row["penalty_description"],$row["penalty_start"],$row["penalty_end"],$row["penalty_allday"],$row["penalty_duration"],$row["penalty_validate"],$row["penalty_task"],$row["penalty_user"] ]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération Breakday"); writeligne("== Récupération Breakday");
$q="SELECT * FROM schedule_breakday"; $q="SELECT * FROM schedule_breakday";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["breakday_id"]); writeligne($row["breakday_id"]);
$q="INSERT IGNORE INTO breakday (id, start, end ) VALUES (?,?,?)"; $q="INSERT IGNORE INTO breakday (id, start, end ) VALUES (?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["breakday_id"],$row["breakday_start"],$row["breakday_end"] ]); $query->execute([$row["breakday_id"],$row["breakday_start"],$row["breakday_end"] ]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération Job"); writeligne("== Récupération Job");
$q="SELECT * FROM schedule_job"; $q="SELECT * FROM schedule_job";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["job_id"]); writeligne($row["job_id"]);
$q="INSERT IGNORE INTO job (id, name, type ) VALUES (?,?,?)"; $q="INSERT IGNORE INTO job (id, name, type ) VALUES (?,?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["job_id"],$row["job_name"],$row["type"] ]); $query->execute([$row["job_id"],$row["job_name"],$row["type"] ]);
} }
writeligne(""); writeligne("");
writeligne("== Récupération UserJob"); writeligne("== Récupération UserJob");
$q="SELECT * FROM schedule_user_jobs WHERE project_id=-100"; $q="SELECT * FROM schedule_user_jobs WHERE project_id=-100";
$queryold=$bddold->prepare($q); $queryold=$bddold->prepare($q);
$queryold->execute(); $queryold->execute();
while($row=$queryold->fetch()) { while($row=$queryold->fetch()) {
writeligne($row["user_job_id"]); writeligne($row["user_job_id"]);
$q="INSERT IGNORE INTO userjob (user, job ) VALUES (?,?)"; $q="INSERT IGNORE INTO userjob (user, job ) VALUES (?,?)";
$query=$bddnew->prepare($q); $query=$bddnew->prepare($q);
$query->execute([$row["user_id"],$row["job_id"] ]); $query->execute([$row["user_id"],$row["job_id"] ]);
} }
echo "\n\n"; echo "\n\n";

View File

@@ -3,7 +3,7 @@
cd /var/www/html/schedule cd /var/www/html/schedule
# Déclaration d'un proxy # Déclaration d'un proxy
. proxy.sh . scripts/proxy.sh
# Mise en place du fichier d'environnement model # Mise en place du fichier d'environnement model
if [ ! -f /var/www/html/schedule/.env ]; then if [ ! -f /var/www/html/schedule/.env ]; then

View File

@@ -57,10 +57,6 @@ class AppInitCommand extends Command
$this->insertNature(-100,"Non Travaillé",false); $this->insertNature(-100,"Non Travaillé",false);
$this->insertNature(-90,"Non Facturable",false); $this->insertNature(-90,"Non Facturable",false);
$this->insertNature(-80,"Prestation",false); $this->insertNature(-80,"Prestation",false);
$this->insertNature(-70,"Intégration",false);
$this->insertNature(-60,"Formation",false);
$this->insertNature(-50,"Ticket",false);
$this->insertNature(-40,"Maintenance",false);
// Création du compte admin si non existant // Création du compte admin si non existant
$this->insertUser("admin","admin"); $this->insertUser("admin","admin");

View File

@@ -19,61 +19,79 @@ class EventController extends AbstractController
private $entity = "App:Event"; private $entity = "App:Event";
private $notificator; private $notificator;
public function __construct(\App\Service\notificationService $notificator) { public function __construct(\App\Service\notificationService $notificator) {
$this->notificator = $notificator; $this->notificator = $notificator;
} }
public function list(Request $request) public function list(Request $request)
{ {
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
$users = $em->getRepository("App:User")->findAll(); $users = $em->getRepository("App:User")->findAll();
$tasks = $em->getRepository("App:Task")->findAll(); $tasks = $em->getRepository("App:Task")->findAll();
$projects= $em->getRepository("App:Project")->findBy(["active"=>true]);
return $this->render($this->render.'list.html.twig',[ return $this->render($this->render.'list.html.twig',[
"useheader" => true, "useheader" => true,
"usesidebar" => true, "usesidebar" => true,
"users" => $users, "users" => $users,
"tasks" => $tasks "projects" => $projects
]); ]);
} }
public function load(Request $request) public function load($iduser, Request $request)
{ {
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
$tbevents=[]; $tbevents=[];
$start = $request->query->get('start');
$end = $request->query->get('end');
//$iduser=$this->get("session")->get("iduser");
// Evenements // Evenements
$iduser=$this->get("session")->get("iduser"); if($iduser=="all") {
$user=$em->getRepository("App:User")->find($iduser);
if($iduser=="all")
$events=$em->getRepository("App:Event")->findAll(); $events=$em->getRepository("App:Event")->findAll();
else { $events = $em
$users= []; ->createQueryBuilder('event')
$fictivuser = $em->getRepository("App:User")->findOneBy([ ->select('event')
'service' => $user->getService(), ->from('App:Event','event')
'fictive' => true, ->Where('event.start>=:start AND event.end <:end')
]); ->setParameter('start',$start)
array_push($users,$fictivuser); ->setParameter('end',$end)
$selectedusers = $this->get("session")->get("selectedusers"); ->getQuery()->getResult();
if (isset($selectedusers) && sizeof($selectedusers)>1){ }
foreach($selectedusers as $user) { else {
array_push($users,$em->getRepository("App:User")->find($user)); $user=$em->getRepository("App:User")->find($iduser);
} $events=$em->getRepository("App:Event")->findBy(["user"=>$user]);
$events=$em->getRepository("App:Event")->findBy(["user"=>$users]); $events = $em
}else{ ->createQueryBuilder('event')
array_push($users,$em->getRepository("App:User")->find($iduser)); ->select('event')
$events=$em->getRepository("App:Event")->findBy(["user"=>$users]); ->from('App:Event','event')
} ->Where('event.user=:user AND event.start>=:start AND event.end <:end')
->setParameter('user',$user->getId())
->setParameter('start',$start)
->setParameter('end',$end)
->getQuery()->getResult();
} }
foreach($events as $event) { foreach($events as $event) {
//Filtre par service
if($this->get('session')->get('idservice')!="all") {
$idservice=$event->getUser()->getService()->getId();
if ($idservice!=$this->get('session')->get('idservice')){
continue;
}
}
// Filtre par project
if($this->get('session')->get('idproject')!="all") {
$idproject=$event->getTask()->getProject()->getId();
if($idproject!=$this->get('session')->get('idproject'))
continue;
}
$tmp=$this->formatEvent($event); $tmp=$this->formatEvent($event);
array_push($tbevents,$tmp); array_push($tbevents,$tmp);
} }
// Astreintes // Astreintes
$iduser=$this->get("session")->get("iduser");
if($iduser=="all") if($iduser=="all")
$penaltys=$em->getRepository("App:Penalty")->findAll(); $penaltys=$em->getRepository("App:Penalty")->findAll();
else { else {
@@ -81,11 +99,9 @@ class EventController extends AbstractController
$user=$em->getRepository("App:User")->find($iduser); $user=$em->getRepository("App:User")->find($iduser);
$penaltys=$em->getRepository("App:Penalty")->findBy(["user"=>$user]); $penaltys=$em->getRepository("App:Penalty")->findBy(["user"=>$user]);
} }
foreach($penaltys as $penalty) { foreach($penaltys as $penalty) {
$tmp=$this->formatEvent($penalty); $tmp=$this->formatEvent($penalty);
array_push($tbevents,$tmp); array_push($tbevents,$tmp);
} }
// Breakday // Breakday
@@ -96,7 +112,6 @@ class EventController extends AbstractController
} }
// Retour // Retour
return new Response(json_encode($tbevents)); return new Response(json_encode($tbevents));
} }
@@ -129,7 +144,7 @@ class EventController extends AbstractController
$output=["return"=>"KO","error"=>"Tâche inconnu"]; $output=["return"=>"KO","error"=>"Tâche inconnu"];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
// Convertir les dates string en date // Convertir les dates string en date
$datestart=new \DateTime($start); $datestart=new \DateTime($start);
$dateend =new \DateTime($end); $dateend =new \DateTime($end);
@@ -276,9 +291,9 @@ class EventController extends AbstractController
$output=$this->formatEvent($event); $output=$this->formatEvent($event);
} }
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
public function update(Request $request) public function update(Request $request)
{ {
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
@@ -306,8 +321,8 @@ class EventController extends AbstractController
$output=["return"=>"KO","error"=>"Tâche inconnue"]; $output=["return"=>"KO","error"=>"Tâche inconnue"];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
// Astreinte // Astreinte
if($fgastreinte) { if($fgastreinte) {
// Recherche de l'event // Recherche de l'event
$penalty = $em->getRepository("App:Penalty")->find($idevent); $penalty = $em->getRepository("App:Penalty")->find($idevent);
@@ -403,10 +418,10 @@ class EventController extends AbstractController
$output=["return"=>"KO","error"=>"Cet intervant a déjà une tache à cette date","start"=>$datestart,"end"=>$dateend,"events"=>$tbevent]; $output=["return"=>"KO","error"=>"Cet intervant a déjà une tache à cette date","start"=>$datestart,"end"=>$dateend,"events"=>$tbevent];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
} }
// Modification de l'évenement // Modification de l'évenement
$event->setStart($datestart); $event->setStart($datestart);
$event->setEnd($dateend); $event->setEnd($dateend);
@@ -416,14 +431,14 @@ class EventController extends AbstractController
$event->setExternalTrip($externaltrip); $event->setExternalTrip($externaltrip);
$event->setUser($user); $event->setUser($user);
$event->setTask($task); $event->setTask($task);
$em->persist($event); $em->persist($event);
$em->flush(); $em->flush();
$output=$this->formatEvent($event); $output=$this->formatEvent($event);
} }
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
public function delete(Request $request) public function delete(Request $request)
@@ -434,7 +449,7 @@ class EventController extends AbstractController
$idevent = str_replace("A","",$request->request->get('idevent')); $idevent = str_replace("A","",$request->request->get('idevent'));
$fgastreinte = ($request->request->get('fgastreinte')=="true"); $fgastreinte = ($request->request->get('fgastreinte')=="true");
// Astreinte // Astreinte
if($fgastreinte) { if($fgastreinte) {
// Recherche de l'event // Recherche de l'event
$penalty = $em->getRepository("App:Penalty")->find($idevent); $penalty = $em->getRepository("App:Penalty")->find($idevent);
@@ -473,19 +488,19 @@ class EventController extends AbstractController
} }
$output=[]; $output=[];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
public function formatEvent($event) { public function formatEvent($event) {
$editable=(!($event->getValidate())&&!($event->getValidateholiday())); $editable=(!($event->getValidate())&&!($event->getValidateholiday()));
// Si l'utilisateur en cours est différent de celui de l'event = seul MASTER - ADMIN peuvent modifier // Si l'utilisateur en cours est différent de celui de l'event = seul MASTER - ADMIN peuvent modifier
if($event->getUser()!=$this->getUser()) { if($event->getUser()!=$this->getUser()) {
if(!$this->isGranted('ROLE_ADMIN')&&!$this->isGranted('ROLE_MASTER')) if(!$this->isGranted('ROLE_ADMIN')&&!$this->isGranted('ROLE_MASTER'))
$editable=false; $editable=false;
} }
$tmp= [ $tmp= [
"id"=> ($event instanceof Penalty?"A":"").$event->getId(), "id"=> ($event instanceof Penalty?"A":"").$event->getId(),
"title" => ($event instanceof Penalty?"ASTREINTE = ":"").$event->getTask()->getDisplayname(), "title" => ($event instanceof Penalty?"ASTREINTE = ":"").$event->getTask()->getDisplayname(),
@@ -498,7 +513,6 @@ class EventController extends AbstractController
"holiday" => $event->getTask()->getNature()->getIsvacation(), "holiday" => $event->getTask()->getNature()->getIsvacation(),
"externaltrip" => ($event instanceof Penalty?false:$event->getExternalTrip()), "externaltrip" => ($event instanceof Penalty?false:$event->getExternalTrip()),
"editable" => $editable, "editable" => $editable,
"fictivuser" => $event->getUser()->getFictive(),
"durationEditable" => false, "durationEditable" => false,
"extendedProps" => [ "extendedProps" => [
"fulldescription" => ($event instanceof Penalty?"ASTREINTE\n":"").strtoupper($event->getTask()->getDisplayname())."\n\n".$event->getDescription(), "fulldescription" => ($event instanceof Penalty?"ASTREINTE\n":"").strtoupper($event->getTask()->getDisplayname())."\n\n".$event->getDescription(),
@@ -507,7 +521,7 @@ class EventController extends AbstractController
"username" => $event->getUser()->getUsername(), "username" => $event->getUser()->getUsername(),
"taskid" => $event->getTask()->getId(), "taskid" => $event->getTask()->getId(),
"avatar" => "/".$this->getParameter("appAlias")."/uploads/avatar/".$event->getUser()->getAvatar(), "avatar" => "/".$this->getParameter("appAlias")."/uploads/avatar/".$event->getUser()->getAvatar(),
"estimate" => $event->getTask()->getDuration($event->getEnd())." / ".$event->getTask()->getQuantity(), "estimate" => !$event->getTask()->getNature()->getIsvacation() ? $event->getTask()->getDuration($event->getEnd())." / ".$event->getTask()->getQuantity(): "",
"locked" => $event->getValidate()||$event->getValidateholiday(), "locked" => $event->getValidate()||$event->getValidateholiday(),
"editable" => $editable, "editable" => $editable,
"astreinte" => ($event instanceof Penalty) "astreinte" => ($event instanceof Penalty)
@@ -518,7 +532,7 @@ class EventController extends AbstractController
public function formatBreakday($event) { public function formatBreakday($event) {
$editable=false; $editable=false;
$tmp= [ $tmp= [
"id"=> "B".$event->getId(), "id"=> "B".$event->getId(),
"title" => "Jour Férié", "title" => "Jour Férié",
@@ -563,5 +577,5 @@ class EventController extends AbstractController
$request->getSession()->getFlashBag()->add("error", $error->getMessage()); $request->getSession()->getFlashBag()->add("error", $error->getMessage());
} }
} }
} }
} }

View File

@@ -254,9 +254,9 @@ class ExportController extends AbstractController
continue; continue;
} }
// Ne prendre que les projets actif/inactif // // Ne prendre que les projets actif/inactif
if($this->get('session')->get('activeproject')!=$project->getActive()) // if($this->get('session')->get('activeproject')!=$project->getActive())
continue; // continue;
$tbproject= []; $tbproject= [];
$tbproject["projectname"] = $project->getDisplayname(); $tbproject["projectname"] = $project->getDisplayname();
@@ -290,56 +290,58 @@ class ExportController extends AbstractController
->getQuery()->getResult(); ->getQuery()->getResult();
// foreach($eventsbyweek as $event) { // foreach($eventsbyweek as $event) {
// if(!isset($tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")])){ // if(!isset($tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")])){
// $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [ // $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")] = [
// "weeknumber" => $event->getStart()->format("W"), // "weeknumber" => $event->getStart()->format("o-\SW"),
// "cumul" => 0, // "cumul" => 0,
// ]; // ];
// } // }
// $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"]+$event->getDuration(); // $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["cumul"] = $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["cumul"]+$event->getDuration();
// } // }
// foreach($eventsbyweek as $event) { // foreach($eventsbyweek as $event) {
// if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"])){ // if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["users"])){
// $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [ // $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")] = [
// "weeknumber" => $event->getStart()->format("W"), // "weeknumber" => $event->getStart()->format("o-\SW"),
// "users" => [], // "users" => [],
// ]; // ];
// } // }
// if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()])){ // if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["users"][$event->getUser()->getId()])){
// $tbuser= [ // $tbuser= [
// "id"=>$event->getUser()->getId(), // "id"=>$event->getUser()->getId(),
// "displayname"=>$event->getUser()->getDisplayname(), // "displayname"=>$event->getUser()->getDisplayname(),
// "cumul"=>0 // "cumul"=>0
// ]; // ];
// $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()] = $tbuser; // $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["users"][$event->getUser()->getId()] = $tbuser;
// } // }
// $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration(); // $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration();
// } // }
foreach($eventsbyweek as $event) { foreach($eventsbyweek as $event) {
if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"])){ if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"])){
$tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [ $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")] = [
"weeknumber" => $event->getStart()->format("W"), "isoweek" => $event->getStart()->format("\SW"),
"isoyear" => $event->getStart()->format("o"),
"tasks" => [], "tasks" => [],
]; ];
} }
if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()])){ if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"][$event->getTask()->getId()])){
$tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()] = [ $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"][$event->getTask()->getId()] = [
"taskname" => $event->getTask()->getName(), "taskname" => $event->getTask()->getName(),
"nature" => $event->getTask()->getNature()->getName(),
"users" => [], "users" => [],
]; ];
} }
if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()])){ if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()])){
$tbuser= [ $tbuser= [
"id"=>$event->getUser()->getId(), "id"=>$event->getUser()->getId(),
"displayname"=>$event->getUser()->getDisplayname(), "displayname"=>$event->getUser()->getDisplayname(),
"cumul"=>0 "cumul"=>0
]; ];
$tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()] = $tbuser; $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()] = $tbuser;
} }
$tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration(); $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("o-\SW")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration();
} }
// Somme astreintes validé par semaine // Somme astreintes validé par semaine
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
@@ -369,55 +371,57 @@ class ExportController extends AbstractController
->orderBy('penalty.start') ->orderBy('penalty.start')
->getQuery()->getResult(); ->getQuery()->getResult();
// foreach($penaltybyweek as $penalty) { // foreach($penaltybyweek as $penalty) {
// if(!isset($tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")])){ // if(!isset($tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")])){
// $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")] = [ // $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")] = [
// "weeknumber" => $penalty->getStart()->format("W"), // "weeknumber" => $penalty->getStart()->format("o-\SW"),
// "cumul" => 0, // "cumul" => 0,
// ]; // ];
// } // }
// $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["cumul"]+$penalty->getDuration(); // $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["cumul"] = $tbproject["weeks"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["cumul"]+$penalty->getDuration();
// } // }
// foreach($penaltybyweek as $penalty) { // foreach($penaltybyweek as $penalty) {
// if(!isset($tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"])){ // if(!isset($tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["users"])){
// $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")] = [ // $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")] = [
// "weeknumber" => $penalty->getStart()->format("W"), // "weeknumber" => $penalty->getStart()->format("o-\SW"),
// "users" => [], // "users" => [],
// ]; // ];
// } // }
// if(!isset($tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()])){ // if(!isset($tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["users"][$penalty->getUser()->getId()])){
// $tbuser= [ // $tbuser= [
// "id"=>$penalty->getUser()->getId(), // "id"=>$penalty->getUser()->getId(),
// "displayname"=>$penalty->getUser()->getDisplayname(), // "displayname"=>$penalty->getUser()->getDisplayname(),
// "cumul"=>0 // "cumul"=>0
// ]; // ];
// $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()] = $tbuser; // $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["users"][$penalty->getUser()->getId()] = $tbuser;
// } // }
// $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()]["cumul"]+$penalty->getDuration(); // $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["users"][$penalty->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["users"][$penalty->getUser()->getId()]["cumul"]+$penalty->getDuration();
// } // }
foreach($penaltybyweek as $penalty) { foreach($penaltybyweek as $penalty) {
if(!isset($tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"])){ if(!isset($tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"])){
$tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")] = [ $tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")] = [
"weeknumber" => $penalty->getStart()->format("W"), "isoweek" => $event->getStart()->format("\SW"),
"isoyear" => $event->getStart()->format("o"),
"tasks" => [], "tasks" => [],
]; ];
} }
if(!isset($tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"][$penalty->getTask()->getId()])){ if(!isset($tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"][$penalty->getTask()->getId()])){
$tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"][$penalty->getTask()->getId()] = [ $tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"][$penalty->getTask()->getId()] = [
"taskname" => $penalty->getTask()->getName(), "taskname" => $penalty->getTask()->getName(),
"nature" => $event->getTask()->getNature()->getName(),
"users" => [], "users" => [],
]; ];
} }
if(!isset($tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()])){ if(!isset($tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()])){
$tbuser= [ $tbuser= [
"id"=>$penalty->getUser()->getId(), "id"=>$penalty->getUser()->getId(),
"displayname"=>$penalty->getUser()->getDisplayname(), "displayname"=>$penalty->getUser()->getDisplayname(),
"cumul"=>0 "cumul"=>0
]; ];
$tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()] = $tbuser; $tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()] = $tbuser;
} }
$tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()]["cumul"] = $tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()]["cumul"]+$penalty->getDuration(); $tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()]["cumul"] = $tbproject["weeks_by_task_by_user"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("o-\SW")]["tasks"][$penalty->getTask()->getId()]["users"][$penalty->getUser()->getId()]["cumul"]+$penalty->getDuration();
} }
$tbprojects[$project->getId()]=$tbproject; $tbprojects[$project->getId()]=$tbproject;
@@ -430,6 +434,97 @@ class ExportController extends AbstractController
return $response; return $response;
} }
public function export_offers(Request $request,$access=null): Response {
$em = $this->getDoctrine()->getManager();
$projects=$em->getRepository("App:Project")->findAll();
//Construction du tableau des projets
$tbprojects=[];
foreach($projects as $project) {
// Filtre par Customer
if($access=="customer") {
if($project->getCustomer()->getKeypass()!=$key)
continue;
}
// Filtre par Service
if($this->get('session')->get('idservice')!="all") {
if($project->getService()->getId()!=$this->get('session')->get('idservice'))
continue;
}
// Filtre par project
if($this->get('session')->get('idproject')!="all") {
if($project->getId()!=$this->get('session')->get('idproject'))
continue;
}
$tbproject["name"] = $project->getname();
$tbproject["customer"] = $project->getCustomer()->getName();
$tbproject["offers"] = $project->getOffers();
$tbprojects[$project->getId()]=$tbproject;
}
$csv = $this->renderView('Export/export_offers.csv.twig', ["projects" => $tbprojects]);
$response = new Response($csv);
$response->headers->set('Content-Type', 'text/csv; charset=utf-8');
$response->headers->set('Content-Disposition', 'attachment; filename="export_offers.csv"');
return $response;
}
public function export_month_charged_days(Request $request,$access=null): Response {
$em = $this->getDoctrine()->getManager();
$nbmonth=$this->get("session")->get("nbmonth");
$tbevents=[];
// On formate le tableau des event
$start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->setTime(0,0,0);
$end = new \Datetime('first day of this month');
$end->add(new \DateInterval('P1M'));
$end->setTime(23,59,0);
$events = $em
->createQueryBuilder('event')
->select('event')
->from('App:Event','event')
->Where('event.start>=:start AND event.end <:end')
->setParameter('start',$start)
->setParameter('end',$end)
->getQuery()->getResult();
foreach($events as $event) {
if (!isset($tbevents[$event->getStart()->format("m")])) {
$tbevents[$event->getStart()->format("m")]["f"]=0;
$tbevents[$event->getStart()->format("m")]["nf"]=0;
}
if ($event->getTask()->getNature()->getName() == "Prestation") {
if (!isset($tbevents[$event->getStart()->format("m")])){
$tbevents[$event->getStart()->format("m")]['f'] = $event->getDuration();
}else{
$tbevents[$event->getStart()->format("m")]['f'] += $event->getDuration();
}
}
if ($event->getTask()->getNature()->getName() != "Prestation") {
if (!isset($tbevents[$event->getStart()->format("m")])){
$tbevents[$event->getStart()->format("m")]['nf'] = $event->getDuration();
}else{
$tbevents[$event->getStart()->format("m")]['nf'] += $event->getDuration();
}
}
}
$csv = $this->renderView('Export/export_month_charged_days.csv.twig', ["events" => $tbevents]);
$response = new Response($csv);
$response->headers->set('Content-Type', 'text/csv; charset=utf-8');
$response->headers->set('Content-Disposition', 'attachment; filename="export_month_charged_days.csv"');
return $response;
}
} }

View File

@@ -25,23 +25,29 @@ class HomeController extends AbstractController
*/ */
} }
public function customer()
{
return $this->render('Home/customer.html.twig',[
"useheader" => true,
"usesidebar" => false,
]);
}
public function selectmonth(Request $request) public function selectmonth(Request $request)
{ {
$nbmonth = $request->request->get('nbmonth'); $nbmonth = $request->request->get('nbmonth');
$this->get('session')->set('nbmonth',$nbmonth); $this->get('session')->set('nbmonth',$nbmonth);
$output=["return"=>"OK"]; $output=["return"=>"OK"];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
public function selectuser(Request $request) public function selectuser(Request $request)
{ {
$iduser = $request->request->get('iduser'); $iduser = $request->request->get('iduser');
$selectedusers = $request->request->get('selectedusers');
$this->get('session')->set('iduser',$iduser); $this->get('session')->set('iduser',$iduser);
$this->get('session')->set('selectedusers',$selectedusers);
$output=["return"=>"OK"]; $output=["return"=>"OK"];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
public function selectproject(Request $request) public function selectproject(Request $request)
{ {
@@ -49,7 +55,7 @@ class HomeController extends AbstractController
$this->get('session')->set('idproject',$idproject); $this->get('session')->set('idproject',$idproject);
$output=["return"=>"OK"]; $output=["return"=>"OK"];
return new Response(json_encode($output)); return new Response(json_encode($output));
} }
public function selectservice(Request $request) public function selectservice(Request $request)
{ {

View File

@@ -17,21 +17,25 @@ class OfferController extends AbstractController
private $route = "app_offer"; private $route = "app_offer";
private $render = "Offer/"; private $render = "Offer/";
private $entity = "App:Offer"; private $entity = "App:Offer";
private $dolibarrapi;
private $knpSnappy; private $knpSnappy;
public function __construct(\Knp\Snappy\Pdf $knpSnappy) { $this->knpSnappy = $knpSnappy; } public function __construct(\Knp\Snappy\Pdf $knpSnappy, \App\Service\dolibarrApi $dolibarrapi) {
$this->knpSnappy = $knpSnappy;
$this->dolibarrapi = $dolibarrapi;
}
public function list(Request $request) public function list(Request $request)
{ {
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
$services=$em->getRepository("App:Service")->findAllOfferActive($this->get('session')->get('activeproject'),$this->get('session')->get('activeoffer'),$this->get('session')->get('idservice')); $services=$em->getRepository("App:Service")->findAllOfferActive($this->get('session')->get('activeproject'),$this->get('session')->get('activeoffer'),$this->get('session')->get('idservice'));
if($request->query->get('fgprint')) { if($request->query->get('fgprint')) {
$render = $this->renderView($this->render.'list.html.twig',[ $render = $this->renderView($this->render.'list.html.twig',[
"services" => $services, "services" => $services,
"useheader" => true, "useheader" => true,
"usesidebar" => true, "usesidebar" => true,
"fgprint" => true, "fgprint" => true,
]); ]);
return new PdfResponse( return new PdfResponse(
@@ -44,6 +48,7 @@ class OfferController extends AbstractController
"services" => $services, "services" => $services,
"useheader" => true, "useheader" => true,
"usesidebar" => true, "usesidebar" => true,
"doliactive" => $this->getParameter('doliActive'),
]); ]);
} }
} }
@@ -53,7 +58,6 @@ class OfferController extends AbstractController
// Initialisation de l'enregistrement // Initialisation de l'enregistrement
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
$data = new Entity(); $data = new Entity();
// Création du formulaire // Création du formulaire
$form = $this->createForm(Form::class,$data,array("mode"=>"submit")); $form = $this->createForm(Form::class,$data,array("mode"=>"submit"));
@@ -82,7 +86,52 @@ class OfferController extends AbstractController
'form' => $form->createView() 'form' => $form->createView()
]); ]);
} }
public function convert($type, $id, Request $request)
{
// Initialisation de l'enregistrement
$em = $this->getDoctrine()->getManager();
$data = new Entity();
$order = $this->dolibarrapi->getOrder($id, $type);
if (isset($order["ref_customer"]) && $order["ref_customer"]!= ""){
$data->setRef($order["ref_customer"]);
}
if (isset($order["ref"]) && $order["ref"]!= ""){
$data->setRef($order["ref"]);
}
$data->setName($order["customer_name"]);
$data->setQuantity($order["total_qty"]);
// Création du formulaire
$form = $this->createForm(Form::class,$data,array("mode"=>"submit"));
// Récupération des data du formulaire
$form->handleRequest($request);
// Sur erreur
$this->getErrorForm(null,$form,$request,$data,"submit");
// Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) {
$data = $form->getData();
$data->setIddolibarr($order["id"]);
$data->setTypedolibarr($type);
$em->persist($data);
$em->flush();
// Retour à la liste
return $this->redirectToRoute($this->route);
}
// Affichage du formulaire
return $this->render($this->render.'edit.html.twig', [
'useheader' => true,
'usesidebar' => true,
$this->data => $data,
'mode' => 'submit',
'form' => $form->createView()
]);
}
public function update($id,Request $request) public function update($id,Request $request)
{ {
// Initialisation de l'enregistrement // Initialisation de l'enregistrement
@@ -170,8 +219,66 @@ class OfferController extends AbstractController
$this->get('session')->set('activeoffer',!$this->get('session')->get('activeoffer')); $this->get('session')->set('activeoffer',!$this->get('session')->get('activeoffer'));
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
} }
public function getorders(){
$em = $this->getDoctrine()->getManager();
$orders = $this->dolibarrapi->getOrders();
$propals = $this->dolibarrapi->getPropals();
$tborders = [];
foreach($orders as $order){
if (intval($order["statut"]> 0)){
$exist1 = $em->getRepository($this->entity)->findOneBy(['ref' => $order["ref"]]);
$exist2 = $em->getRepository($this->entity)->findOneBy(['ref' => $order["ref_client"]]);
if (!$exist1 && !$exist2) {
$torder["id"]=$order["id"];
$torder["customer_name"]=$order["customer_name"];
$torder["ref"]=$order["ref"];
$torder["ref_client"]=$order["ref_client"];
$torder["statut"]=$order["statut"];
$torder["total_ht"]=$order["total_ht"];
$torder["total_tva"]=$order["total_tva"];
$torder["total_ttc"]=$order["total_ttc"];
$torder["type"] = "commande";
array_push($tborders, $torder);
}
}
}
foreach($propals as $propal){
if (intval($propal["statut"]> 1)){
$exist1 = false;
$exist2 = false;
if ($propal["ref"] != ""){
$exist1 = $em->getRepository($this->entity)->findOneBy(['ref' => $propal["ref"]]);
}
if ($propal["ref_client"] != ""){
$exist2 = $em->getRepository($this->entity)->findOneBy(['ref' => $propal["ref_client"]]);
}
if (!$exist1 && !$exist2) {
$tpropal["id"]=$propal["id"];
$tpropal["customer_name"]=$propal["customer_name"];
$tpropal["ref"]=$propal["ref"];
$tpropal["ref_client"]=$propal["ref_client"];
$tpropal["statut"]=$propal["statut"];
$tpropal["total_ht"]=$propal["total_ht"];
$tpropal["total_tva"]=$propal["total_tva"];
$tpropal["total_ttc"]=$propal["total_ttc"];
$tpropal["type"] = "propal";
array_push($tborders, $tpropal);
}
}
}
return $this->render($this->render.'getorders.html.twig', [
'useheader' => true,
'usesidebar' => true,
'orders' => $tborders
]);
}
protected function getErrorForm($id,$form,$request,$data,$mode) { protected function getErrorForm($id,$form,$request,$data,$mode) {
if ($form->get('submit')->isClicked()&&$mode=="delete") { if ($form->get('submit')->isClicked()&&$mode=="delete") {
} }

View File

@@ -183,12 +183,12 @@ class ProjectController extends AbstractController
->from("App:Project","project") ->from("App:Project","project")
->from("App:Customer", "customer") ->from("App:Customer", "customer")
->where("project.name LIKE :value") ->where("project.name LIKE :value")
->orWhere("customer.name LIKE :value")
->andWhere("project.customer=customer") ->andWhere("project.customer=customer")
->andWhere("customer.name LIKE :value")
->setParameter("value", "%".$q."%") ->setParameter("value", "%".$q."%")
->orderBy('customer.name'); ->orderBy('customer.name');
$datas=$qb->setFirstResult(0)->setMaxResults($page_limit)->getQuery()->getResult(); $datas=$qb->setFirstResult(0)->getQuery()->getResult();
foreach($datas as $data) { foreach($datas as $data) {
array_push($output,array("id"=>$data->getId(),"text"=>$data->getDisplayname())); array_push($output,array("id"=>$data->getId(),"text"=>$data->getDisplayname()));
} }

View File

@@ -121,7 +121,7 @@ class ReportController extends AbstractController
$st->add(new \DateInterval('P1D')); $st->add(new \DateInterval('P1D'));
} }
} }
// On formate le tableau des astreintes // On formate le tableau des astreintes
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
@@ -206,7 +206,7 @@ class ReportController extends AbstractController
); );
} }
else { else {
return $this->render('Report/synthese.html.twig',[ return $this->render('Report/synthese.html.twig',[
"useheader" => true, "useheader" => true,
"usesidebar" => ($this->getUser()), "usesidebar" => ($this->getUser()),
@@ -255,9 +255,11 @@ class ReportController extends AbstractController
// Ne pas prendre les projects sans event dans la durée // Ne pas prendre les projects sans event dans la durée
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->setTime(0,0,0);
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
$end->setTime(23,59,0);
$events = $em $events = $em
->createQueryBuilder('event') ->createQueryBuilder('event')
->select('event') ->select('event')
@@ -291,15 +293,18 @@ class ReportController extends AbstractController
// Formater les mois // Formater les mois
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->setTime(0,0,0);
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
$end->setTime(23,59,0);
while($start<$end) { while($start<$end) {
$tbproject["months"][$start->format("Ym")]=[ $tbproject["months"][$start->format("Ym")]=[
"monthid"=> $start->format("Ym"), "monthid"=> $start->format("Ym"),
"monthlabel"=>$start->format("m/Y"), "monthlabel"=>$start->format("m/Y"),
"days"=>[], "days"=>[],
"users"=>[] "users"=>[],
"tasks"=>[]
]; ];
// Init du tableau des utilisateurs pour le mois // Init du tableau des utilisateurs pour le mois
@@ -311,16 +316,42 @@ class ReportController extends AbstractController
]; ];
$tbproject["months"][$start->format("Ym")]["users"][$user->getId()]=$tbuser; $tbproject["months"][$start->format("Ym")]["users"][$user->getId()]=$tbuser;
} }
// Init des taches par mois
$endmonth=clone $start;
$endmonth->add(new \DateInterval('P1M'));
$events = $em
->createQueryBuilder('event')
->select('task.id, task.name, SUM(event.duration) as somme')
->from('App:Task','task')
->from('App:Event','event')
->Where('task.project=:project')
->andWhere('event.task=task')
->andWhere('event.start >=:start')
->andWhere('event.end <:end')
->setParameter('project',$project)
->setParameter('start',$start)
->setParameter('end',$endmonth)
->groupBy('task.id')
->getQuery()->getResult();
foreach($events as $event) {
$tbtask= [
"id"=>$event["id"],
"displayname"=>$event["name"],
"duration"=>$event["somme"]
];
$tbproject["months"][$start->format("Ym")]["tasks"][$event["id"]]=$tbtask;
}
$start->add(new \DateInterval('P1M')); $start->add(new \DateInterval('P1M'));
} }
// Formater les jours // Formater les jours
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->setTime(0,0,0);
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
$end->setTime(23,59,0);
while($start<$end) { while($start<$end) {
$tbday=[ $tbday=[
"date"=>clone $start, "date"=>clone $start,
@@ -349,9 +380,11 @@ class ReportController extends AbstractController
// Formater les utilisateurs // Formater les utilisateurs
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->setTime(0,0,0);
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
$end->setTime(23,59,0);
foreach($users as $user) { foreach($users as $user) {
$tbevents = $this->getEventuser($user,$start,$end,false); $tbevents = $this->getEventuser($user,$start,$end,false);
@@ -546,7 +579,6 @@ class ReportController extends AbstractController
} }
$tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]=$tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]+$event->getDuration(); $tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]=$tbproject["before"][$event->getStart()->format("Y")][$event->getStart()->format("Ym")]["duration"]+$event->getDuration();
} }
// Somme astreinte validé avant la date // Somme astreinte validé avant la date
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->sub(new \DateInterval('P'.$nbmonth.'M')); $end->sub(new \DateInterval('P'.$nbmonth.'M'));
@@ -579,13 +611,9 @@ class ReportController extends AbstractController
// Somme event validé par semaine // Somme event validé par semaine
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M')); $start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->modify('previous monday');
$start->setTime(0,0,0); $start->setTime(0,0,0);
$endmonth = new \Datetime('first day of this month'); $endmonth = new \Datetime('first day of this month');
$endmonth->add(new \DateInterval('P1M')); $endmonth->add(new \DateInterval('P1M'));
$endmonth->modify('next monday');
$end->setTime(23,59,0);
$eventsbyweek = $em $eventsbyweek = $em
->createQueryBuilder('event') ->createQueryBuilder('event')
->select('event') ->select('event')
@@ -593,7 +621,7 @@ class ReportController extends AbstractController
->from('App:Event','event') ->from('App:Event','event')
->Where('task.project=:project') ->Where('task.project=:project')
->andWhere('event.task=task') ->andWhere('event.task=task')
->andWhere('event.end >=:start') ->andWhere('event.end >:start')
->andWhere('event.end <:end') ->andWhere('event.end <:end')
->andWhere('event.validate=:validate') ->andWhere('event.validate=:validate')
->setParameter('project',$project) ->setParameter('project',$project)
@@ -611,58 +639,13 @@ class ReportController extends AbstractController
} }
$tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"]+$event->getDuration(); $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"] = $tbproject["weeks"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["cumul"]+$event->getDuration();
} }
// foreach($eventsbyweek as $event) {
// if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"])){
// $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [
// "weeknumber" => $event->getStart()->format("W"),
// "users" => [],
// ];
// }
// if(!isset($tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()])){
// $tbuser= [
// "id"=>$event->getUser()->getId(),
// "displayname"=>$event->getUser()->getDisplayname(),
// "cumul"=>0
// ];
// $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()] = $tbuser;
// }
// $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration();
// }
// foreach($eventsbyweek as $event) {
// if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"])){
// $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")] = [
// "weeknumber" => $event->getStart()->format("W"),
// "tasks" => [],
// ];
// }
// if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()])){
// $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()] = [
// "taskname" => $event->getTask()->getName(),
// "users" => [],
// ];
// }
// if(!isset($tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()])){
// $tbuser= [
// "id"=>$event->getUser()->getId(),
// "displayname"=>$event->getUser()->getDisplayname(),
// "cumul"=>0
// ];
// $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()] = $tbuser;
// }
// $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"] = $tbproject["weeks_by_task_by_user"][$event->getStart()->format("Y")][$event->getStart()->format("W")]["tasks"][$event->getTask()->getId()]["users"][$event->getUser()->getId()]["cumul"]+$event->getDuration();
// }
// Somme astreintes validé par semaine // Somme astreintes validé par semaine
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M')); $start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->modify('previous monday');
$start->setTime(0,0,0); $start->setTime(0,0,0);
$endmonth = new \Datetime('first day of this month'); $endmonth = new \Datetime('first day of this month');
$endmonth->add(new \DateInterval('P1M')); $endmonth->add(new \DateInterval('P1M'));
$endmonth->modify('next monday');
$end->setTime(23,59,0);
$penaltybyweek = $em $penaltybyweek = $em
@@ -705,7 +688,7 @@ class ReportController extends AbstractController
]; ];
$tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()] = $tbuser; $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()] = $tbuser;
} }
$tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()]["cumul"]+$penalty->getDuration(); $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()]["cumul"] = $tbproject["weeks_by_name"][$penalty->getStart()->format("Y")][$penalty->getStart()->format("W")]["users"][$penalty->getUser()->getId()]["cumul"]+$penalty->getDuration();
} }
@@ -749,7 +732,6 @@ class ReportController extends AbstractController
// Init des taches par mois // Init des taches par mois
$endmonth=clone $start; $endmonth=clone $start;
$endmonth->add(new \DateInterval('P1M')); $endmonth->add(new \DateInterval('P1M'));
$events = $em $events = $em
->createQueryBuilder('event') ->createQueryBuilder('event')
->select('task.id, task.name, SUM(event.duration) as somme') ->select('task.id, task.name, SUM(event.duration) as somme')
@@ -757,8 +739,8 @@ class ReportController extends AbstractController
->from('App:Event','event') ->from('App:Event','event')
->Where('task.project=:project') ->Where('task.project=:project')
->andWhere('event.task=task') ->andWhere('event.task=task')
->andWhere('event.end >=:start') ->andWhere('event.end >:start')
->andWhere('event.end <:end') ->andWhere('event.end <=:end')
->andWhere('event.validate=:validate') ->andWhere('event.validate=:validate')
->setParameter('project',$project) ->setParameter('project',$project)
->setParameter('validate',true) ->setParameter('validate',true)
@@ -781,10 +763,10 @@ class ReportController extends AbstractController
// Formater les jours // Formater les jours
$start=new \Datetime('first day of this month'); $start=new \Datetime('first day of this month');
$start->sub(new \DateInterval('P'.$nbmonth.'M')); $start->sub(new \DateInterval('P'.$nbmonth.'M'));
$start->setTime(0,0,0);
$end=new \Datetime('first day of this month'); $end=new \Datetime('first day of this month');
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
while($start<$end) { while($start<$end) {
$tbday=[ $tbday=[
"date"=>clone $start, "date"=>clone $start,
@@ -818,7 +800,6 @@ class ReportController extends AbstractController
$end->add(new \DateInterval('P'.$nbmonth.'M')); $end->add(new \DateInterval('P'.$nbmonth.'M'));
$end->sub(new \DateInterval('P1D')); $end->sub(new \DateInterval('P1D'));
$end->setTime(23,59,0); $end->setTime(23,59,0);
foreach($users as $user) { foreach($users as $user) {
$tbevents = $this->getEventuser($user,$start,$end,true); $tbevents = $this->getEventuser($user,$start,$end,true);
@@ -955,7 +936,7 @@ class ReportController extends AbstractController
]; ];
} }
$tbevents[$idproject][$idday]["duration"]=($event->getAllday()?1:0.5); $tbevents[$idproject][$idday]["duration"]+=($event->getAllday()?1:0.5);
$st->add(new \DateInterval('P1D')); $st->add(new \DateInterval('P1D'));

View File

@@ -97,7 +97,7 @@ class SecurityController extends AbstractController
$user->setPassword("CASPWD-".$username); $user->setPassword("CASPWD-".$username);
$user->setSalt("CASPWD-".$username); $user->setSalt("CASPWD-".$username);
$user->setRole("ROLE_USER"); $user->setRoles(["ROLE_VISITOR"]);
$em->persist($user); $em->persist($user);
$em->flush(); $em->flush();
@@ -125,8 +125,13 @@ class SecurityController extends AbstractController
// Redirection // Redirection
if($redirect) if($redirect)
return $this->redirect($redirect); return $this->redirect($redirect);
else else {
return $this->redirect($this->generateUrl('app_home')); $roles=$user->getRoles();
if(!in_array("ROLE_VISITOR",$roles))
return $this->redirect($this->generateUrl('app_home'));
else
return $this->redirect($this->generateUrl('app_customer_home'));
}
} }

View File

@@ -9,7 +9,6 @@ use Symfony\Component\Form\FormError;
use Knp\Bundle\SnappyBundle\Snappy\Response\PdfResponse; use Knp\Bundle\SnappyBundle\Snappy\Response\PdfResponse;
use App\Entity\Service as Entity; use App\Entity\Service as Entity;
use App\Entity\User as Fictiv;
use App\Form\ServiceType as Form; use App\Form\ServiceType as Form;
class ServiceController extends AbstractController class ServiceController extends AbstractController
@@ -70,16 +69,6 @@ class ServiceController extends AbstractController
$em->persist($data); $em->persist($data);
$em->flush(); $em->flush();
$fictivuser = new Fictiv();
$fictivuser->setUsername($data->getName());
$fictivuser->setPassword(bin2hex(openssl_random_pseudo_bytes(4)));
$fictivuser->setLastname("Service");
$fictivuser->setFirstname($data->getName());
$fictivuser->setEmail($data->getName());
$fictivuser->setService($data->getId());
$fictivuser->setFictive(true);
$em->persist($fictivuser);
$em->flush();
// Retour à la liste // Retour à la liste
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
} }
@@ -158,14 +147,8 @@ class ServiceController extends AbstractController
return $this->redirectToRoute($this->route."_update",["id"=>$id]); return $this->redirectToRoute($this->route."_update",["id"=>$id]);
else { else {
try { try {
$fictivuser = $em->getRepository("App:User")->findOneBy([
'service' => $data->getService(),
'fictive' => true,
]);
$em->remove($fictivuser);
$em->remove($data); $em->remove($data);
$em->flush(); $em->flush();
} }
catch(\Doctrine\DBAL\DBALException $e) { catch(\Doctrine\DBAL\DBALException $e) {
// Création du formulaire // Création du formulaire

View File

@@ -0,0 +1,156 @@
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Form\FormError;
use Knp\Bundle\SnappyBundle\Snappy\Response\PdfResponse;
use Symfony\Component\HttpFoundation\JsonResponse;
use App\Entity\Service as Entity;
use App\Form\ServiceType as Form;
class StatController extends AbstractController
{
private $knpSnappy;
public function __construct(\Knp\Snappy\Pdf $knpSnappy) { $this->knpSnappy = $knpSnappy; }
public function view(Request $request)
{
$em = $this->getDoctrine()->getManager();
$natures = $em->getRepository("App:Nature")->findAll();
$tbnatures=[];
foreach($natures as $nature) {
$tbnatures[$nature->getId()]=[
"id"=>$nature->getId(),
"name"=>$nature->getName(),
"totalmonth"=> 0,
"totalservice"=> 0,
"totalnature" => 0,
];
}
$services = $em->getRepository("App:Service")->findAll();
$tbservices=[];
foreach($services as $service) {
$tbservices[$service->getId()] = [
"id"=>$service->getId(),
"name"=>$service->getName(),
"natures"=>$tbnatures,
];
}
$tbmonths=[];
$now=new \Datetime("now");
//$now->add(new \DateInterval('P3M'));
$yend= $now->format("Y");
$ystart=$yend-2;
for($i=$ystart;$i<=$yend;$i++) {
for($j=1;$j<=12;$j++) {
$id=$i.str_pad($j, 2, '0', STR_PAD_LEFT);
$name=$i."-".str_pad($j, 2, '0', STR_PAD_LEFT);
$tbmonths[$id]= [
"id"=>$id,
"name"=>$name,
"services"=>$tbservices,
"natures"=>$tbnatures,
];
}
}
foreach($tbmonths as $keymonth => $month) {
$start=new \Datetime($month["id"]."01");
$end=new \Datetime($month["id"]."01");
$end->add(new \DateInterval('P1M'));
$events = $em
->createQueryBuilder('event')
->select('SUM(event.duration) as somme')
->from('App:Event','event')
->andWhere('event.start >=:start')
->andWhere('event.end <:end')
->setParameter('start',$start)
->setParameter('end',$end)
->getQuery()->getResult();
$totalmonth=($events[0]["somme"]?$events[0]["somme"]:0);
foreach($month["natures"] as $keynature => $nature) {
$events = $em
->createQueryBuilder('event')
->select('SUM(event.duration) as somme')
->from('App:Task','task')
->from('App:Event','event')
->andWhere('task.nature=:nature')
->andWhere('event.task=task')
->andWhere('event.start >=:start')
->andWhere('event.end <:end')
->setParameter('nature',$nature["id"])
->setParameter('start',$start)
->setParameter('end',$end)
->getQuery()->getResult();
$tbmonths[$keymonth]["natures"][$keynature]["totalnature"]=($events[0]["somme"]?$events[0]["somme"]:0);
$tbmonths[$keymonth]["natures"][$keynature]["totalmonth"]=$totalmonth;
$tbmonths[$keymonth]["natures"][$keynature]["totalservice"]=0;
}
foreach($month["services"] as $keyservice => $service) {
$events = $em
->createQueryBuilder('event')
->select('SUM(event.duration) as somme')
->from('App:Event','event')
->from('App:User','user')
->andWhere('event.start >=:start')
->andWhere('event.end <:end')
->andWhere('event.user=user')
->andWhere('user.service=:service')
->setParameter('start',$start)
->setParameter('end',$end)
->setParameter('service',$service["id"])
->getQuery()->getResult();
$totalservice=($events[0]["somme"]?$events[0]["somme"]:0);
foreach($service["natures"] as $keynature => $nature) {
$events = $em
->createQueryBuilder('event')
->select('SUM(event.duration) as somme')
->from('App:Task','task')
->from('App:Event','event')
->from('App:User','user')
->andWhere('task.nature=:nature')
->andWhere('event.task=task')
->andWhere('event.start >=:start')
->andWhere('event.end <:end')
->andWhere('event.user=user')
->andWhere('user.service=:service')
->setParameter('nature',$nature["id"])
->setParameter('start',$start)
->setParameter('end',$end)
->setParameter('service',$service["id"])
->getQuery()->getResult();
//echo $keymonth." ".$service["id"]." ".$service["name"]." ".$nature["name"]." = ".$events[0]["somme"]."<br>";
$tbmonths[$keymonth]["services"][$keyservice]["natures"][$keynature]["totalnature"]=($events[0]["somme"]?$events[0]["somme"]:0);
$tbmonths[$keymonth]["services"][$keyservice]["natures"][$keynature]["totalmonth"]=$totalmonth;
$tbmonths[$keymonth]["services"][$keyservice]["natures"][$keynature]["totalservice"]=$totalservice;
}
}
}
//return new JsonResponse($tbmonths);
return $this->render('Stat/view.html.twig',[
"useheader" => true,
"usesidebar" => true,
"tbmonths" => $tbmonths,
"tbnatures" => $tbnatures,
"tbservices" => $tbservices,
]);
}
}

View File

@@ -31,13 +31,13 @@ class TaskController extends AbstractController
"services" => $services, "services" => $services,
"useheader" => true, "useheader" => true,
"usesidebar" => true, "usesidebar" => true,
"fgprint" => true, "fgprint" => true,
]); ]);
return new PdfResponse( return new PdfResponse(
$this->knpSnappy->getOutputFromHtml($render,["orientation"=>"Landscape"]), $this->knpSnappy->getOutputFromHtml($render,["orientation"=>"Landscape"]),
'taches.pdf' 'taches.pdf'
); );
} }
else { else {
return $this->render($this->render.'list.html.twig',[ return $this->render($this->render.'list.html.twig',[
@@ -53,36 +53,38 @@ class TaskController extends AbstractController
// Initialisation de l'enregistrement // Initialisation de l'enregistrement
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();
$data = new Entity(); $data = new Entity();
$defaultnature = $em->getRepository("App:Nature")->findOneBy(['name' => 'Prestation']);
$data->setNature($defaultnature);
$data->setActive(true);
// Création du formulaire // Création du formulaire
$form = $this->createForm(Form::class,$data,array("mode"=>"submit")); $form = $this->createForm(Form::class,$data,array("mode"=>"submit"));
// Récupération des data du formulaire // Récupération des data du formulaire
$form->handleRequest($request); $form->handleRequest($request);
// Sur erreur // Sur erreur
$this->getErrorForm(null,$form,$request,$data,"submit"); $this->getErrorForm(null,$form,$request,$data,"submit");
// Sur validation // Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) { if ($form->get('submit')->isClicked() && $form->isValid()) {
$data = $form->getData(); $data = $form->getData();
$em->persist($data); $em->persist($data);
$em->flush(); $em->flush();
// Retour à la liste // Retour à la liste
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
} }
// Affichage du formulaire // Affichage du formulaire
return $this->render($this->render.'edit.html.twig', [ return $this->render($this->render.'edit.html.twig', [
'useheader' => true, 'useheader' => true,
'usesidebar' => true, 'usesidebar' => true,
$this->data => $data, $this->data => $data,
'mode' => 'submit', 'mode' => 'submit',
'form' => $form->createView() 'form' => $form->createView()
]); ]);
} }
public function update($id,Request $request) public function update($id,Request $request)
{ {
// Initialisation de l'enregistrement // Initialisation de l'enregistrement
@@ -97,43 +99,43 @@ class TaskController extends AbstractController
// Sur erreur // Sur erreur
$this->getErrorForm(null,$form,$request,$data,"update"); $this->getErrorForm(null,$form,$request,$data,"update");
// Sur validation // Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) { if ($form->get('submit')->isClicked() && $form->isValid()) {
$data = $form->getData(); $data = $form->getData();
$em->persist($data); $em->persist($data);
$em->flush(); $em->flush();
// Retour à la liste // Retour à la liste
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
} }
// Affichage du formulaire // Affichage du formulaire
if($request->query->get('fgprint')) { if($request->query->get('fgprint')) {
$render = $this->renderView($this->render.'edit.html.twig', [ $render = $this->renderView($this->render.'edit.html.twig', [
'useheader' => true, 'useheader' => true,
'usesidebar' => true, 'usesidebar' => true,
$this->data => $data, $this->data => $data,
'mode' => 'update', 'mode' => 'update',
'form' => $form->createView(), 'form' => $form->createView(),
"fgprint" => true, "fgprint" => true,
]); ]);
return new PdfResponse( return new PdfResponse(
$this->knpSnappy->getOutputFromHtml($render), $this->knpSnappy->getOutputFromHtml($render),
'tache.pdf' 'tache.pdf'
); );
} }
else { else {
return $this->render($this->render.'edit.html.twig', [ return $this->render($this->render.'edit.html.twig', [
'useheader' => true, 'useheader' => true,
'usesidebar' => true, 'usesidebar' => true,
$this->data => $data, $this->data => $data,
'mode' => 'update', 'mode' => 'update',
'form' => $form->createView() 'form' => $form->createView()
]); ]);
} }
} }
public function delete($id,Request $request) public function delete($id,Request $request)
{ {
@@ -159,13 +161,18 @@ class TaskController extends AbstractController
// Retour à la liste // Retour à la liste
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
} }
} }
public function activeproject() { public function activeproject() {
$this->get('session')->set('activeproject',!$this->get('session')->get('activeproject')); $this->get('session')->set('activeproject',!$this->get('session')->get('activeproject'));
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
} }
public function activetask() {
$this->get('session')->set('activetask',!$this->get('session')->get('activetask'));
return $this->redirectToRoute($this->route);
}
public function activeoffer() { public function activeoffer() {
$this->get('session')->set('activeoffer',!$this->get('session')->get('activeoffer')); $this->get('session')->set('activeoffer',!$this->get('session')->get('activeoffer'));
return $this->redirectToRoute($this->route); return $this->redirectToRoute($this->route);
@@ -187,5 +194,5 @@ class TaskController extends AbstractController
$request->getSession()->getFlashBag()->add("error", $error->getMessage()); $request->getSession()->getFlashBag()->add("error", $error->getMessage());
} }
} }
} }
} }

View File

@@ -23,14 +23,14 @@ class TimerController extends AbstractController
$iduser = $this->get("session")->get("iduser"); $iduser = $this->get("session")->get("iduser");
$user = $em->getRepository("App:User")->find($iduser); $user = $em->getRepository("App:User")->find($iduser);
$tasks = $em->getRepository("App:Task")->findAll(); $projects= $em->getRepository("App:Project")->findBy(["active"=>true]);
$timers = $em->getRepository("App:Timer")->findBy(["user"=>$iduser]); $timers = $em->getRepository("App:Timer")->findBy(["user"=>$iduser]);
return $this->render($this->render.'list.html.twig',[ return $this->render($this->render.'list.html.twig',[
"useheader" => true, "useheader" => true,
"usesidebar" => true, "usesidebar" => true,
"user" => $user, "user" => $user,
"tasks" => $tasks, "projects" => $projects,
"timers" => $timers, "timers" => $timers,
]); ]);
} }
@@ -43,7 +43,6 @@ class TimerController extends AbstractController
$user = $em->getRepository("App:User")->find($iduser); $user = $em->getRepository("App:User")->find($iduser);
$tasks = $em->getRepository("App:Task")->findAll(); $tasks = $em->getRepository("App:Task")->findAll();
$timers = $em->getRepository("App:Timer")->findBy(["user"=>$iduser]); $timers = $em->getRepository("App:Timer")->findBy(["user"=>$iduser]);
return $this->render($this->render.'list.cal.html.twig',[ return $this->render($this->render.'list.cal.html.twig',[
"useheader" => true, "useheader" => true,
"usesidebar" => true, "usesidebar" => true,
@@ -97,11 +96,6 @@ class TimerController extends AbstractController
$officeworkend = clone $officeworkstart; $officeworkend = clone $officeworkstart;
$officeworkstart->SetTime(9,0,0); $officeworkstart->SetTime(9,0,0);
$officeworkend->SetTime(17,30,0); $officeworkend->SetTime(17,30,0);
if ($start < $officeworkstart || $end > $officeworkend) {
$timer->setAdditionalHour(true);
}else{
$timer->setAdditionalHour($additionalhour);
}
$timer = new Entity(); $timer = new Entity();
$timer->setUser($user); $timer->setUser($user);
@@ -110,7 +104,12 @@ class TimerController extends AbstractController
$timer->setEnd($end); $timer->setEnd($end);
$timer->setDuration($duration); $timer->setDuration($duration);
$timer->setDescription($description); $timer->setDescription($description);
$timer->setActivePenalty($activepenalty); $timer->setActivePenalty($activepenalty ? $activepenalty : false);
if ($start < $officeworkstart || $end > $officeworkend) {
$timer->setAdditionalHour(true);
}else{
$timer->setAdditionalHour($additionalhour ? $additionalhour : false);
}
$em->persist($timer); $em->persist($timer);
$em->flush(); $em->flush();

View File

@@ -514,7 +514,7 @@ class ValidationController extends AbstractController
$event->setValidateholiday(true); $event->setValidateholiday(true);
$em->persist($event); $em->persist($event);
$em->flush(); $em->flush();
$iduser=$this->get("session")->get("iduser"); $iduser=$event->getUser()->getId();
$idevent=$event->getId(); $idevent=$event->getId();
$this->notificator->sendNotifValid("Congé validé", $iduser, $event); $this->notificator->sendNotifValid("Congé validé", $iduser, $event);
} }

View File

@@ -59,6 +59,17 @@ class Offer
*/ */
private $active; private $active;
/**
* @ORM\Column(name="iddolibarr", type="decimal", scale=5, nullable=true)
*
*/
private $iddolibarr;
/**
* @ORM\Column(name="typedolibarr", type="string", nullable=true)
*
*/
private $typedolibarr;
/** /**
* @ORM\ManyToOne(targetEntity="Project", inversedBy="offers") * @ORM\ManyToOne(targetEntity="Project", inversedBy="offers")
*/ */
@@ -145,7 +156,6 @@ class Offer
return $this; return $this;
} }
public function getProject(): ?Project public function getProject(): ?Project
{ {
return $this->project; return $this->project;
@@ -158,5 +168,29 @@ class Offer
return $this; return $this;
} }
public function getIddolibarr(): ?string
{
return $this->iddolibarr;
}
public function setIddolibarr(?string $iddolibarr): self
{
$this->iddolibarr = $iddolibarr;
return $this;
}
public function getTypedolibarr(): ?string
{
return $this->typedolibarr;
}
public function setTypedolibarr(?string $typedolibarr): self
{
$this->typedolibarr = $typedolibarr;
return $this;
}
} }

View File

@@ -73,6 +73,10 @@ class Project
$this->tasks = new ArrayCollection(); $this->tasks = new ArrayCollection();
$this->userprojects = new ArrayCollection(); $this->userprojects = new ArrayCollection();
} }
public function __toString()
{
return $this->name;
}
public function getId(): ?int public function getId(): ?int
{ {

View File

@@ -70,7 +70,11 @@ class Task
* @ORM\OneToMany(targetEntity="Penalty", mappedBy="task", cascade={"persist"}, orphanRemoval=false) * @ORM\OneToMany(targetEntity="Penalty", mappedBy="task", cascade={"persist"}, orphanRemoval=false)
*/ */
private $penaltys; private $penaltys;
/**
* @ORM\Column(name="active", type="boolean")
*
*/
private $active;
/** /**
* Calculate Displayname * Calculate Displayname
*/ */
@@ -227,6 +231,19 @@ class Task
return $this; return $this;
} }
public function getActive(): ?bool
{
return $this->active;
}
public function setActive(bool $active): self
{
$this->active = $active;
return $this;
}
/** /**
* @return Collection|Penalty[] * @return Collection|Penalty[]

View File

@@ -11,7 +11,7 @@ use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/** /**
* User * User
* *
* @ORM\Entity(repositoryClass="App\Repository\UserRepository") * @ORM\Entity(repositoryClass="App\Repository\UserRepository")
* @ORM\Table(name="user",indexes={@ORM\Index(name="username", columns={"username"})}) * @ORM\Table(name="user",indexes={@ORM\Index(name="username", columns={"username"})})
* @UniqueEntity("username", message="Ce nom d'utilisateur existe dèja") * @UniqueEntity("username", message="Ce nom d'utilisateur existe dèja")
@@ -84,7 +84,7 @@ class User implements UserInterface, \Serializable
* @ORM\ManyToOne(targetEntity="Service", inversedBy="users") * @ORM\ManyToOne(targetEntity="Service", inversedBy="users")
* @ORM\JoinColumn(nullable=true) * @ORM\JoinColumn(nullable=true)
*/ */
private $service; private $service;
/** /**
* @ORM\OneToMany(targetEntity="Event", mappedBy="user", cascade={"persist"}, orphanRemoval=false) * @ORM\OneToMany(targetEntity="Event", mappedBy="user", cascade={"persist"}, orphanRemoval=false)
@@ -104,16 +104,11 @@ class User implements UserInterface, \Serializable
* ) * )
*/ */
protected $jobs; protected $jobs;
/** /**
* @ORM\OneToMany(targetEntity="Userproject", mappedBy="user", cascade={"persist"}, orphanRemoval=true) * @ORM\OneToMany(targetEntity="Userproject", mappedBy="user", cascade={"persist"}, orphanRemoval=true)
*/ */
private $userprojects; private $userprojects;
/**
* @ORM\Column(name="fictive", type="boolean")
*
*/
private $fictive;
public function __construct() public function __construct()
{ {
@@ -122,7 +117,6 @@ class User implements UserInterface, \Serializable
$this->penaltys = new ArrayCollection(); $this->penaltys = new ArrayCollection();
$this->jobs = new ArrayCollection(); $this->jobs = new ArrayCollection();
$this->userprojects = new ArrayCollection(); $this->userprojects = new ArrayCollection();
$this->fictive = false;
} }
public function getUsername(): ?string public function getUsername(): ?string
@@ -412,19 +406,7 @@ class User implements UserInterface, \Serializable
} }
return $this; return $this;
} }
public function getFictive(): ?bool
{
return $this->fictive;
}
public function setFictive(bool $fictive): self
{
$this->fictive = $fictive;
return $this;
}
} }

View File

@@ -45,13 +45,20 @@ class ProjectType extends AbstractType
] ]
); );
$builder->add('customer', $builder->add('customer',
EntityType::class, [ EntityType::class, [
"class" => "App:Customer",
"label" => "Client", "label" => "Client",
"choice_label" => "name", "class" => "App:Customer",
"choice_label" => function ($customer) {
return $customer->getName();},
"disabled" => false,
"required" => true,
"multiple" => false,
"placeholder" => "Selectionner un Client",
] ]
); );
$builder->add('service', $builder->add('service',
EntityType::class, [ EntityType::class, [

View File

@@ -56,6 +56,13 @@ class TaskType extends AbstractType
"choice_label" => "name", "choice_label" => "name",
] ]
); );
$builder->add("active",
ChoiceType::class,[
"label" => "Actif",
"choices" => ["Non"=>false, "Oui"=>true]
]
);
$builder->add('color', $builder->add('color',
TextType::class, [ TextType::class, [
@@ -74,8 +81,8 @@ class TaskType extends AbstractType
"class" => "App:Project", "class" => "App:Project",
"primary_key" => "id", "primary_key" => "id",
"text_property" => "displayname", "text_property" => "displayname",
"minimum_input_length" => 0, "minimum_input_length" => 2,
"page_limit" => 10, "page_limit" => 100,
"allow_clear" => true, "allow_clear" => true,
"delay" => 250, "delay" => 250,
"cache" => false, "cache" => false,

View File

@@ -81,14 +81,14 @@ class ProjectRepository extends ServiceEntityRepository
public function sumEstimate($id) { public function sumEstimate($id) {
$qb = $this->createQueryBuilder('project') $qb = $this->createQueryBuilder('project')
->select('SUM(task.quantity) as somme1, SUM(task.validate) as somme2 ') ->select('SUM(task.quantity) as somme')
->from('App:Task','task') ->from('App:Task','task')
->Where('project.id=:id') ->Where('project.id=:id')
->andWhere('task.project=project') ->andWhere('task.project=project')
->setParameter('id',$id); ->setParameter('id',$id);
$result=$qb->getQuery()->getOneOrNullResult(); $result=$qb->getQuery()->getOneOrNullResult();
$estimate=($result["somme1"]?$result["somme1"]:0)+($result["somme2"]?$result["somme2"]:0); $estimate=($result["somme"]?$result["somme"]:0);
return $estimate; return $estimate;
} }
} }

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Repository;
use App\Entity\Timer;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Common\Persistence\ManagerRegistry;
class TimerRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, Timer::class);
}
}

View File

@@ -0,0 +1,98 @@
<?php
namespace App\Service;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Contracts\HttpClient\HttpClientInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class dolibarrApi
{
private $container;
private $em;
private $session;
private $client;
private $doliuri;
public function __construct(EntityManagerInterface $em, ContainerInterface $container, HttpClientInterface $client )
{
$this->em = $em;
$this->container = $container;
$this->client = $client;
$this->doliuri = $this->container->getParameter('doliUri');
}
public function getOrders() {
$start=new \Datetime();
$start->sub(new \DateInterval('P6M'));
$response = $this->client->request('GET',$this->doliuri."/api/index.php/orders?sortfield=t.rowid&sortorder=DESC&limit=100&sqlfilters=(t.date_creation%3A%3E%3A'".$start->format("Ymd")."')");
$content = $response->toArray();
$tbcontent = [];
foreach($content as $order){
$order['customer_name'] = $this->getCustomer($order['socid']);
$qty = 0;
foreach($order['lines'] as $line){
$qty = $qty + intval($line['qty']);
}
$order['total_qty'] = $qty;
array_push($tbcontent, $order);
}
return $tbcontent;
}
public function getOrder($id, $type) {
$start=new \Datetime();
$start->sub(new \DateInterval('P6M'));
$order=[];
if ($type =="commande") {
$response = $this->client->request('GET',$this->doliuri."/api/index.php/orders/".$id);
$order=$response->toArray();
}
if ($type =="propal") {
$response = $this->client->request('GET',$this->doliuri."/api/index.php/proposals/".$id);
$order=$response->toArray();
}
$order['customer_name'] = $this->getCustomer($order['socid']);
$qty = 0;
foreach($order['lines'] as $line){
$qty = $qty + intval($line['qty']);
}
$order['total_qty'] = $qty;
return $order;
}
public function getPropals() {
$start=new \Datetime();
$start->sub(new \DateInterval('P6M'));
$response = $this->client->request('GET',$this->doliuri."/api/index.php/proposals?sortfield=t.rowid&sortorder=DESC&limit=100&sqlfilters=(t.datec%3A%3E%3A'".$start->format("Ymd")."')");
$content = $response->toArray();
$tbcontent = [];
foreach($content as $propal){
$propal['customer_name'] = $this->getCustomer($propal['socid']);
$qty = 0;
foreach($propal['lines'] as $line){
$qty = $qty + intval($line['qty']);
}
$propal['total_qty'] = $qty;
//$propal['customer_name'] = $this->getCustomer($propal['socid']);
array_push( $tbcontent, $propal);
}
return $tbcontent;
}
public function getCustomer($customerid) {
$response = $this->client->request('GET',$this->doliuri."/api/index.php/thirdparties/".$customerid);
$content = $response->toArray();
return $content['name'];
}
}

View File

@@ -2,18 +2,22 @@
namespace App\Service; namespace App\Service;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class notificationService class notificationService
{ {
private $em; private $em;
protected $mailer; protected $mailer;
protected $twig; protected $twig;
private $container;
public function __construct(EntityManagerInterface $em, \Swift_Mailer $mailer, \Twig\Environment $twig) public function __construct(EntityManagerInterface $em, \Swift_Mailer $mailer, \Twig\Environment $twig, ContainerInterface $container)
{ {
$this->mailer = $mailer; $this->mailer = $mailer;
$this->twig = $twig; $this->twig = $twig;
$this->em = $em; $this->em = $em;
$this->container = $container;
} }
public function sendNotifAttenteValid($subject, $iduser, $idevent, $valid_url) public function sendNotifAttenteValid($subject, $iduser, $idevent, $valid_url)

View File

@@ -33,7 +33,7 @@ class sessionListener {
$haverole=true; $haverole=true;
} }
} }
return $haverole; return $haverole;
} }
@@ -67,11 +67,12 @@ class sessionListener {
// Initialisation de la session // Initialisation de la session
if($regen) { if($regen) {
$session->set('activeproject',true); $session->set('activeproject',true);
$session->set('activetask',true);
$session->set('activeoffer',true); $session->set('activeoffer',true);
$session->set('activeholiday',true); $session->set('activeholiday',true);
$session->set('activetimer',true); $session->set('activetimer',true);
$session->set('nbmonth',3); $session->set('nbmonth',3);
if($curentuser!="anon.") { if($curentuser!="anon.") {
if(in_array("ROLE_USER",$roles)) if(in_array("ROLE_USER",$roles))
$session->set('iduser',$curentuser->getId()); $session->set('iduser',$curentuser->getId());
@@ -86,7 +87,7 @@ class sessionListener {
$session->set('idproject',"all"); $session->set('idproject',"all");
$session->set('idservice',"all"); $session->set('idservice',"all");
} }
$tbusers=[]; $tbusers=[];
$users=$this->em->getRepository('App:User')->findAll(); $users=$this->em->getRepository('App:User')->findAll();
foreach($users as $user) { foreach($users as $user) {
@@ -99,7 +100,7 @@ class sessionListener {
} }
} }
$session->set('users',$tbusers); $session->set('users',$tbusers);
$tbprojects=[]; $tbprojects=[];
$projects=$this->em->getRepository('App:Project')->findBy(["active"=>true]); $projects=$this->em->getRepository('App:Project')->findBy(["active"=>true]);
foreach($projects as $project) { foreach($projects as $project) {
@@ -110,7 +111,7 @@ class sessionListener {
array_push($tbprojects,$tmp); array_push($tbprojects,$tmp);
} }
$session->set('projects',$tbprojects); $session->set('projects',$tbprojects);
$tbservices=[]; $tbservices=[];
$services=$this->em->getRepository('App:Service')->findAll(); $services=$this->em->getRepository('App:Service')->findAll();
foreach($services as $service) { foreach($services as $service) {
@@ -120,10 +121,8 @@ class sessionListener {
]; ];
array_push($tbservices,$tmp); array_push($tbservices,$tmp);
} }
$session->set('services',$tbservices); $session->set('services',$tbservices);
$selectedusers=[];
$session->set('selectedusers',$selectedusers);
} }
} }
} }

View File

@@ -42,10 +42,14 @@
.eventEstimate { .eventEstimate {
margin: -3px 10px; margin: -3px 10px;
} }
.fictive{ .select2-results__group {
height:10px!important; font-size:12px !important;
background-color:#cdcdcd;
} }
.select2-results__option{
font-size: 14px;
padding-left:15px
}
{% endblock %} {% endblock %}
{% block body %} {% block body %}
@@ -71,10 +75,15 @@
Intervenant<span class="mandatory">*</span> Intervenant<span class="mandatory">*</span>
</label> </label>
<select class="select2entity" id="usersubmit" name="usersubmit"> <select class="select2entity" id="usersubmit" name="usersubmit">
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MASTER') or is_granted('ROLE_VALIDATOR')%} {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MASTER') or is_granted('ROLE_VALIDATOR')%}
{% for user in users %}
<option value="{{user.id}}">{{user.displayname}}</option> {% for user in app.session.get('users') %}
{% endfor %} {% set selected="" %}
{%if user.id==app.session.get('iduser') %}
{% set selected="selected" %}
{% endif %}
<option value="{{user.id}}" {{selected}}>{{user.displayname}}</option>
{% endfor %}
{% else %} {% else %}
<option value="{{app.user.id}}">{{app.user.displayname}}</option> <option value="{{app.user.id}}">{{app.user.displayname}}</option>
{% endif %} {% endif %}
@@ -87,9 +96,16 @@
</label> </label>
<select class="select2entity" id="tasksubmit" name="tasksubmit"> <select class="select2entity" id="tasksubmit" name="tasksubmit">
<option></option> <option></option>
{% for task in tasks %} {% for project in projects|sort((a, b) => a.displayname <=> b.displayname) %}
<option value="{{task.id}}">{{task.displayname}}</option> <optgroup label="{{project.displayname}}">
{% for task in project.tasks|sort((a, b) => a.displayname <=> b.displayname) %}
{% if task.active %}
<option value="{{task.id}}">{{task.displayname}}</option>
{% endif %}
{% endfor %}
</optgroup>
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
@@ -173,8 +189,12 @@
</label> </label>
<select class="select2entity" id="taskupdate" name="taskupdate"> <select class="select2entity" id="taskupdate" name="taskupdate">
<option></option> <option></option>
{% for task in tasks %} {% for project in projects|sort((a, b) => a.displayname <=> b.displayname) %}
<option value="{{task.id}}">{{task.displayname}}</option> <optgroup label="{{project.displayname}}">
{% for task in project.tasks|sort((a, b) => a.displayname <=> b.displayname) %}
<option value="{{task.id}}">{{task.displayname}}</option>
{% endfor %}
</optgroup>
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
@@ -219,7 +239,6 @@
{% block localjavascript %} {% block localjavascript %}
$(document).ready(function() { $(document).ready(function() {
$("#modalsubmit #user").select2({ $("#modalsubmit #user").select2({
theme: 'bootstrap4', theme: 'bootstrap4',
@@ -248,46 +267,34 @@ $(document).ready(function() {
// Rendu d'un évenement // Rendu d'un évenement
function eventRender(info) { function eventRender(info) {
console.log(info.event.extendedProps); console.log(info.event.extendedProps);
// Récupération des divers élements du rendu event // Récupération des divers élements du rendu event
var content=$(info.el).children('.fc-content'); var content=$(info.el).children('.fc-content');
var title=$(content).children('.fc-title'); var title=$(content).children('.fc-title');
if(!info.event.extendedProps.fictivuser){
// Ajouter l'avatar
content.prepend("<img src="+info.event.extendedProps.avatar+" class='eventAvatar'>");
content.append("<span class='eventUser float-left small'>"+info.event.extendedProps.username+"</span>");
var eventInfo=$(content).children('.eventUser');
// Ajout container // Ajouter l'avatar
content.append("<span class='eventInfo float-right'></span>"); content.prepend("<img src="+info.event.extendedProps.avatar+" class='eventAvatar'>");
var eventInfo=$(content).children('.eventInfo'); content.append("<span class='eventUser float-left small'>"+info.event.extendedProps.username+"</span>");
var eventInfo=$(content).children('.eventUser');
// Ajouter le verrou si event non editable // Ajout container
if(info.event.extendedProps.locked) { content.append("<span style='margin-top:-12px' class='eventInfo float-right'></span>");
eventInfo.append("<i class='fa fa-lock float-right'></i>"); var eventInfo=$(content).children('.eventInfo');
}
if(info.event.extendedProps.externaltrip) {
eventInfo.append("<i class='fas fa-bed float-right'></i>");
}
if(info.event.extendedProps.holiday) {
eventInfo.append("<i class='fas fa-umbrella-beach float-right'></i>");
}
// Ajout estimation
eventInfo.append("<span class='eventEstimate float-right small'>"+info.event.extendedProps.estimate+"</span>");
}else{ // Ajouter le verrou si event non editable
$(content).addClass('fictive'); if(info.event.extendedProps.locked) {
$(content).children('.fc-title').remove(); eventInfo.append("<i class='fa fa-lock float-right'></i>");
} }
if(info.event.extendedProps.externaltrip) {
eventInfo.append("<i class='fas fa-bed float-right'></i>");
}
if(info.event.extendedProps.holiday) {
eventInfo.append("<i class='fas fa-umbrella-beach float-right'></i>");
}
// Ajout estimation
eventInfo.append("<span class='eventEstimate float-right small'>"+info.event.extendedProps.estimate+"</span>");
// Description // Description
content.attr("data-placement","top");
content.attr("data-html",true);
content.attr("data-toggle","tooltip");
content.attr("title",info.event.extendedProps.fulldescription); content.attr("title",info.event.extendedProps.fulldescription);
content.tooltip()
} }
// Formulaire Création d'un événement // Formulaire Création d'un événement

View File

@@ -0,0 +1,6 @@
{% block body %}
Mois;Jours_facturés;Jour_non_facturés
{% for month, event in events %}
{{month}};{{event.f}};{{event.nf}}
{% endfor %}
{% endblock %}

View File

@@ -0,0 +1,8 @@
{% block body %}
Client;Projet;Proposition;Ref;Qt;PU;Total;
{% for project in projects %}
{% for offer in project.offers %}
{{ project.customer }};{{project.name}};{{offer.name}};{{offer.ref}};{{offer.quantity}};{{offer.pu}};{{offer.total}}
{% endfor %}
{% endfor %}
{% endblock %}

View File

@@ -1,12 +1,12 @@
{% block body %} {% block body %}
Client;Projet;Tâche;Utilisateur;Année;Semaine;Cumul; Client;Projet;Tâche;Nature;Utilisateur;Année;Semaine;Cumul;
{% for project in projects %} {% for project in projects %}
{% if project.weeks_by_task_by_user is defined %} {% if project.weeks_by_task_by_user is defined %}
{% for year,weeks in project.weeks_by_task_by_user %} {% for year,weeks in project.weeks_by_task_by_user %}
{% for week in weeks %} {% for week in weeks %}
{% for task in week.tasks%} {% for task in week.tasks%}
{% for user in task.users%} {% for user in task.users%}
{{project.customer}};{{project.name}};{{task.taskname}};{{user.displayname}};{{year}};S{{week.weeknumber}};{{user.cumul|replace({".": ","})}}; {{project.customer}};{{project.name}};{{task.taskname|replace({"&": "et"})}};{{task.nature}};{{user.displayname}};{{week.isoyear}};{{week.isoweek}};{{user.cumul|replace({".": ","})}};
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}

View File

@@ -33,4 +33,24 @@ EXPORTS DE DONNEES
</div> </div>
</div> </div>
<p></p> <p></p>
<div class="card">
<div class="card-header">
<a class="btn btn-success" href={{ path('export_offers') }}>Export des commandes</a>
</div>
<div class="card-body">
<p>Exporter la liste des commandes</p>
<p>Filtres utiles : Projet, Service</p>
</div>
</div>
<p></p>
<div class="card">
<div class="card-header">
<a class="btn btn-success" href={{ path('export_month_charged_days') }}>Export des jours facturés/non-facturés</a>
</div>
<div class="card-body">
<p>Exporter la liste du nombre de jours facturés et non-facturés par mois</p>
<p>Filtres utiles : Nombre de mois</p>
</div>
</div>
<p></p>
{% endblock %} {% endblock %}

View File

@@ -0,0 +1,8 @@
{% extends "base.html.twig" %}
{% block body %}
<center>Merci d'utiliser l'URL qui vous a été communiquée pour visualiser votre rapport.</center>
{% endblock %}

View File

@@ -4,11 +4,11 @@
{{ form_start(form) }} {{ form_start(form) }}
<h1 class="page-header"> <h1 class="page-header">
{% if fgprint is defined and fgprint %} {% if fgprint is defined and fgprint %}
PROPOSITION COMMANDE
{% elseif mode=="update" %} {% elseif mode=="update" %}
Modification PROPOSITION Modification COMMANDE
{% elseif mode=="submit" %} {% elseif mode=="submit" %}
Création PROPOSITION Création COMMANDE
{% endif %} {% endif %}
</h1> </h1>

View File

@@ -0,0 +1,75 @@
{% extends "base.html.twig" %}
{% block localstyle %}
td {
padding:5px !important;
}
{% if fgprint is defined and fgprint %}
table { font-size:10px;}
th,td {
border: 1px solid #37474F;
}
thead {
display: table-header-group;
}
tr { page-break-inside: avoid; }
{%endif%}
{% endblock %}
{% block body %}
<h1 class="page-header">
Nouvelles Commandes Dolibarr
</h1>
<p>Liste des dernières commandes/propal récupérées depuis Dolibarr.<br>
Les commandes doivent avoir un statut "Validée", et le Propal un statut "Signée" pour apparaître dans la liste.</p>
<div class="card">
<div class="dataTable_wrapper">
<table class="table table-striped table-bordered table-hover small" id="dataTables" style="width:100%">
<thead>
<tr>
<th width="70px" class="no-sort no-print">Action</th>
<th width="300px">client</th>
<th width="150px">ref</th>
<th width="150px">ref_client</th>
<th width="50">statut</th>
<th width="100px" class="text-center no-sort no-string">total_ht</th>
<th width="100px" class="text-center no-sort no-string">total_tva</th>
<th width="100px" class="text-center no-sort no-string">total_ttc</th>
</tr>
</thead>
<tbody>
{% for order in orders %}
<tr>
<td class="no-print">
<a href="{{path("app_offer_convert", {type:order.type, id:order.id})}}"><i class="fas fa-file-download"></i></a>
</td>
<td>{{order.customer_name}}</td>
{% if order.type =="commande" %}<td><a href="https://doli.cadoles.com/dolibarr/commande/card.php?id={{order.id}}" target="_blank">{{order.ref}}</td>{% endif %}
{% if order.type =="propal" %}<td><a href="https://doli.cadoles.com/dolibarr/comm/propal/card.php?id={{order.id}}" target="_blank">{{order.ref}}</td>{% endif %}
<td>{{order.ref_client}}</td>
<td>{{order.statut}}</td>
<td class="text-right">{{order.total_ht|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{order.total_tva|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{order.total_ttc|number_format(2, '.', ' ')}}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %}
{% block localjavascript %}
$(document).ready(function() {
$('#dataTables').DataTable({
columnDefs: [ { "targets": "no-sort", "orderable": false }, { "targets": "no-string", "type" : "num" } ],
responsive: true,
iDisplayLength: 100,
order: [[ 2, "asc" ]]
});
});
{% endblock %}

View File

@@ -22,6 +22,9 @@
</h1> </h1>
<a class="btn btn-success" href={{ path('app_offer_submit') }}>Ajouter</a> <a class="btn btn-success" href={{ path('app_offer_submit') }}>Ajouter</a>
{% if doliactive == "true" %}
<a class="btn btn-success" href={{ path('app_offer_getorders') }}>Récupérer les commandes de Dolibarr</a>
{% endif %}
<div class="custom-control custom-switch float-right"> <div class="custom-control custom-switch float-right">
<input type="checkbox" class="custom-control-input" id="switchactiveproject" {% if app.session.get('activeproject') %} checked {% endif %}> <input type="checkbox" class="custom-control-input" id="switchactiveproject" {% if app.session.get('activeproject') %} checked {% endif %}>
@@ -84,6 +87,10 @@
<td>{{offer.project.customer.name}}</td> <td>{{offer.project.customer.name}}</td>
<td>{{offer.project.name}}</td> <td>{{offer.project.name}}</td>
<td>{{offer.name}}</td> <td>{{offer.name}}</td>
{%if offer.iddolibarr %}
{% if offer.typedolibarr == "commande" %}<td><a href="https://doli.cadoles.com/dolibarr/commande/card.php?id={{offer.iddolibarr}}" target="_blank">{{offer.ref}}</td>{% endif %}
{% if offer.typedolibarr == "propal" %}<td><a href="https://doli.cadoles.com/dolibarr/comm/propal/card.php?id={{offer.iddolibarr}}" target="_blank">{{offer.ref}}</td>{% endif %}
{% endif %}
<td>{{offer.ref}}</td> <td>{{offer.ref}}</td>
<td class="text-right">{{offer.quantity|number_format(2, '.', ' ')}}</td> <td class="text-right">{{offer.quantity|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{offer.pu|number_format(2, '.', ' ')}}</td> <td class="text-right">{{offer.pu|number_format(2, '.', ' ')}}</td>

View File

@@ -61,6 +61,7 @@
{% endblock %} {% endblock %}
{% block localjavascript %} {% block localjavascript %}
$("#project_customer").addClass("select2entity");
$(document).ready(function() { $(document).ready(function() {
$("#project_name").focus(); $("#project_name").focus();
}); });

View File

@@ -99,9 +99,10 @@
<h2>{{ project.displayname }}</h2> <h2>{{ project.displayname }}</h2>
<div class="synthese"> <div class="synthese">
Estimé = {{ project.estimate }}<br> Estimé = {{ project.estimate }}<br>
Commandé = {{ project.proposed }}<br>
Validé = {{ project.validate }}<br> Validé = {{ project.validate }}<br>
Planifié = {{ project.planified }}<br> Planifié = {{ project.planified }}<br>
<b>RESTE = {{ (project.estimate - project.validate - project.planified) }}</b> <b>RESTE = {{ ( project.proposed - project.validate - project.planified) }}</b>
</div> </div>
</div> </div>
@@ -141,6 +142,32 @@
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
{% if month.total > 0 %}
<br>
<table class="recaptask small">
{% for task in month.tasks %}
<tr>
<td>{{ task.displayname }}</td>
<td class="text-right">{{ task.duration|number_format(2, '.', ' ') }}</td>
</tr>
{% endfor %}
{% if month.totala > 0 %}
<tr>
<td>Astreinte</td>
<td class="text-right">{{ month.totala|number_format(2, '.', ' ') }}</td>
</tr>
{% endif %}
<tfoot>
<tr>
<td style="min-width:200px">TOTAL</td>
<td class="text-right" style="min-width:100px">{{ (month.total + month.totala)|number_format(2, '.', ' ') }}</td>
</tr>
</tfoot>
</table>
{% endif %}
{% if month.total > 0 %} {% if month.total > 0 %}
<i>Total = {{ month.total }}</i> <i>Total = {{ month.total }}</i>
{% endif %} {% endif %}

View File

@@ -59,7 +59,7 @@
} }
.astreinte { .astreinte {
height: 12px; height: 12px;
font-size: 10px; font-size: 10px;
} }
{% if fgprint is defined and fgprint %} {% if fgprint is defined and fgprint %}
@@ -68,7 +68,7 @@
float:none !important; float:none !important;
margin:0px; margin:0px;
} }
table { width:100%; font-size:10px;} table { width:100%; font-size:10px;}
.card-header .synthese { .card-header .synthese {
@@ -83,14 +83,13 @@
.small { font-size:10px;} .small { font-size:10px;}
h4 { h4 {
padding-top: 20px; padding-top: 20px;
} }
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% block body %} {% block body %}
{% if fgprint is defined and fgprint %}<h1>Planning</h1>{%endif%} {% if fgprint is defined and fgprint %}<h1>Planning</h1>{%endif%}
{% if access=="customer" and not app.user %} {% if access=="customer" and not app.user %}
@@ -104,7 +103,7 @@
{% for i in 1..48 %} {% for i in 1..48 %}
{% set selected="" %} {% set selected="" %}
{%if i==app.session.get('nbmonth') %} {%if i==app.session.get('nbmonth') %}
{% set selected="selected" %} {% set selected="selected" %}
{% endif %} {% endif %}
<option value="{{i}}" {{selected}}>{{i}}</option> <option value="{{i}}" {{selected}}>{{i}}</option>
{% endfor %} {% endfor %}
@@ -126,8 +125,6 @@
<div class="card-body"> <div class="card-body">
<h3>RAPPORT</h3> <h3>RAPPORT</h3>
<div class="small"> <div class="small">
<div class="new-page">&nbsp;</div>
{% for month in project.months %} {% for month in project.months %}
<h3 class="month">{{ month.monthlabel }}</h3> <h3 class="month">{{ month.monthlabel }}</h3>
@@ -179,21 +176,15 @@
<td class="text-right">{{ month.totala|number_format(2, '.', ' ') }}</td> <td class="text-right">{{ month.totala|number_format(2, '.', ' ') }}</td>
</tr> </tr>
{% endif %} {% endif %}
<tfoot> <tfoot>
<tr> <tr>
<td style="min-width:200px">TOTAL</td> <td style="min-width:200px">TOTAL</td>
<td class="text-right" style="min-width:100px">{{ (month.total + month.totala)|number_format(2, '.', ' ') }}</td> <td class="text-right" style="min-width:100px">{{ (month.total + month.totala)|number_format(2, '.', ' ') }}</td>
</tr> </tr>
</tfoot> </tfoot>
</table> </table>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
<h4>CUMUL HEBDOMADAIRE</h4> <h4>CUMUL HEBDOMADAIRE</h4>
<table> <table>
{% for year, weeks in project.weeks %} {% for year, weeks in project.weeks %}
@@ -204,22 +195,21 @@
{% for week in weeks %} {% for week in weeks %}
<th class="text-center"> <th class="text-center">
S{{ week.weeknumber}} S{{ week.weeknumber}}
</th> </th>
{% endfor %} {% endfor %}
</thead> </thead>
<tr class="text-center"> <tr class="text-center">
<td class="text-center"> <td class="text-center">
</td> </td>
{% for week in weeks %} {% for week in weeks %}
<td class="text-center"> <td class="text-center">
{{ week.cumul}} {{ week.cumul}}
</td> </td>
{% endfor %} {% endfor %}
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
<div class="new-page">&nbsp;</div>
{% if not project.offers is empty %} {% if not project.offers is empty %}
<h4>COMMANDES</h4> <h4>COMMANDES</h4>
{% set count=(project.offers|length)-8 %} {% set count=(project.offers|length)-8 %}
@@ -236,15 +226,15 @@
</thead> </thead>
{% set tot=0 %} {% set tot=0 %}
{% for offer in project.offers %} {% for offer in project.offers %}
{% if loop.index<count %} {% if loop.index<count %}
{% set totbefore10=totbefore10+offer.quantity %} {% set totbefore10=totbefore10+offer.quantity %}
{% if loop.index+1==count %} {% if loop.index+1==count %}
<tr> <tr>
<td colspan="2">Précédente</td> <td colspan="2">Précédente</td>
<td class="text-right">{{ totbefore10|number_format(2, '.', ' ') }}</td> <td class="text-right">{{ totbefore10|number_format(2, '.', ' ') }}</td>
<td class="text-right"> <td class="text-right">
{% if decovalidate >= totbefore10 %} {% if decovalidate >= totbefore10 %}
{{ totbefore10|number_format(2, '.', ' ') }} {{ totbefore10|number_format(2, '.', ' ') }}
{% set todel=totbefore10 %} {% set todel=totbefore10 %}
{% else %} {% else %}
@@ -272,9 +262,9 @@
<td>{{ offer.name }}</td> <td>{{ offer.name }}</td>
<td>{{ offer.ref }}</td> <td>{{ offer.ref }}</td>
<td class="text-right">{{ offer.quantity|number_format(2, '.', ' ') }}</td> <td class="text-right">{{ offer.quantity|number_format(2, '.', ' ') }}</td>
<td class="text-right"> <td class="text-right">
{% if decovalidate >= offer.quantity %} {% if decovalidate >= offer.quantity %}
{{ offer.quantity|number_format(2, '.', ' ') }} {{ offer.quantity|number_format(2, '.', ' ') }}
{% set todel=offer.quantity %} {% set todel=offer.quantity %}
{% else %} {% else %}
@@ -299,9 +289,9 @@
<td>{{ offer.name }}</td> <td>{{ offer.name }}</td>
<td>{{ offer.ref }}</td> <td>{{ offer.ref }}</td>
<td class="text-right">{{ offer.quantity|number_format(2, '.', ' ') }}</td> <td class="text-right">{{ offer.quantity|number_format(2, '.', ' ') }}</td>
<td class="text-right"> <td class="text-right">
{% if decovalidate >= 0 %} {% if decovalidate >= 0 %}
{{ decovalidate|number_format(2, '.', ' ') }} {{ decovalidate|number_format(2, '.', ' ') }}
{% set todel=decovalidate %} {% set todel=decovalidate %}
{% else %} {% else %}
@@ -316,7 +306,7 @@
{% set decoproposed=decoproposed-totbefore10 %} {% set decoproposed=decoproposed-totbefore10 %}
</td> </td>
</tr> </tr>
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
<tfoot> <tfoot>
@@ -326,8 +316,6 @@
<td class="text-right">{{ (project.proposed - project.validate)|number_format(2, '.', ' ') }}</td> <td class="text-right">{{ (project.proposed - project.validate)|number_format(2, '.', ' ') }}</td>
</tfoot> </tfoot>
</table> </table>
<div class="new-page">&nbsp;</div>
{% endif %} {% endif %}
<h4>CONSOMMATION PASSEE</h4> <h4>CONSOMMATION PASSEE</h4>
{% if project.hors!=0 %} {% if project.hors!=0 %}
@@ -358,7 +346,6 @@
</tr> </tr>
{% endfor %} {% endfor %}
</table> </table>
{% if not project.beforeastreinte is empty %} {% if not project.beforeastreinte is empty %}
<h4>ASTREINTES PASSEES</h4> <h4>ASTREINTES PASSEES</h4>
@@ -389,6 +376,8 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
</div>
<div class="new-page">&nbsp;</div>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
<br> <br>

View File

@@ -0,0 +1,161 @@
{% extends 'base.html.twig' %}
{% block body %}
<h1 class="page-header">
STATISTIQUES
</h1>
<div class="row">
<div class="col-md-12">
<div class="card homecard" style="width: 100%; height: 520px;">
<div class="card-header">
CADOLES
</div>
<div class="card-body">
<div id="chart-c" style="height: 250px;"></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card homecard" style="width: 100%; height: 520px;">
<div class="card-header">
DEV
</div>
<div class="card-body">
<div id="chart-1" style="height: 250px;"></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card homecard" style="width: 100%; height: 520px;">
<div class="card-header">
CSS
</div>
<div class="card-body">
<div id="chart-3" style="height: 250px;"></div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block localjavascript %}
$(document).ready(function() {
graphCadoles();
graphDEV();
graphCSS();
});
function graphCadoles() {
new Morris.Line({
element: 'chart-c',
xkey: 'month',
ymax: 350,
ykeys: [
'Total',
{% for nature in tbnatures %}
'{{ nature.name }}',
{% endfor %}
],
data: [
{% for month in tbmonths %}
{ month: '{{ month.name }}',
{% for nature in month.natures %}
{% if loop.first %}
'Total': {{ nature.totalmonth }},
{% endif %}
'{{ nature.name }}': {{ nature.totalnature }},
{% endfor %}
},
{% endfor %}
],
labels: [
'Total',
{% for nature in tbnatures %}
'{{ nature.name }}',
{% endfor %}
]
});
}
function graphDEV() {
new Morris.Line({
element: 'chart-1',
xkey: 'month',
ymax: 160,
ykeys: [
'Total',
{% for nature in tbnatures %}
'{{ nature.name }}',
{% endfor %}
],
data: [
{% for month in tbmonths %}
{ month: '{{ month.name }}',
{% for nature in month.services[1].natures %}
{% if loop.first %}
'Total': {{ nature.totalservice }},
{% endif %}
'{{ nature.name }}': {{ nature.totalnature }},
{% endfor %}
},
{% endfor %}
],
labels: [
'Total',
{% for nature in tbnatures %}
'{{ nature.name }}',
{% endfor %}
]
});
}
function graphCSS() {
new Morris.Line({
element: 'chart-3',
xkey: 'month',
ymax: 160,
ykeys: [
'Total',
{% for nature in tbnatures %}
'{{ nature.name }}',
{% endfor %}
],
data: [
{% for month in tbmonths %}
{ month: '{{ month.name }}',
{% for nature in month.services[3].natures %}
{% if loop.first %}
'Total': {{ nature.totalservice }},
{% endif %}
'{{ nature.name }}': {{ nature.totalnature }},
{% endfor %}
},
{% endfor %}
],
labels: [
'Total',
{% for nature in tbnatures %}
'{{ nature.name }}',
{% endfor %}
]
});
}
{% endblock %}
{% block localexternalscript %}
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
{% endblock %}

View File

@@ -54,6 +54,7 @@
{{ form_row(form.name) }} {{ form_row(form.name) }}
{{ form_row(form.project) }} {{ form_row(form.project) }}
{{ form_row(form.nature) }} {{ form_row(form.nature) }}
{{ form_row(form.active) }}
{{ form_row(form.quantity) }} {{ form_row(form.quantity) }}
{{ form_row(form.color) }} {{ form_row(form.color) }}
</div> </div>

View File

@@ -13,7 +13,7 @@
thead { thead {
display: table-header-group; display: table-header-group;
} }
tr { page-break-inside: avoid; } tr { page-break-inside: avoid; }
{%endif%} {%endif%}
{% endblock %} {% endblock %}
@@ -30,6 +30,11 @@
<label class="custom-control-label" for="switchactive">Projet Actif</label> <label class="custom-control-label" for="switchactive">Projet Actif</label>
</div> </div>
<div class="custom-control custom-switch float-right" style="margin-right:20px">
<input type="checkbox" class="custom-control-input" id="switchactivetask" {% if app.session.get('activetask') %} checked {% endif %}>
<label class="custom-control-label" for="switchactivetask">Tâche Active</label>
</div>
<p></p> <p></p>
{%for service in services %} {%for service in services %}
@@ -44,7 +49,7 @@
{% endif %} {% endif %}
{% set haveproject=true %} {% set haveproject=true %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% if haveproject and havetask %} {% if haveproject and havetask %}
@@ -63,6 +68,7 @@
<th width="100px">Nature</th> <th width="100px">Nature</th>
<th width="100px">Projet</th> <th width="100px">Projet</th>
<th>Tâche</th> <th>Tâche</th>
<th>Actif</th>
<th width="100px" class="text-center no-string">Estimation</th> <th width="100px" class="text-center no-string">Estimation</th>
<th width="100px" class="text-center no-string">Validé</th> <th width="100px" class="text-center no-string">Validé</th>
<th width="100px" class="text-center no-string">Planifié</th> <th width="100px" class="text-center no-string">Planifié</th>
@@ -74,6 +80,7 @@
{% for project in service.projects %} {% for project in service.projects %}
{% if app.session.get('activeproject')==project.active and (app.session.get('idproject')=="all" or app.session.get('idproject')==project.id) %} {% if app.session.get('activeproject')==project.active and (app.session.get('idproject')=="all" or app.session.get('idproject')==project.id) %}
{% for task in project.tasks %} {% for task in project.tasks %}
{% if app.session.get('activetask')==task.active %}
{% set totvalidate=task.validate %} {% set totvalidate=task.validate %}
{% set totplanified=task.validate %} {% set totplanified=task.validate %}
{% for event in task.events %} {% for event in task.events %}
@@ -99,12 +106,14 @@
<td>{{task.nature.name}}</td> <td>{{task.nature.name}}</td>
<td>{{task.project.name}}</td> <td>{{task.project.name}}</td>
<td>{{task.name}}</td> <td>{{task.name}}</td>
<td>{{task.active ? "actif":"non-actif"}}</td>
<td class="text-right">{{task.quantity|number_format(2, '.', ' ')}}</td> <td class="text-right">{{task.quantity|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{(totvalidate*-1)|number_format(2, '.', ' ')}}</td> <td class="text-right">{{(totvalidate*-1)|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{((totplanified-totvalidate)*-1)|number_format(2, '.', ' ')}}</td> <td class="text-right">{{((totplanified-totvalidate)*-1)|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{(task.quantity-totplanified)|number_format(2, '.', ' ')}}</td> <td class="text-right">{{(task.quantity-totplanified)|number_format(2, '.', ' ')}}</td>
<td class="text-center" style="background-color:{{task.color}}; color:#ffffff">{{task.color}}</td> <td class="text-center" style="background-color:{{task.color}}; color:#ffffff">{{task.color}}</td>
</tr> </tr>
{% endif %}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
@@ -129,17 +138,20 @@
order: [[ 1, "asc" ]] order: [[ 1, "asc" ]]
}); });
{%else%} {%else%}
$('#dataTables').removeClass("table table-striped table-bordered table-hover small dataTable no-footer"); $('#dataTables').removeClass("table table-striped table-bordered table-hover small dataTable no-footer");
{% endif %} {% endif %}
}); });
$('#switchactive').change(function() { $('#switchactive').change(function() {
window.location="{{ path('app_task_activeproject' )}}"; window.location="{{ path('app_task_activeproject' )}}";
}); });
$('#switchactivetask').change(function() {
window.location="{{ path('app_task_activetask' )}}";
});
function myprint() { function myprint() {
href=document.location.href; href=document.location.href;
document.location.href=href+"?fgprint=true"; document.location.href=href+"?fgprint=true";
} }
{% endblock %} {% endblock %}

View File

@@ -7,6 +7,13 @@
#timer-desc { #timer-desc {
width:300px; width:300px;
} }
.select2-results__group {
font-size:12px !important;
}
.select2-results__option{
font-size: 14px;
padding-left:15px
}
{% endblock %} {% endblock %}
{% block body %} {% block body %}
@@ -14,21 +21,33 @@
SUIVI HORAIRE SUIVI HORAIRE
</h1> </h1>
<div id="timer" class="card"> <div id="timer" class="card">
<div class="card-header"> <div class="card-header">
<a class="btn btn-success" style="float:right" href={{ path('app_timer_submit') }}>Créer un Timer</a>
<a class="btn btn-success" style="float:right" href={{ path('app_timer_submit') }}>Créer un Timer</a>
{% if user %}
Lancer un Timer : Lancer un Timer :
<select class="select2entity" id="timer-task" name="timer-task"> <select class="select2entity" id="timer-task" name="timer-task">
<option> Tâche </option> <option></option>
{% for task in tasks %} {% for project in projects|sort((a, b) => a.displayname <=> b.displayname) %}
<option value="{{task.id}}">{{task.displayname}}</option> <optgroup label="{{project.displayname}}">
{% for task in project.tasks|sort((a, b) => a.displayname <=> b.displayname) %}
<option value="{{task.id}}">{{task.displayname}}</option>
{% endfor %}
</optgroup>
{% endfor %} {% endfor %}
</select> </select>
<input id="timer-desc" name="timer-desc" placeholder="Description" /> <input id="timer-desc" name="timer-desc" placeholder="Description" />
<a href='#' title='Add' id='addtimer'> <a href='#' title='Add' id='addtimer'>
<i class='fas fa-plus-circle'></i> <i class='fas fa-plus-circle'></i>
</a> </a>
{% else %}
Veuillez choisir un Intervenant pour lancer un Timer.
{% endif %}
</div> </div>
</div> </div>
<div> <div>

View File

@@ -216,7 +216,7 @@
</div> </div>
<ul class="nav navbar-top-links navbar-right"> <ul class="nav navbar-top-links navbar-right">
{% if app.user %} {% if app.user and ("ROLE_USER" in app.user.roles or "ROLE_MASTER" in app.user.roles or "ROLE_VALIDATOR" in app.user.roles or "ROLE_ADMIN" in app.user.roles)%}
<li> <li>
<a href="{{path("app_user_profil")}}"> <a href="{{path("app_user_profil")}}">
<img src="\{{appAlias}}\uploads\avatar\{{app.user.avatar}}" class="avatar"> <img src="\{{appAlias}}\uploads\avatar\{{app.user.avatar}}" class="avatar">
@@ -277,27 +277,36 @@
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
<a>
<label class="control-label">
Service
</label>
</a>
<div class="select-control">
<select class="form-control select2entity" id="sideservice" name="sideservice">
<option value="all" selected>Tous les services</option>
{% for service in app.session.get('services') %}
{% set selected="" %}
{%if service.id==app.session.get('idservice') %}
{% set selected="selected" %}
{% endif %}
<option value="{{service.id}}" {{selected}}>{{service.name}}</option>
{% endfor %}
</select>
</div>
<a> <a>
<label class="control-label"> <label class="control-label">
Intervenant Intervenant
</label> </label>
</a> </a>
<div class="select-control"> <div class="select-control">
<select class="form-control select2entity" id="sideuser" name="sideuser" multiple> <select class="form-control select2entity" id="sideuser" name="sideuser">
<option value="all" {%if app.session.get('iduser')=="all" %}selected{% endif %}>Tout le monde</option> <option value="all" selected>Tout le monde</option>
{% for user in app.session.get('users') %} {% for user in app.session.get('users') %}
{% set selected="" %} {% set selected="" %}
{% if app.session.get('selectedusers')|length > 1 %} {%if user.id==app.session.get('iduser') %}
{% for suser in app.session.get('selectedusers') %} {% set selected="selected" %}
{%if user.id == suser %}
{% set selected="selected" %}
{% endif %}
{% endfor %}
{% else %}
{%if user.id==app.session.get('iduser') %}
{% set selected="selected" %}
{% endif %}
{% endif %} {% endif %}
<option value="{{user.id}}" {{selected}}>{{user.displayname}}</option> <option value="{{user.id}}" {{selected}}>{{user.displayname}}</option>
{% endfor %} {% endfor %}
@@ -311,7 +320,7 @@
</a> </a>
<div class="select-control"> <div class="select-control">
<select class="form-control select2entity" id="sideproject" name="sideproject"> <select class="form-control select2entity" id="sideproject" name="sideproject">
<option value="all" selected>Tout les projets</option> <option value="all" selected>Tous les projets</option>
{% for project in app.session.get('projects') %} {% for project in app.session.get('projects') %}
{% set selected="" %} {% set selected="" %}
{%if project.id==app.session.get('idproject') %} {%if project.id==app.session.get('idproject') %}
@@ -321,23 +330,7 @@
{% endfor %} {% endfor %}
</select> </select>
</div> </div>
<a>
<label class="control-label">
Service
</label>
</a>
<div class="select-control">
<select class="form-control select2entity" id="sideservice" name="sideservice">
<option value="all" selected>Tout les services</option>
{% for service in app.session.get('services') %}
{% set selected="" %}
{%if service.id==app.session.get('idservice') %}
{% set selected="selected" %}
{% endif %}
<option value="{{service.id}}" {{selected}}>{{service.name}}</option>
{% endfor %}
</select>
</div>
</li> </li>
<li class="last"></li> <li class="last"></li>
@@ -379,7 +372,13 @@
</a> </a>
</li> </li>
<li class="last"> <li>
<a href="{{path("app_stat_view")}}">
<i class="fas fa-chart-line"></i>Statistiques
</a>
</li>
<li class="last">
<a href="{{path("app_export_view")}}"> <a href="{{path("app_export_view")}}">
<i class="fa fa-file-download"></i>Exports <i class="fa fa-file-download"></i>Exports
</a> </a>
@@ -520,13 +519,10 @@
$('#sideuser').on('select2:select', function (e) { $('#sideuser').on('select2:select', function (e) {
var data = e.params.data; var data = e.params.data;
var selectedusers = $('#sideuser').val();
console.log(selectedusers)
$.ajax({ $.ajax({
type: "POST", type: "POST",
data: { data: {
iduser: data.id, iduser: data.id,
selectedusers: selectedusers,
}, },
url: "{{ path('app_home_selectuser') }}", url: "{{ path('app_home_selectuser') }}",
success: function (response) { success: function (response) {

View File

@@ -6,7 +6,7 @@ APP_AUTH=CAS
# MAIL sendmail / smtp # MAIL sendmail / smtp
MAILER_METHOD=sendmail MAILER_METHOD=sendmail
MAILER_URL= MAILER_URL=%%getVar('schedule_email_url', '')
MAILER_NOREPLY=noreply@noreply.fr MAILER_NOREPLY=noreply@noreply.fr
MAILER_DEFAULT_NOTIF=%%getVar('schedule_email_global_notif', '') MAILER_DEFAULT_NOTIF=%%getVar('schedule_email_global_notif', '')
@@ -35,4 +35,19 @@ DATABASE_HOST=%%adresse_ip_mysql
# CAS = Redefine local # CAS = Redefine local
CAS_HOST=%%eolesso_adresse CAS_HOST=%%eolesso_adresse
CAS_PORT=%%eolesso_port CAS_PORT=%%eolesso_port
CAS_PATH=%%eolesso_cas_folder CAS_PATH=%%eolesso_cas_folder
OFFICE_HOUR_START=%%getVar('schedule_office_hour_start', '')
OFFICE_HOUR_END=%%getVar('schedule_office_hour_end', '')
## Sentry DSN
SENTRY_DSN=%%getVar('schedule_sentry_dsn', '')
## Dolibarr
%if %%getVar('schedule_dolibarr_api', '') == 'oui'
DOLIBARR_ACTIVE=true
%else
DOLIBARR_ACTIVE=false
%end if
DOLIBARR_API_KEY=%%getVar('schedule_dolibarr_apikey', '')
DOLIBARR_URI=%%getVar('schedule_dolibarr_uri', '')