diff --git a/dicos/30_cadolesuser.xml b/dicos/30_cadolesuser.xml
index 54950501..e6985013 100644
--- a/dicos/30_cadolesuser.xml
+++ b/dicos/30_cadolesuser.xml
@@ -10,7 +10,7 @@
-
+
cadolesuser
@@ -24,8 +24,11 @@
oui
- oui
- oui
+ SQL
+ SQL
+
+ oui
+ oui
@@ -125,6 +128,14 @@
cadolesuser_dbpass
+
+ LDAP
+ SSO
+
+ cadolesuser_syncldap
+ cadolesuser_synceportail
+
+
non
@@ -146,6 +157,14 @@
cadolesuser_niveau02icon
+
+ ['LDAP', 'SQL', 'SSO']
+
+
+
+ ['CAS', 'SAML', 'SQL', 'LDAP']
+
+
['none', 'byuser', 'byadmin']
diff --git a/src/cadolesuser-1.0/.gitignore b/src/cadolesuser-1.0/.gitignore
index eff21c3e..fead21ad 100644
--- a/src/cadolesuser-1.0/.gitignore
+++ b/src/cadolesuser-1.0/.gitignore
@@ -16,10 +16,26 @@
/var/sessions/*
!var/sessions/.gitkeep
!var/SymfonyRequirements.php
+/vendor/
/web/bundles/
+/web/js/*
+/web/css/*
+/web/fonts/*
!/web/uploads/avatar
/web/uploads/avatar/*
!/web/uploads/avatar/.gitkeep
!/web/uploads/avatar/noavatar.png
!/web/uploads/avatar/admin.jpg
!/web/uploads/avatar/system.jpg
+!/web/uploads/logo
+/web/uploads/logo/*
+!/web/uploads/logo/.gitkeep
+!/web/uploads/logo/logo.png
+!/web/uploads/header
+/web/uploads/header/*
+!/web/uploads/header/.gitkeep
+!/web/uploads/header/header.png
+!/web/uploads/icon
+/web/uploads/icon/*
+!/web/uploads/icon/.gitkeep
+!/web/uploads/icon/icon_*.png
diff --git a/src/cadolesuser-1.0/app/AppKernel.php b/src/cadolesuser-1.0/app/AppKernel.php
index 4ab922b0..18b8dc5d 100644
--- a/src/cadolesuser-1.0/app/AppKernel.php
+++ b/src/cadolesuser-1.0/app/AppKernel.php
@@ -25,8 +25,16 @@ class AppKernel extends Kernel
new Oneup\UploaderBundle\OneupUploaderBundle(),
new Tetranz\Select2EntityBundle\TetranzSelect2EntityBundle(),
+
new AppBundle\AppBundle(),
- new Cadoles\CoreBundle\CadolesCoreBundle(),
+
+ new LightSaml\SymfonyBridgeBundle\LightSamlSymfonyBridgeBundle(),
+ new LightSaml\SpBundle\LightSamlSpBundle(),
+ new Cadoles\SAMLBundle\CadolesSAMLBundle(),
+
+ new Cadoles\CASBundle\CadolesCASBundle(),
+
+ new Cadoles\CoreBundle\CadolesCoreBundle()
];
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
diff --git a/src/cadolesuser-1.0/app/config/config.yml b/src/cadolesuser-1.0/app/config/config.yml
index f62e760d..38e2267d 100644
--- a/src/cadolesuser-1.0/app/config/config.yml
+++ b/src/cadolesuser-1.0/app/config/config.yml
@@ -1,7 +1,6 @@
imports:
- { resource: parameters.yml }
- { resource: template.yml }
- - { resource: local.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: "@CadolesCoreBundle/Resources/config/services.yml" }
@@ -107,6 +106,22 @@ oneup_uploader:
mappings:
avatar:
frontend: dropzone # or any uploader you use in the frontend
-
+ logo:
+ frontend: dropzone # or any uploader you use in the frontend
+ header:
+ frontend: dropzone # or any uploader you use in the frontend
# gregwar captcha configuration
gregwar_captcha: ~
+
+#light_saml
+light_saml_symfony_bridge:
+ own:
+ entity_id: '%saml_entityid%'
+ credentials:
+ -
+ certificate: "%kernel.root_dir%/../vendor/lightsaml/lightsaml/web/sp/saml.crt"
+ key: "%kernel.root_dir%/../vendor/lightsaml/lightsaml/web/sp/saml.key"
+ password: ~
+ party:
+ idp:
+ files: '%saml_idps_list%'
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/app/config/local.yml b/src/cadolesuser-1.0/app/config/local.yml
deleted file mode 100644
index a2d325b9..00000000
--- a/src/cadolesuser-1.0/app/config/local.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-# Parametres spécifiques local (ne sera pas écrasé par un reconfigure)
-parameters:
- alias: cadolesuser # Alias apache de l'application
- appname: CADOLES USER # Nom de l'application
- logo: uploads/logo/logo.png # Localisation du logo
diff --git a/src/cadolesuser-1.0/app/config/routing.yml b/src/cadolesuser-1.0/app/config/routing.yml
index faa5ec74..8c74772b 100644
--- a/src/cadolesuser-1.0/app/config/routing.yml
+++ b/src/cadolesuser-1.0/app/config/routing.yml
@@ -2,6 +2,14 @@ core:
resource: "@CadolesCoreBundle/Resources/config/routing.yml"
prefix: /
+lightsaml_sp:
+ resource: "@LightSamlSpBundle/Resources/config/routing.yml"
+ prefix: saml
+
+cas_sp:
+ resource: "@CadolesCASBundle/Resources/config/routing.yml"
+ prefix: cas
+
oneup_uploader:
resource: .
type: uploader
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/app/config/security.yml b/src/cadolesuser-1.0/app/config/security.yml
index a7bfa9e3..15f3ce00 100644
--- a/src/cadolesuser-1.0/app/config/security.yml
+++ b/src/cadolesuser-1.0/app/config/security.yml
@@ -1,8 +1,4 @@
-# To get started with security, check out the documentation:
-# http://symfony.com/doc/current/security.html
security:
-
- # http://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
providers:
cadoles_core_db_provider:
entity:
@@ -16,19 +12,13 @@ security:
id: cadoles.core.password.encoder
firewalls:
- # disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
provider: cadoles_core_db_provider
-
anonymous: ~
- # activate different ways to authenticate
-
- # http_basic: ~
- # http://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate
form_login:
login_path: cadoles_core_login
@@ -37,16 +27,20 @@ security:
target_path_parameter: cadoles_core_home
csrf_parameter: _csrf_security_token
csrf_token_id: a_private_string
-
+
logout:
invalidate_session: true
- path: cadoles_core_logout
- target: cadoles_core_kill
-
- # http://symfony.com/doc/current/cookbook/security/form_login_setup.html
+ path: cadoles_core_kill
+ target: cadoles_core_home
+
+ light_saml_sp:
+ provider: cadoles_core_db_provider
+ user_creator: cadoles.saml_user_creator
+ username_mapper: cadoles.saml_user_mapper
+ login_path: /saml/login
+ check_path: /saml/acs
access_control:
- # Config route
- { path: ^/profil, roles: [ROLE_ADMIN, ROLE_MODO, ROLE_USER] }
- { path: ^/config/home, roles: [ROLE_ADMIN, ROLE_MODO] }
- { path: ^/config/niveau02, roles: [ROLE_ADMIN, ROLE_MODO] }
diff --git a/src/cadolesuser-1.0/app/config/template.yml b/src/cadolesuser-1.0/app/config/template.yml
index c2b1febe..38d784b0 100644
--- a/src/cadolesuser-1.0/app/config/template.yml
+++ b/src/cadolesuser-1.0/app/config/template.yml
@@ -1,29 +1,66 @@
# This file is auto-generated during the composer install
parameters:
- mode_auth: CAS # SQL / LDAP / CAS
+ # Determine qui est le maitre de l'identitité = SQL / LDAP / SSO
+ # Si SQL cela veut dire que c'est l'applicatif qui gère les utilisateurs
+ # Sinon la source est externe soit via un annuaire soit via des attributs venant d'un SSO
+ # Si la source est externe de fait pas de module d'inscription ni de reset de password
+ # Et pas de synchronisation vers un annuaire ou vers ePortail
+ masteridentity: LDAP
- ldap_sync: true
+ # Mode d'authentification soit SQL / LDAP / CAS / SAML
+ # Pour l'instant SQL - CAS - SAML Reste à faire LDAP
+ # Attention si le masteridentity est différent de SQL le mode d'authentification est forcement différent de SQL
+ # Car aucune synchronisation des password n'est possible
+ mode_auth: CAS
+ # Mode de registration : none / byuser / byadmin
+ # none = désactivation de l'inscription mais reset de password possible
+ # byuser = aucune validation par un administrateur, l'utilisateur valide son inscription par lui-même
+ # byadmin = validation de l'inscription par un administrateur, sauf si domaine de messagerie dans la liste blanche
+ moderegistration: none
+
+ # Information de base de l'annuaire
ldap_host: 127.0.0.1
ldap_port: 389
ldap_user: cn=admin,o=gouv,c=fr
ldap_password: eole
ldap_basedn: o=gouv,c=fr
- ldap_baseuser: ou=users,ou=cadoles,o=gouv,c=fr
- ldap_baseniveau01: ou=departement,ou=cadoles,o=gouv,c=fr
- ldap_baseniveau02: ou=service,ou=cadoles,o=gouv,c=fr
- ldap_basegroup: ou=groups,ou=cadoles,o=gouv,c=fr
+ # Mise en page
+ alias: cadolesuser
+ libelle_etab: ldapbundle
+ numero_etab: 0000000A
colormain: 428BCA # Couleur principale
fontcolorhover: FFFFFF # Couleur des polices sur fond de couleur principale
keyterm: 8 # Taille mini du password
- moderegistration: byadmin # Mode de registration : none / byuser / byadmin
- labelniveau01: Département # Label singulier du niveau 01 d'organisation
- labelsniveau01: Départements # Label pluriel du niveau 01 d'organisation
+ labelniveau01: Ecole # Label singulier du niveau 01 d'organisation
+ labelsniveau01: Ecoles # Label pluriel du niveau 01 d'organisation
iconniveau01: fa-building # Icon du niveau 01 d'organisation
- labelniveau02: Service # Label singulier du niveau 02 d'organisation
- labelsniveau02: Services # Label pluriel du niveau 02 d'organisation
- iconniveau02: fa-sitemap # Icon du niveau 02 d'organisation
+ labelsirenniveau01: SIREN # Label SIREN
+ viewniveau02: false # Gérer un niveau 02 d'organisation
+ labelniveau02: niveau02 # Label singulier du niveau 02 d'organisation
+ labelsniveau02: niveaus02 # Label pluriel du niveau 02 d'organisation
+ iconniveau02: fa-sitemap # Icon du niveau 02 d'organisation
+ labelsiretniveau02: SIRET # Label SIRET
+
+ # Si masteridentity est à SQL = où sont synchronisées les datas dans l'annuaire
+ ldap_sync: false
+ ldap_baseuser:
+ ldap_baseniveau01:
+ ldap_baseniveau02:
+ ldap_basegroup:
+
+ # Si masteridentity est à LDAP = quel est le modele d'organisation
+ # Si open = rien de particulier
+ # Si scribe = on génére des groupes correspondant au profil / classe / niveau / option
+ ldap_template: scribe
+
+ # Si masteridentity est à LDAP = quel champs sont à récupérer
+ ldap_username: uid
+ ldap_firstname: givenname
+ ldap_lastname: sn
+ ldap_email: mail
+ ldap_usersadmin: [admin,prof.6a]
eportail_sync: false
eportail_url: # /eportail
@@ -34,31 +71,51 @@ parameters:
eportail_database_user: # eportail
eportail_database_password: # "changme"
+ # Si mode_auth = CAS
+ cas_host: ldapbundle.ac-arno.fr
+ cas_path: ~
+ cas_port: 8443
+
+ # Si mode_aut = SAML
+ saml_entityid: 'http://dev.nuonet.cadoles'
+ saml_logout_url: 'http://172.27.7.67:8088/idp/profile/Logout'
+ saml_idps_list: ['http://172.27.7.67:8088/idp/shibboleth']
+
+ # Si mode_auth = CAS ou SAML les attributs permettant de matché avec les utilisateurs
+ user_attr_cas_username: username
+ user_attr_cas_mail: email
+ user_attr_cas_lastname: lastname
+ user_attr_cas_firstname: firstname
+
+ user_attr_saml_username: eduPersonPrincipalName
+ user_attr_saml_mail: mail
+ user_attr_saml_lastname: sn
+ user_attr_saml_firstname: givenName
+
mailer_port: '2525'
mailer_encryption: null
mailer_authmode: null
noreply: noreply@ldapbundle.ac-arno.fr
-# Doctrine Configuration for eportail
-#doctrine:
-# dbal:
-# connections:
-# eportail:
-# driver: pdo_mysql
-# host: '%eportail_database_host%'
-# port: '%eportail_database_port%'
-# dbname: '%eportail_database_name%'
-# user: '%eportail_database_user%'
-# password: '%eportail_database_password%'
-# charset: UTF8
-# orm:
-# default_entity_manager: default
-# entity_managers:
-# default:
-# connection: default
-# mappings:
-# CadolesCoreBundle: ~
-# eportail:
-# connection: eportail
-# mappings:
-# CadolesCoreBundle: ~
\ No newline at end of file
+# Doctrine Configuration
+doctrine:
+ dbal:
+ default_connection: default
+ connections:
+ default:
+ driver: pdo_mysql
+ host: '%database_host%'
+ port: '%database_port%'
+ dbname: '%database_name%'
+ user: '%database_user%'
+ password: '%database_password%'
+ charset: UTF8
+ orm:
+ default_entity_manager: default
+ entity_managers:
+ default:
+ connection: default
+ mappings:
+ CadolesCoreBundle: ~
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/app/config/twig.yml b/src/cadolesuser-1.0/app/config/twig.yml
index 5ade3c91..c0ec1a4f 100644
--- a/src/cadolesuser-1.0/app/config/twig.yml
+++ b/src/cadolesuser-1.0/app/config/twig.yml
@@ -2,9 +2,10 @@
twig:
globals:
alias: %alias%
- appname: %appname%
- logo: %logo%
+ masteridentity: %masteridentity%
+ mode_auth: %mode_auth%
+
eportail_sync: %eportail_sync%
moderegistration: %moderegistration%
labelniveau01: %labelniveau01%
diff --git a/src/cadolesuser-1.0/composer.json b/src/cadolesuser-1.0/composer.json
index 38a47d43..d079f038 100644
--- a/src/cadolesuser-1.0/composer.json
+++ b/src/cadolesuser-1.0/composer.json
@@ -5,14 +5,9 @@
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-4": {
- "AppBundle\\": "src/AppBundle",
- "Cadoles\\CoreBundle\\": "src/Cadoles/CoreBundle"
+ "": "src/"
},
- "classmap": [ "app/AppKernel.php", "app/AppCache.php" ],
- "files" : [
- "/usr/share/php/CAS/eoleCAS.php",
- "/usr/share/php/configCAS/cas.inc.php"
- ]
+ "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},
"autoload-dev": {
"psr-4": { "Tests\\": "tests/" },
@@ -39,7 +34,10 @@
"symfony/swiftmailer-bundle": "^2.6.4",
"symfony/symfony": "3.4.*",
"tetranz/select2entity-bundle": "2.*",
- "twig/twig": "^1.0||^2.0"
+ "twig/twig": "^1.0||^2.0",
+
+ "lightsaml/sp-bundle": "^1.2",
+ "jasig/phpcas": "~1.3"
},
"require-dev": {
"sensio/generator-bundle": "^3.0",
diff --git a/src/cadolesuser-1.0/composer.lock b/src/cadolesuser-1.0/composer.lock
index 24926bc3..c75c1ce5 100644
--- a/src/cadolesuser-1.0/composer.lock
+++ b/src/cadolesuser-1.0/composer.lock
@@ -4,21 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "4bf005722be0be2b0b9a7646e1089952",
- "content-hash": "515644ac69e746b61bcd9f326e75c78f",
+ "hash": "c141093eaee870ccf4cbfbc4b7286f1b",
+ "content-hash": "212be3bef6194e471c90d1ffdd6f93ea",
"packages": [
{
"name": "composer/ca-bundle",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660"
+ "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8afa52cd417f4ec417b4bfe86b68106538a87660",
- "reference": "8afa52cd417f4ec417b4bfe86b68106538a87660",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/558f321c52faeb4828c03e7dc0cfe39a09e09a2d",
+ "reference": "558f321c52faeb4828c03e7dc0cfe39a09e09a2d",
"shasum": ""
},
"require": {
@@ -61,7 +61,7 @@
"ssl",
"tls"
],
- "time": "2018-10-18 06:09:13"
+ "time": "2019-01-28 09:30:10"
},
{
"name": "doctrine/annotations",
@@ -473,16 +473,16 @@
},
{
"name": "doctrine/doctrine-bundle",
- "version": "1.9.1",
+ "version": "1.10.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineBundle.git",
- "reference": "703fad32e4c8cbe609caf45a71a1d4266c830f0f"
+ "reference": "1f99e6645030542079c57d4680601a4a8778a1bd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/703fad32e4c8cbe609caf45a71a1d4266c830f0f",
- "reference": "703fad32e4c8cbe609caf45a71a1d4266c830f0f",
+ "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/1f99e6645030542079c57d4680601a4a8778a1bd",
+ "reference": "1f99e6645030542079c57d4680601a4a8778a1bd",
"shasum": ""
},
"require": {
@@ -500,8 +500,8 @@
},
"require-dev": {
"doctrine/orm": "~2.4",
+ "php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^4.8.36|^5.7|^6.4",
- "satooshi/php-coveralls": "^1.0",
"symfony/phpunit-bridge": "~2.7|~3.0|~4.0",
"symfony/property-info": "~2.8|~3.0|~4.0",
"symfony/validator": "~2.7|~3.0|~4.0",
@@ -516,7 +516,7 @@
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "1.8.x-dev"
+ "dev-master": "1.9.x-dev"
}
},
"autoload": {
@@ -554,7 +554,7 @@
"orm",
"persistence"
],
- "time": "2018-04-19 14:07:39"
+ "time": "2019-02-06 13:18:04"
},
{
"name": "doctrine/doctrine-cache-bundle",
@@ -706,16 +706,16 @@
},
{
"name": "doctrine/doctrine-migrations-bundle",
- "version": "v1.3.1",
+ "version": "v1.3.2",
"source": {
"type": "git",
"url": "https://github.com/doctrine/DoctrineMigrationsBundle.git",
- "reference": "a9e506369f931351a2a6dd2aef588a822802b1b7"
+ "reference": "49fa399181db4bf4f9f725126bd1cb65c4398dce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/a9e506369f931351a2a6dd2aef588a822802b1b7",
- "reference": "a9e506369f931351a2a6dd2aef588a822802b1b7",
+ "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/49fa399181db4bf4f9f725126bd1cb65c4398dce",
+ "reference": "49fa399181db4bf4f9f725126bd1cb65c4398dce",
"shasum": ""
},
"require": {
@@ -725,7 +725,7 @@
"symfony/framework-bundle": "~2.7|~3.3|~4.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.36"
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^7.4"
},
"type": "symfony-bundle",
"extra": {
@@ -763,7 +763,7 @@
"migrations",
"schema"
],
- "time": "2017-11-01 09:13:26"
+ "time": "2018-12-03 11:55:33"
},
{
"name": "doctrine/inflector",
@@ -1019,12 +1019,12 @@
"version": "v2.5.14",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/doctrine2.git",
+ "url": "https://github.com/doctrine/orm.git",
"reference": "810a7baf81462a5ddf10e8baa8cb94b6eec02754"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754",
+ "url": "https://api.github.com/repos/doctrine/orm/zipball/810a7baf81462a5ddf10e8baa8cb94b6eec02754",
"reference": "810a7baf81462a5ddf10e8baa8cb94b6eec02754",
"shasum": ""
},
@@ -1302,6 +1302,61 @@
],
"time": "2018-02-13 18:05:56"
},
+ {
+ "name": "jasig/phpcas",
+ "version": "1.3.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/apereo/phpCAS.git",
+ "reference": "7972833e84f6ee5fa41f1479eab5d855109627f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/apereo/phpCAS/zipball/7972833e84f6ee5fa41f1479eab5d855109627f5",
+ "reference": "7972833e84f6ee5fa41f1479eab5d855109627f5",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~3.7.10"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "source/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Joachim Fritschi",
+ "homepage": "https://wiki.jasig.org/display/~fritschi"
+ },
+ {
+ "name": "Adam Franco",
+ "homepage": "https://wiki.jasig.org/display/~adamfranco"
+ }
+ ],
+ "description": "Provides a simple API for authenticating users against a CAS server",
+ "homepage": "https://wiki.jasig.org/display/CASC/phpCAS",
+ "keywords": [
+ "apereo",
+ "cas",
+ "jasig"
+ ],
+ "time": "2018-10-25 20:22:09"
+ },
{
"name": "jdorn/sql-formatter",
"version": "v1.2.17",
@@ -1429,6 +1484,172 @@
],
"time": "2016-11-11 18:43:20"
},
+ {
+ "name": "lightsaml/lightsaml",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lightSAML/lightSAML.git",
+ "reference": "377f04d1fb25f2fb2e72dabeff10b336f1cbe4c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lightSAML/lightSAML/zipball/377f04d1fb25f2fb2e72dabeff10b336f1cbe4c5",
+ "reference": "377f04d1fb25f2fb2e72dabeff10b336f1cbe4c5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6",
+ "robrichards/xmlseclibs": "~2.0|~3.0|~4.0",
+ "symfony/event-dispatcher": "~2.3|~3.0|~4.0",
+ "symfony/http-foundation": "~2.3|~3.0|~4.0"
+ },
+ "require-dev": {
+ "monolog/monolog": "~1.3",
+ "phpunit/phpunit": ">=5.7",
+ "pimple/pimple": "~3.0",
+ "symfony/css-selector": "~2.3|~3.0|~4.0",
+ "symfony/dom-crawler": "~2.3|~3.0|~4.0"
+ },
+ "suggest": {
+ "lightsaml/sp-bundle": "Symfony 2 SP security bundle",
+ "lightsaml/symfony-bridge": "Symfony 2 build container bridge"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "LightSaml\\Tests\\": "tests/",
+ "LightSaml\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Milos Tomic",
+ "email": "tmilos@gmail.com",
+ "homepage": "https://github.com/tmilos/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Light SAML 2.0 PHP library",
+ "homepage": "https://www.lightsaml.com/",
+ "keywords": [
+ "SAML 2.0",
+ "Single Logout",
+ "Single SignOn",
+ "library",
+ "lightSAML",
+ "php"
+ ],
+ "time": "2018-05-28 11:21:22"
+ },
+ {
+ "name": "lightsaml/sp-bundle",
+ "version": "1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lightSAML/SpBundle.git",
+ "reference": "b31182d23d93b696305f57f9a66d6770a53d5f8e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lightSAML/SpBundle/zipball/b31182d23d93b696305f57f9a66d6770a53d5f8e",
+ "reference": "b31182d23d93b696305f57f9a66d6770a53d5f8e",
+ "shasum": ""
+ },
+ "require": {
+ "lightsaml/symfony-bridge": "~1.3",
+ "php": ">=5.6",
+ "symfony/framework-bundle": "~2.7|~3.0|~4.0",
+ "symfony/security-bundle": "~2.7|~3.0|~4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7",
+ "sebastian/comparator": "^1.2.4|~2.0|~3.0",
+ "symfony/monolog-bundle": "~2.7|~3.0|~4.0",
+ "symfony/symfony": "~2.7|~3.0|~4.0"
+ },
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-0": {
+ "LightSaml\\SpBundle\\Tests\\": "tests/",
+ "LightSaml\\SpBundle\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Milos Tomic",
+ "email": "tmilos@gmail.com",
+ "homepage": "http://github.com/tmilos",
+ "role": "Developer"
+ }
+ ],
+ "description": "Light SAML2 SP Symfony Bundle",
+ "homepage": "http://www.lightsaml.com/SP-Bundle/",
+ "time": "2018-05-23 09:11:16"
+ },
+ {
+ "name": "lightsaml/symfony-bridge",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/lightSAML/SymfonyBridgeBundle.git",
+ "reference": "8d3120825032a7468e894d0ae68630f21cd6035b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/lightSAML/SymfonyBridgeBundle/zipball/8d3120825032a7468e894d0ae68630f21cd6035b",
+ "reference": "8d3120825032a7468e894d0ae68630f21cd6035b",
+ "shasum": ""
+ },
+ "require": {
+ "lightsaml/lightsaml": "~1.1",
+ "php": ">=5.5.1",
+ "symfony/dependency-injection": "~2.7|~3.0|~4.0",
+ "symfony/framework-bundle": "~2.7|~3.0|~4.0",
+ "symfony/yaml": "~2.7|~3.0|~4.0"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "~2.0",
+ "phpunit/phpunit": "^5.7",
+ "symfony/browser-kit": "~2.7|~3.0|~4.0",
+ "symfony/filesystem": "~2.7|~3.0|~4.0",
+ "symfony/finder": "~2.7|~3.0|~4.0",
+ "symfony/routing": "~2.7|~3.0|~4.0"
+ },
+ "suggest": {
+ "lightsaml/lightsamp-idp": "If you will be using IDP LightSAML services"
+ },
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-0": {
+ "LightSaml\\SymfonyBridgeBundle\\Tests\\": "tests/",
+ "LightSaml\\SymfonyBridgeBundle\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Milos Tomic",
+ "email": "tmilos@gmail.com",
+ "homepage": "http://github.com/tmilos",
+ "role": "Developer"
+ }
+ ],
+ "description": "Light SAML Symfony bridge bundle",
+ "homepage": "http://www.lightsaml.com",
+ "time": "2018-05-23 08:11:59"
+ },
{
"name": "monolog/monolog",
"version": "1.24.0",
@@ -1698,16 +1919,16 @@
},
{
"name": "paragonie/random_compat",
- "version": "v2.0.17",
+ "version": "v2.0.18",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
- "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d"
+ "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d",
- "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d",
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0a58ef6e3146256cc3dc7cc393927bcc7d1b72db",
+ "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db",
"shasum": ""
},
"require": {
@@ -1743,7 +1964,7 @@
"pseudorandom",
"random"
],
- "time": "2018-07-04 16:31:37"
+ "time": "2019-01-03 20:59:08"
},
{
"name": "psr/cache",
@@ -2067,17 +2288,55 @@
"time": "2018-07-19 23:38:55"
},
{
- "name": "sensio/distribution-bundle",
- "version": "v5.0.23",
+ "name": "robrichards/xmlseclibs",
+ "version": "3.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
- "reference": "088b116a0e27faa0e1a7384dd4f3f6a9d5a8a3b6"
+ "url": "https://github.com/robrichards/xmlseclibs.git",
+ "reference": "406c68ac9124db033d079284b719958b829cb830"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/088b116a0e27faa0e1a7384dd4f3f6a9d5a8a3b6",
- "reference": "088b116a0e27faa0e1a7384dd4f3f6a9d5a8a3b6",
+ "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/406c68ac9124db033d079284b719958b829cb830",
+ "reference": "406c68ac9124db033d079284b719958b829cb830",
+ "shasum": ""
+ },
+ "require": {
+ "ext-openssl": "*",
+ "php": ">= 5.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "RobRichards\\XMLSecLibs\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "A PHP library for XML Security",
+ "homepage": "https://github.com/robrichards/xmlseclibs",
+ "keywords": [
+ "security",
+ "signature",
+ "xml",
+ "xmldsig"
+ ],
+ "time": "2018-11-15 11:59:02"
+ },
+ {
+ "name": "sensio/distribution-bundle",
+ "version": "v5.0.24",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sensiolabs/SensioDistributionBundle.git",
+ "reference": "59eac70f15f97ee945924948a6f5e2f6f86b7a4b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/59eac70f15f97ee945924948a6f5e2f6f86b7a4b",
+ "reference": "59eac70f15f97ee945924948a6f5e2f6f86b7a4b",
"shasum": ""
},
"require": {
@@ -2116,20 +2375,20 @@
"configuration",
"distribution"
],
- "time": "2018-10-25 15:26:23"
+ "time": "2018-12-14 17:36:15"
},
{
"name": "sensio/framework-extra-bundle",
- "version": "v5.2.2",
+ "version": "v5.2.4",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
- "reference": "9ef408febe2f12e70118ef61c6515035a06c5830"
+ "reference": "1fdf591c4b388e62dbb2579de89c1560b33f865d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/9ef408febe2f12e70118ef61c6515035a06c5830",
- "reference": "9ef408febe2f12e70118ef61c6515035a06c5830",
+ "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/1fdf591c4b388e62dbb2579de89c1560b33f865d",
+ "reference": "1fdf591c4b388e62dbb2579de89c1560b33f865d",
"shasum": ""
},
"require": {
@@ -2148,7 +2407,7 @@
"symfony/finder": "^3.3|^4.0",
"symfony/monolog-bridge": "^3.0|^4.0",
"symfony/monolog-bundle": "^3.2",
- "symfony/phpunit-bridge": "^3.3|^4.0",
+ "symfony/phpunit-bridge": "^3.4.19|^4.1.8",
"symfony/psr-http-message-bridge": "^0.3",
"symfony/security-bundle": "^3.3|^4.0",
"symfony/twig-bundle": "^3.3|^4.0",
@@ -2187,20 +2446,20 @@
"annotations",
"controllers"
],
- "time": "2018-10-26 14:09:02"
+ "time": "2018-12-11 16:59:23"
},
{
"name": "sensiolabs/security-checker",
- "version": "v5.0.1",
+ "version": "v5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sensiolabs/security-checker.git",
- "reference": "9ea927417c949039a9cfb0d92af76fd1c538d9e9"
+ "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/9ea927417c949039a9cfb0d92af76fd1c538d9e9",
- "reference": "9ea927417c949039a9cfb0d92af76fd1c538d9e9",
+ "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/46be3f58adac13084497961e10eed9a7fb4d44d1",
+ "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1",
"shasum": ""
},
"require": {
@@ -2233,7 +2492,7 @@
}
],
"description": "A security checker for your composer.lock",
- "time": "2018-10-16 10:30:44"
+ "time": "2018-12-19 17:14:59"
},
{
"name": "swiftmailer/swiftmailer",
@@ -2424,21 +2683,21 @@
},
{
"name": "symfony/orm-pack",
- "version": "v1.0.5",
+ "version": "v1.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/orm-pack.git",
- "reference": "1b58f752cd917a08c9c8df020781d9c46a2275b1"
+ "reference": "36c2a928482dc5f05c5c1c1b947242ae03ff1335"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/orm-pack/zipball/1b58f752cd917a08c9c8df020781d9c46a2275b1",
- "reference": "1b58f752cd917a08c9c8df020781d9c46a2275b1",
+ "url": "https://api.github.com/repos/symfony/orm-pack/zipball/36c2a928482dc5f05c5c1c1b947242ae03ff1335",
+ "reference": "36c2a928482dc5f05c5c1c1b947242ae03ff1335",
"shasum": ""
},
"require": {
"doctrine/doctrine-bundle": "^1.6.10",
- "doctrine/doctrine-migrations-bundle": "^1.3",
+ "doctrine/doctrine-migrations-bundle": "^1.3|^2.0",
"doctrine/orm": "^2.5.11",
"php": "^7.0"
},
@@ -2448,7 +2707,7 @@
"MIT"
],
"description": "A pack for the Doctrine ORM",
- "time": "2017-12-12 01:47:50"
+ "time": "2019-01-16 09:49:15"
},
{
"name": "symfony/polyfill-apcu",
@@ -2909,16 +3168,16 @@
},
{
"name": "symfony/symfony",
- "version": "v3.4.19",
+ "version": "v3.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/symfony.git",
- "reference": "a8ff5a534372763544031ae68c981d396ffeb43f"
+ "reference": "336cf12e5e82d71874e8522e0879794340351b56"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/symfony/zipball/a8ff5a534372763544031ae68c981d396ffeb43f",
- "reference": "a8ff5a534372763544031ae68c981d396ffeb43f",
+ "url": "https://api.github.com/repos/symfony/symfony/zipball/336cf12e5e82d71874e8522e0879794340351b56",
+ "reference": "336cf12e5e82d71874e8522e0879794340351b56",
"shasum": ""
},
"require": {
@@ -3060,7 +3319,7 @@
"keywords": [
"framework"
],
- "time": "2018-11-26 14:07:44"
+ "time": "2019-03-03 18:52:48"
},
{
"name": "tetranz/select2entity-bundle",
@@ -3111,32 +3370,32 @@
},
{
"name": "twig/twig",
- "version": "v2.5.0",
+ "version": "v2.6.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323"
+ "reference": "7d7342c8a4059fefb9b8d07db0cc14007021f9b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323",
- "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/7d7342c8a4059fefb9b8d07db0cc14007021f9b7",
+ "reference": "7d7342c8a4059fefb9b8d07db0cc14007021f9b7",
"shasum": ""
},
"require": {
"php": "^7.0",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "~1.0"
+ "symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
"psr/container": "^1.0",
"symfony/debug": "^2.7",
- "symfony/phpunit-bridge": "^3.3"
+ "symfony/phpunit-bridge": "^3.4.19|^4.1.8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.5-dev"
+ "dev-master": "2.6-dev"
}
},
"autoload": {
@@ -3174,7 +3433,7 @@
"keywords": [
"templating"
],
- "time": "2018-07-13 07:18:09"
+ "time": "2019-01-14 15:00:48"
},
{
"name": "zendframework/zend-code",
@@ -3287,16 +3546,16 @@
"packages-dev": [
{
"name": "nikic/php-parser",
- "version": "v4.1.0",
+ "version": "v4.2.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "d0230c5c77a7e3cfa69446febf340978540958c0"
+ "reference": "5221f49a608808c1e4d436df32884cbc1b821ac0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0",
- "reference": "d0230c5c77a7e3cfa69446febf340978540958c0",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/5221f49a608808c1e4d436df32884cbc1b821ac0",
+ "reference": "5221f49a608808c1e4d436df32884cbc1b821ac0",
"shasum": ""
},
"require": {
@@ -3312,7 +3571,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.1-dev"
+ "dev-master": "4.2-dev"
}
},
"autoload": {
@@ -3334,7 +3593,7 @@
"parser",
"php"
],
- "time": "2018-10-10 09:24:14"
+ "time": "2019-02-16 20:54:15"
},
{
"name": "sensio/generator-bundle",
@@ -3392,16 +3651,16 @@
},
{
"name": "symfony/maker-bundle",
- "version": "v1.9.0",
+ "version": "v1.11.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/maker-bundle.git",
- "reference": "e873047b6022a0343c9354f65d5d47b9e351dd53"
+ "reference": "540996bfdcc14ca38dfe4865c020d965020ae821"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/e873047b6022a0343c9354f65d5d47b9e351dd53",
- "reference": "e873047b6022a0343c9354f65d5d47b9e351dd53",
+ "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/540996bfdcc14ca38dfe4865c020d965020ae821",
+ "reference": "540996bfdcc14ca38dfe4865c020d965020ae821",
"shasum": ""
},
"require": {
@@ -3454,20 +3713,20 @@
"scaffold",
"scaffolding"
],
- "time": "2018-11-03 18:25:11"
+ "time": "2019-03-01 20:45:16"
},
{
"name": "symfony/phpunit-bridge",
- "version": "v3.4.19",
+ "version": "v3.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "2155067dfc73e0e77dbc26f236af17e4df552de5"
+ "reference": "b539f37134c10edbf85dc0567be4151c56870f5e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/2155067dfc73e0e77dbc26f236af17e4df552de5",
- "reference": "2155067dfc73e0e77dbc26f236af17e4df552de5",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/b539f37134c10edbf85dc0567be4151c56870f5e",
+ "reference": "b539f37134c10edbf85dc0567be4151c56870f5e",
"shasum": ""
},
"require": {
@@ -3477,7 +3736,6 @@
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0"
},
"suggest": {
- "ext-zip": "Zip support is required when using bin/simple-phpunit",
"symfony/debug": "For tracking deprecated interfaces usages at runtime with DebugClassLoader"
},
"bin": [
@@ -3520,7 +3778,7 @@
],
"description": "Symfony PHPUnit Bridge",
"homepage": "https://symfony.com",
- "time": "2018-11-20 16:47:12"
+ "time": "2019-02-16 18:50:26"
}
],
"aliases": [],
diff --git a/src/cadolesuser-1.0/scripts/cadolesuser-postservice-01.sh b/src/cadolesuser-1.0/scripts/cadolesuser-postservice-01.sh
index 7e8b2b80..b40fd001 100755
--- a/src/cadolesuser-1.0/scripts/cadolesuser-postservice-01.sh
+++ b/src/cadolesuser-1.0/scripts/cadolesuser-postservice-01.sh
@@ -29,6 +29,8 @@ php bin/console Core:InitData
# Generation des assets
bin/console --env=dev assetic:dump
+# Copie des polices du projet dans le rep web
+cp -rf src/Cadoles/CoreBundle/Resources/public/fonts web/
# Pointer le repertoire des avatar d'eportail sur celui de draaf
# Paramétrage eportail
diff --git a/src/cadolesuser-1.0/src/Cadoles/CASBundle/CadolesCASBundle.php b/src/cadolesuser-1.0/src/Cadoles/CASBundle/CadolesCASBundle.php
new file mode 100644
index 00000000..65644ad3
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CASBundle/CadolesCASBundle.php
@@ -0,0 +1,10 @@
+getParameter("masteridentity");
+
+ // Init Client CAS
+ \phpCAS::setDebug(false);
+ \phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
+ \phpCAS::setNoCasServerValidation();
+
+ // Authentification
+ \phpCAS::forceAuthentication();
+
+ // Récupération UID
+ $username = \phpCAS::getUser();
+
+ // Récupération Attribut
+ $attributes = \phpCAS::getAttributes();
+
+ // Suppression des Attributs en tableaux
+ foreach ($attributes as $key => $value) {
+ if(is_array($value))
+ unset($attributes[$key]);
+ }
+
+ // Rechercher l'utilisateur
+ $em = $this->getDoctrine()->getManager();
+ if(isset($attributes[$this->getParameter('user_attr_cas_username')]))
+ $username = $attributes[$this->getParameter('user_attr_cas_username')];
+
+ if(isset($attributes[$this->getParameter('user_attr_cas_mail')]))
+ $email = $attributes[$this->getParameter('user_attr_cas_mail')];
+
+ if(isset($attributes[$this->getParameter('user_attr_cas_lastname')]))
+ $lastname = $attributes[$this->getParameter('user_attr_cas_lastname')];
+
+ if(isset($attributes[$this->getParameter('user_attr_cas_firstname')]))
+ $firstname = $attributes[$this->getParameter('user_attr_cas_firstname')];
+
+ $user = $em->getRepository('CadolesCoreBundle:User')->findOneBy(array("username"=>$username));
+ $exists = $user ? true : false;
+
+ if (!$exists) {
+ if($masteridentity=="SQL") {
+ // C'est pas normal que l'on puisse se connecter alors que l'utilisateur n'est pas connu en base
+ // La base étant le maitre de l'identité
+ throw $this->createNotFoundException('Permission denied');
+ }
+
+ if($masteridentity=="LDAP") {
+ // Normalement la synchronisation des comptes aurait du générer le compte en base c'est donc pas normal
+ // Peut-être juste relancer une synchronisation
+ throw $this->createNotFoundException('Permission denied. Need to synchronize LDAP ? Contact your administrator');
+ }
+
+ if($masteridentity=="SSO") {
+ // Là c'est normal que potentiellement il n'existe pas il faut donc l'autogénérer
+ $user = new User();
+
+ // On calcule le niveau01 de l'utilisateur
+ $niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->calculateNiveau01($attributes);
+ if(!$niveau01)
+ throw $this->createNotFoundException('Permission denied. No Organisation Niveau 01 match');
+
+ $user->setUsername($username);
+ $user->setEmail($email);
+ $user->setLastname($lastname);
+ $user->setFirstname($firstname);
+
+ $user->setPassword("CASPWD-".$username);
+ $user->setSalt("CASPWD-".$username);
+
+ $user->setNiveau01($niveau01);
+ $user->setSiren($niveau01->getSiren());
+ $user->setSiret("");
+
+ $user->setAvatar("noavatar.png");
+ $user->setVisible(true);
+ $user->setAuthlevel("simple");
+ $user->setRole("ROLE_USER");
+
+ $em->persist($user);
+ $em->flush();
+
+ // On calcule les groupes de l'utilisateur
+ $user=$groups=$em->getRepository('CadolesCoreBundle:Group')->calculateGroup($user,$attributes);
+ }
+ }
+ else {
+ // Mise à jour des valeurs uniquement si le maitre de l'identité est le SSO
+ if($masteridentity=="SSO") {
+ // On calcule le niveau01 de l'utilisateur
+ $niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->calculateNiveau01($attributes);
+ if(!$niveau01)
+ throw $this->createNotFoundException('Permission denied. No Organisation Niveau 01 match');
+
+ // On s'assure que le niveau 02 appartient bien au niveau 01 calculé
+ $sameniveau01=(!is_null($user->getNiveau02())&&$niveau01==$user->getNiveau02()->getNiveau01());
+
+ // On calcule les groupes de l'utilisateur
+ $user=$groups=$em->getRepository('CadolesCoreBundle:Group')->calculateGroup($user,$attributes);
+
+ $user->setLastname($lastname);
+ $user->setFirstname($firstname);
+ $user->setEmail($email);
+ if(!$sameniveau01) $user->setNiveau02(null);
+
+ $em->persist($user);
+ $em->flush();
+ }
+ }
+
+ // Calcul Service
+ /*
+ $user = $em->getRepository('CadolesCoreBundle:User')->calculateServices($user, $attributes);
+
+ // Attributs calculés
+ $attributes = $em->getRepository('CadolesCoreBundle:User')->calculateAttributes($user, $attributes);
+ */
+
+ // Sauvegarde des attributes en session
+ $this->get('session')->set('attributes', $attributes);
+
+ // Autoconnexion
+ // Récupérer le token de l'utilisateur
+ $token = new UsernamePasswordToken($user, null, "main", $user->getRoles());
+ $this->get("security.token_storage")->setToken($token);
+
+ // Simuler l'evenement de connexion
+ $event = new InteractiveLoginEvent($request, $token);
+ $dispatcher = new EventDispatcher();
+ $dispatcher->dispatch("security.interactive_login", $event);
+
+
+ return $this->redirect($this->generateUrl('cadoles_core_home'));
+ }
+
+ public function logoutAction() {
+ // Init Client CAS
+ \phpCAS::setDebug(false);
+ \phpCAS::client(CAS_VERSION_2_0, $this->getParameter('cas_host'), $this->getParameter('cas_port'), is_null($this->getParameter('cas_path')) ? '' : $this->getParameter('cas_path'), true);
+ \phpCAS::setNoCasServerValidation();
+
+ // Logout
+ $url=$this->generateUrl('cadoles_core_home', array(), UrlGeneratorInterface::ABSOLUTE_URL);
+ \phpCAS::logout(array("service"=>$url));
+ }
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CASBundle/Resources/config/routing.yml b/src/cadolesuser-1.0/src/Cadoles/CASBundle/Resources/config/routing.yml
new file mode 100644
index 00000000..728e4a44
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CASBundle/Resources/config/routing.yml
@@ -0,0 +1,8 @@
+cas_sp.login:
+ path: /login
+ defaults: { _controller: CadolesCASBundle:Security:login }
+
+cas_sp.logout:
+ path: /logout
+ defaults: { _controller: CadolesCASBundle:Security:logout }
+
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php
index 0052c205..dc282428 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/InitDataCommand.php
@@ -35,10 +35,9 @@ class InitDataCommand extends Command
$kernel->boot();
$kernel->loadClassCache();
$em = $kernel->getContainer()->get('service_container')->get('doctrine.orm.default_entity_manager');
-
-
+
$finder = new Finder();
- $finder->in('src/Cadoles/CoreBundle/Command');
+ $finder->in('src/Cadoles/CoreBundle/Command/data');
$output->writeln('Init Data for Core !');
// Init 01 = ce qui templetisé
@@ -46,7 +45,7 @@ class InitDataCommand extends Command
foreach( $finder as $file ){
$content = $file->getContents();
- $stmt = $em->getConnection()->prepare($content);
+ $stmt = $em->getConnection()->prepare($content);
$stmt->execute();
}
@@ -88,6 +87,7 @@ class InitDataCommand extends Command
$group->setLabel("Tout le Monde");
$group->setFgopen(false);
$group->setFgall(true);
+ $group->setFgtemplate(false);
$em->persist($group);
$em->flush();
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php
index 63d6c5e8..c63201f0 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/SynchroCommand.php
@@ -12,6 +12,9 @@ use Doctrine\ORM\EntityManager;
use Cadoles\CoreBundle\Entity\Niveau01;
use Cadoles\CoreBundle\Entity\Niveau02;
+use Cadoles\CoreBundle\Entity\User;
+use Cadoles\CoreBundle\Entity\Group;
+use Cadoles\CoreBundle\Entity\UserGroup;
global $bdd01;
global $config;
@@ -43,8 +46,9 @@ class SynchroCommand extends Command
$em = $kernel->getContainer()->get('service_container')->get('doctrine.orm.default_entity_manager');
setlocale( LC_CTYPE, 'fr_FR' );
- $labelniveau01=mb_strtoupper($kernel->getContainer()->getParameter('labelniveau01'));
- $labelniveau02=mb_strtoupper($kernel->getContainer()->getParameter('labelniveau02'));
+ $labelniveau01 = mb_strtoupper($kernel->getContainer()->getParameter('labelniveau01'));
+ $labelniveau02 = mb_strtoupper($kernel->getContainer()->getParameter('labelniveau02'));
+ $masteridentity = $kernel->getContainer()->getParameter('masteridentity');
$simulate = $input->getArgument('simulate');
if($simulate=="") $simulate="true";
@@ -59,8 +63,188 @@ class SynchroCommand extends Command
if($simulate) $output->writeln('** SIMULATION');
else $output->writeln('** REEL');
+ $output->writeln('');
+ $output->writeln('=====================================================');
+ $output->writeln('== SYNCHONISATION ANNUAIRE ==========================');
+ $output->writeln('=====================================================');
+
$ldap = $kernel->getContainer()->get('cadoles.core.service.ldap');
- if($ldap->isEnabled()) {
+ if(!$ldap->isEnabled()) {
+ if($masteridentity !="LDAP") {
+ $output->writeln('');
+ $output->writeln(' Synchronisation annuaire désactivée');
+ }
+ else {
+ $output->writeln('');
+ $output->writeln('=====================================================');
+ $output->writeln('== SYNCHONISATION LDAP TO BUNDLE ====================');
+ $output->writeln('=====================================================');
+
+
+ $ldap_basedn = $kernel->getContainer()->getParameter('ldap_basedn');
+ $ldap_template = $kernel->getContainer()->getParameter('ldap_template');
+ $ldap_username = $kernel->getContainer()->getParameter('ldap_username');
+ $ldap_firstname = $kernel->getContainer()->getParameter('ldap_firstname');
+ $ldap_lastname = $kernel->getContainer()->getParameter('ldap_lastname');
+ $ldap_email = $kernel->getContainer()->getParameter('ldap_email');
+ $ldap_usersadmin = $kernel->getContainer()->getParameter('ldap_usersadmin');
+ $fieldstoread = array($ldap_username,$ldap_firstname,$ldap_lastname,$ldap_email);
+ $ldapusers = array();
+
+ if($ldap_template=="scribe") {
+ $output->writeln('');
+ $output->writeln('== PROFILS ==========================================');
+
+ // Eleves
+ $ldapfilter="(&(uid=*)(ENTPersonProfils=eleve))";
+ $label="PROFIL = Elèves";
+ $output->writeln(" - $label");
+ if(!$simulate) $this->addmodGroup($em,$label,$ldapfilter);
+
+ // Enseignants
+ $ldapfilter="(|(&(uid=*)(ENTPersonProfils=enseignant))(&(uid=*)(typeadmin=0))(&(uid=*)(typeadmin=2)))";
+ $label="PROFIL = Enseignants";
+ $output->writeln(" - $label");
+ if(!$simulate) $this->addmodGroup($em,$label,$ldapfilter);
+
+ // Responsables
+ $ldapfilter="(&(uid=*)(ENTPersonProfils=responsable))";
+ $label="PROFIL = Responsables";
+ $output->writeln(" - $label");
+ if(!$simulate) $this->addmodGroup($em,$label,$ldapfilter);
+
+ // Administratifs
+ $ldapfilter="(&(uid=*)(ENTPersonProfils=administratif))";
+ $label="PROFIL = Administratifs";
+ $output->writeln(" - $label");
+ if(!$simulate) $this->addmodGroup($em,$label,$ldapfilter);
+
+ $output->writeln('');
+ $output->writeln('== CLASSES ==========================================');
+ $results = $ldap->search("type=Classe", ['cn','description','gidNumber'], $ldap_basedn);
+ foreach($results as $result) {
+ $cn=$result["cn"];
+ $ldapfilter="(|(&(type=Classe)(cn=$cn))(&(type=Equipe)(cn=profs-$cn))(&(ENTPersonProfils=Administratif)(divcod=$cn)))";
+
+ $label="CLASSE = ".$result["cn"];
+ $output->writeln(" - $label");
+ if(!$simulate) $this->addmodGroup($em,$label,$ldapfilter);
+ }
+ }
+
+ $output->writeln('');
+ $output->writeln('== USERS ============================================');
+
+ // On parcours les niveaux 01 pour connaitre les filtres ldap associé
+ $datas=$em->createQueryBuilder()->select('table')->from('CadolesCoreBundle:Niveau01','table')->where('table.ldapfilter IS NOT NULL')->getQuery()->getResult();
+ foreach($datas as $data) {
+ // On execute le filtre d'appartenance à ce niveau
+ $results = $ldap->search($data->getLdapfilter(), $fieldstoread, $ldap_basedn);
+
+ // Pour chaque utilisateur ldap
+ foreach($results as $result) {
+ // On sauvegarde ce user
+ array_push($ldapusers,$result[$ldap_username]);
+
+ // Création ou Modification du user
+ $user=$em->getRepository('CadolesCoreBundle:User')->findBy(array('username' => $result[$ldap_username]));
+ if(!$user) {
+ $output->writeln(" - Création dans Bundle >> ".$result[$ldap_username]);
+ if(!$simulate) $this->addUser($em,$data,$result[$ldap_username],$result[$ldap_firstname],$result[$ldap_lastname],$result[$ldap_email],$ldap_usersadmin);
+ }
+ else {
+ $output->writeln(" - Modification dans Bundle >> ".$result[$ldap_username]);
+ if(!$simulate) $this->modUser($em,$user[0],$result[$ldap_username],$result[$ldap_firstname],$result[$ldap_lastname],$result[$ldap_email],$ldap_usersadmin);
+ }
+ }
+ }
+
+ $output->writeln('');
+ $output->writeln('== USERS GROUP ======================================');
+
+ $groups=$em->getRepository('CadolesCoreBundle:Group')->findAll();
+ foreach($groups as $group) {
+ $ldapusersgroup=array();
+
+ $ldapfilter=$group->getLdapfilter();
+
+ $output->writeln('');
+ $output->writeln('== '.$group->getLabel());
+
+ if(!is_null($ldapfilter)) {
+ $results = $ldap->search($ldapfilter,[$ldap_username,"memberuid"] , $ldap_basedn);
+ foreach($results as $result) {
+ if(isset($result["memberuid"])) {
+ // Si memberid est un tableau il y a plusieur user dedans
+ if(is_array($result["memberuid"])) {
+ foreach($result["memberuid"] as $key => $value) {
+ if(is_int($key)) {
+ $user=$em->getRepository('CadolesCoreBundle:User')->findOneBy(array('username' => $value));
+ if($user) {
+ array_push($ldapusersgroup,$value);
+ $output->writeln(" - Rattacher >> ".$value);
+ if(!$simulate) $this->addtoGroup($em,$user,$group);
+ }
+ }
+ }
+ }
+ // sinon m'a qu'un seul uid
+ else {
+ $user=$em->getRepository('CadolesCoreBundle:User')->findOneBy(array('username' => $result["memberuid"]));
+ if($user) {
+ array_push($ldapusersgroup,$result["memberuid"]);
+ $output->writeln(" - Rattacher >> ".$result["memberuid"]);
+ if(!$simulate) $this->addtoGroup($em,$user,$group);
+ }
+ }
+ }
+
+ if(isset($result[$ldap_username])) {
+ $user=$em->getRepository('CadolesCoreBundle:User')->findOneBy(array('username' => $result[$ldap_username]));
+ if($user) {
+ array_push($ldapusersgroup,$result[$ldap_username]);
+ $output->writeln(" - Rattacher >> ".$result[$ldap_username]);
+ if(!$simulate) $this->addtoGroup($em,$user,$group);
+ }
+ }
+ }
+
+ $members=$em->getRepository('CadolesCoreBundle:UserGroup')->findBy(array('group' => $group));
+ foreach($members as $member) {
+ if(!in_array($member->getUser()->getUsername(),$ldapusersgroup)) {
+ $output->writeln(" - Détattacher >> ".$member->getUser()->getUsername());
+ if(!$simulate) {
+ $em->remove($member);
+ $em->flush();
+ }
+ }
+ }
+ }
+ }
+
+ $output->writeln('');
+ $output->writeln('=====================================================');
+ $output->writeln('== SYNCHONISATION BUNDLE TO LDAP ====================');
+ $output->writeln('=====================================================');
+
+ $output->writeln('');
+ $output->writeln('== USERS ============================================');
+
+ // Pour chaque utilisateur de la base
+ $users=$em->getRepository('CadolesCoreBundle:User')->findAll();
+ foreach($users as $user) {
+ // Si l'utilisateur n'est pas dans la liste des users ldap : on le supprime
+ if(!in_array($user->getUsername(),$ldapusers)) {
+ $output->writeln(" - Suppression dans Bundle >> ".$user->getUsername());
+ if(!$simulate) {
+ $em->remove($user);
+ $em->flush();
+ }
+ }
+ }
+ }
+ }
+ else {
$output->writeln('');
$output->writeln('=====================================================');
$output->writeln('== SYNCHONISATION BUNDLE TO LDAP ====================');
@@ -291,12 +475,12 @@ class SynchroCommand extends Command
}
}
+
+
$output->writeln('');
$output->writeln('=====================================================');
$output->writeln('== SYNCHONISATION BUNDLE TO EPORTAIL ================');
$output->writeln('=====================================================');
-
-
$eportail = $kernel->getContainer()->get('cadoles.core.service.eportail');
if(!$eportail->isEnabled()) {
@@ -429,4 +613,68 @@ class SynchroCommand extends Command
$rootdir = rtrim(getcwd(), '/');
return $rootdir . '/' . trim($extra['symfony-app-dir'], '/');
}
+
+ protected static function addmodGroup($em,$label,$ldapfilter) {
+ $group=$em->getRepository('CadolesCoreBundle:Group')->findOneBy(array('fgtemplate' => true, 'label' => $label));
+ if(!$group) {
+ $group=new Group();
+ }
+
+ $group->setLabel($label);
+ $group->setFgopen(false);
+ $group->setFgall(false);
+ $group->setLdapfilter($ldapfilter);
+ $group->setFgtemplate(true);
+
+ $em->persist($group);
+ $em->flush();
+ }
+
+ protected static function addtoGroup($em,$user,$group) {
+ $member=$em->getRepository('CadolesCoreBundle:UserGroup')->findOneBy(array('group' => $group, 'user' => $user));
+ if(!$member) {
+ $member= new UserGroup();
+ $member->setGroup($group);
+ $member->setUser($user);
+
+ $em->persist($member);
+ $em->flush();
+ }
+ }
+
+ protected static function addUser($em,$niveau01,$username,$firstname,$lastname,$email,$usersadmin) {
+ $user = new User();
+
+ $user->setUsername($username);
+ $user->setLastname($lastname);
+ $user->setFirstname($firstname);
+ $user->setEmail($email);
+ $user->setNiveau01($niveau01);
+ $user->setSiren($niveau01->getSiren());
+ $user->setPassword("PASSWORDFROMEXTERNE");
+ $user->setVisible(true);
+ $user->setAuthlevel("simple");
+ $user->setBelongingpopulation("agent");
+
+ if(in_array($username,$usersadmin))
+ $user->setRole("ROLE_ADMIN");
+ else
+ $user->setRole("ROLE_USER");
+
+ $em->persist($user);
+ $em->flush();
+ }
+
+ protected static function modUser($em,$user,$username,$firstname,$lastname,$email,$usersadmin) {
+ $user->setLastname($lastname);
+ $user->setFirstname($firstname);
+ $user->setEmail($email);
+
+ if(in_array($username,$usersadmin))
+ $user->setRole("ROLE_ADMIN");
+
+ $em->persist($user);
+ $em->flush();
+ }
+
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/core-init-01.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/core-init-01.sql
deleted file mode 100644
index 658cb1bc..00000000
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/core-init-01.sql
+++ /dev/null
@@ -1,22 +0,0 @@
-
-SET NAMES utf8;
-SET time_zone = '+00:00';
-SET foreign_key_checks = 0;
-SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
-
-INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
-(-100, 'ac-dijon', '21000');
-
-INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
-(-100, -100, 'admin', 'Administrateur', 'envole', '{SSHA}rQFMx40DYL1RTC6sXgFEfygLHAXa69wI
-', 'tina-boot@ac-dijon.fr', 'admin.jpg', 'ROLE_ADMIN', '21000', 'simple');
-
-TRUNCATE TABLE sidebar;
-INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `fonticon`, `permission`) VALUES
-(1000, NULL, 1000, 'CONFIGIRATION', '', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO'),
-(1200, 1000, 1200, 'Organisations', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO'),
-(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN'),
-(1220, 1200, 1220, 'Niveau 01', 'cadoles_core_config_niveau01', 'fa-building', 'ROLE_ADMIN'),
-(1240, 1200, 1240, 'Groupes', 'cadoles_core_config_group', 'fa-users', 'ROLE_ADMIN,ROLE_MODO'),
-(1250, 1200, 1250, 'Inscriptions', 'cadoles_core_config_registration', 'fa-pencil-square-o', 'ROLE_ADMIN,ROLE_MODO'),
-(1260, 1200, 1260, 'Utilisateurs', 'cadoles_core_config_user', 'fa-child', 'ROLE_ADMIN,ROLE_MODO');
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/city.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/city.sql
similarity index 100%
rename from src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/city.sql
rename to src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/city.sql
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql
new file mode 100644
index 00000000..c751af25
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql
@@ -0,0 +1,44 @@
+
+SET NAMES utf8;
+SET time_zone = '+00:00';
+SET foreign_key_checks = 0;
+SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
+
+INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
+(-100, 'ldapbundle', '0000000A');
+
+INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
+(-100, -100, 'admin', 'Administrateur', 'ldapbundle', 'PWD_CAS', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '0000000A', 'simple');
+
+TRUNCATE TABLE sidebar;
+INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `fonticon`, `permission`) VALUES
+(1000, NULL, 1000, 'CONFIGIRATION', '', 'fa-gear', 'ROLE_ADMIN,ROLE_MODO'),
+(1010, 1000, 1010, 'Générale', 'cadoles_core_config_commun', 'fa-table', 'ROLE_ADMIN'),
+(1200, 1000, 1200, 'Organisations', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO'),
+(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN'),
+(1220, 1200, 1220, 'Niveau 01', 'cadoles_core_config_niveau01', 'fa-building', 'ROLE_ADMIN'),
+(1240, 1200, 1240, 'Groupes', 'cadoles_core_config_group', 'fa-users', 'ROLE_ADMIN,ROLE_MODO'),
+(1250, 1200, 1250, 'Inscriptions', 'cadoles_core_config_registration', 'fa-pencil-square-o', 'ROLE_ADMIN,ROLE_MODO'),
+(1260, 1200, 1260, 'Utilisateurs', 'cadoles_core_config_user', 'fa-child', 'ROLE_ADMIN,ROLE_MODO');
+
+
+DELETE FROM `config` WHERE `changeable` = 0;
+INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type`, `id`, `value`, `grouped`, `help`) VALUES
+('001', 1, 1, 1, 'string', 'appname', 'Cadoles User', '', 'Le titre de votre site'),
+('002', 1, 0, 1, 'string', 'version', '1.0.0', '', 'Version de l\'application'),
+('003', 1, 1, 0, 'string', 'subappname', 'Portail', '', 'Le sous titre de votre site'),
+('004', 1, 1, 1, 'logo', 'logo', 'uploads/logo/logo.png', '', 'Le logo de votre site'),
+
+('040', 1, 1, 1, 'boolean', 'fgheader', '0', '', 'Utiliser une image en bannière du site'),
+('041', 1, 1, 1, 'header', 'header', 'uploads/header/header.png', 'fgheader', 'Image en bannière du site'),
+('042', 1, 1, 1, 'integer', 'heightheader', '100', 'fgheader', 'Hauteur de la bannière du site'),
+
+('050', 1, 1, 1, 'color', 'colormain', 'bfbfbf', '', 'Couleur principale de votre site'),
+('051', 1, 1, 1, 'color', 'fontcolorhover', '2e3131', '', 'Couleur de la police sur couleur principale'),
+
+('060', 1, 1, 1, 'font', 'fontfacetitle', 'Helvetica Neue', '', 'Police des titres de votre site'),
+('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica Neue', '', 'Police des titres de votre site'),
+
+('200', 1, 1, 1, 'boolean', 'PROXYactivate', '1', '', 'Définit un Proxy'),
+('201', 1, 1, 1, 'string', 'PROXYserver', '192.168.57.160', 'PROXYactivate','Adresse du Proxy'),
+('202', 1, 1, 1, 'string', 'PROXYport', '8080', 'PROXYactivate','Port du Proxy');
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/core-init-02.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-02.sql
similarity index 100%
rename from src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/core-init-02.sql
rename to src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/core-init-02.sql
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/country.csv b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/country.csv
similarity index 100%
rename from src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/country.csv
rename to src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/country.csv
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/country.sql b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/country.sql
similarity index 100%
rename from src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/country.sql
rename to src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/country.sql
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/country.xls b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/country.xls
similarity index 100%
rename from src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/country.xls
rename to src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/country.xls
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/import.csv b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/import.csv
similarity index 100%
rename from src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/import.csv
rename to src/cadolesuser-1.0/src/Cadoles/CoreBundle/Command/data/import.csv
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php
old mode 100644
new mode 100755
index 1e1e4b33..17f4ba7b
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php
@@ -4,7 +4,9 @@ namespace Cadoles\CoreBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Session\Session;
+
+use Cadoles\CoreBundle\Entity\Config;
+use Cadoles\CoreBundle\Form\ConfigType;
class ConfigController extends Controller
{
@@ -12,4 +14,123 @@ class ConfigController extends Controller
{
return $this->render('CadolesCoreBundle:Core:config.html.twig');
}
+
+ public function listAction()
+ {
+ $em = $this->getDoctrine()->getManager();
+
+ $configs = $em->createQueryBuilder()
+ ->select('b')
+ ->from('CadolesCoreBundle:Config', 'b')
+ ->where('b.visible = :visible')
+ ->setParameter('visible', 1)
+ ->addOrderBy('b.order')
+ ->getQuery()
+ ->getResult();
+
+ return $this->render('CadolesCoreBundle:Config:list.html.twig', array('configs' => $configs));
+ }
+
+ public function updateAction($id,Request $request)
+ {
+ // Récupération de l'enregistrement courant
+ $config=$this->getConfig($id);
+
+ // Vérifier que cet enregistrement est modifiable
+ $type=$config->getType();
+ $required=$config->getRequired();
+ $visible=$config->getVisible();
+ $changeable=$config->getChangeable();
+ if(!$visible||!$changeable) {
+ return $this->redirectToRoute('cadoles_core_config_commun');
+ }
+
+ // Création du formulaire
+ $form = $this->createForm(ConfigType::class,$config,array("key" => $id, "type" => $type, "required" => $required));
+
+ // Récupération des data du formulaire
+ $form->handleRequest($request);
+
+ // Sur erreur
+ $this->getErrorForm($form,$request,$config);
+
+ // Sur validation
+ if ($form->get('submit')->isClicked() && $form->isValid()) {
+ $em = $this->getDoctrine()->getManager();
+ $config = $form->getData();
+ $em->persist($config);
+ $em->flush();
+
+ // Sur type boolean
+ if($type=="boolean") {
+ $qb = $em->createQueryBuilder();
+ $q = $qb->update('CadolesCoreBundle:Config', 'c')
+ ->set('c.visible', ':visible')
+ ->where('c.grouped = :key')
+ ->setParameter('visible', $config->getValue())
+ ->setParameter('key', $id)
+ ->getQuery();
+ $q->execute();
+ }
+ return $this->redirectToRoute('cadoles_core_config_commun');
+ }
+
+ // Affichage du formulaire
+ return $this->render('CadolesCoreBundle:Config:update.html.twig', array(
+ 'config' => $config,
+ 'type' => $type,
+ 'form' => $form->createView()
+ ));
+ }
+
+ public function deleteAction($id,Request $request)
+ {
+ // Récupération de l'enregistrement courant
+ $config=$this->getConfig($id);
+ if(!$config->getRequired()) {
+ $config->setValue("");
+ $em = $this->getDoctrine()->getManager();
+ $em->persist($config);
+ $em->flush();
+ }
+ return $this->redirectToRoute('cadoles_core_config_commun');
+ }
+
+ public function logoAction()
+ {
+ return $this->render('CadolesCoreBundle:Config:logo.html.twig');
+ }
+
+ public function headerAction()
+ {
+ return $this->render('CadolesCoreBundle:Config:header.html.twig');
+ }
+
+ protected function getConfig($id)
+ {
+ $em = $this->getDoctrine()->getManager();
+ $config = $em->getRepository('CadolesCoreBundle:Config')->find($id);
+
+ if (!$config) {
+ throw $this->createNotFoundException('Unable to find config.');
+ }
+
+ return $config;
+ }
+
+ protected function getErrorForm($form,$request,$data) {
+ if ($form->get('submit')->isClicked() && !$form->isValid()) {
+ $this->get('session')->getFlashBag()->clear();
+ $validator = $this->get('validator');
+ $errors = $validator->validate($data);
+ foreach( $errors as $error ) {
+ $request->getSession()->getFlashBag()->add("error", $error->getMessage());
+ }
+
+ $errors = $form->getErrors();
+ foreach( $errors as $error ) {
+ $request->getSession()->getFlashBag()->add("error", $error->getMessage());
+ }
+ }
+ }
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php
index 0de5e2b0..db0cdda9 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php
@@ -85,8 +85,8 @@ class GroupController extends Controller
foreach($datas as $data) {
$action = "";
- if(!$data->getFgall()) $action .="$data->getId()))."'> ";
- if($data->getId()>0&&!$data->getFgall()&&$this->isGranted('ROLE_ADMIN')) $action.="$data->getId()))."'> ";
+ if(!$data->getFgall()&&!$data->getFgTemplate()) $action .="$data->getId()))."'> ";
+ if($data->getId()>0&&!$data->getFgall()&&!$data->getFgTemplate()&&$this->isGranted('ROLE_ADMIN')) $action.="$data->getId()))."'> ";
if(!$data->getFgall()) $action .="$data->getId()))."'> ";
array_push($output["data"],array($action,$data->getLabel(),($data->getFgopen()?"oui":"non")));
@@ -105,6 +105,7 @@ class GroupController extends Controller
}
$em = $this->getDoctrine()->getManager();
+ $group=$this->getData($id);
$sub = $em->createQueryBuilder();
$sub->select("usergroup");
@@ -210,7 +211,8 @@ class GroupController extends Controller
foreach($datas as $data) {
// Action
$action = "";
- $action.=" ";
+ if($group->getLdapfilter()==""&&$group->getAttributes()=="")
+ $action.=" ";
// Avatar
$avatar=" getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>";
@@ -230,6 +232,7 @@ class GroupController extends Controller
}
$em = $this->getDoctrine()->getManager();
+ $group=$this->getData($id);
$sub = $em->createQueryBuilder();
$sub->select("usergroup");
@@ -335,7 +338,8 @@ class GroupController extends Controller
foreach($datas as $data) {
// Action
$action = "";
- $action.=" ";
+ if($group->getLdapfilter()==""&&$group->getAttributes()=="")
+ $action.=" ";
// Avatar
$avatar=" getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>";
@@ -360,9 +364,13 @@ class GroupController extends Controller
$userid=$request->request->get('userid');
$groupid=$request->request->get('groupid');
+ $group=$em->getRepository("CadolesCoreBundle:Group")->find($groupid);
+ if($group->getFgAll()||$group->getFgtemplate())
+ throw $this->createNotFoundException('Permission denied');
+
$usergroup=new Usergroup;
$usergroup->setUser($em->getRepository("CadolesCoreBundle:User")->find($userid));
- $usergroup->setGroup($em->getRepository("CadolesCoreBundle:Group")->find($groupid));
+ $usergroup->setGroup($group);
$em->persist($usergroup);
$em->flush();
@@ -383,7 +391,10 @@ class GroupController extends Controller
$output=array();
$userid=$request->request->get('userid');
$groupid=$request->request->get('groupid');
- //dump($em->getRepository("CadolesCoreBundle:User")->find($userid));
+
+ $group=$em->getRepository("CadolesCoreBundle:Group")->find($groupid);
+ if($group->getFgAll()||$group->getFgTemplate())
+ throw $this->createNotFoundException('Permission denied');
$data = $em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(array("user"=>$userid,"group"=>$groupid));
$em->remove($data);
@@ -400,7 +411,7 @@ class GroupController extends Controller
$data = new Group();
// Création du formulaire
- $form = $this->createForm(GroupType::class,$data,array("mode"=>"submit"));
+ $form = $this->createForm(GroupType::class,$data,array("mode"=>"submit","masteridentity"=> $this->GetParameter("masteridentity")));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -412,6 +423,10 @@ class GroupController extends Controller
if ($form->get('submit')->isClicked() && $form->isValid()) {
$data = $form->getData();
$data->setFgall(false);
+ $data->setFgtemplate(false);
+ if($data->getLdapfilter()!="") $data->setFgopen(false);
+ if($data->getAttributes()!="") $data->setFgopen(false);
+
$em = $this->getDoctrine()->getManager();
// Sauvegarde
@@ -434,11 +449,13 @@ class GroupController extends Controller
{
// Récupération de l'enregistrement courant
$data=$this->getData($id);
-
+
// Vérifier que cet enregistrement est modifiable
-
+ if($data->getFgAll()||$data->getFgTemplate())
+ throw $this->createNotFoundException('Permission denied');
+
// Création du formulaire
- $form = $this->createForm(GroupType::class,$data,array("mode"=>"update"));
+ $form = $this->createForm(GroupType::class,$data,array("mode"=>"update","masteridentity"=> $this->GetParameter("masteridentity")));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -448,9 +465,15 @@ class GroupController extends Controller
// Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) {
+ $masteridentity=$this->GetParameter("masteridentity");
$em = $this->getDoctrine()->getManager();
$data = $form->getData();
-
+
+ if($masteridentity!="LDAP") $data->setLdapfilter(null);
+ if($masteridentity!="SSO") $data->setAttributes(null);
+ if($data->getLdapfilter()!="") $data->setFgopen(false);
+ if($data->getAttributes()!="") $data->setFgopen(false);
+
// Sauvegarde
$em->persist($data);
$em->flush();
@@ -478,9 +501,11 @@ class GroupController extends Controller
$data=$this->getData($id);
// Vérifier que cet enregistrement est supprimable
+ if($data->getFgAll()||$data->getFgTemplate())
+ throw $this->createNotFoundException('Permission denied');
// Création du formulaire
- $form = $this->createForm(GroupType::class,$data,array("mode"=>"delete"));
+ $form = $this->createForm(GroupType::class,$data,array("mode"=>"delete","masteridentity"=> $this->GetParameter("masteridentity")));
// Récupération des data du formulaire
$form->handleRequest($request);
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/Niveau01Controller.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/Niveau01Controller.php
index 0142ecaa..1afc2113 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/Niveau01Controller.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/Niveau01Controller.php
@@ -94,7 +94,11 @@ class Niveau01Controller extends Controller
$data = new Niveau01();
// Création du formulaire
- $form = $this->createForm(Niveau01Type::class,$data,array("mode"=>"submit"));
+ $form = $this->createForm(Niveau01Type::class,$data,array(
+ "mode" => "submit",
+ "labelsiren" => $this->GetParameter("labelsirenniveau01"),
+ "masteridentity" => $this->GetParameter("masteridentity")
+ ));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -131,7 +135,11 @@ class Niveau01Controller extends Controller
// Vérifier que cet enregistrement est modifiable
// Création du formulaire
- $form = $this->createForm(Niveau01Type::class,$data,array("mode"=>"update"));
+ $form = $this->createForm(Niveau01Type::class,$data,array(
+ "mode" => "update",
+ "labelsiren" => $this->GetParameter("labelsirenniveau01"),
+ "masteridentity" => $this->GetParameter("masteridentity")
+ ));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -169,7 +177,11 @@ class Niveau01Controller extends Controller
// Vérifier que cet enregistrement est supprimable
// Création du formulaire
- $form = $this->createForm(Niveau01Type::class,$data,array("mode"=>"delete"));
+ $form = $this->createForm(Niveau01Type::class,$data,array(
+ "mode" =>"delete",
+ "labelsiren" => $this->GetParameter("labelsirenniveau01"),
+ "masteridentity" => $this->GetParameter("masteridentity")
+ ));
// Récupération des data du formulaire
$form->handleRequest($request);
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php
index dc2260eb..59c2a5a0 100755
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/RegistrationController.php
@@ -27,6 +27,11 @@ class RegistrationController extends Controller
public function listAction()
{
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
return $this->render($this->labelentity.':list.html.twig');
}
@@ -163,7 +168,11 @@ class RegistrationController extends Controller
public function submitAction(Request $request)
{
- $session = new Session();
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
$data = new Registration();
// Création du formulaire
@@ -180,10 +189,10 @@ class RegistrationController extends Controller
$em = $this->getDoctrine()->getManager();
$data = $form->getData();
- $appname = $this->getParameter('appname');
+ $appname = $this->get('session')->get('appname');
$noreply = $this->getParameter('noreply');
$keyterm = $this->getParameter('keyterm');
- $moderegistration = $this->getParameter('moderegistration');
+
// Encodage password
/*
@@ -322,6 +331,11 @@ class RegistrationController extends Controller
public function sendAction($id,Request $request)
{
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
// Récupération de l'enregistrement courant
$data=$this->getData($id);
@@ -340,7 +354,8 @@ class RegistrationController extends Controller
if ($form->get('submit')->isClicked() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$data = $form->getData();
- $appname = $this->getParameter('appname');
+
+ $appname = $this->get('session')->get('appname');
$noreply = $this->getParameter('noreply');
$keyterm = $this->getParameter('keyterm');
@@ -391,6 +406,11 @@ class RegistrationController extends Controller
public function validationAction($key,Request $request)
{
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
$now=new \DateTime();
$em = $this->getDoctrine()->getManager();
@@ -464,6 +484,11 @@ class RegistrationController extends Controller
public function deleteAction($id,Request $request)
{
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
// Récupération de l'enregistrement courant
$data=$this->getData($id);
@@ -497,6 +522,11 @@ class RegistrationController extends Controller
public function resetpwd01Action(Request $request)
{
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
// Création du formulaire
$form = $this->createForm(ResetpwdType::class,null,array("mode"=>"resetpwd01"));
@@ -526,7 +556,7 @@ class RegistrationController extends Controller
// Sur validation
if ($form->get('submit')->isClicked() && $form->isValid()) {
- $appname = $this->getParameter('appname');
+ $appname = $this->get('session')->get('appname');
$noreply = $this->getParameter('noreply');
$keyterm = $this->getParameter('keyterm');
@@ -578,6 +608,11 @@ class RegistrationController extends Controller
public function resetpwd02Action($key,Request $request)
{
+ $moderegistration = $this->getParameter('moderegistration');
+ $masteridentity = $this->getParameter('masteridentity');
+ if($moderegistration=="none"||$masteridentity!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
$now=new \DateTime();
$em = $this->getDoctrine()->getManager();
@@ -714,7 +749,7 @@ class RegistrationController extends Controller
}
// On s'assure que le username ne contient pas des caractères speciaux
- $string = preg_replace('~[^a-zA-Z0-9._-]~', '', $data->getUsername());
+ $string = preg_replace('~[^@a-zA-Z0-9._-]~', '', $data->getUsername());
if($string!=$data->getUsername())
{
$form->addError(new FormError('Caractères interdit dans votre login'));
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/SecurityController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/SecurityController.php
index 2bf802eb..72691168 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/SecurityController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/SecurityController.php
@@ -42,124 +42,23 @@ class SecurityController extends Controller
'error' => $error
));
break;
-
- case "CAS":
- // Création d'une instance de eolephpCAS
- $myphpCAS = new \eolephpCAS();
-
- if (__CAS_LOGOUT){
- if (method_exists($myphpCAS, 'eolelogoutRequests')){
- $myphpCAS->eolelogoutRequests(false);
- }
- }
-
- if (__CAS_VALIDER_CA) {
- $myphpCAS->setCasServerCACert(__CAS_CA_LOCATION); // verification par rapport a la CA
- } else {
- if (method_exists("EolephpCAS", "setNoCasServerValidation")){
- $myphpCAS->setNoCasServerValidation();
- }
- }
-
- $myphpCAS->forceAuthentication();
- $username = $myphpCAS->getUser();
- $details = $myphpCAS->getDetails();
- if(!isset($details["utilisateur"])&&isset($details["attributes"])) {
- $details["utilisateur"]=$details["attributes"];
- }
-
- $em = $this->getDoctrine()->getManager();
- $user = $em->getRepository('CadolesCoreBundle:User')->findOneBy(array("username"=>$username));
- $em = $this->getDoctrine()->getManager();
-
- // Autosubmit
- if (!$user) {
- $niveau01=$em->getRepository('CadolesCoreBundle:Niveau01')->findOneBy(array("id"=>-100));
- $user = new User();
- $user->setUsername($username);
- $user->setPassword("CASPWD-".$username);
- $user->setSalt("CASPWD-".$username);
- $user->setNiveau01($niveau01);
- $user->setSiren($user->getNiveau01()->getSiren());
- $user->setSiret($user->getNiveau02()!==null?$user->getNiveau02()->getSiret():"");
- $user->setEmail($details["utilisateur"]["email"][0]);
- $user->setAvatar("noavatar.png");
- $user->setVisible(true);
- $user->setAuthlevel("simple");
- $user->setRole("ROLE_USER");
- }
-
- // Autoupdate
- $user->setFirstname($details["utilisateur"]["firstname"][0]);
- $user->setLastname($details["utilisateur"]["lastname"][0]);
- $user->setEmail($details["utilisateur"]["email"][0]);
-
- $em->persist($user);
- $em->flush();
-
- // Autoconnexion
- // Récupérer le token de l'utilisateur
- $token = new UsernamePasswordToken($user, null, "main", $user->getRoles());
- $this->get("security.token_storage")->setToken($token);
-
- // Simuler l'evenement de connexion
- $event = new InteractiveLoginEvent($request, $token);
- $dispatcher = new EventDispatcher();
- $dispatcher->dispatch("security.interactive_login", $event);
-
- // Aller sur la page souhaitée au départ
- if(empty($targetpath)) {
- $targetpath="\\".$this->getParameter('alias');
- return $this->redirect($targetpath);
- }
- else {
- return $this->redirect($targetpath);
- }
- break;
}
}
public function logoutAction(Request $request)
{
- /*
- return $this->render('Security:logout.html.twig');
$this->get('security.context')->setToken(null);
$this->get('request')->getSession()->invalidate();
-
-
- return $this->render('Security:logout.html.twig');
- */
}
public function killAction(Request $request)
{
- if(isset($_GET["redirect"])) {
- /*
- $redirect=$_GET["redirect"];
- $alias=$this->getParameter('alias');
- $url=str_replace("/".$alias."/kill?redirect=".$redirect,"",urldecode($request->getUri()));
- $url.=$redirect;
- */
- $url=str_replace("kill","killall",urldecode($request->getUri()));
+ $session = new Session();
+ if($this->getParameter("auth_mode")=="SAML") {
+ $samlLogout = $this->getParameter("saml_logout_url");
+ return $this->redirect($samlLogout);
}
- else $url = str_replace("/kill","",$request->getUri());
-
- // Création d'une instance de eolephpCAS
- $myphpCAS = new \eolephpCAS();
-
- if (__CAS_VALIDER_CA) {
- $myphpCAS->setCasServerCACert(__CAS_CA_LOCATION); // verification par rapport a la CA
- } else {
- if (method_exists("EolephpCAS", "setNoCasServerValidation")){
- $myphpCAS->setNoCasServerValidation();
- }
- }
-
- $myphpCAS->logout(array("service"=>$url));
- }
-
- public function killallAction(Request $request) {
- $redirect=$_GET["redirect"];
- return $this->render('CadolesCoreBundle:Security:logout.html.twig', array('redirect' => $redirect));
+ else
+ return $this->redirectToRoute("myapp_webzine_home");
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php
index 10dd3881..bee34a62 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Controller/UserController.php
@@ -9,6 +9,12 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Form\FormError;
+use Symfony\Bundle\FrameworkBundle\Console\Application;
+use Symfony\Component\Console\Input\ArrayInput;
+use Symfony\Component\Console\Output\BufferedOutput;
+use Symfony\Component\Console\Output\OutputInterface;
+
+
use Cadoles\CoreBundle\Entity\User;
use Cadoles\CoreBundle\Entity\UserGroup;
use Cadoles\CoreBundle\Entity\UserModo;
@@ -43,11 +49,10 @@ class UserController extends Controller
$order= $request->query->get('order');
$viewniveau02=$this->getParameter('viewniveau02');
- // Nombre total d'enregistrement
// Nombre total d'enregistrement
if($this->isGranted('ROLE_ADMIN'))
$total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult();
- else {
+ elseif($this->isGranted('ROLE_MODO')) {
$usermodo=$this->get('security.token_storage')->getToken()->getUser()->getId();
$total = $em->createQueryBuilder()
->select('COUNT(user)')
@@ -58,6 +63,15 @@ class UserController extends Controller
->setParameter("userid", $usermodo)
->getQuery()->getSingleScalarResult();
}
+ elseif($this->isGranted('ROLE_USER')) {
+ $niveau01=$this->get('security.token_storage')->getToken()->getUser()->getNiveau01();
+ $total = $em->createQueryBuilder()
+ ->select('COUNT(user)')
+ ->from($this->labelentity,'user')
+ ->where("user.niveau01 = :niveau01")
+ ->setParameter("niveau01", $niveau01)
+ ->getQuery()->getSingleScalarResult();
+ }
// Nombre d'enregistrement filtré
if($search["value"]=="")
@@ -73,7 +87,7 @@ class UserController extends Controller
->setParameter("value", "%".$search["value"]."%")
->getQuery()
->getSingleScalarResult();
- else
+ elseif($this->isGranted('ROLE_MODO'))
$totalf= $em->createQueryBuilder()
->select('COUNT(user)')
->from('CadolesCoreBundle:User','user')
@@ -87,7 +101,18 @@ class UserController extends Controller
->setParameter("value", "%".$search["value"]."%")
->getQuery()
->getSingleScalarResult();
-
+ elseif($this->isGranted('ROLE_USER'))
+ $totalf= $em->createQueryBuilder()
+ ->select('COUNT(user)')
+ ->from('CadolesCoreBundle:User','user')
+ ->from('CadolesCoreBundle:Niveau01', 'niveau01')
+ ->where('user.niveau01=niveau01.id')
+ ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value')
+ ->andWhere("user.niveau01 = :niveau01")
+ ->setParameter("niveau01", $niveau01)
+ ->setParameter("value", "%".$search["value"]."%")
+ ->getQuery()
+ ->getSingleScalarResult();
}
// Construction du tableau de retour
@@ -104,13 +129,19 @@ class UserController extends Controller
$qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01');
$qb->where('user.niveau01=niveau01.id');
}
- else {
+ elseif($this->isGranted('ROLE_MODO')) {
$qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01')->from('CadolesCoreBundle:UserModo', 'usermodo');
$qb->where('user.niveau01=niveau01.id')
->andwhere("usermodo.niveau01 = user.niveau01")
->andWhere("usermodo.user = :userid")
->setParameter("userid", $usermodo);
}
+ elseif($this->isGranted('ROLE_USER')) {
+ $qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01');
+ $qb->where('user.niveau01=niveau01.id')
+ ->andwhere("user.niveau01 = :niveau01")
+ ->setParameter("niveau01", $niveau01);
+ }
if($search["value"]!="") {
$qb ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value')
@@ -179,7 +210,7 @@ class UserController extends Controller
$action = "";
if($access=="config") {
$action.="$data->getId()))."'> ";
- if($data->getId()>0) {
+ if($data->getId()>0&&$this->GetParameter("masteridentity")!="LDAP") {
$action.="$data->getId()))."'> ";
}
}
@@ -192,7 +223,7 @@ class UserController extends Controller
$tmp=array();
if($access=="config") array_push($tmp,$action);
- array_push($tmp," getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>");
+ array_push($tmp," getAvatar()."' class='avatar' style='margin:auto;display:block;'>");
array_push($tmp,$data->getUsername());
array_push($tmp,$data->getLastname());
array_push($tmp,$data->getFirstname());
@@ -211,11 +242,20 @@ class UserController extends Controller
public function submitAction(Request $request)
{
+ // Vérifier que l'on puisse créer
+ if($this->GetParameter("masteridentity")!="SQL")
+ throw $this->createNotFoundException('Permission denied');
+
// Initialisation de l'enregistrement
$data = new User();
// Création du formulaire
- $form = $this->createForm(UserType::class,$data,array("mode"=>"submit","access"=>"config","perm"=>$this->isGranted('ROLE_ADMIN'),"userid"=>$this->get('security.token_storage')->getToken()->getUser()->getId()));
+ $form = $this->createForm(UserType::class,$data,array(
+ "mode"=>"submit",
+ "access"=>"config",
+ "perm"=>$this->isGranted('ROLE_ADMIN'),"userid"=>$this->get('security.token_storage')->getToken()->getUser()->getId(),
+ "masteridentity"=>$this->GetParameter("masteridentity")
+ ));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -314,7 +354,13 @@ class UserController extends Controller
// Vérifier que cet enregistrement est modifiable
// Création du formulaire
- $form = $this->createForm(UserType::class,$data,array("mode"=>"update","access"=>$access,"perm"=>($access=="config"?$this->isGranted('ROLE_ADMIN'):false),"userid"=>$this->get('security.token_storage')->getToken()->getUser()->getId()));
+ $form = $this->createForm(UserType::class,$data,array(
+ "mode"=>"update",
+ "access"=>$access,
+ "perm"=>($access=="config"?$this->isGranted('ROLE_ADMIN'):false),
+ "userid"=>$this->get('security.token_storage')->getToken()->getUser()->getId(),
+ "masteridentity"=>$this->GetParameter("masteridentity")
+ ));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -414,7 +460,7 @@ class UserController extends Controller
if($access=="config")
return $this->redirectToRoute($this->labelroute);
else
- return $this->redirectToRoute("cadoles_core_refresh");
+ return $this->redirectToRoute("cadoles_core_home");
}
@@ -446,9 +492,17 @@ class UserController extends Controller
}
// Vérifier que cet enregistrement est supprimable
+ if($this->GetParameter("masteridentity")=="LDAP")
+ throw $this->createNotFoundException('Permission denied');
// Création du formulaire
- $form = $this->createForm(UserType::class,$data,array("mode"=>"delete","access"=>"config","perm"=>false,"userid"=>$this->get('security.token_storage')->getToken()->getUser()->getId()));
+ $form = $this->createForm(UserType::class,$data,array(
+ "mode"=>"delete",
+ "access"=>"config",
+ "perm"=>false,
+ "userid"=>$this->get('security.token_storage')->getToken()->getUser()->getId(),
+ "masteridentity"=>$this->GetParameter("masteridentity")
+ ));
// Récupération des data du formulaire
$form->handleRequest($request);
@@ -476,6 +530,28 @@ class UserController extends Controller
));
}
+ public function syncAction(Request $request)
+ {
+ $kernel = $this->get('kernel');
+ $application = new Application($kernel);
+ $application->setAutoExit(false);
+
+ $input = new ArrayInput([
+ 'command' => 'Core:Synchro',
+ 'simulate' => 'false',
+ ]);
+
+ $output = new BufferedOutput(OutputInterface::VERBOSITY_NORMAL,false);
+ $application->run($input, $output);
+ $content = $output->fetch();
+
+ return $this->render('CadolesCoreBundle:Core:command.html.twig', array(
+ "title"=>"Synchronisation avec Annuaire",
+ "return_path"=>"cadoles_core_config_user",
+ "content"=>$content
+ ));
+ }
+
public function profilAction(Request $request)
{
$user = $this->get('security.token_storage')->getToken()->getUser();
@@ -523,8 +599,10 @@ class UserController extends Controller
$qb->select('b')->from('CadolesCoreBundle:Group','b');
if($access!="config")
$qb->where("b.fgopen=true");
-
+ $qb->andWhere("b.ldapfilter IS NULL");
+ $qb->andWhere("b.attributes IS NULL");
$datas=$qb->getQuery()->getResult();
+
return $datas;
}
@@ -550,7 +628,7 @@ class UserController extends Controller
}
// On s'assure que le username ne contient pas des caractères speciaux
- $string = preg_replace('~[^a-zA-Z0-9._-]~', '', $data->getUsername());
+ $string = preg_replace('~[^@a-zA-Z0-9._-]~', '', $data->getUsername());
if($string!=$data->getUsername())
{
$form->addError(new FormError('Caractères interdit dans votre login'));
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Config.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Config.php
new file mode 100644
index 00000000..0dcd41cc
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Config.php
@@ -0,0 +1,322 @@
+id;
+ }
+
+ /**
+ * Set key
+ *
+ * @param string $key
+ *
+ * @return Config
+ */
+ public function setKey($key)
+ {
+ $this->key = $key;
+
+ return $this;
+ }
+
+ /**
+ * Get key
+ *
+ * @return string
+ */
+ public function getKey()
+ {
+ return $this->key;
+ }
+
+ /**
+ * Set value
+ *
+ * @param string $value
+ *
+ * @return Config
+ */
+ public function setValue($value)
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+ /**
+ * Get value
+ *
+ * @return string
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Set order
+ *
+ * @param integer $order
+ *
+ * @return Config
+ */
+ public function setOrder($order)
+ {
+ $this->order = $order;
+
+ return $this;
+ }
+
+ /**
+ * Get order
+ *
+ * @return integer
+ */
+ public function getOrder()
+ {
+ return $this->order;
+ }
+
+ /**
+ * Set visible
+ *
+ * @param boolean $visible
+ *
+ * @return Config
+ */
+ public function setVisible($visible)
+ {
+ $this->visible = $visible;
+
+ return $this;
+ }
+
+ /**
+ * Get visible
+ *
+ * @return boolean
+ */
+ public function getVisible()
+ {
+ return $this->visible;
+ }
+
+ /**
+ * Set type
+ *
+ * @param string $type
+ *
+ * @return Config
+ */
+ public function setType($type)
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+ /**
+ * Get type
+ *
+ * @return string
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Set id
+ *
+ * @param string $id
+ *
+ * @return Config
+ */
+ public function setId($id)
+ {
+ $this->id = $id;
+
+ return $this;
+ }
+
+ /**
+ * Set changeable
+ *
+ * @param boolean $changeable
+ *
+ * @return Config
+ */
+ public function setChangeable($changeable)
+ {
+ $this->changeable = $changeable;
+
+ return $this;
+ }
+
+ /**
+ * Get changeable
+ *
+ * @return boolean
+ */
+ public function getChangeable()
+ {
+ return $this->changeable;
+ }
+
+ /**
+ * Set required
+ *
+ * @param boolean $required
+ *
+ * @return Config
+ */
+ public function setRequired($required)
+ {
+ $this->required = $required;
+
+ return $this;
+ }
+
+ /**
+ * Get required
+ *
+ * @return boolean
+ */
+ public function getRequired()
+ {
+ return $this->required;
+ }
+
+ /**
+ * Set group
+ *
+ * @param string $group
+ *
+ * @return Config
+ */
+ public function setGroup($group)
+ {
+ $this->group = $group;
+
+ return $this;
+ }
+
+ /**
+ * Get group
+ *
+ * @return string
+ */
+ public function getGroup()
+ {
+ return $this->group;
+ }
+
+ /**
+ * Set help
+ *
+ * @param string $help
+ *
+ * @return Config
+ */
+ public function setHelp($help)
+ {
+ $this->help = $help;
+
+ return $this;
+ }
+
+ /**
+ * Get help
+ *
+ * @return string
+ */
+ public function getHelp()
+ {
+ return $this->help;
+ }
+
+ /**
+ * Set grouped
+ *
+ * @param string $grouped
+ *
+ * @return Config
+ */
+ public function setGrouped($grouped)
+ {
+ $this->grouped = $grouped;
+
+ return $this;
+ }
+
+ /**
+ * Get grouped
+ *
+ * @return string
+ */
+ public function getGrouped()
+ {
+ return $this->grouped;
+ }
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Config.php~ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Config.php~
new file mode 100644
index 00000000..0dcd41cc
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Config.php~
@@ -0,0 +1,322 @@
+id;
+ }
+
+ /**
+ * Set key
+ *
+ * @param string $key
+ *
+ * @return Config
+ */
+ public function setKey($key)
+ {
+ $this->key = $key;
+
+ return $this;
+ }
+
+ /**
+ * Get key
+ *
+ * @return string
+ */
+ public function getKey()
+ {
+ return $this->key;
+ }
+
+ /**
+ * Set value
+ *
+ * @param string $value
+ *
+ * @return Config
+ */
+ public function setValue($value)
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+ /**
+ * Get value
+ *
+ * @return string
+ */
+ public function getValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Set order
+ *
+ * @param integer $order
+ *
+ * @return Config
+ */
+ public function setOrder($order)
+ {
+ $this->order = $order;
+
+ return $this;
+ }
+
+ /**
+ * Get order
+ *
+ * @return integer
+ */
+ public function getOrder()
+ {
+ return $this->order;
+ }
+
+ /**
+ * Set visible
+ *
+ * @param boolean $visible
+ *
+ * @return Config
+ */
+ public function setVisible($visible)
+ {
+ $this->visible = $visible;
+
+ return $this;
+ }
+
+ /**
+ * Get visible
+ *
+ * @return boolean
+ */
+ public function getVisible()
+ {
+ return $this->visible;
+ }
+
+ /**
+ * Set type
+ *
+ * @param string $type
+ *
+ * @return Config
+ */
+ public function setType($type)
+ {
+ $this->type = $type;
+
+ return $this;
+ }
+
+ /**
+ * Get type
+ *
+ * @return string
+ */
+ public function getType()
+ {
+ return $this->type;
+ }
+
+ /**
+ * Set id
+ *
+ * @param string $id
+ *
+ * @return Config
+ */
+ public function setId($id)
+ {
+ $this->id = $id;
+
+ return $this;
+ }
+
+ /**
+ * Set changeable
+ *
+ * @param boolean $changeable
+ *
+ * @return Config
+ */
+ public function setChangeable($changeable)
+ {
+ $this->changeable = $changeable;
+
+ return $this;
+ }
+
+ /**
+ * Get changeable
+ *
+ * @return boolean
+ */
+ public function getChangeable()
+ {
+ return $this->changeable;
+ }
+
+ /**
+ * Set required
+ *
+ * @param boolean $required
+ *
+ * @return Config
+ */
+ public function setRequired($required)
+ {
+ $this->required = $required;
+
+ return $this;
+ }
+
+ /**
+ * Get required
+ *
+ * @return boolean
+ */
+ public function getRequired()
+ {
+ return $this->required;
+ }
+
+ /**
+ * Set group
+ *
+ * @param string $group
+ *
+ * @return Config
+ */
+ public function setGroup($group)
+ {
+ $this->group = $group;
+
+ return $this;
+ }
+
+ /**
+ * Get group
+ *
+ * @return string
+ */
+ public function getGroup()
+ {
+ return $this->group;
+ }
+
+ /**
+ * Set help
+ *
+ * @param string $help
+ *
+ * @return Config
+ */
+ public function setHelp($help)
+ {
+ $this->help = $help;
+
+ return $this;
+ }
+
+ /**
+ * Get help
+ *
+ * @return string
+ */
+ public function getHelp()
+ {
+ return $this->help;
+ }
+
+ /**
+ * Set grouped
+ *
+ * @param string $grouped
+ *
+ * @return Config
+ */
+ public function setGrouped($grouped)
+ {
+ $this->grouped = $grouped;
+
+ return $this;
+ }
+
+ /**
+ * Get grouped
+ *
+ * @return string
+ */
+ public function getGrouped()
+ {
+ return $this->grouped;
+ }
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php
index 2640930d..c3b4dd35 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php
@@ -12,7 +12,8 @@ use Symfony\Component\Validator\Constraints as Assert;
* @ORM\Entity
* @ORM\Table(name="groupe")
* @ORM\HasLifecycleCallbacks()
- *
+ * @ORM\Entity(repositoryClass="Cadoles\CoreBundle\Repository\GroupRepository")
+ *
* @UniqueEntity(fields="label", message="Un group existe déjà avec ce label")
*/
class Group
@@ -38,7 +39,22 @@ class Group
* @ORM\Column(type="boolean")
*/
private $fgall;
-
+
+ /**
+ * @ORM\Column(type="boolean")
+ */
+ private $fgtemplate;
+
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $ldapfilter;
+
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $attributes;
+
/**
* @var ArrayCollection $users
* @var UserGroup
@@ -47,6 +63,8 @@ class Group
*/
private $users;
+
+
/**
* Constructor
*/
@@ -137,6 +155,78 @@ class Group
return $this->fgall;
}
+ /**
+ * Set fgtemplate
+ *
+ * @param boolean $fgtemplate
+ *
+ * @return Group
+ */
+ public function setFgtemplate($fgtemplate)
+ {
+ $this->fgtemplate = $fgtemplate;
+
+ return $this;
+ }
+
+ /**
+ * Get fgtemplate
+ *
+ * @return boolean
+ */
+ public function getFgtemplate()
+ {
+ return $this->fgtemplate;
+ }
+
+ /**
+ * Set ldapfilter
+ *
+ * @param string $ldapfilter
+ *
+ * @return Group
+ */
+ public function setLdapfilter($ldapfilter)
+ {
+ $this->ldapfilter = $ldapfilter;
+
+ return $this;
+ }
+
+ /**
+ * Get ldapfilter
+ *
+ * @return string
+ */
+ public function getLdapfilter()
+ {
+ return $this->ldapfilter;
+ }
+
+ /**
+ * Set attributes
+ *
+ * @param string $attributes
+ *
+ * @return Group
+ */
+ public function setAttributes($attributes)
+ {
+ $this->attributes = $attributes;
+
+ return $this;
+ }
+
+ /**
+ * Get attributes
+ *
+ * @return string
+ */
+ public function getAttributes()
+ {
+ return $this->attributes;
+ }
+
/**
* Add user
*
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php~ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php~
index 2640930d..659aa9e5 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php~
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Group.php~
@@ -38,7 +38,22 @@ class Group
* @ORM\Column(type="boolean")
*/
private $fgall;
-
+
+ /**
+ * @ORM\Column(type="boolean")
+ */
+ private $fgtemplate;
+
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $ldapfilter;
+
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $attributes;
+
/**
* @var ArrayCollection $users
* @var UserGroup
@@ -47,6 +62,8 @@ class Group
*/
private $users;
+
+
/**
* Constructor
*/
@@ -137,6 +154,78 @@ class Group
return $this->fgall;
}
+ /**
+ * Set fgtemplate
+ *
+ * @param boolean $fgtemplate
+ *
+ * @return Group
+ */
+ public function setFgtemplate($fgtemplate)
+ {
+ $this->fgtemplate = $fgtemplate;
+
+ return $this;
+ }
+
+ /**
+ * Get fgtemplate
+ *
+ * @return boolean
+ */
+ public function getFgtemplate()
+ {
+ return $this->fgtemplate;
+ }
+
+ /**
+ * Set ldapfilter
+ *
+ * @param string $ldapfilter
+ *
+ * @return Group
+ */
+ public function setLdapfilter($ldapfilter)
+ {
+ $this->ldapfilter = $ldapfilter;
+
+ return $this;
+ }
+
+ /**
+ * Get ldapfilter
+ *
+ * @return string
+ */
+ public function getLdapfilter()
+ {
+ return $this->ldapfilter;
+ }
+
+ /**
+ * Set attributes
+ *
+ * @param string $attributes
+ *
+ * @return Group
+ */
+ public function setAttributes($attributes)
+ {
+ $this->attributes = $attributes;
+
+ return $this;
+ }
+
+ /**
+ * Get attributes
+ *
+ * @return string
+ */
+ public function getAttributes()
+ {
+ return $this->attributes;
+ }
+
/**
* Add user
*
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php
index 8ba4a944..4af01f8d 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php
@@ -12,7 +12,8 @@ use Symfony\Component\Validator\Constraints as Assert;
* @ORM\Entity
* @ORM\Table(name="niveau01")
* @ORM\HasLifecycleCallbacks()
- *
+ * @ORM\Entity(repositoryClass="Cadoles\CoreBundle\Repository\Niveau01Repository")
+ *
* @UniqueEntity(fields="label", message="Un Niveau de rang 1 existe déjà avec ce label")
*/
class Niveau01
@@ -34,6 +35,16 @@ class Niveau01
*/
private $siren;
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $ldapfilter;
+
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $attributes;
+
/**
* @var ArrayCollection $niveau02s
* @var Registration
@@ -65,7 +76,8 @@ class Niveau01
* @ORM\OneToMany(targetEntity="UserModo", mappedBy="service", cascade={"persist"}, orphanRemoval=false)
*/
private $modos;
-
+
+
/**
* Constructor
*/
@@ -74,6 +86,7 @@ class Niveau01
$this->niveau02s = new \Doctrine\Common\Collections\ArrayCollection();
$this->registrations = new \Doctrine\Common\Collections\ArrayCollection();
$this->users = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->modos = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
@@ -134,6 +147,54 @@ class Niveau01
return $this->siren;
}
+ /**
+ * Set ldapfilter
+ *
+ * @param string $ldapfilter
+ *
+ * @return Niveau01
+ */
+ public function setLdapfilter($ldapfilter)
+ {
+ $this->ldapfilter = $ldapfilter;
+
+ return $this;
+ }
+
+ /**
+ * Get ldapfilter
+ *
+ * @return string
+ */
+ public function getLdapfilter()
+ {
+ return $this->ldapfilter;
+ }
+
+ /**
+ * Set attributes
+ *
+ * @param string $attributes
+ *
+ * @return Niveau01
+ */
+ public function setAttributes($attributes)
+ {
+ $this->attributes = $attributes;
+
+ return $this;
+ }
+
+ /**
+ * Get attributes
+ *
+ * @return string
+ */
+ public function getAttributes()
+ {
+ return $this->attributes;
+ }
+
/**
* Add niveau02
*
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php~ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php~
index 8ba4a944..4af01f8d 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php~
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/Niveau01.php~
@@ -12,7 +12,8 @@ use Symfony\Component\Validator\Constraints as Assert;
* @ORM\Entity
* @ORM\Table(name="niveau01")
* @ORM\HasLifecycleCallbacks()
- *
+ * @ORM\Entity(repositoryClass="Cadoles\CoreBundle\Repository\Niveau01Repository")
+ *
* @UniqueEntity(fields="label", message="Un Niveau de rang 1 existe déjà avec ce label")
*/
class Niveau01
@@ -34,6 +35,16 @@ class Niveau01
*/
private $siren;
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $ldapfilter;
+
+ /**
+ * @ORM\Column(type="text", nullable=true)
+ */
+ private $attributes;
+
/**
* @var ArrayCollection $niveau02s
* @var Registration
@@ -65,7 +76,8 @@ class Niveau01
* @ORM\OneToMany(targetEntity="UserModo", mappedBy="service", cascade={"persist"}, orphanRemoval=false)
*/
private $modos;
-
+
+
/**
* Constructor
*/
@@ -74,6 +86,7 @@ class Niveau01
$this->niveau02s = new \Doctrine\Common\Collections\ArrayCollection();
$this->registrations = new \Doctrine\Common\Collections\ArrayCollection();
$this->users = new \Doctrine\Common\Collections\ArrayCollection();
+ $this->modos = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
@@ -134,6 +147,54 @@ class Niveau01
return $this->siren;
}
+ /**
+ * Set ldapfilter
+ *
+ * @param string $ldapfilter
+ *
+ * @return Niveau01
+ */
+ public function setLdapfilter($ldapfilter)
+ {
+ $this->ldapfilter = $ldapfilter;
+
+ return $this;
+ }
+
+ /**
+ * Get ldapfilter
+ *
+ * @return string
+ */
+ public function getLdapfilter()
+ {
+ return $this->ldapfilter;
+ }
+
+ /**
+ * Set attributes
+ *
+ * @param string $attributes
+ *
+ * @return Niveau01
+ */
+ public function setAttributes($attributes)
+ {
+ $this->attributes = $attributes;
+
+ return $this;
+ }
+
+ /**
+ * Get attributes
+ *
+ * @return string
+ */
+ public function getAttributes()
+ {
+ return $this->attributes;
+ }
+
/**
* Add niveau02
*
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php
index 858324ac..1d7d57d3 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php
@@ -28,7 +28,7 @@ class User implements UserInterface, \Serializable
private $id;
/**
- * @ORM\Column(type="string", length=25, unique=true)
+ * @ORM\Column(type="string", length=50, unique=true)
*/
private $username;
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php~ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php~
index 3eb7c558..1d7d57d3 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php~
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Entity/User.php~
@@ -28,7 +28,7 @@ class User implements UserInterface, \Serializable
private $id;
/**
- * @ORM\Column(type="string", length=25, unique=true)
+ * @ORM\Column(type="string", length=50, unique=true)
*/
private $username;
@@ -908,4 +908,52 @@ class User implements UserInterface, \Serializable
{
return $this->modos;
}
+
+ /**
+ * Set keyexpire
+ *
+ * @param \DateTime $keyexpire
+ *
+ * @return User
+ */
+ public function setKeyexpire($keyexpire)
+ {
+ $this->keyexpire = $keyexpire;
+
+ return $this;
+ }
+
+ /**
+ * Get keyexpire
+ *
+ * @return \DateTime
+ */
+ public function getKeyexpire()
+ {
+ return $this->keyexpire;
+ }
+
+ /**
+ * Set keyvalue
+ *
+ * @param string $keyvalue
+ *
+ * @return User
+ */
+ public function setKeyvalue($keyvalue)
+ {
+ $this->keyvalue = $keyvalue;
+
+ return $this;
+ }
+
+ /**
+ * Get keyvalue
+ *
+ * @return string
+ */
+ public function getKeyvalue()
+ {
+ return $this->keyvalue;
+ }
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php
index 1f2c09a5..f836ade7 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/sessionListener.php
@@ -38,6 +38,10 @@
public function onDomainParse(Event $event) {
$session = new Session();
+ $configs = $this->em->getRepository("CadolesCoreBundle:Config")->findAll();
+ foreach($configs as $config) {
+ $session->set($config->getId(), $config->getValue());
+ }
// Calcul des couleurs
$color = $this->container->get('cadoles.core.service.color');
@@ -53,22 +57,29 @@
if($curentuser=="anon.") $roles="";
else $roles=$curentuser->getRoles();
+ // Masteridentity
+ $masteridentity =$this->container->getParameter('masteridentity');
+ $session->set('masteridentity',$masteridentity);
+
// Chargement de la sidebar
$iconniveau01 =$this->container->getParameter('iconniveau01');
$labelsniveau01 =$this->container->getParameter('labelsniveau01');
$labelniveau01 =$this->container->getParameter('labelsniveau01');
$session->set('labelniveau01',$labelniveau01);
+ $viewniveau02 =$this->container->getParameter('viewniveau02');
$iconniveau02 =$this->container->getParameter('iconniveau02');
$labelsniveau02 =$this->container->getParameter('labelsniveau02');
$labelniveau02 =$this->container->getParameter('labelsniveau02');
$session->set('labelniveau02',$labelniveau02);
$moderegistration =$this->container->getParameter('moderegistration');
+ if($masteridentity!="SQL") $moderegistration="none";
$sidebar=array();
$nvs1 = $this->em->getRepository("CadolesCoreBundle:Sidebar")->findBy(array('parent'=> NULL), array('roworder' => 'ASC'));
foreach($nvs1 as $nv1) {
+
if($this->haveRole($roles,$nv1->getPermission())) {
$sidebar[$nv1->getRoworder()] = array(
"fonticon" => $nv1->getFonticon(),
@@ -81,8 +92,12 @@
$sidebar[$nv1->getRoworder()]["fonticon"]=$iconniveau01;
}
if($nv1->getPath()=="cadoles_core_config_niveau02") {
- $sidebar[$nv1->getRoworder()]["label"]=$labelsniveau02;
- $sidebar[$nv1->getRoworder()]["fonticon"]=$iconniveau02;
+ if(!$viewniveau02)
+ unset($sidebar[$nv1->getRoworder()]);
+ else {
+ $sidebar[$nv1->getRoworder()]["label"]=$labelsniveau02;
+ $sidebar[$nv1->getRoworder()]["fonticon"]=$iconniveau02;
+ }
}
if($nv1->getPath()=="cadoles_core_config_whitelist") {
if($moderegistration=="none")
@@ -102,8 +117,12 @@
$sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["fonticon"]=$iconniveau01;
}
if($nv2->getPath()=="cadoles_core_config_niveau02") {
- $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["label"]=$labelsniveau02;
- $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["fonticon"]=$iconniveau02;
+ if(!$viewniveau02)
+ unset($sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]);
+ else {
+ $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["label"]=$labelsniveau02;
+ $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["fonticon"]=$iconniveau02;
+ }
}
if($nv2->getPath()=="cadoles_core_config_whitelist") {
if($moderegistration=="none")
@@ -123,8 +142,12 @@
$sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["childs"][$nv3->getRoworder()]["fonticon"]=$iconniveau01;
}
if($nv3->getPath()=="cadoles_core_config_niveau02") {
- $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["childs"][$nv3->getRoworder()]["label"]=$labelsniveau02;
- $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["childs"][$nv3->getRoworder()]["fonticon"]=$iconniveau02;
+ if(!$viewniveau02)
+ unset($sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["childs"][$nv3->getRoworder()]);
+ else {
+ $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["childs"][$nv3->getRoworder()]["label"]=$labelsniveau02;
+ $sidebar[$nv1->getRoworder()]["childs"][$nv2->getRoworder()]["childs"][$nv3->getRoworder()]["fonticon"]=$iconniveau02;
+ }
}
if($nv3->getPath()=="cadoles_core_config_whitelist") {
if($moderegistration=="none"||$moderegistration=="byuser")
@@ -142,31 +165,5 @@
}
}
$session->set('sidebar', $sidebar);
-
- // CAS et non appel Ajax
- $request=$event->getRequest();
- if(!$request->isXmlHttpRequest()) {
- // Création d'une instance de eolephpCAS
- $myphpCAS = new \eolephpCAS();
-
- // Déclaration du client
- if(!$myphpCAS->EoleTestphpCAS()) {
- $myphpCAS->client(__CAS_VERSION, __CAS_SERVER, __CAS_PORT, __CAS_FOLDER, false);
- }
-
- if (__CAS_LOGOUT){
- if (method_exists($myphpCAS, 'eolelogoutRequests')){
- $myphpCAS->eolelogoutRequests(false);
- }
- }
-
- if (__CAS_VALIDER_CA) {
- $myphpCAS->setCasServerCACert(__CAS_CA_LOCATION); // verification par rapport a la CA
- } else {
- if (method_exists("EolephpCAS", "setNoCasServerValidation")){
- $myphpCAS->setNoCasServerValidation();
- }
- }
- }
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php
index 075dbe50..97e7e728 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/EventListener/uploadListener.php
@@ -90,6 +90,13 @@ class uploadListener
$session = new Session();
$session->set('uploadavatar', $filename);
break;
+
+ default:
+ $file=$event->getFile();
+ $filename=$file->getFilename();
+ $response = $event->getResponse();
+ $response['file'] = $filename;
+ break;
}
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php
new file mode 100644
index 00000000..e8cdcedd
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/ConfigType.php
@@ -0,0 +1,142 @@
+getFlashBag()->clear();
+
+ $config = $session->get('configs');
+
+ $builder->add('submit',
+ SubmitType::class,
+ array("label" => "Valider",
+ "attr" => array("class" => "btn btn-success")));
+
+ $builder->add('id',
+ TextType::class,
+ array("label" =>"Clé",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "form-control"),
+ 'disabled' => true));
+
+ switch($options["type"]) {
+ case "string":
+ $builder->add('value',
+ TextType::class,
+ array("label" => "Valeur",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "form-control"),
+ 'required' => ($options["required"]==0?false:true)));
+ break;
+
+ case "integer":
+ $builder->add('value',
+ IntegerType::class,
+ array("label" => "Valeur",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "form-control"),
+ 'required' => ($options["required"]==0?false:true)));
+ break;
+
+ case "boolean":
+ if($options["key"]=="LDAPactivate"&&$config["authentication"]=="LDAP") {
+ $session->getFlashBag()->add("notice", "Impossible de désactiver LDAP car votre mode d'authentification est LDAP");
+ $choices=array("oui" => "1");
+ }
+ else
+ $choices=array("oui" => "1","non" => "0");
+
+ $builder->add("value", ChoiceType::class,
+ array("label" =>"Valeur",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "form-control"),
+ 'required' => ($options["required"]==0?false:true),
+ "choices" => $choices));
+ break;
+
+ case "font":
+ $choices=array(
+ "Helvetica" => "Helvetica",
+ "Peacesans" => "Peacesans",
+ "Acme-Regular" => "Acme-Regular",
+ "Redressed" => "Redressed",
+ "Roboto-Regular" => "Roboto-Regular",
+ "Justanotherhand-Regular" => "Justanotherhand-Regular",
+
+ );
+
+ $builder->add("value", ChoiceType::class,
+ array("label" =>"Valeur",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "form-control"),
+ 'required' => ($options["required"]==0?false:true),
+ "choices" => $choices));
+ break;
+
+ case "editor":
+ $builder->add('value', CKEditorType::class,
+ array("config_name" => 'medium_config',
+ "required" => ($options["required"]==0?false:true),
+ "config" => array("height" => "250px")));
+
+ break;
+
+ case "logo":
+ $builder->add('value',HiddenType::class);
+ break;
+
+ case "header":
+ $builder->add('value',HiddenType::class);
+ break;
+
+ case "color":
+ $builder->add('value',
+ TextType::class,
+ array("label" => "Valeur",
+ "label_attr" => array("style" => 'margin-top:15px;'),
+ "attr" => array("class" => "pick-a-color form-control"),
+ 'required' => ($options["required"]==0?false:true)));
+ break;
+ }
+
+ $builder->add('help',
+ TextareaType::class,
+ array("label" =>"Aide",
+ "attr" => array("class" => "form-control", "style" => "margin-top:15px; height: 200px;"),
+ 'required' => false,
+ 'disabled' => true));
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function configureOptions(OptionsResolver $resolver)
+ {
+ $resolver->setDefaults(array(
+ 'data_class' => 'Cadoles\CoreBundle\Entity\Config',
+ 'key' => "string",
+ 'type' => "string",
+ 'required' => "string",
+ ));
+ }
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/GroupType.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/GroupType.php
index 3e39b58f..7badbdbb 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/GroupType.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/GroupType.php
@@ -6,6 +6,7 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
+use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
@@ -45,14 +46,64 @@ class GroupType extends AbstractType
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px"),
"choices" => $choices
)
- );
+ );
+
+ // Si masteridentity = LDAP alors on demande le filtre des utilisateurs qui appartiennent à ce groupe
+ if($options["masteridentity"]=="LDAP")
+ {
+ $choices=array("oui" => "1","non" => "0");
+ $builder->add("fgassoc",
+ ChoiceType::class,array(
+ "mapped" => false,
+ "label" => "Groupe associé à l'annuaire ?",
+ 'disabled' => ($options["mode"]=="delete"?true:false),
+ "attr" => array("class" => "form-control", "style" => "margin-bottom:15px"),
+ "choices" => $choices
+ )
+ );
+
+ $builder->add('ldapfilter',
+ TextType::class, array(
+ "label" => "Filtre LDAP des utilisateurs",
+ "label_attr" => array("id" => "label_group_ldapfilter"),
+ "disabled" => ($options["mode"]=="delete"?true:false),
+ "required" => false,
+ "attr" => array("class" => "form-control", "style" => "margin-bottom:15px")
+ )
+ );
+ }
+
+ if($options["masteridentity"]=="SSO")
+ {
+ $choices=array("oui" => "1","non" => "0");
+ $builder->add("fgassoc",
+ ChoiceType::class,array(
+ "mapped" => false,
+ "label" => "Groupe associé à des attributs SSO ?",
+ 'disabled' => ($options["mode"]=="delete"?true:false),
+ "attr" => array("class" => "form-control", "style" => "margin-bottom:15px"),
+ "choices" => $choices
+ )
+ );
+
+ $builder->add('attributes',
+ TextareaType::class, array(
+ "label" => "Attributs SSO des utilisateurs",
+ "label_attr" => array("id" => "label_group_attributes"),
+ "disabled" => ($options["mode"]=="delete"?true:false),
+ "required" => false,
+ "attr" => array("rows" => 10, "class" => "form-control", "style" => "margin-bottom:15px")
+ )
+ );
+ }
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Cadoles\CoreBundle\Entity\Group',
- 'mode' => "string"
+ 'mode' => "string",
+ 'masteridentity' => "string"
));
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/Niveau01Type.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/Niveau01Type.php
index e75f20ed..2a1e1b0a 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/Niveau01Type.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/Niveau01Type.php
@@ -6,6 +6,7 @@ use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
+use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
@@ -38,18 +39,44 @@ class Niveau01Type extends AbstractType
$builder->add('siren',
TextType::class, array(
- "label" =>"SIREN",
+ "label" => $options["labelsiren"],
"disabled" => ($options["mode"]=="delete"?true:false),
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")
)
- );
+ );
+
+ // Si masteridentity = LDAP alors on demande obligatoirement le filtre des utilisateurs qui appartiennent à ce niveau01
+ if($options["masteridentity"]=="LDAP")
+ {
+ $builder->add('ldapfilter',
+ TextType::class, array(
+ "label" => "Filtre LDAP des utilisateurs",
+ "disabled" => ($options["mode"]=="delete"?true:false),
+ "attr" => array("class" => "form-control", "style" => "margin-bottom:15px")
+ )
+ );
+ }
+
+ if($options["masteridentity"]=="SSO")
+ {
+ $builder->add('attributes',
+ TextareaType::class, array(
+ "label" => "Attributs SSO des utilisateurs",
+ "disabled" => ($options["mode"]=="delete"?true:false),
+ "attr" => array("rows" => 10, "class" => "form-control", "style" => "margin-bottom:15px")
+ )
+ );
+ }
+
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Cadoles\CoreBundle\Entity\Niveau01',
- 'mode' => "string"
+ 'mode' => "string",
+ 'labelsiren' => "string",
+ 'masteridentity' => "string"
));
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/UserType.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/UserType.php
index fc65c227..4ae26e54 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/UserType.php
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Form/UserType.php
@@ -47,7 +47,7 @@ class UserType extends AbstractType
$builder->add('firstname',
TextType::class, array(
"label" =>"Prénom",
- "disabled" => ($options["mode"]=="delete"?true:false),
+ "disabled" => ($options["mode"]=="delete"||$options["masteridentity"]!="SQL"?true:false),
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")
)
);
@@ -55,7 +55,7 @@ class UserType extends AbstractType
$builder->add('lastname',
TextType::class, array(
"label" =>"Nom",
- "disabled" => ($options["mode"]=="delete"?true:false),
+ "disabled" => ($options["mode"]=="delete"||$options["masteridentity"]!="SQL"?true:false),
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")
)
);
@@ -63,7 +63,7 @@ class UserType extends AbstractType
$builder->add('email',
EmailType::class, array(
"label" =>"Mail",
- "disabled" => ($options["mode"]=="delete"||$options["mode"]=="send"?true:false),
+ "disabled" => ($options["mode"]=="delete"||$options["mode"]=="send"||$options["masteridentity"]!="SQL"?true:false),
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px")
)
);
@@ -114,12 +114,12 @@ class UserType extends AbstractType
return $er->createQueryBuilder('niveau01');
}
},
- "disabled" => ($options["mode"]=="delete"?true:false),
+ "disabled" => ($options["mode"]=="delete"||$options["masteridentity"]!="SQL"?true:false),
"attr" => array("class" => "form-control", "style" => "margin-bottom:15px","readonly" => ($options["mode"]=="delete"?true:false))));
# Password
- if($options["mode"]!="delete") {
+ if($options["mode"]!="delete"&&$options["masteridentity"]=="SQL") {
$builder->add('password',
RepeatedType::class, array(
"type" => PasswordType::class,
@@ -319,7 +319,8 @@ class UserType extends AbstractType
'mode' => "string",
'access' => "string",
'perm' => "boolean",
- 'userid' => "integer"
+ 'userid' => "integer",
+ 'masteridentity' => "string"
));
}
}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Repository/GroupRepository.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Repository/GroupRepository.php
new file mode 100644
index 00000000..69ce83aa
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Repository/GroupRepository.php
@@ -0,0 +1,71 @@
+_em->getRepository('CadolesCoreBundle:Group')->findAll();
+ $retgroups= new ArrayCollection();
+ foreach($groups as $group) {
+ if($group->getAttributes()) {
+
+ $attgroup=json_decode($group->getAttributes(),true);
+
+ foreach($attgroup as $key => $value) {
+ if(array_key_exists($key,$attruser)) {
+ if(is_array($value)) {
+ foreach($value as $val) {
+ if($val=="*")
+ $retgroups->add($group);
+ elseif($val==$attruser[$key])
+ $retgroups->add($group);
+ }
+ }
+ elseif(array_key_exists($key,$attruser)) {
+ if($value=="*")
+ $retgroups->add($group);
+ elseif($value==$attruser[$key])
+ $retgroups->add($group);
+ }
+ }
+ }
+ }
+ }
+
+ // Pour chaque groupe de l'utilisateur
+ $usergroups=$user->getGroups();
+
+ // On le détache des groupes auxquelles il n'appartient plus
+ if($usergroups) {
+ foreach($usergroups as $usergroup) {
+ if($usergroup->getGroup()->getAttributes()!="") {
+ if(!$retgroups->contains($usergroup->getGroup())) {
+ $user->removeGroup($usergroup);
+ }
+ }
+ }
+ }
+
+ // On attache le user aux groupes
+ foreach($retgroups as $retgroup) {
+ $usergroup=$this->_em->getRepository('CadolesCoreBundle:UserGroup')->findBy(["user"=>$user,"group"=>$retgroup]);
+ if(!$usergroup) {
+ $usergroup=new UserGroup();
+ $usergroup->setUser($user);
+ $usergroup->setGroup($retgroup);
+
+ $this->_em->persist($usergroup);
+ $this->_em->flush();
+ }
+ }
+
+ return $user;
+ }
+
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Repository/Niveau01Repository.php b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Repository/Niveau01Repository.php
new file mode 100644
index 00000000..b221d163
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Repository/Niveau01Repository.php
@@ -0,0 +1,40 @@
+_em->getRepository('CadolesCoreBundle:Niveau01')->findAll();
+ foreach($niveau01s as $niveau01) {
+ if($niveau01->getAttributes()) {
+
+ $attniveau=json_decode($niveau01->getAttributes(),true);
+
+ foreach($attniveau as $key => $value) {
+ if(array_key_exists($key,$attruser)) {
+ if(is_array($value)) {
+ foreach($value as $val) {
+ if($val=="*")
+ return $niveau01;
+ elseif($val==$attruser[$key])
+ return $niveau01;
+ }
+ }
+ else if(array_key_exists($key,$attruser)) {
+ if($value=="*")
+ return $niveau01;
+ elseif($value==$attruser[$key])
+ return $niveau01;
+ }
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+
+}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml
index b22b68b9..123e63a6 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml
@@ -14,16 +14,12 @@ cadoles_core_login:
cadoles_core_logout:
path: /logout
- defaults: { _controller: CadolesCoreBundle:Security:logout }
+ defaults: { _controller: CadolesCoreBundle:Security:logout }
cadoles_core_kill:
path: /kill
defaults: { _controller: CadolesCoreBundle:Security:kill }
-cadoles_core_killall:
- path: /killall
- defaults: { _controller: CadolesCoreBundle:Security:killall }
-
#== Crop Image
cadoles_core_crop01:
path: /crop01
@@ -90,6 +86,27 @@ cadoles_core_config:
path: /config/home
defaults: { _controller: CadolesCoreBundle:Config:home }
+#== Commun Config Commun
+cadoles_core_config_commun:
+ path: /config/commun
+ defaults: { _controller: CadolesCoreBundle:Config:list }
+
+cadoles_core_config_commun_update:
+ path: /config/commun/update/{id}
+ defaults: { _controller: CadolesCoreBundle:Config:update }
+
+cadoles_core_config_commun_delete:
+ path: /config/commun/delete/{id}
+ defaults: { _controller: CadolesCoreBundle:Config:delete }
+
+cadoles_core_config_logo:
+ path: /config/commun/logo
+ defaults: { _controller: CadolesCoreBundle:Config:logo }
+
+cadoles_core_config_header:
+ path: /config/commun/header
+ defaults: { _controller: CadolesCoreBundle:Config:header }
+
#== Config Registration
cadoles_core_config_registration:
path: /config/registration
@@ -124,6 +141,10 @@ cadoles_core_config_user_delete:
path: /config/user/delete/{id}
defaults: { _controller: CadolesCoreBundle:User:delete }
+cadoles_core_config_user_sync:
+ path: /config/user/sync
+ defaults: { _controller: CadolesCoreBundle:User:sync }
+
cadoles_core_config_user_ajax_list:
path: /config/user/ajax/list
defaults: { _controller: CadolesCoreBundle:User:ajaxlist, access: config }
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml
index 6650c3ad..4bf12960 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/config/services.yml
@@ -77,14 +77,14 @@ services:
- [setBaseNiveau01, ["%ldap_baseniveau01%"]]
- [setBaseNiveau02, ["%ldap_baseniveau02%"]]
- [setBaseGroup, ["%ldap_basegroup%"]]
- - [setLdapSync, ["%ldap_sync%"]]
+ - [setLdapSync, ["%ldap_sync%","%masteridentity%"]]
cadoles.core.service.eportail:
class: Cadoles\CoreBundle\Service\eportailService
arguments:
- "@doctrine"
calls:
- - [setEportailSync, ["%eportail_sync%"]]
+ - [setEportailSync, ["%eportail_sync%","%masteridentity%"]]
- [setLabelniveau01, ["%labelniveau01%"]]
- [setLabelniveau02, ["%labelniveau02%"]]
@@ -94,4 +94,21 @@ services:
cadoles.core.service.color:
class: Cadoles\CoreBundle\Service\colorService
- arguments: ['@service_container']
\ No newline at end of file
+ arguments: ['@service_container']
+
+ cadoles.saml_user_mapper:
+ class: Cadoles\CoreBundle\Service\samlUserMapperService
+ arguments:
+ - "@=service('doctrine').getManager()"
+ - "@service_container"
+ - "@session"
+
+ cadoles.saml_user_creator:
+ class: Cadoles\CoreBundle\Service\samlUserCreatorService
+ arguments:
+ - "@=service('doctrine').getManager()"
+ - "@service_container"
+ - "@session"
+
+ cadoles.saml_attribute_mapper:
+ class: Cadoles\CoreBundle\Service\samlAttributeMapperService
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/font.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/font.css
new file mode 100644
index 00000000..4adce7b5
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/font.css
@@ -0,0 +1,55 @@
+ @font-face {
+ font-family: 'Redressed';
+ src: url('../fonts/typo/Redressed-webfont.eot');
+ src: url('../fonts/typo/Redressed-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/typo/Redressed-webfont.woff') format('woff'),
+ url('../fonts/typo/Redressed-webfont.ttf') format('truetype'),
+ url('../fonts/typo/Redressed-webfont.svg#redressedregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ }
+
+ @font-face {
+ font-family: 'Acme-Regular';
+ src: url('../fonts/typo/Acme-Regular-webfont.eot');
+ src: url('../fonts/typo/Acme-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/typo/Acme-Regular-webfont.woff') format('woff'),
+ url('../fonts/typo/Acme-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/typo/Acme-Regular-webfont.svg#acmeregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ }
+
+ @font-face {
+ font-family: 'Peacesans';
+ src: url('../fonts/typo/Peacesans-webfont.eot');
+ src: url('../fonts/typo/Peacesans-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/typo/Peacesans-webfont.woff') format('woff'),
+ url('../fonts/typo/Peacesans-webfont.ttf') format('truetype'),
+ url('../fonts/typo/Peacesans-webfont.svg#peacesans') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ }
+
+ @font-face {
+ font-family: 'Roboto-Regular';
+ src: url('../fonts/typo/Roboto-Regular-webfont.eot');
+ src: url('../fonts/typo/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/typo/Roboto-Regular-webfont.woff') format('woff'),
+ url('../fonts/typo/Roboto-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/typo/Roboto-Regular-webfont.svg#peacesansregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ }
+
+ @font-face {
+ font-family: 'Justanotherhand-Regular';
+ src: url('../fonts/typo/Justanotherhand-Regular-webfont.eot');
+ src: url('../fonts/typo/Justanotherhand-Regular-webfont.eot?#iefix') format('embedded-opentype'),
+ url('../fonts/typo/Justanotherhand-Regular-webfont.woff') format('woff'),
+ url('../fonts/typo/Justanotherhand-Regular-webfont.ttf') format('truetype'),
+ url('../fonts/typo/Justanotherhand-Regular-webfont.svg#justanotherhandregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+ }
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/sb-admin-2.css b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/sb-admin-2.css
index a8f90408..8232b65d 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/sb-admin-2.css
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/css/sb-admin-2.css
@@ -132,7 +132,6 @@ body {
z-index: 1;
position: absolute;
width: 250px;
- margin-top: 53px;
}
.navbar-top-links .dropdown-messages,
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.eot
new file mode 100644
index 00000000..7a117ed3
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.svg
new file mode 100644
index 00000000..74015720
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.svg
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.ttf
new file mode 100644
index 00000000..3b09df5b
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.woff
new file mode 100644
index 00000000..a3a2c5b9
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Acme-Regular-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.eot
new file mode 100644
index 00000000..d9e992fb
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.svg
new file mode 100644
index 00000000..fd2265e4
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.svg
@@ -0,0 +1,2807 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.ttf
new file mode 100644
index 00000000..d5cab643
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.woff
new file mode 100644
index 00000000..ebd62d59
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Bebas-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.eot
new file mode 100644
index 00000000..aacaa0e5
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.svg
new file mode 100644
index 00000000..db5d4b76
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.svg
@@ -0,0 +1,4440 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.ttf
new file mode 100644
index 00000000..84d0ba85
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.woff
new file mode 100644
index 00000000..c268dc1a
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Justanotherhand-Regular-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.eot
new file mode 100644
index 00000000..cb105845
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.svg
new file mode 100644
index 00000000..1a751ed5
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.svg
@@ -0,0 +1,3063 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.ttf
new file mode 100644
index 00000000..7513e6c9
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.woff
new file mode 100644
index 00000000..5ce0e119
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Peacesans-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.eot
new file mode 100644
index 00000000..9bc06559
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.svg
new file mode 100644
index 00000000..b587e9ee
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.svg
@@ -0,0 +1,5160 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.ttf
new file mode 100644
index 00000000..47cddf84
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.woff
new file mode 100644
index 00000000..ed79ece1
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Redressed-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.eot
new file mode 100644
index 00000000..c42f2400
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.svg
new file mode 100644
index 00000000..57a15c66
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.svg
@@ -0,0 +1,635 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.ttf
new file mode 100644
index 00000000..30be1e43
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.woff
new file mode 100644
index 00000000..8aa07d73
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Roboto-Regular-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.eot b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.eot
new file mode 100644
index 00000000..6b14cf24
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.eot differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.svg b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.svg
new file mode 100644
index 00000000..65d49104
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.svg
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.ttf b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.ttf
new file mode 100644
index 00000000..a5ee5028
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.ttf differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.woff b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.woff
new file mode 100644
index 00000000..a6dbc75f
Binary files /dev/null and b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/public/fonts/typo/Snickles-webfont.woff differ
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/header.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/header.html.twig
new file mode 100755
index 00000000..c02a0edb
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/header.html.twig
@@ -0,0 +1,36 @@
+{% extends '@CadolesCore/simple.html.twig' %}
+
+{% block pagewrapper %}
+
+ Annuler
+
+
+{% endblock %}
+
+
+
+{% block localjavascript %}
+ Dropzone.options.MyDropZone = {
+ acceptedMimeTypes: 'image/*',
+ maxFiles: 1,
+ resizeWidth:2500,
+
+ success: function( file, response ){
+ parent.$("#config_value").val("uploads/header/"+response["file"]);
+ parent.$("#config_value_img").attr("src","/{{ alias }}/uploads/header/"+response["file"]);
+ closeModal();
+ }
+ }
+
+ function closeModal() {
+ window.parent.$("#mymodal").modal('hide');
+ }
+
+ $(window).load(function () {
+ // On vérifie que l'execution se fait bien dans le cadre d'une modal
+ if(!window.parent.$("#mymodal #framemodal").length) {
+ $(location).attr('href',"{{ path('cadoles_core_home') }}");
+ }
+ });
+{% endblock %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/list.html.twig
new file mode 100644
index 00000000..7a8e0202
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/list.html.twig
@@ -0,0 +1,78 @@
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% block pagewrapper %}
+
+{% endblock %}
+
+{% block localjavascript %}
+ function showInfo(id) {
+ $("#modalinfo #modalinfotext").html($("#"+id).attr("data").replace(/\n/g, " "));
+ }
+
+
+ $(document).ready(function() {
+ $('#dataTables').DataTable({
+ responsive: true,
+ order: [[ 1, "asc" ]]
+ });
+ });
+{% endblock %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/logo.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/logo.html.twig
new file mode 100755
index 00000000..f9650801
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/logo.html.twig
@@ -0,0 +1,36 @@
+{% extends '@CadolesCore/simple.html.twig' %}
+
+{% block pagewrapper %}
+
+ Annuler
+
+
+{% endblock %}
+
+
+
+{% block localjavascript %}
+ Dropzone.options.MyDropZone = {
+ acceptedMimeTypes: 'image/*',
+ maxFiles: 1,
+ resizeWidth:500,
+
+ success: function( file, response ){
+ parent.$("#config_value").val("uploads/logo/"+response["file"]);
+ parent.$("#config_value_img").attr("src","/{{ alias }}/uploads/logo/"+response["file"]);
+ closeModal();
+ }
+ }
+
+ function closeModal() {
+ window.parent.$("#mymodal").modal('hide');
+ }
+
+ $(window).load(function () {
+ // On vérifie que l'execution se fait bien dans le cadre d'une modal
+ if(!window.parent.$("#mymodal #framemodal").length) {
+ $(location).attr('href',"{{ path('cadoles_core_home') }}");
+ }
+ });
+{% endblock %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/update.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/update.html.twig
new file mode 100755
index 00000000..e27a21d9
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Config/update.html.twig
@@ -0,0 +1,71 @@
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% block pagewrapper %}
+{{ form_start(form) }}
+
+
+ {{ form_widget(form.submit) }} Annuler
+
+
+
+ {% if app.session.flashbag.has('error') %}
+
+ Erreur
+ {% for flashMessage in app.session.flashbag.get('error') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+ {% if app.session.flashbag.has('notice') %}
+
+ Information
+ {% for flashMessage in app.session.flashbag.get('notice') %}
+ {{ flashMessage }}
+ {% endfor %}
+
+ {% endif %}
+
+
+
+ Informations
+
+
+
+ {{ form_label(form.id) }}
+ {{ form_widget(form.id) }}
+
+ {% if type=="logo" %}
+
+
+ {{ form_widget(form.value) }}
+
Modifier
+
+
+ {% elseif type=="header" %}
+
+
+ {{ form_widget(form.value) }}
+
Modifier
+
+
+ {% else %}
+ {{ form_label(form.value) }}
+ {{ form_widget(form.value) }}
+ {% endif %}
+
+ {{ form_widget(form.help) }}
+
+
+
+{{ form_end(form) }}
+{% endblock %}
+
+{% block localjavascript %}
+ $('#mymodal').on('hidden.bs.modal', function () {
+ var imgSrc = $("#config_value_img").attr('src');
+ $("#config_value_img").attr('src',imgSrc);
+ });
+
+
+{% endblock %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/command.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/command.html.twig
new file mode 100644
index 00000000..119ca04f
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/command.html.twig
@@ -0,0 +1,17 @@
+{% extends '@CadolesCore/base.html.twig' %}
+
+{% block pagewrapper %}
+
+
+ Retour
+
+
+
+ Logs
+
+
+
+ {{ content | nl2br }}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/config.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/config.html.twig
index 37b2db55..1211a0b9 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/config.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/config.html.twig
@@ -3,9 +3,9 @@
{% block pagewrapper %}
{% endblock %}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/home.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/home.html.twig
index f2719cc1..3c181287 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/home.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Core/home.html.twig
@@ -3,13 +3,13 @@
{% block pagewrapper %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig
index e4bc6963..432b6d46 100755
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/edit.html.twig
@@ -44,10 +44,73 @@
{{ form_label(form.fgopen) }}
{{ form_widget(form.fgopen) }}
+
+ {% if masteridentity=="LDAP" %}
+ {{ form_row(form.fgassoc) }}
+ {{ form_row(form.ldapfilter) }}
+ {% endif %}
+
+ {% if masteridentity=="SSO" %}
+ {{ form_row(form.fgassoc) }}
+ {{ form_row(form.attributes) }}
+ {% endif %}
{{ form_end(form) }}
{% endblock %}
{% block localjavascript %}
+ $('document').ready(function(){
+ {% if masteridentity=="LDAP" %}
+ fgaff=($("#group_ldapfilter").val()!="");
+ if(!fgaff) {
+ $("#group_ldapfilter").hide();
+ $("#label_group_ldapfilter").hide();
+ $("#group_fgassoc").val(0);
+ }
+ {% endif %}
+
+ {% if masteridentity=="LDAP" %}
+ $( "#group_fgassoc").change(function() {
+
+ if($("#group_fgassoc").val()==0) {
+ $("#group_ldapfilter").hide();
+ $("#label_group_ldapfilter").hide();
+ $("#group_ldapfilter").val("");
+ }
+ else {
+ $("#group_ldapfilter").show();
+ $("#label_group_ldapfilter").show();
+ }
+ });
+ {% endif %}
+
+
+ {% if masteridentity=="SSO" %}
+ fgaff=($("#group_attributes").val()!="");
+ if(!fgaff) {
+ $("#group_attributes").hide();
+ $("#label_group_attributes").hide();
+ $("#group_fgassoc").val(0);
+ }
+ {% endif %}
+
+ {% if masteridentity=="SSO" %}
+ $( "#group_fgassoc").change(function() {
+
+ if($("#group_fgassoc").val()==0) {
+ $("#group_attributes").hide();
+ $("#label_group_attributes").hide();
+ $("#group_attributes").val("");
+ }
+ else {
+ $("#group_attributes").show();
+ $("#label_group_attributes").show();
+ }
+ });
+ {% endif %}
+ });
+
+
+
{% endblock %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/list.html.twig
index d7f345f0..6c0d5e13 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/list.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/list.html.twig
@@ -12,7 +12,7 @@
-
+
Action
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/users.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/users.html.twig
index 5044b5b9..fb153c7f 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/users.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Group/users.html.twig
@@ -15,7 +15,7 @@
-
+
Action
@@ -38,7 +38,7 @@
-
+
Action
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig
index 2ac9b85c..a12ac05b 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/footer.html.twig
@@ -1,3 +1,34 @@
+
+
+
+
+
{% block javascripts %}
{% javascripts
'@CadolesCoreBundle/Resources/public/js/jquery.min.js'
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig
index 6eb632a7..e25b2163 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/head.html.twig
@@ -3,7 +3,7 @@
- {% block title %}{{ appname }}{% endblock %}
+ {% block title %}{{ app.session.get('appname') }}{% endblock %}
@@ -29,6 +29,7 @@
'@CadolesCoreBundle/Resources/public/css/bootstrap-slider.css'
'@CadolesCoreBundle/Resources/public/css/bootstrap-iconpicker.min.css'
'@CadolesCoreBundle/Resources/public/css/select2.min.css'
+ '@CadolesCoreBundle/Resources/public/css/font.css'
'@CadolesCoreBundle/Resources/public/css/style.css'
debug=false
@@ -36,10 +37,36 @@
{% endstylesheets %}
-
+
{% endblock %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/hero.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/hero.html.twig
new file mode 100644
index 00000000..8422f804
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/hero.html.twig
@@ -0,0 +1,71 @@
+{% if app.session.get('fgheader') %}
+
+
+ {% set color = app.session.get('color') %}
+
+
+
+
+{% endif %}
+
+
+
+
+
+
+ {{ include('@CadolesCore/Include/menu.html.twig') }}
+
+
+
+{% if usesidebar %}
+
+
+
+{% endif %}
+
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/menu.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/menu.html.twig
new file mode 100644
index 00000000..f8f4195b
--- /dev/null
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Include/menu.html.twig
@@ -0,0 +1,34 @@
+ {% if app.user %}
+ {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_MODO') %}
+
+ {% endif %}
+
+
+
+
+
+ {% if mode_auth == "SAML" %}
+
+ {% elseif mode_auth == "CAS" %}
+
+ {% elseif mode_auth == "SQL" %}
+
+ {% endif %}
+
+
+
+ {% else %}
+ {% if moderegistration!="none" and masteridentity=="SQL"%}
+
+ {% endif %}
+
+
+ {% if mode_auth == "SAML" %}
+
+ {% elseif mode_auth == "CAS" %}
+
+ {% elseif mode_auth == "SQL" %}
+
+ {% endif %}
+
+ {% endif %}
\ No newline at end of file
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/edit.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/edit.html.twig
index 150a47e5..998c01ff 100755
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/edit.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/edit.html.twig
@@ -41,6 +41,13 @@
{{ form_row(form.label) }}
{{ form_row(form.siren) }}
+ {% if masteridentity=="LDAP" %}
+ {{ form_row(form.ldapfilter) }}
+ {% endif %}
+
+ {% if masteridentity=="SSO" %}
+ {{ form_row(form.attributes) }}
+ {% endif %}
{{ form_end(form) }}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/list.html.twig
index 91b71d08..bca0f0e6 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/list.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau01/list.html.twig
@@ -12,7 +12,7 @@
-
+
Action
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau02/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau02/list.html.twig
index 7437d89b..d8cd7884 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau02/list.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Niveau02/list.html.twig
@@ -12,7 +12,7 @@
-
+
Action
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig
index 615883dc..d633ca65 100755
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/edit.html.twig
@@ -66,15 +66,15 @@
{{ form_widget(form.username) }}
- Le login peut être sous forme prenom.nom et ne doit pas comporter d’espace.
- Il ne doit pas être votre adresse mail.
+ Caractères interdits = accent, espace, caractères spéciaux sauf @ . - _
+ Taille minimum = 5 caractères
{% if form.password is defined %}
{{ form_row(form.password) }}
- Le mot de passe doit comporter au moins 8 caractères, avec obligatoirement des lettres, chiffres et caractères spéciaux.
+ Le mot de passe doit comporter au moins {{ keyterm }} caractères, avec obligatoirement des lettres, chiffres et caractères spéciaux.
{% endif %}
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/list.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/list.html.twig
index 05282ddd..df5a2c21 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/list.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Registration/list.html.twig
@@ -10,7 +10,7 @@
-
+
Action
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Security/login.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Security/login.html.twig
index 82c8193f..30636a87 100644
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Security/login.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/Security/login.html.twig
@@ -7,9 +7,9 @@
diff --git a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig
index 3382701d..27876a96 100755
--- a/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig
+++ b/src/cadolesuser-1.0/src/Cadoles/CoreBundle/Resources/views/User/edit.html.twig
@@ -18,7 +18,7 @@
{{ form_widget(form.submit) }}
{% if access=="config" %}
-
Annuler
+
Annuler
{% else %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Permanently set your Home Organisation
+
+
+
+
+
+
+
Mission communication Cnous & Crous de Dijon
+
+
+
+
+
+
+
+
+
+