Commit f6557a8f by Julien Jorry

BIG UPDATE 2

parent 56945a49
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
"php": "^7.1.3", "php": "^7.1.3",
"ext-ctype": "*", "ext-ctype": "*",
"ext-iconv": "*", "ext-iconv": "*",
"friendsofsymfony/ckeditor-bundle": "^2.0",
"friendsofsymfony/rest-bundle": "^2.4", "friendsofsymfony/rest-bundle": "^2.4",
"friendsofsymfony/user-bundle": "^2.1", "friendsofsymfony/user-bundle": "^2.1",
"knplabs/knp-paginator-bundle": "^2.8", "knplabs/knp-paginator-bundle": "^2.8",
...@@ -15,26 +16,29 @@ ...@@ -15,26 +16,29 @@
"sonata-project/admin-bundle": "^3.40", "sonata-project/admin-bundle": "^3.40",
"sonata-project/block-bundle": "^3.12", "sonata-project/block-bundle": "^3.12",
"sonata-project/doctrine-orm-admin-bundle": "^3.6", "sonata-project/doctrine-orm-admin-bundle": "^3.6",
"sonata-project/easy-extends-bundle": "^2.5",
"sonata-project/media-bundle": "^3.16",
"sonata-project/user-bundle": "^4.2", "sonata-project/user-bundle": "^4.2",
"stof/doctrine-extensions-bundle": "^1.3", "stof/doctrine-extensions-bundle": "^1.3",
"symfony/asset": "4.1.*", "symfony/apache-pack": "^1.0",
"symfony/console": "4.1.*", "symfony/asset": "4.2.*",
"symfony/expression-language": "4.1.*", "symfony/console": "4.2.*",
"symfony/expression-language": "4.2.*",
"symfony/flex": "^1.1", "symfony/flex": "^1.1",
"symfony/form": "4.1.*", "symfony/form": "4.2.*",
"symfony/framework-bundle": "4.1.*", "symfony/framework-bundle": "4.2.*",
"symfony/monolog-bundle": "^3.1", "symfony/monolog-bundle": "^3.1",
"symfony/orm-pack": "*", "symfony/orm-pack": "*",
"symfony/process": "4.1.*", "symfony/process": "4.2.*",
"symfony/security-bundle": "4.1.*", "symfony/security-bundle": "4.2.*",
"symfony/serializer-pack": "*", "symfony/serializer-pack": "*",
"symfony/swiftmailer-bundle": "^3.1", "symfony/swiftmailer-bundle": "^3.1",
"symfony/translation": "4.1.*", "symfony/translation": "4.2.*",
"symfony/twig-bundle": "4.1.*", "symfony/twig-bundle": "4.2.*",
"symfony/validator": "4.1.*", "symfony/validator": "4.2.*",
"symfony/web-link": "4.1.*", "symfony/web-link": "4.2.*",
"symfony/webpack-encore-bundle": "^1.0", "symfony/webpack-encore-bundle": "^1.0",
"symfony/yaml": "4.1.*", "symfony/yaml": "4.2.*",
"vich/uploader-bundle": "^1.8" "vich/uploader-bundle": "^1.8"
}, },
"require-dev": { "require-dev": {
...@@ -42,12 +46,12 @@ ...@@ -42,12 +46,12 @@
"hautelook/alice-bundle": "^2.3", "hautelook/alice-bundle": "^2.3",
"sensiolabs/security-checker": "^5.0", "sensiolabs/security-checker": "^5.0",
"symfony/debug-pack": "*", "symfony/debug-pack": "*",
"symfony/dotenv": "4.1.*", "symfony/dotenv": "4.2.*",
"symfony/maker-bundle": "^1.0", "symfony/maker-bundle": "^1.0",
"symfony/profiler-pack": "*", "symfony/profiler-pack": "*",
"symfony/test-pack": "*", "symfony/test-pack": "*",
"symfony/var-dumper": "4.1.*", "symfony/var-dumper": "4.2.*",
"symfony/web-server-bundle": "4.1.*" "symfony/web-server-bundle": "4.2.*"
}, },
"config": { "config": {
"preferred-install": { "preferred-install": {
...@@ -92,7 +96,7 @@ ...@@ -92,7 +96,7 @@
"extra": { "extra": {
"symfony": { "symfony": {
"allow-contrib": false, "allow-contrib": false,
"require": "4.1.*" "require": "4.2.*"
} }
} }
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
<?php
use Symfony\Component\Dotenv\Dotenv;
require dirname(__DIR__).'/vendor/autoload.php';
if (!array_key_exists('APP_ENV', $_SERVER)) {
$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] ?? null;
}
if ('prod' !== $_SERVER['APP_ENV']) {
if (!class_exists(Dotenv::class)) {
throw new RuntimeException('The "APP_ENV" environment variable is not set to "prod". Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.');
}
(new Dotenv())->loadEnv(dirname(__DIR__).'/.env');
}
$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $_SERVER['APP_ENV'] ?: $_ENV['APP_ENV'] ?: 'dev';
$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV'];
$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0';
...@@ -35,4 +35,8 @@ return [ ...@@ -35,4 +35,8 @@ return [
Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true], Nelmio\Alice\Bridge\Symfony\NelmioAliceBundle::class => ['dev' => true, 'test' => true],
Fidry\AliceDataFixtures\Bridge\Symfony\FidryAliceDataFixturesBundle::class => ['dev' => true, 'test' => true], Fidry\AliceDataFixtures\Bridge\Symfony\FidryAliceDataFixturesBundle::class => ['dev' => true, 'test' => true],
Hautelook\AliceBundle\HautelookAliceBundle::class => ['dev' => true, 'test' => true], Hautelook\AliceBundle\HautelookAliceBundle::class => ['dev' => true, 'test' => true],
JMS\SerializerBundle\JMSSerializerBundle::class => ['all' => true],
Sonata\MediaBundle\SonataMediaBundle::class => ['all' => true],
FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true],
App\Application\Sonata\MediaBundle\ApplicationSonataMediaBundle::class => ['all' => true],
]; ];
jms_serializer:
visitors:
json:
options:
- JSON_PRETTY_PRINT
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION
...@@ -9,12 +9,10 @@ doctrine: ...@@ -9,12 +9,10 @@ doctrine:
dbal: dbal:
# configure these for your database server # configure these for your database server
driver: 'pdo_mysql' driver: 'pdo_mysql'
server_version: '5.7' charset: utf8
charset: utf8mb4
default_table_options: default_table_options:
charset: utf8mb4 charset: utf8
collate: utf8mb4_unicode_ci collate: utf8_general_ci
url: '%env(resolve:DATABASE_URL)%' url: '%env(resolve:DATABASE_URL)%'
types: types:
json: Sonata\Doctrine\Types\JsonType json: Sonata\Doctrine\Types\JsonType
......
# Read the documentation: https://symfony.com/doc/current/bundles/FOSCKEditorBundle/index.html
twig:
form_themes:
- '@FOSCKEditor/Form/ckeditor_widget.html.twig'
fos_ck_editor:
default_config: default
configs:
default:
# default toolbar plus Format button
# toolbar:
# - [Bold, Italic, Underline, -, Cut, Copy, Paste,
# PasteText, PasteFromWord, -, Undo, Redo, -,
# NumberedList, BulletedList, -, Outdent, Indent, -,
# Blockquote, -, Image, Link, Unlink, Table]
# - [Format, Maximize, Source]
# filebrowserBrowseRoute: admin_sonata_media_media_ckeditor_browser
# filebrowserImageBrowseRoute: admin_sonata_media_media_ckeditor_browser
# # Display images by default when clicking the image dialog browse button
# filebrowserImageBrowseRouteParameters:
# provider: sonata.media.provider.image
# filebrowserUploadMethod: form
# filebrowserUploadRoute: admin_sonata_media_media_ckeditor_upload
# filebrowserUploadRouteParameters:
# provider: sonata.media.provider.file
# # Upload file as image when sending a file from the image dialog
# filebrowserImageUploadRoute: admin_sonata_media_media_ckeditor_upload
# filebrowserImageUploadRouteParameters:
# provider: sonata.media.provider.image
# context: my-context # Optional, to upload in a custom context
# format: my-big # Optional, media format or original size returned to editor
\ No newline at end of file
jms_serializer:
visitors:
xml:
format_output: '%kernel.debug%'
# metadata:
# auto_detection: false
# directories:
# any-name:
# namespace_prefix: "My\\FooBundle"
# path: "@MyFooBundle/Resources/config/serializer"
# another-name:
# namespace_prefix: "My\\BarBundle"
# path: "@MyBarBundle/Resources/config/serializer"
jms_serializer:
visitors:
json:
options:
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION
...@@ -36,7 +36,6 @@ security: ...@@ -36,7 +36,6 @@ security:
# -> custom firewall for the admin area of the URL # -> custom firewall for the admin area of the URL
admin: admin:
pattern: /admin(.*) pattern: /admin(.*)
context: user
form_login: form_login:
provider: fos_userbundle provider: fos_userbundle
login_path: /admin/login login_path: /admin/login
...@@ -48,6 +47,9 @@ security: ...@@ -48,6 +47,9 @@ security:
path: /admin/logout path: /admin/logout
target: /admin/login target: /admin/login
anonymous: true anonymous: true
switch_user:
provider: fos_userbundle
context: mlc_context
# -> end custom configuration # -> end custom configuration
main: main:
pattern: ^/ pattern: ^/
...@@ -68,6 +70,9 @@ security: ...@@ -68,6 +70,9 @@ security:
domain: ~ domain: ~
user_provider: fos_userbundle user_provider: fos_userbundle
always_remember_me: true always_remember_me: true
context: mlc_context
switch_user:
provider: fos_userbundle
encoders: encoders:
FOS\UserBundle\Model\UserInterface: bcrypt FOS\UserBundle\Model\UserInterface: bcrypt
...@@ -82,7 +87,7 @@ security: ...@@ -82,7 +87,7 @@ security:
ROLE_COMPTOIR: ROLE_USER ROLE_COMPTOIR: ROLE_USER
ROLE_CONTACT: ROLE_USER ROLE_CONTACT: ROLE_USER
ROLE_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN] ROLE_ADMIN: [ROLE_USER, ROLE_SONATA_ADMIN]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_SONATA_ADMIN, ROLE_ALLOWED_TO_SWITCH]
# Easy way to control access for large sections of your site # Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used # Note: Only the *first* access control that matches will be used
......
...@@ -6,6 +6,8 @@ sonata_user: ...@@ -6,6 +6,8 @@ sonata_user:
group: App\Entity\Usergroup group: App\Entity\Usergroup
profile: profile:
default_avatar: 'images/admin/default_avatar.png' # Default avatar displayed if the user doesn't have one default_avatar: 'images/admin/default_avatar.png' # Default avatar displayed if the user doesn't have one
impersonating:
route: sonata_admin_dashboard
sonata_block: sonata_block:
default_contexts: [sonata_page_bundle] default_contexts: [sonata_page_bundle]
blocks: blocks:
......
...@@ -5,6 +5,43 @@ sonata_admin: ...@@ -5,6 +5,43 @@ sonata_admin:
role_super_admin: ROLE_SUPER_ADMIN role_super_admin: ROLE_SUPER_ADMIN
title: 'MLC Admin' title: 'MLC Admin'
title_logo: /images/admin/logo.png title_logo: /images/admin/logo.png
templates:
layout: '@SonataAdmin/standard_layout.html.twig'
#outer_list_rows_mosaic: '@SonataAdmin/list_outer_rows_mosaic.html.twig'
# ajax: '@SonataAdmin/ajax_layout.html.twig'
# list: '@SonataAdmin/CRUD/list.html.twig'
# show: '@SonataAdmin/CRUD/show.html.twig'
# show_compare: '@SonataAdmin/CRUD/show_compare.html.twig'
# edit: '@SonataAdmin/CRUD/edit.html.twig'
# history: '@SonataAdmin/CRUD/history.html.twig'
# preview: '@SonataAdmin/CRUD/preview.html.twig'
# delete: '@SonataAdmin/CRUD/delete.html.twig'
# batch: '@SonataAdmin/CRUD/list__batch.html.twig'
# acl: '@SonataAdmin/CRUD/acl.html.twig'
# action: '@SonataAdmin/CRUD/action.html.twig'
# select: '@SonataAdmin/CRUD/list__select.html.twig'
# filter: '@SonataAdmin/Form/filter_admin_fields.html.twig'
# dashboard: '@SonataAdmin/Core/dashboard.html.twig'
# search: '@SonataAdmin/Core/search.html.twig'
# batch_confirmation: '@SonataAdmin/CRUD/batch_confirmation.html.twig'
# inner_list_row: '@SonataAdmin/CRUD/list_inner_row.html.twig'
# base_list_field: '@SonataAdmin/CRUD/base_list_field.html.twig'
# list_block: '@SonataAdmin/Block/block_admin_list.html.twig'
# user_block: '@SonataAdmin/Core/user_block.html.twig'
# add_block: '@SonataAdmin/Core/add_block.html.twig'
# pager_links: '@SonataAdmin/Pager/links.html.twig'
# pager_results: '@SonataAdmin/Pager/results.html.twig'
# tab_menu_template: '@SonataAdmin/Core/tab_menu_template.html.twig'
# history_revision_timestamp: '@SonataAdmin/CRUD/history_revision_timestamp.html.twig'
# short_object_description: '@SonataAdmin/Helper/short-object-description.html.twig'
# search_result_block: '@SonataAdmin/Block/block_search_result.html.twig'
# action_create: '@SonataAdmin/CRUD/dashboard__action_create.html.twig'
# button_acl: '@SonataAdmin/Button/acl_button.html.twig'
# button_create: '@SonataAdmin/Button/create_button.html.twig'
# button_edit: '@SonataAdmin/Button/edit_button.html.twig'
# button_history: '@SonataAdmin/Button/history_button.html.twig'
# button_list: '@SonataAdmin/Button/list_button.html.twig'
# button_show: '@SonataAdmin/Button/show_button.html.twig'
dashboard: dashboard:
# DASHBOARD de l'admin # DASHBOARD de l'admin
# #
......
sonata_media:
db_driver: doctrine_orm
class:
media: App\Application\Sonata\MediaBundle\Entity\Media
gallery: App\Application\Sonata\MediaBundle\Entity\Gallery
gallery_has_media: App\Application\Sonata\MediaBundle\Entity\GalleryHasMedia
default_context: default
contexts:
default:
providers:
- sonata.media.provider.dailymotion
- sonata.media.provider.youtube
- sonata.media.provider.image
- sonata.media.provider.file
- sonata.media.provider.vimeo
formats:
small: { width: 100 , quality: 70}
big: { width: 500 , quality: 70}
actualites:
providers:
- sonata.media.provider.youtube
- sonata.media.provider.image
formats:
small: { width: 100 , quality: 95}
big: { width: 500 , quality: 90}
document:
providers:
- sonata.media.provider.file
comptoir:
providers:
- sonata.media.provider.image
formats:
small: { width: 100 , quality: 95}
big: { width: 500 , quality: 90}
groupe:
providers:
- sonata.media.provider.image
formats:
small: { width: 100 , quality: 95}
big: { width: 500 , quality: 90}
prestataire:
providers:
- sonata.media.provider.image
- sonata.media.provider.file
formats:
small: { width: 100 , quality: 95}
big: { width: 500 , quality: 90}
cdn:
server:
path: /upload/media
filesystem:
local:
# Directory for uploads should be writable
directory: "%kernel.project_dir%/public/upload/media"
create: false
...@@ -7,3 +7,8 @@ vich_uploader: ...@@ -7,3 +7,8 @@ vich_uploader:
upload_destination: '%kernel.project_dir%/public/images/annonces' upload_destination: '%kernel.project_dir%/public/images/annonces'
# delete_on_update: true # delete_on_update: true
# delete_on_remove: true # delete_on_remove: true
logo:
uri_prefix: /images/logo
upload_destination: '%kernel.project_dir%/public/images/logo'
# delete_on_update: true
# delete_on_remove: true
\ No newline at end of file
sonata_media_gallery:
resource: '@SonataMediaBundle/Resources/config/routing/gallery.xml'
prefix: /media/gallery
sonata_media:
resource: '@SonataMediaBundle/Resources/config/routing/media.xml'
prefix: /media
...@@ -41,11 +41,16 @@ services: ...@@ -41,11 +41,16 @@ services:
App\Controller\RegistrationController: App\Controller\RegistrationController:
autowire: false autowire: false
app.hidden_entity_type_extension:
class: App\Form\HiddenEntityExtension
tags:
- { name: form.type_extension, extended_type: Symfony\Component\Form\Extension\Core\Type\HiddenType }
# Configuration de l'admin # Configuration de l'admin
admin.adherent.gerer: admin.adherent.gerer:
class: App\Admin\AdherentAdmin class: App\Admin\AdherentAdmin
# arguments: [~, App\Entity\OBJECT, 'PixSortableBehaviorBundle:SortableAdmin'] # arguments: [~, App\Entity\OBJECT, 'PixSortableBehaviorBundle:SortableAdmin']
arguments: [~, App\Entity\Adherent, ~] arguments: [~, App\Entity\User, ~]
tags: tags:
- name: sonata.admin - name: sonata.admin
manager_type: orm manager_type: orm
...@@ -55,6 +60,8 @@ services: ...@@ -55,6 +60,8 @@ services:
# - label: "Adhérents" # - label: "Adhérents"
# - label_catalogue: "App" # - label_catalogue: "App"
public: true public: true
calls:
- [ setUserManager, ['@fos_user.user_manager']]
admin.adherent.cotisations: admin.adherent.cotisations:
class: App\Admin\CotisationAdherentAdmin class: App\Admin\CotisationAdherentAdmin
...@@ -68,13 +75,15 @@ services: ...@@ -68,13 +75,15 @@ services:
admin.prestataire.gerer: admin.prestataire.gerer:
class: App\Admin\PrestataireAdmin class: App\Admin\PrestataireAdmin
arguments: [~, App\Entity\Prestataire, ~] arguments: [~, App\Entity\User, ~]
tags: tags:
- name: sonata.admin - name: sonata.admin
manager_type: orm manager_type: orm
group: "Prestataire" group: "Prestataire"
label: "Gérer" label: "Gérer"
public: true public: true
calls:
- [ setUserManager, ['@fos_user.user_manager']]
admin.prestataire.cotisations: admin.prestataire.cotisations:
class: App\Admin\CotisationPrestataireAdmin class: App\Admin\CotisationPrestataireAdmin
...@@ -96,13 +105,42 @@ services: ...@@ -96,13 +105,42 @@ services:
label: "Gérer" label: "Gérer"
public: true public: true
admin.comptoir.gerer:
class: App\Admin\ComptoirAdmin
arguments: [~, App\Entity\Comptoir, ~]
tags:
- name: sonata.admin
manager_type: orm
group: "Comptoir"
label: "Gérer"
public: true
admin.groupepresta.gerer: admin.groupepresta.gerer:
class: App\Admin\GroupeprestataireAdmin class: App\Admin\GroupeprestataireAdmin
arguments: [~, App\Entity\Groupeprestataire, ~] arguments: [~, App\Entity\Groupeprestataire, ~]
tags: tags:
- name: sonata.admin - name: sonata.admin
manager_type: orm manager_type: orm
group: "Amap / Marché" group: "Prestataire"
label: "Groupes"
public: true
admin.document.gerer:
class: App\Admin\DocumentAdmin
arguments: [~, App\Entity\Document, ~]
tags:
- name: sonata.admin
manager_type: orm
group: "Document"
label: "Gérer" label: "Gérer"
public: true public: true
admin.rubrique.gerer:
class: App\Admin\RubriqueAdmin
arguments: [~, App\Entity\Rubrique, ~]
tags:
- name: sonata.admin
manager_type: orm
group: "Rubrique"
label: "Gérer"
public: true
App\Entity\User:
user{1..15}:
username: <userName()>
email: <email()>
plainPassword: 'test'
enabled: true
groups: ['@usergroup_adherent']
App\Entity\Adherent:
adherent{1..15}:
ecompte: '0'
user: '@user<current()>'
App\Entity\User:
user{1..15}:
username: <userName()>
email: <email()>
plainPassword: 'test'
enabled: true
groups: ['@usergroup_prestataire']
App\Entity\Prestataire:
prestataire{1..15}:
raison: <text(10)>
metier: <text(10)>
iban: <text(10)>
statut: <text(10)>
siret: <text(10)>
user: '@user<current()>'
typeprestataire: '@typepresta_prestataire'
App\Entity\User:
user{1..15}:
username: <userName()>
email: <email()>
plainPassword: 'test'
enabled: true
groups: ['@usergroup_prestataire']
App\Entity\Prestataire:
prestataire{1..15}:
raison: <text(10)>
metier: <text(10)>
iban: <text(10)>
statut: <text(10)>
siret: <text(10)>
user: '@user<current()>'
typeprestataire: '@typepresta_partenaire'
...@@ -28,58 +28,68 @@ App\Entity\Comptoir: ...@@ -28,58 +28,68 @@ App\Entity\Comptoir:
geoloc (unique): '@geoloc*' geoloc (unique): '@geoloc*'
App\Entity\Groupeprestataire: App\Entity\Groupeprestataire:
amap{1..10}: grppresta_1:
__construct: [] name: 'AMAP'
type: 'amap' grppresta_2:
name: <text(10)> name: 'MARCHÉ'
horaires: "<dayOfWeek()> de <time('H')>h à <time('H')>h"
enabled: true
geoloc: '@geoloc*'
tel: '<phoneNumber()>'
email: <email()>
prestataires: '5x @prestataire*'
marche{1..10}:
__construct: []
type: 'marche'
name: <text(10)>
horaires: "<dayOfWeek()> de time('H')h à time('H')h"
enabled: true
geoloc: '@geoloc*'
tel: '<phoneNumber()>'
email: <email()>
prestataires: '5x @prestataire*'
App\Entity\TypePrestataire: App\Entity\TypePrestataire:
typepresta_prestataire: typepresta_prestataire:
name: 'Prestataire' name: 'Prestataire'
typepresta_partenaire: typepresta_partenaire:
name: 'Partenaire' name: 'Partenaire'
typepresta_amap:
name: 'Amap'
typepresta_marche:
name: 'Marché'
App\Entity\Usergroup: App\Entity\Usergroup:
usergroup_adherent: usergroup_adherent:
__construct: ['Adherent', 'ROLE_ADHERENT'] __construct: ['Adherent', ['ROLE_ADHERENT']]
usergroup_prestataire: usergroup_prestataire:
__construct: ['Prestataire', 'ROLE_PRESTATAIRE'] __construct: ['Prestataire', ['ROLE_PRESTATAIRE']]
usergroup_adminsiege: usergroup_adminsiege:
__construct: ['Administrateur du Siege', 'ROLE_ADMIN_SIEGE'] __construct: ['Administrateur du Siege', ['ROLE_ADMIN_SIEGE']]
usergroup_redacteur: usergroup_redacteur:
__construct: ['Rédacteur', 'ROLE_REDACTEUR'] __construct: ['Rédacteur', ['ROLE_REDACTEUR']]
usergroup_tresorier: usergroup_tresorier:
__construct: ['Trésorier', 'ROLE_TRESORIER'] __construct: ['Trésorier', ['ROLE_TRESORIER']]
usergroup_gestiongroupe: usergroup_gestiongroupe:
__construct: ['Gestionnaire de Groupe', 'ROLE_GESTION_GROUPE'] __construct: ['Gestionnaire de Groupe', ['ROLE_GESTION_GROUPE']]
usergroup_comptoir: usergroup_comptoir:
__construct: ['Comptoir', 'ROLE_COMPTOIR'] __construct: ['Comptoir', ['ROLE_COMPTOIR']]
usergroup_contact: usergroup_contact:
__construct: ['Contact', 'ROLE_CONTACT'] __construct: ['Contact', ['ROLE_CONTACT']]
usergroup_admin: usergroup_admin:
__construct: ['Admin', 'ROLE_ADMIN'] __construct: ['Admin', ['ROLE_ADMIN']]
usergroup_superadmin: usergroup_superadmin:
__construct: ['Super Admin', 'ROLE_SUPER_ADMIN'] __construct: ['Super Admin', ['ROLE_SUPER_ADMIN']]
App\Entity\Adherent:
adherent{1..11}:
ecompte: <randomFloat(2, 0, 50)>
# user (unique): '@user<numberBetween(1,10)>'
App\Entity\Prestataire:
prestataire{1..21}:
raison: <text(10)>
responsable: <text(10)>
metier: <text(10)>
iban: <text(10)>
statut: <text(10)>
siret: <text(10)>
geoloc (unique): '@geoloc*'
# user (unique): '@user<numberBetween(11,30)>'
typeprestataire: '@typepresta_prestataire'
prestataire{22..32}:
raison: <text(10)>
responsable: <text(10)>
metier: <text(10)>
iban: <text(10)>
statut: <text(10)>
siret: <text(10)>
geoloc (unique): '@geoloc*'
# user (unique): '@user<numberBetween(11,30)>'
typeprestataire: '@typepresta_prestataire'
groupeprestataires: ['@grppresta_*']
horaires: "<dayOfWeek()> de <time('H')>h à <time('H')>h"
App\Entity\User: App\Entity\User:
usersuperadmin: usersuperadmin:
...@@ -91,65 +101,82 @@ App\Entity\User: ...@@ -91,65 +101,82 @@ App\Entity\User:
roles: ['ROLE_SUPER_ADMIN'] roles: ['ROLE_SUPER_ADMIN']
useradmin: useradmin:
username: 'user_admin' username: 'user_admin'
email: <email()> email: 'admin@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_admin'] groups: ['@usergroup_admin']
roles: ['ROLE_ADMIN'] roles: ['ROLE_ADMIN']
usercontact: usercontact:
username: 'user_contact' username: 'user_contact'
email: <email()> email: 'contact@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_contact'] groups: ['@usergroup_contact']
roles: ['ROLE_CONTACT'] roles: ['ROLE_CONTACT']
usercomptoir: usercomptoir:
username: 'user_comptoir' username: 'user_comptoir'
email: <email()> email: 'comptoir@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_comptoir'] groups: ['@usergroup_comptoir']
roles: ['ROLE_COMPTOIR'] roles: ['ROLE_COMPTOIR']
usergestiongroupe: usergestiongroupe:
username: 'user_gestiongroupe' username: 'user_gestiongroupe'
email: <email()> email: 'groupe@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_gestiongroupe'] groups: ['@usergroup_gestiongroupe']
roles: ['ROLE_GESTION_GROUPE'] roles: ['ROLE_GESTION_GROUPE']
usertresorier: usertresorier:
username: 'user_tresorier' username: 'user_tresorier'
email: <email()> email: 'tresorier@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_tresorier'] groups: ['@usergroup_tresorier']
roles: ['ROLE_TRESORIER'] roles: ['ROLE_TRESORIER']
userredacteur: userredacteur:
username: 'user_redacteur' username: 'user_redacteur'
email: <email()> email: 'redacteur@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_redacteur'] groups: ['@usergroup_redacteur']
roles: ['ROLE_REDACTEUR'] roles: ['ROLE_REDACTEUR']
useradminsiege: useradminsiege:
username: 'user_adminsiege' username: 'user_adminsiege'
email: <email()> email: 'siege@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_adminsiege'] groups: ['@usergroup_adminsiege']
roles: ['ROLE_ADMIN_SIEGE'] roles: ['ROLE_ADMIN_SIEGE']
userprestataire: userprestataire:
username: 'user_prestataire' username: 'user_prestataire'
email: <email()> email: 'prestataire@doume.test'
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_prestataire'] groups: ['@usergroup_prestataire']
roles: ['ROLE_PRESTATAIRE'] roles: ['ROLE_PRESTATAIRE']
prestataire: '@prestataire1'
useradherent: useradherent:
username: 'user_adherent' username: 'user_adherent'
email: 'adherent@doume.test'
plainPassword: 'test'
enabled: true
# groups: ['@usergroup_adherent']
roles: ['ROLE_ADHERENT']
adherent: '@adherent1'
user{1..10}:
username: 'a<userName()>'
email: <email()> email: <email()>
plainPassword: 'test' plainPassword: 'test'
enabled: true enabled: true
groups: ['@usergroup_adherent'] # groups: ['@usergroup_adherent']
roles: ['ROLE_ADHERENT'] roles: ['ROLE_ADHERENT']
adherent (unique): '@adherent<numberBetween(2,11)>'
user{11..30}:
username: 'b<userName()>'
email: <email()>
plainPassword: 'test'
enabled: true
# groups: ['@usergroup_prestataire']
roles: ['ROLE_PRESTATAIRE']
prestataire (unique): '@prestataire<numberBetween(2,21)>'
This source diff could not be displayed because it is too large. You can view the blob instead.
[Sun Dec 02 16:50:19.789465 2018] [authz_core:error] [pid 74805] [client ::1:53101] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/
[Sun Dec 02 16:50:21.791092 2018] [authz_core:error] [pid 74803] [client 127.0.0.1:53102] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/admin
[Sun Dec 02 16:51:01.047349 2018] [authz_core:error] [pid 74804] [client 127.0.0.1:53109] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/admin
[Sun Dec 02 16:52:03.660281 2018] [authz_core:error] [pid 74806] [client ::1:53133] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/
[Sun Dec 02 16:52:09.671524 2018] [authz_core:error] [pid 74807] [client 127.0.0.1:53140] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/
[Sun Dec 02 16:52:18.073495 2018] [authz_core:error] [pid 74810] [client 127.0.0.1:53141] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/index.php
[Sun Dec 02 17:46:26.101100 2018] [authz_core:error] [pid 1975] [client 127.0.0.1:51635] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/admin
[Sun Dec 02 17:46:30.763401 2018] [authz_core:error] [pid 1975] [client 127.0.0.1:51635] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/admin
[Sun Dec 02 17:46:33.536014 2018] [authz_core:error] [pid 1975] [client 127.0.0.1:51635] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/admina
[Sun Dec 02 17:46:35.705658 2018] [authz_core:error] [pid 1975] [client 127.0.0.1:51635] AH01630: client denied by server configuration: /Users/julien/Desktop/DOUME/ledellin/public/
[Sun Dec 02 17:49:53.486817 2018] [php7:warn] [pid 2116] [client 127.0.0.1:51665] PHP Warning: require(/Users/julien/Desktop/DOUME/ledellin/config/bootstrap.php): failed to open stream: No such file or directory in /Users/julien/Desktop/DOUME/ledellin/public/index.php on line 7
[Sun Dec 02 17:49:53.487364 2018] [php7:error] [pid 2116] [client 127.0.0.1:51665] PHP Fatal error: require(): Failed opening required '/Users/julien/Desktop/DOUME/ledellin/config/bootstrap.php' (include_path='.:/usr/local/Cellar/php@7.1/7.1.22/share/php@7.1/pear') in /Users/julien/Desktop/DOUME/ledellin/public/index.php on line 7
[Sun Dec 02 17:51:07.820729 2018] [php7:error] [pid 2117] [client 127.0.0.1:51672] PHP Fatal error: Uncaught Error: Call to undefined method Symfony\\Component\\Dotenv\\Dotenv::loadEnv() in /Users/julien/Desktop/DOUME/ledellin/config/bootstrap.php:16\nStack trace:\n#0 /Users/julien/Desktop/DOUME/ledellin/public/index.php(7): require()\n#1 {main}\n thrown in /Users/julien/Desktop/DOUME/ledellin/config/bootstrap.php on line 16
[Fri Dec 07 16:57:33.662956 2018] [php7:error] [pid 30009] [client 127.0.0.1:56785] PHP Fatal error: Method App\\Entity\\Comptoir::__toString() must not throw an exception, caught TypeError: Return value of App\\Entity\\Comptoir::__toString() must be of the type string, null returned in /Users/julien/Desktop/DOUME/ledellin/vendor/twig/twig/lib/Twig/Extension/Core.php on line 0, referer: http://www.doume.test/admin/app/comptoir/list
[Fri Dec 07 16:58:57.309991 2018] [php7:error] [pid 11590] [client 127.0.0.1:56788] PHP Fatal error: Method App\\Entity\\Comptoir::__toString() must not throw an exception, caught TypeError: Return value of App\\Entity\\Comptoir::getId() must be of the type integer, null returned in /Users/julien/Desktop/DOUME/ledellin/vendor/twig/twig/lib/Twig/Extension/Core.php on line 0, referer: http://www.doume.test/admin/app/comptoir/list
[Fri Dec 07 17:22:03.920201 2018] [php7:error] [pid 30009] [client 127.0.0.1:56883] PHP Fatal error: Cannot declare class App\\Controller\\AdminController, because the name is already in use in /Users/julien/Desktop/DOUME/ledellin/src/Controller/AdminoldController.php on line 9, referer: http://www.doume.test/admin/app/comptoir/list
[Wed Jan 09 17:40:41.454606 2019] [php7:error] [pid 91126] [client 127.0.0.1:64703] PHP Fatal error: Method App\\Entity\\Document::__toString() must not throw an exception, caught TypeError: Return value of App\\Entity\\Document::__toString() must be of the type string, null returned in /Users/julien/Desktop/DOUME/ledellin/vendor/twig/twig/lib/Twig/Extension/Core.php on line 0, referer: http://www.doume.test/admin/app/document/list
[Wed Jan 09 17:41:18.728866 2019] [php7:error] [pid 91127] [client 127.0.0.1:64708] PHP Fatal error: Method App\\Entity\\Document::__toString() must not throw an exception, caught TypeError: Return value of App\\Entity\\Document::__toString() must be of the type string, null returned in /Users/julien/Desktop/DOUME/ledellin/vendor/twig/twig/lib/Twig/Extension/Core.php on line 0, referer: http://www.doume.test/admin/app/document/list
[Wed Jan 09 19:26:37.905339 2019] [php7:error] [pid 20965] [client 127.0.0.1:54948] PHP Fatal error: Method App\\Entity\\Groupe::__toString() must not throw an exception, caught TypeError: Return value of App\\Entity\\Groupe::__toString() must be of the type string, null returned in /Users/julien/Desktop/DOUME/ledellin/vendor/twig/twig/lib/Twig/Extension/Core.php on line 0, referer: http://www.doume.test/admin/app/groupe/list
[Wed Jan 09 19:44:38.386620 2019] [php7:error] [pid 20965] [client 127.0.0.1:59475] PHP Fatal error: Class App\\Form\\EntityToIdTransformer contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Symfony\\Component\\Form\\DataTransformerInterface::reverseTransform) in /Users/julien/Desktop/DOUME/ledellin/src/Form/EntityToIdTransformer.php on line 9, referer: http://www.doume.test/admin/app/groupe/list
[Wed Jan 09 20:05:19.917664 2019] [php7:error] [pid 25864] [client 127.0.0.1:64672] PHP Fatal error: Method App\\Entity\\Rubrique::__toString() must not throw an exception, caught TypeError: Return value of App\\Entity\\Rubrique::__toString() must be of the type string, null returned in /Users/julien/Desktop/DOUME/ledellin/vendor/twig/twig/lib/Twig/Extension/Core.php on line 0, referer: http://www.doume.test/admin/app/rubrique/list
# Use the front controller as index file. It serves as a fallback solution when
# every other rewrite/redirect fails (e.g. in an aliased environment without
# mod_rewrite). Additionally, this reduces the matching process for the
# start page (path "/") because otherwise Apache will apply the rewriting rules
# to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).
DirectoryIndex index.php
ini_set('memory_limit', '1024M');
# By default, Apache does not evaluate symbolic links if you did not enable this
# feature in your server configuration. Uncomment the following line if you
# install assets as symlinks or if you experience problems related to symlinks
# when compiling LESS/Sass/CoffeScript assets.
# Options FollowSymlinks
# Disabling MultiViews prevents unwanted negotiation, e.g. "/index" should not resolve
# to the front controller "/index.php" but be rewritten to "/index.php/index".
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
# Determine the RewriteBase automatically and set it as environment variable.
# If you are using Apache aliases to do mass virtual hosting or installed the
# project in a subdirectory, the base path will be prepended to allow proper
# resolution of the index.php file and to redirect to the correct URI. It will
# work in environments without path prefix as well, providing a safe, one-size
# fits all solution. But as you do not need it in this case, you can comment
# the following 2 lines to eliminate the overhead.
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
# Sets the HTTP_AUTHORIZATION header removed by Apache
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect to URI without front controller to prevent duplicate content
# (with and without `/index.php`). Only do this redirect on the initial
# rewrite by Apache and not on subsequent cycles. Otherwise we would get an
# endless redirect loop (request -> rewrite to front controller ->
# redirect -> request -> ...).
# So in case you get a "too many redirects" error or you always get redirected
# to the start page because your Apache does not expose the REDIRECT_STATUS
# environment variable, you have 2 choices:
# - disable this feature by commenting the following 2 lines or
# - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
# following RewriteCond (best solution)
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# Rewrite all other queries to the front controller.
RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
# When mod_rewrite is not available, we instruct a temporary redirect of
# the start page to the front controller explicitly so that the website
# and the generated links can still be used.
RedirectMatch 307 ^/$ /index.php/
# RedirectTemp cannot be used instead
</IfModule>
</IfModule>
...@@ -4,9 +4,7 @@ use App\Kernel; ...@@ -4,9 +4,7 @@ use App\Kernel;
use Symfony\Component\Debug\Debug; use Symfony\Component\Debug\Debug;
use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Request;
require dirname(__DIR__).'/vendor/autoload.php'; require dirname(__DIR__).'/config/bootstrap.php';
Kernel::bootstrapEnv();
if ($_SERVER['APP_DEBUG']) { if ($_SERVER['APP_DEBUG']) {
umask(0000); umask(0000);
...@@ -19,10 +17,10 @@ if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? ...@@ -19,10 +17,10 @@ if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ??
} }
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) { if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) {
Request::setTrustedHosts(explode(',', $trustedHosts)); Request::setTrustedHosts([$trustedHosts]);
} }
$kernel = new Kernel($_SERVER['APP_ENV'], $_SERVER['APP_DEBUG']); $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$request = Request::createFromGlobals(); $request = Request::createFromGlobals();
$response = $kernel->handle($request); $response = $kernel->handle($request);
$response->send(); $response->send();
......
...@@ -2,9 +2,12 @@ ...@@ -2,9 +2,12 @@
namespace App\Admin; namespace App\Admin;
use App\Admin\UserAdmin; use Knp\Menu\ItemInterface;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Admin\AdminInterface;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvent;
...@@ -12,11 +15,12 @@ use Symfony\Component\Form\FormEvents; ...@@ -12,11 +15,12 @@ use Symfony\Component\Form\FormEvents;
class AdherentAdmin extends UserAdmin class AdherentAdmin extends UserAdmin
{ {
protected $baseRouteName = 'adherent';
protected $baseRoutePattern = 'adherent';
public function configure() public function configure()
{ {
parent::configure(); parent::configure();
// $this->classnameLabel = "Utilisateurs";
} }
/** /**
...@@ -31,6 +35,34 @@ class AdherentAdmin extends UserAdmin ...@@ -31,6 +35,34 @@ class AdherentAdmin extends UserAdmin
protected function configureListFields(ListMapper $listMapper): void protected function configureListFields(ListMapper $listMapper): void
{ {
parent::configureListFields($listMapper); unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('username')
->addIdentifier('email')
->addIdentifier('adherent.ecompte', null, array('label' => 'Ecompte'))
->addIdentifier('enabled', null, array('label' => 'Activé', 'datatype' => 'App.User', 'template' => '@SonataAdmin/Boolean/editable_boolean.html.twig'))
->addIdentifier('createdAt')
;
if ($this->isGranted('ROLE_ALLOWED_TO_SWITCH')) {
$listMapper
->addIdentifier('impersonating', 'string', ['template' => '@SonataUser/Admin/Field/impersonating.html.twig'])
;
}
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
}
/**
* {@inheritdoc}
*/
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->andWhere($query->getRootAliases()[0] . '.adherent IS NOT NULL');
return $query;
} }
} }
...@@ -2,13 +2,21 @@ ...@@ -2,13 +2,21 @@
namespace App\Admin; namespace App\Admin;
use App\Entity\Geoloc;
use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
class ComptoirAdmin extends AbstractAdmin class ComptoirAdmin extends AbstractAdmin
{ {
protected $datagridValues = [
'_sort_order' => 'ASC',
'_sort_by' => 'name',
];
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
...@@ -22,6 +30,28 @@ class ComptoirAdmin extends AbstractAdmin ...@@ -22,6 +30,28 @@ class ComptoirAdmin extends AbstractAdmin
protected function configureFormFields(FormMapper $formMapper) protected function configureFormFields(FormMapper $formMapper)
{ {
$comptoir = $this->getSubject(); $comptoir = $this->getSubject();
$geoloc = new Geoloc();
$comptoir->setGeoloc($geoloc);
$formMapper
->with('Comptoir', ['class' => 'col-md-8'])
->add('groupe')
->add('name')
->add('email')
->add('tel')
->end()
->with('Geoloc', ['class' => 'col-md-4'])
->add('geoloc.adresse', null, array('label' => 'Adresse'))
->add('geoloc.cpostal', null, array('label' => 'Code postal'))
->add('geoloc.ville', null, array('label' => 'Ville'))
->add('geoloc.lat', null, array('label' => 'Latitude'))
->add('geoloc.lon', null, array('label' => 'Longitude'))
->end()
;
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
} }
/** /**
...@@ -29,5 +59,13 @@ class ComptoirAdmin extends AbstractAdmin ...@@ -29,5 +59,13 @@ class ComptoirAdmin extends AbstractAdmin
*/ */
protected function configureListFields(ListMapper $listMapper) protected function configureListFields(ListMapper $listMapper)
{ {
unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('name')
->addIdentifier('email')
->addIdentifier('geoloc.addresse')
->addIdentifier('tel')
->addIdentifier('updatedAt')
;
} }
} }
...@@ -4,10 +4,14 @@ namespace App\Admin; ...@@ -4,10 +4,14 @@ namespace App\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
class CotisationAdherentAdmin extends CotisationAdmin class CotisationAdherentAdmin extends CotisationAdmin
{ {
protected $baseRouteName = 'cotisation_adherent';
protected $baseRoutePattern = 'cotisation_adherent';
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
...@@ -35,8 +39,21 @@ class CotisationAdherentAdmin extends CotisationAdmin ...@@ -35,8 +39,21 @@ class CotisationAdherentAdmin extends CotisationAdmin
*/ */
protected function configureFormFields(FormMapper $formMapper): void protected function configureFormFields(FormMapper $formMapper): void
{ {
$formMapper
->with('Cotisation', ['class' => 'col-md-8'])
->add('user', null, array('label' => 'Utilisateur'), array('admin_code' => 'admin.adherent.gerer'))
->end()
;
parent::configureFormFields($formMapper); parent::configureFormFields($formMapper);
$cotisation = $this->getSubject(); }
/**
* {@inheritdoc}
*/
protected function configureRoutes(RouteCollection $collection)
{
parent::configureRoutes($collection);
// $collection->add('create', );
} }
/** /**
......
...@@ -5,10 +5,14 @@ namespace App\Admin; ...@@ -5,10 +5,14 @@ namespace App\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
class CotisationAdmin extends AbstractAdmin class CotisationAdmin extends AbstractAdmin
{ {
protected $baseRouteName = 'cotisation';
protected $baseRoutePattern = 'cotisation';
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
...@@ -22,6 +26,40 @@ class CotisationAdmin extends AbstractAdmin ...@@ -22,6 +26,40 @@ class CotisationAdmin extends AbstractAdmin
protected function configureFormFields(FormMapper $formMapper) protected function configureFormFields(FormMapper $formMapper)
{ {
$cotisation = $this->getSubject(); $cotisation = $this->getSubject();
$formMapper
->with('Cotisation', ['class' => 'col-md-8'])
// ->add('user', null, array('label' => 'Utilisateur'), array('admin_code' => 'admin.adherent.gerer'))
->add('type', null, array('label' => 'Type'))
->add('annee', null, array('label' => 'Année'))
->add('montant', null, array('label' => 'Montant'))
->add('moyen', null, array('label' => 'Moyen'))
->add('recu', null, array('label' => 'Reçu'))
->end()
->with('Date', ['class' => 'col-md-4'])
->add('debut', null, array(
'label' => 'Date de début',
'data' => new \DateTime(),
'widget' => 'single_text',
'html5' => false,
'attr' => ['class' => 'js-datepicker'],
)
)
->add('fin', null, array(
'label' => 'Date de fin',
'data' => new \DateTime('+ 1 year'),
'widget' => 'single_text',
'html5' => false,
'attr' => ['class' => 'js-datepicker'],
)
)
->end()
;
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('edit');
$collection->remove('delete');
} }
/** /**
...@@ -29,5 +67,16 @@ class CotisationAdmin extends AbstractAdmin ...@@ -29,5 +67,16 @@ class CotisationAdmin extends AbstractAdmin
*/ */
protected function configureListFields(ListMapper $listMapper) protected function configureListFields(ListMapper $listMapper)
{ {
unset($this->listModes['mosaic']);
$listMapper
// ->addIdentifier('user')
->addIdentifier('type')
->addIdentifier('annee')
->addIdentifier('debut')
->addIdentifier('fin')
->addIdentifier('montant')
->addIdentifier('moyen')
->addIdentifier('createdAt')
;
} }
} }
...@@ -4,10 +4,14 @@ namespace App\Admin; ...@@ -4,10 +4,14 @@ namespace App\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
class CotisationPrestataireAdmin extends CotisationAdmin class CotisationPrestataireAdmin extends CotisationAdmin
{ {
protected $baseRouteName = 'cotisation_prestataire';
protected $baseRoutePattern = 'cotisation_prestataire';
public function createQuery($context = 'list') public function createQuery($context = 'list')
{ {
$query = parent::createQuery($context); $query = parent::createQuery($context);
...@@ -31,8 +35,20 @@ class CotisationPrestataireAdmin extends CotisationAdmin ...@@ -31,8 +35,20 @@ class CotisationPrestataireAdmin extends CotisationAdmin
*/ */
protected function configureFormFields(FormMapper $formMapper): void protected function configureFormFields(FormMapper $formMapper): void
{ {
$formMapper
->with('Cotisation', ['class' => 'col-md-8'])
->add('user', null, array('label' => 'Utilisateur'), array('admin_code' => 'admin.prestataire.gerer'))
->end()
;
parent::configureFormFields($formMapper); parent::configureFormFields($formMapper);
$cotisation = $this->getSubject(); }
/**
* {@inheritdoc}
*/
protected function configureRoutes(RouteCollection $collection)
{
parent::configureRoutes($collection);
} }
/** /**
...@@ -42,5 +58,4 @@ class CotisationPrestataireAdmin extends CotisationAdmin ...@@ -42,5 +58,4 @@ class CotisationPrestataireAdmin extends CotisationAdmin
{ {
parent::configureListFields($listMapper); parent::configureListFields($listMapper);
} }
} }
...@@ -2,19 +2,16 @@ ...@@ -2,19 +2,16 @@
namespace App\Admin; namespace App\Admin;
use FOS\CKEditorBundle\Form\Type\CKEditorType;
use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\MediaBundle\Form\Type\MediaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class DocumentAdmin extends AbstractAdmin class DocumentAdmin extends AbstractAdmin
{ {
/**
* {@inheritdoc}
*/
protected function configureShowFields(ShowMapper $showMapper)
{
}
/** /**
* {@inheritdoc} * {@inheritdoc}
...@@ -22,6 +19,16 @@ class DocumentAdmin extends AbstractAdmin ...@@ -22,6 +19,16 @@ class DocumentAdmin extends AbstractAdmin
protected function configureFormFields(FormMapper $formMapper) protected function configureFormFields(FormMapper $formMapper)
{ {
$document = $this->getSubject(); $document = $this->getSubject();
$formMapper
->add('name', TextType::class, array(
'label' => 'Titre :'
))
->add('text', CKEditorType::class, array(
'label' => 'Texte',
'required' => false,
))
->add('media', MediaType::class, array('provider' => 'sonata.media.provider.image', 'context' => 'document'))
;
} }
/** /**
...@@ -29,5 +36,11 @@ class DocumentAdmin extends AbstractAdmin ...@@ -29,5 +36,11 @@ class DocumentAdmin extends AbstractAdmin
*/ */
protected function configureListFields(ListMapper $listMapper) protected function configureListFields(ListMapper $listMapper)
{ {
unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('name', null, array('label' => 'Titre'))
->addIdentifier('text', 'html', array('label' => 'Text'))
->addIdentifier('media', null, array('label' => 'Fichier'))
;
} }
} }
<?php
namespace App\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper;
class GlobalConfigurationAdmin extends AbstractAdmin
{
/**
* {@inheritdoc}
*/
protected function configureShowFields(ShowMapper $showMapper)
{
}
/**
* {@inheritdoc}
*/
protected function configureFormFields(FormMapper $formMapper)
{
$document = $this->getSubject();
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
}
/**
* {@inheritdoc}
*/
protected function configureListFields(ListMapper $listMapper)
{
}
}
...@@ -2,13 +2,26 @@ ...@@ -2,13 +2,26 @@
namespace App\Admin; namespace App\Admin;
use App\Entity\Comptoir;
use App\Entity\Siege;
use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class GroupeAdmin extends AbstractAdmin class GroupeAdmin extends AbstractAdmin
{ {
protected $datagridValues = [
'_sort_order' => 'ASC',
'_sort_by' => 'name',
];
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
...@@ -23,15 +36,74 @@ class GroupeAdmin extends AbstractAdmin ...@@ -23,15 +36,74 @@ class GroupeAdmin extends AbstractAdmin
{ {
$groupe = $this->getSubject(); $groupe = $this->getSubject();
$formMapper $formMapper
->add('siege') ->with("Creation d'un groupe")
->add('comptoir') ->add('siege', HiddenType::class, array(
'data' => 1,
'data_class' => null,
'entity_class' => Siege::class,
'em' => $this->getConfigurationPool()->getContainer()->get('doctrine')->getManager()
))
->add('name', TextType::class, array(
'label' => 'Nom du groupe :',
'required' => true
))
->add('comptoirs', CollectionType::class, array(
'label' => 'Comptoirs',
'entry_type' => EntityType::class,
'entry_options' => array(
'class' => Comptoir::class,
'choices' => $this->getConfigurationPool()->getContainer()->get('doctrine')->getRepository(Comptoir::class)->findAll(),
'choice_label' => 'slug',
'placeholder' => 'Comptoir',
'required' => false,
'label' => false),
'by_reference' => false,
'allow_add' => true,
'allow_delete' => true
))
->add('enabled', CheckboxType::class, array(
'label' => 'Activé ?',
'required' => false,
'label_attr' => array('class' => 'checkbox-inline')
))
->end()
; ;
} }
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function configureListFields(ListMapper $listMapper) protected function configureListFields(ListMapper $listMapper)
{ {
unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('name', null, array('label' => 'Nom du groupe'))
->add(
'getPrestatairesCount',
null,
[
'label' => 'Nb prestataires',
'sortable' => true,
'sort_field_mapping' => ['fieldName' => 'id'],
'sort_parent_association_mappings' => [],
]
)
->add(
'getComptoirsCount',
null,
[
'label' => 'Nb comptoirs',
'sortable' => true,
'sort_field_mapping' => ['fieldName' => 'id'],
'sort_parent_association_mappings' => [],
]
)
->addIdentifier('enabled', null, array('label' => 'Activé', 'datatype' => 'App.Groupeprestataire', 'template' => '@SonataAdmin/Boolean/editable_boolean.html.twig'))
;
} }
} }
...@@ -3,9 +3,12 @@ ...@@ -3,9 +3,12 @@
namespace App\Admin; namespace App\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin; use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class GroupeprestataireAdmin extends AbstractAdmin class GroupeprestataireAdmin extends AbstractAdmin
{ {
...@@ -28,7 +31,28 @@ class GroupeprestataireAdmin extends AbstractAdmin ...@@ -28,7 +31,28 @@ class GroupeprestataireAdmin extends AbstractAdmin
*/ */
protected function configureFormFields(FormMapper $formMapper) protected function configureFormFields(FormMapper $formMapper)
{ {
$comptoir = $this->getSubject(); $groupepresta = $this->getSubject();
$formMapper
->add('name', TextType::class, array(
'label' => 'Nom du groupe :',
'required' => true
))
->add('enabled', CheckboxType::class, array(
'label' => 'Activé ?',
'required' => false,
'label_attr' => array('class' => 'checkbox-inline')
))
;
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
// $datagridMapper
// ->add('phone')
// ->add('email', null, [
// 'show_filter' => true
// ])
// ;
} }
/** /**
...@@ -36,5 +60,40 @@ class GroupeprestataireAdmin extends AbstractAdmin ...@@ -36,5 +60,40 @@ class GroupeprestataireAdmin extends AbstractAdmin
*/ */
protected function configureListFields(ListMapper $listMapper) protected function configureListFields(ListMapper $listMapper)
{ {
unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('name', null, array('label' => 'Nom du groupe'))
->add(
'getPrestatairesCount',
null,
[
'sortable' => true,
'sort_field_mapping' => ['fieldName' => 'id'],
'sort_parent_association_mappings' => [],
]
)
->addIdentifier('enabled', null, array('label' => 'Activé', 'datatype' => 'App.Groupeprestataire', 'template' => '@SonataAdmin/Boolean/editable_boolean.html.twig'))
;
} }
// @TODO : NE FONCTIONNE PAS : pour pouvoir classer par nombre de prestataires !
// voir https://github.com/sonata-project/SonataDoctrineORMAdminBundle/issues/297
// public function createQuery($context = 'list')
// {
// $query = parent::createQuery($context);
// if ('list' === $context) {
// $rootAlias = $query->getRootAliases()[0];
// $parameters = $this->getFilterParameters();
// if ('getPrestatairesCount' === $parameters['_sort_by']) {
// $query->select('o', 'DISTINCT o');
// $query
// ->leftJoin($rootAlias.'.prestataires', 'gpr')
// // ->leftJoin('groupes_prestataires.prestataires', 'pr')
// ->groupBy($rootAlias.'.id')
// ->orderBy('COUNT(gpr.id)', $parameters['_sort_order'])
// ;
// }
// }
// return $query;
// }
} }
...@@ -3,9 +3,12 @@ ...@@ -3,9 +3,12 @@
namespace App\Admin; namespace App\Admin;
use App\Admin\UserAdmin; use App\Admin\UserAdmin;
use FOS\UserBundle\Model\UserManagerInterface;
use Sonata\AdminBundle\Datagrid\ListMapper; use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper; use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper; use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\MediaBundle\Form\Type\MediaType;
use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvent;
...@@ -13,11 +16,12 @@ use Symfony\Component\Form\FormEvents; ...@@ -13,11 +16,12 @@ use Symfony\Component\Form\FormEvents;
class PrestataireAdmin extends UserAdmin class PrestataireAdmin extends UserAdmin
{ {
protected $baseRouteName = 'prestataire';
protected $baseRoutePattern = 'prestataire';
public function configure() public function configure()
{ {
parent::configure(); parent::configure();
// $this->classnameLabel = "Utilisateurs";
} }
/** /**
...@@ -25,12 +29,93 @@ class PrestataireAdmin extends UserAdmin ...@@ -25,12 +29,93 @@ class PrestataireAdmin extends UserAdmin
*/ */
protected function configureFormFields(FormMapper $formMapper): void protected function configureFormFields(FormMapper $formMapper): void
{ {
$formMapper
->tab('Prestataire')
->with('General', ['class' => 'col-md-6'])
->add('prestataire.raison', TextType::class, array(
'label' => 'Raison :',
'required' => true
))
->add('prestataire.statut', TextType::class, array(
'label' => 'Statut :',
'required' => false
))
->add('prestataire.siret', TextType::class, array(
'label' => 'SIRET :',
'required' => true
))
->add('prestataire.iban', TextType::class, array(
'label' => 'IBAN :',
'required' => true
))
->end()
->with('Responsable', ['class' => 'col-md-6'])
->add('prestataire.metier', TextType::class, array(
'label' => 'Métier :',
'required' => true
))
->add('prestataire.responsable', TextType::class, array(
'label' => 'Responsable :',
'required' => false
))
->end()
->with('Image', ['class' => 'col-md-6'])
->add('media', MediaType::class, array(
'provider' => 'sonata.media.provider.image',
'context' => 'prestataire'
))
->end()
->end()
;
parent::configureFormFields($formMapper); parent::configureFormFields($formMapper);
$user = $this->getSubject(); }
/**
* @param UserManagerInterface $userManager
*/
public function setUserManager(UserManagerInterface $userManager): void
{
$this->userManager = $userManager;
}
/**
* @return UserManagerInterface
*/
public function getUserManager()
{
return $this->userManager;
} }
protected function configureListFields(ListMapper $listMapper): void protected function configureListFields(ListMapper $listMapper): void
{ {
parent::configureListFields($listMapper); unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('username')
->addIdentifier('email')
->addIdentifier('prestataire.raison')
->addIdentifier('enabled', null, array('label' => 'Activé', 'datatype' => 'App.User', 'template' => '@SonataAdmin/Boolean/editable_boolean.html.twig'))
->addIdentifier('createdAt')
;
if ($this->isGranted('ROLE_ALLOWED_TO_SWITCH')) {
$listMapper
->addIdentifier('impersonating', 'string', ['template' => '@SonataUser/Admin/Field/impersonating.html.twig'])
;
}
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
}
/**
* {@inheritdoc}
*/
public function createQuery($context = 'list')
{
$query = parent::createQuery($context);
$query->andWhere($query->getRootAliases()[0] . '.prestataire IS NOT NULL');
return $query;
} }
} }
<?php
namespace App\Admin;
use App\Entity\Comptoir;
use App\Entity\Prestataire;
use App\Entity\Siege;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollection;
use Sonata\AdminBundle\Show\ShowMapper;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class RubriqueAdmin extends AbstractAdmin
{
protected $datagridValues = [
'_sort_order' => 'ASC',
'_sort_by' => 'name',
];
/**
* {@inheritdoc}
*/
protected function configureShowFields(ShowMapper $showMapper)
{
}
/**
* {@inheritdoc}
*/
protected function configureFormFields(FormMapper $formMapper)
{
$groupe = $this->getSubject();
$formMapper
->with("Creation d'une rubrique")
->add('name', TextType::class, array(
'label' => 'Nom :',
'required' => true
))
->add('prestataires', CollectionType::class, array(
'label' => 'Prestataires',
'entry_type' => EntityType::class,
'entry_options' => array(
'class' => Prestataire::class,
'choices' => $this->getConfigurationPool()->getContainer()->get('doctrine')->getRepository(Prestataire::class)->findBy(array('enabled' => true)),
// 'choice_label' => 'name',
'placeholder' => 'Choisir un prestataire',
'required' => false,
'label' => false),
'by_reference' => false,
'allow_add' => true,
'allow_delete' => true
))
->add('enabled', CheckboxType::class, array(
'label' => 'Activé ?',
'required' => false,
'label_attr' => array('class' => 'checkbox-inline')
))
->end()
;
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
}
/**
* {@inheritdoc}
*/
protected function configureListFields(ListMapper $listMapper)
{
unset($this->listModes['mosaic']);
$listMapper
->addIdentifier('name', null, array('label' => 'Nom du groupe'))
->add(
'getPrestatairesCount',
null,
[
'label' => 'Nb prestataires',
'sortable' => true,
'sort_field_mapping' => ['fieldName' => 'id'],
'sort_parent_association_mappings' => [],
]
)
->addIdentifier('enabled', null, array('label' => 'Activé', 'datatype' => 'App.Groupeprestataire', 'template' => '@SonataAdmin/Boolean/editable_boolean.html.twig'))
;
}
}
...@@ -15,6 +15,9 @@ use Symfony\Component\Form\FormEvents; ...@@ -15,6 +15,9 @@ use Symfony\Component\Form\FormEvents;
class UserAdmin extends SonataUserAdmin class UserAdmin extends SonataUserAdmin
{ {
protected $baseRouteName = 'user';
protected $baseRoutePattern = 'user';
protected $datagridValues = [ protected $datagridValues = [
// reverse order (default = 'ASC') // reverse order (default = 'ASC')
'_sort_order' => 'DESC', '_sort_order' => 'DESC',
...@@ -44,7 +47,15 @@ class UserAdmin extends SonataUserAdmin ...@@ -44,7 +47,15 @@ class UserAdmin extends SonataUserAdmin
protected function configureListFields(ListMapper $listMapper): void protected function configureListFields(ListMapper $listMapper): void
{ {
parent::configureListFields($listMapper); parent::configureListFields($listMapper);
// unset($this->listModes['mosaic']); unset($this->listModes['mosaic']);
// $listMapper
// ->addIdentifier('username', null, array('label' => 'Username'))
// ->addIdentifier('email', null, array('label' => 'Email'));
}
protected function configureRoutes(RouteCollection $collection)
{
$collection->remove('delete');
} }
/** /**
...@@ -63,11 +74,17 @@ class UserAdmin extends SonataUserAdmin ...@@ -63,11 +74,17 @@ class UserAdmin extends SonataUserAdmin
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
protected function configureRoutes(RouteCollection $collection) // protected function configureRoutes(RouteCollection $collection)
{ // {
// $collection->remove('create'); // // $collection->remove('create');
// if (!$this->isGranted('ROLE_SUPER_ADMIN')) { // // if (!$this->isGranted('ROLE_SUPER_ADMIN')) {
// $collection->clearExcept([]); // // $collection->clearExcept([]);
// // }
// if ($this->isChild()) {
// return;
// }
// // This is the route configuration as a parent
// // $collection->clear();
// } // }
}
} }
<?php
namespace App\Application\Sonata\MediaBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://symfony.com/doc/current/book/bundles.html
*/
class ApplicationSonataMediaBundle extends Bundle
{
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'SonataMediaBundle';
}
}
\ No newline at end of file
<?php
namespace App\Application\Sonata\MediaBundle\Document;
use Sonata\MediaBundle\Document\BaseGallery as BaseGallery;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/working-with-objects.html
*/
class Gallery extends BaseGallery
{
/**
* @var int $id
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
\ No newline at end of file
<?php
namespace App\Application\Sonata\MediaBundle\Document;
use Sonata\MediaBundle\Document\BaseMedia as BaseMedia;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/working-with-objects.html
*/
class Media extends BaseMedia
{
/**
* @var int $id
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
\ No newline at end of file
<?php
namespace App\Application\Sonata\MediaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sonata\MediaBundle\Entity\BaseGallery as BaseGallery;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://www.doctrine-project.org/projects/orm/2.0/docs/reference/working-with-objects/en
*
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
* @ORM\Table(name="gallerie")
*/
class Gallery extends BaseGallery
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
<?php
namespace App\Application\Sonata\MediaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sonata\MediaBundle\Entity\BaseGalleryHasMedia as BaseGalleryHasMedia;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://www.doctrine-project.org/projects/orm/2.0/docs/reference/working-with-objects/en
*
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
* @ORM\Table(name="gallerie_has_media")
*/
class GalleryHasMedia extends BaseGalleryHasMedia
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
<?php
namespace App\Application\Sonata\MediaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sonata\MediaBundle\Entity\BaseMedia as BaseMedia;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://www.doctrine-project.org/projects/orm/2.0/docs/reference/working-with-objects/en
*
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
* @ORM\Table(name="media")
*/
class Media extends BaseMedia
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
<?php
namespace App\Application\Sonata\MediaBundle\PHPCR;
use Sonata\MediaBundle\PHPCR\BaseGallery as BaseGallery;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/index.html
*/
class Gallery extends BaseGallery
{
/**
* @var int $id
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
\ No newline at end of file
<?php
namespace App\Application\Sonata\MediaBundle\PHPCR;
use Sonata\MediaBundle\PHPCR\BaseGalleryHasMedia as BaseGalleryHasMedia;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/index.html
*/
class GalleryHasMedia extends BaseGalleryHasMedia
{
/**
* @var int $id
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
\ No newline at end of file
<?php
namespace App\Application\Sonata\MediaBundle\PHPCR;
use Sonata\MediaBundle\PHPCR\BaseGalleryHasMediaRepository;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References :
* @link http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html
*/
class GalleryHasMediaRepository extends BaseGalleryHasMediaRepository
{
}
<?php
namespace App\Application\Sonata\MediaBundle\PHPCR;
use Sonata\MediaBundle\PHPCR\BaseGalleryRepository;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References :
* @link http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html
*/
class GalleryRepository extends BaseGalleryRepository
{
}
<?php
namespace App\Application\Sonata\MediaBundle\PHPCR;
use Sonata\MediaBundle\PHPCR\BaseMedia as BaseMedia;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References:
* @link http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/index.html
*/
class Media extends BaseMedia
{
/**
* @var int $id
*/
protected $id;
/**
* Get id.
*
* @return int $id
*/
public function getId()
{
return $this->id;
}
}
\ No newline at end of file
<?php
namespace App\Application\Sonata\MediaBundle\PHPCR;
use Sonata\MediaBundle\PHPCR\BaseMediaRepository;
/**
* This file has been generated by the SonataEasyExtendsBundle.
*
* @link https://sonata-project.org/easy-extends
*
* References :
* @link http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html
*/
class MediaRepository extends BaseMediaRepository
{
}
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mongo-mapping xmlns="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping
http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping.xsd">
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<document name="App\Application\Sonata\MediaBundle\Document\Gallery" >
<field fieldName="id" id="true" />
</document>
</doctrine-mongo-mapping>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<entity
name="App\Application\Sonata\MediaBundle\Entity\Gallery"
table="media__gallery"
>
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
</entity>
</doctrine-mapping>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping
xmlns="http://doctrine-project.org/schemas/phpcr-odm/phpcr-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/phpcr-odm/phpcr-mapping
https://github.com/doctrine/phpcr-odm/raw/master/doctrine-phpcr-odm-mapping.xsd"
>
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<document name="App\Application\Sonata\MediaBundle\PHPCR\Gallery"
repository-class="App\Application\Sonata\MediaBundle\PHPCR\GalleryRepository">
<id name="id">
<generator strategy="REPOSITORY" />
</id>
</document>
</doctrine-mapping>
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<entity
name="App\Application\Sonata\MediaBundle\Entity\GalleryHasMedia"
table="media__gallery_media"
>
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
</entity>
</doctrine-mapping>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping
xmlns="http://doctrine-project.org/schemas/phpcr-odm/phpcr-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/phpcr-odm/phpcr-mapping
https://github.com/doctrine/phpcr-odm/raw/master/doctrine-phpcr-odm-mapping.xsd"
>
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<document name="App\Application\Sonata\MediaBundle\PHPCR\GalleryHasMedia"
repository-class="App\Application\Sonata\MediaBundle\PHPCR\GalleryHasMediaRepository">
<id name="id">
<generator strategy="REPOSITORY" />
</id>
<reference-many name="media" target-document="App\Application\Sonata\MediaBundle\PHPCR\Media" />
</document>
</doctrine-mapping>
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mongo-mapping xmlns="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping
http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping.xsd">
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<document name="App\Application\Sonata\MediaBundle\Document\Media" >
<field fieldName="id" id="true" />
</document>
</doctrine-mongo-mapping>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<entity
name="App\Application\Sonata\MediaBundle\Entity\Media"
table="media__media"
>
<id name="id" type="integer" column="id">
<generator strategy="AUTO"/>
</id>
</entity>
</doctrine-mapping>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping
xmlns="http://doctrine-project.org/schemas/phpcr-odm/phpcr-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/phpcr-odm/phpcr-mapping
https://github.com/doctrine/phpcr-odm/raw/master/doctrine-phpcr-odm-mapping.xsd"
>
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<document name="App\Application\Sonata\MediaBundle\PHPCR\Media"
repository-class="App\Application\Sonata\MediaBundle\PHPCR\MediaRepository" >
<id name="id">
<generator strategy="REPOSITORY" />
</id>
</document>
</doctrine-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<!-- This file has been generated by the SonataEasyExtendsBundle: https://sonata-project.org/bundles/easy-extends -->
<class name="App\Application\Sonata\MediaBundle\Document\Gallery" exclusion-policy="all" xml-root-name="_gallery">
<property xml-attribute-map="true" name="id" type="integer" expose="true" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search"/>
</class>
</serializer>
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<!-- This file has been generated by the SonataEasyExtendsBundle: https://sonata-project.org/bundles/easy-extends -->
<class name="App\Application\Sonata\MediaBundle\Document\GalleryHasMedia" exclusion-policy="all" xml-root-name="_gallery_has_media">
<property xml-attribute-map="true" name="id" type="integer" expose="true" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search"/>
</class>
</serializer>
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<!-- This file has been generated by the SonataEasyExtendsBundle: https://sonata-project.org/bundles/easy-extends -->
<class name="App\Application\Sonata\MediaBundle\Document\Media" exclusion-policy="all" xml-root-name="_media">
<property xml-attribute-map="true" name="id" type="integer" expose="true" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search"/>
</class>
</serializer>
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<!-- This file has been generated by the SonataEasyExtendsBundle: https://sonata-project.org/bundles/easy-extends -->
<class name="App\Application\Sonata\MediaBundle\Entity\Gallery" exclusion-policy="all" xml-root-name="_gallery">
<property xml-attribute-map="true" name="id" type="integer" expose="true" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search"/>
</class>
</serializer>
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<!-- This file has been generated by the SonataEasyExtendsBundle: https://sonata-project.org/bundles/easy-extends -->
<class name="App\Application\Sonata\MediaBundle\Entity\GalleryHasMedia" exclusion-policy="all" xml-root-name="_gallery_has_media">
<property xml-attribute-map="true" name="id" type="integer" expose="true" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search"/>
</class>
</serializer>
<?xml version="1.0" encoding="UTF-8"?>
<serializer>
<!-- This file has been generated by the SonataEasyExtendsBundle: https://sonata-project.org/bundles/easy-extends -->
<class name="App\Application\Sonata\MediaBundle\Entity\Media" exclusion-policy="all" xml-root-name="_media">
<property xml-attribute-map="true" name="id" type="integer" expose="true" since-version="1.0" groups="sonata_api_read,sonata_api_write,sonata_search"/>
</class>
</serializer>
...@@ -2,16 +2,54 @@ ...@@ -2,16 +2,54 @@
namespace App\Controller; namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Routing\Annotation\Route;
/** @Route("/admina", name="admina_") */ /// @ Route ("/admina", name="admina_")
class AdminController extends AbstractController class AdminController extends Controller
{ {
private $em;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
/**
* @Route("/setenable/{type}/{id}", name="setenable")
*/
public function setEnableAction($type, $id, Request $request)
{
$referer = $request->headers->get('referer');
if ($referer && !$request->isXmlHttpRequest()) {
return $this->redirect($referer);
} elseif (!$request->isXmlHttpRequest()) {
return new Response('', Response::HTTP_BAD_REQUEST);
}
$status = 'success';
try {
$object = $this->em->getRepository(str_replace('.', ':', $type))->findOneById($id);
if ($object && method_exists($object, 'setEnabled')) {
$object->setEnabled(!$object->isEnabled());
$this->em->persist($object);
$this->em->flush();
} else {
$status = 'error';
}
} catch (\Exception $e) {
$status = 'error';
}
return new JsonResponse(array('status' => $status, 'newvalue' => ($object->isEnabled()?'true':'false')));
}
/** /**
* Voir tous les dashboards * Voir tous les dashboards
* Route admin_index * Route admin_index
* @Route("/", name="settings") * @Route("/a", name="settings")
*/ */
public function settings() public function settings()
{ {
......
...@@ -8,7 +8,7 @@ use Symfony\Component\Routing\Annotation\Route; ...@@ -8,7 +8,7 @@ use Symfony\Component\Routing\Annotation\Route;
class IndexController extends AbstractController class IndexController extends AbstractController
{ {
/** /**
* @Route("/index", name="index") * @Route("/", name="index")
*/ */
// public function index(TranslatorInterface $translator) // public function index(TranslatorInterface $translator)
public function index() public function index()
......
...@@ -25,7 +25,7 @@ class Adherent ...@@ -25,7 +25,7 @@ class Adherent
/** /**
* @var User * @var User
* *
* @ORM\OneToOne(targetEntity="User", cascade={"persist"}, inversedBy="adherent") * @ORM\OneToOne(targetEntity="User", cascade={"all"}, mappedBy="adherent")
*/ */
protected $user; protected $user;
...@@ -63,4 +63,16 @@ class Adherent ...@@ -63,4 +63,16 @@ class Adherent
$this->user = $user; $this->user = $user;
return $this; return $this;
} }
public function isEnabled(): bool
{
return $this->getUser()->isEnabled();
}
public function setEnabled($enabled): self
{
$this->getUser()->setEnabled($enabled);
return $this;
}
} }
...@@ -15,8 +15,6 @@ class Charte ...@@ -15,8 +15,6 @@ class Charte
{ {
use NameSlugContentEntityTrait; use NameSlugContentEntityTrait;
const UPLOAD_DIR = "charte";
/** /**
* @var int * @var int
* *
...@@ -27,20 +25,17 @@ class Charte ...@@ -27,20 +25,17 @@ class Charte
protected $id; protected $id;
/** /**
* @var null|Image * @var \Application\Sonata\MediaBundle\Entity\Media
* * @Assert\NotBlank()
* @Assert\Valid() * @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\OneToOne(targetEntity="Image", cascade={"all"}, orphanRemoval=true, fetch="EAGER") * @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/ */
private $image; protected $media;
/** /**
* @var null|Fichier * @ORM\Column(type="text", nullable=true)
*
* @Assert\Valid()
* @ORM\OneToOne(targetEntity="Fichier", cascade={"all"}, orphanRemoval=true, fetch="EAGER")
*/ */
protected $fichier; private $text;
/** /**
* @return int * @return int
...@@ -51,40 +46,38 @@ class Charte ...@@ -51,40 +46,38 @@ class Charte
} }
/** /**
* @return Image|null * Get media
* @return
*/ */
public function getImage(): ?Image public function getMedia()
{ {
return $this->image; return $this->media;
} }
/** /**
* @param Image|null $image * Set media
* @return Charte * @return $this
*/ */
public function setImage(?Image $image) public function setMedia($media)
{ {
$image->setType(self::UPLOAD_DIR); $this->media = $media;
$this->image = $image;
return $this; return $this;
} }
/** public function getText(): ?string
* @return Fichier|null
*/
public function getFichier(): ?Fichier
{ {
return $this->fichier; return $this->text;
} }
/** public function setText(?string $text): self
* @param Fichier|null $fichier
* @return Charte
*/
public function setFichier(?Fichier $fichier)
{ {
$fichier->setType(self::UPLOAD_DIR); $this->text = $text;
$this->fichier = $fichier;
return $this; return $this;
} }
public function __toString(): string
{
return $this->getTitle()?$this->getTitle():'Charte';
}
} }
...@@ -38,20 +38,29 @@ class Comptoir ...@@ -38,20 +38,29 @@ class Comptoir
protected $id; protected $id;
/** /**
* @var null|Fichier * @var \Application\Sonata\MediaBundle\Entity\Media
* * @Assert\NotBlank()
* @Assert\Valid() * @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\OneToOne(targetEntity="Fichier", cascade={"all"}, orphanRemoval=true, fetch="EAGER") * @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/ */
protected $fichier; protected $media;
/** /**
* @var Groupe $comptoirGroup * @var Groupe $comptoirGroup
* *
* @ORM\ManyToOne(targetEntity="Groupe", inversedBy="comptoirs") * @ORM\ManyToOne(targetEntity="Groupe", inversedBy="comptoirs")
* @ORM\OrderBy({"name": "ASC"})
*/ */
private $groupe; private $groupe;
// *
// * @var User
// *
// * @ORM\ManyToOne(targetEntity="User", inversedBy="cotisations")
// * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
// private $user;
/** /**
* @return int * @return int
*/ */
...@@ -79,21 +88,21 @@ class Comptoir ...@@ -79,21 +88,21 @@ class Comptoir
} }
/** /**
* @return Fichier * Get media
* @return
*/ */
public function getFichier(): ?Fichier public function getMedia()
{ {
return $this->fichier; return $this->media;
} }
/** /**
* @param Fichier $fichier * Set media
* @return Comptoir * @return $this
*/ */
public function setFichier(?Fichier $fichier) public function setMedia($media)
{ {
$fichier->setType(self::UPLOAD_DIR); $this->media = $media;
$this->fichier = $fichier;
return $this; return $this;
} }
...@@ -114,4 +123,9 @@ class Comptoir ...@@ -114,4 +123,9 @@ class Comptoir
{ {
return $this->groupe; return $this->groupe;
} }
public function __toString(): string
{
return (!empty($this->name)?$this->name:'Comptoir');
}
} }
...@@ -92,7 +92,7 @@ class Cotisation ...@@ -92,7 +92,7 @@ class Cotisation
/** /**
* @return User * @return User
*/ */
public function getUser(): User public function getUser(): ?User
{ {
return $this->user; return $this->user;
} }
...@@ -110,7 +110,7 @@ class Cotisation ...@@ -110,7 +110,7 @@ class Cotisation
/** /**
* @return string * @return string
*/ */
public function getType(): string public function getType(): ?string
{ {
return $this->type; return $this->type;
} }
...@@ -128,7 +128,7 @@ class Cotisation ...@@ -128,7 +128,7 @@ class Cotisation
/** /**
* @return int * @return int
*/ */
public function getAnnee(): int public function getAnnee(): ?int
{ {
return $this->annee; return $this->annee;
} }
...@@ -146,7 +146,7 @@ class Cotisation ...@@ -146,7 +146,7 @@ class Cotisation
/** /**
* @return \DateTime * @return \DateTime
*/ */
public function getDebut(): \DateTime public function getDebut(): ?\DateTime
{ {
return $this->debut; return $this->debut;
} }
...@@ -164,7 +164,7 @@ class Cotisation ...@@ -164,7 +164,7 @@ class Cotisation
/** /**
* @return \DateTime * @return \DateTime
*/ */
public function getFin(): \DateTime public function getFin(): ?\DateTime
{ {
return $this->fin; return $this->fin;
} }
...@@ -182,7 +182,7 @@ class Cotisation ...@@ -182,7 +182,7 @@ class Cotisation
/** /**
* @return float * @return float
*/ */
public function getMontant(): float public function getMontant(): ?float
{ {
return $this->montant; return $this->montant;
} }
...@@ -200,7 +200,7 @@ class Cotisation ...@@ -200,7 +200,7 @@ class Cotisation
/** /**
* @return string * @return string
*/ */
public function getMoyen(): string public function getMoyen(): ?string
{ {
return $this->moyen; return $this->moyen;
} }
...@@ -218,7 +218,7 @@ class Cotisation ...@@ -218,7 +218,7 @@ class Cotisation
/** /**
* @return bool * @return bool
*/ */
public function isRecu(): bool public function isRecu(): ?bool
{ {
return $this->recu; return $this->recu;
} }
......
...@@ -19,8 +19,6 @@ class Document ...@@ -19,8 +19,6 @@ class Document
TimestampableEntity, TimestampableEntity,
NameSlugContentEntityTrait; NameSlugContentEntityTrait;
const UPLOAD_DIR = "document";
/** /**
* @var int * @var int
* *
...@@ -31,12 +29,12 @@ class Document ...@@ -31,12 +29,12 @@ class Document
protected $id; protected $id;
/** /**
* @var null|Fichier * @var \Application\Sonata\MediaBundle\Entity\Media
* * @Assert\NotBlank()
* @Assert\Valid() * @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\OneToOne(targetEntity="Fichier", cascade={"all"}, orphanRemoval=true, fetch="EAGER") * @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/ */
protected $fichier; protected $media;
/** /**
* @var User * @var User
...@@ -47,6 +45,11 @@ class Document ...@@ -47,6 +45,11 @@ class Document
private $user; private $user;
/** /**
* @ORM\Column(type="text", nullable=true)
*/
private $text;
/**
* @return int * @return int
*/ */
public function getId(): int public function getId(): int
...@@ -73,21 +76,38 @@ class Document ...@@ -73,21 +76,38 @@ class Document
} }
/** /**
* @return Fichier|null * Get media
* @return
*/ */
public function getFichier(): ?Fichier public function getMedia()
{ {
return $this->fichier; return $this->media;
} }
/** /**
* @param Fichier|null $fichier * Set media
* @return Document * @return $this
*/ */
public function setFichier(?Fichier $fichier) public function setMedia($media)
{ {
$fichier->setType(self::UPLOAD_DIR); $this->media = $media;
$this->fichier = $fichier;
return $this; return $this;
} }
public function getText(): ?string
{
return $this->text;
}
public function setText(?string $text): self
{
$this->text = $text;
return $this;
}
public function __toString(): string
{
return $this->getTitle()?$this->getTitle():'Document';
}
} }
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
namespace App\Entity; namespace App\Entity;
use App\Entity\EntityTrait\EnablableEntityTrait; use App\Entity\EntityTrait\EnablableEntityTrait;
use Gedmo\Timestampable\Traits\TimestampableEntity; use App\Entity\EntityTrait\NameSlugContentEntityTrait;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Constraints as Assert;
/** /**
...@@ -15,9 +16,9 @@ use Symfony\Component\Validator\Constraints as Assert; ...@@ -15,9 +16,9 @@ use Symfony\Component\Validator\Constraints as Assert;
class Faq class Faq
{ {
use TimestampableEntity, use TimestampableEntity,
EnablableEntityTrait; EnablableEntityTrait,
NameSlugContentEntityTrait;
const UPLOAD_DIR = "faq";
/** /**
* @var int * @var int
* *
...@@ -28,14 +29,27 @@ class Faq ...@@ -28,14 +29,27 @@ class Faq
protected $id; protected $id;
/** /**
* @var null|Fichier * @ORM\Column(type="text", nullable=true)
* */
* @Assert\Valid() private $text;
* @ORM\OneToOne(targetEntity="Fichier", cascade={"all"}, orphanRemoval=true, fetch="EAGER")
/**
* @var \Application\Sonata\MediaBundle\Entity\Media
* @Assert\NotBlank()
* @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/ */
protected $fichier; protected $fichier;
/** /**
* @var \Application\Sonata\MediaBundle\Entity\Media
* @Assert\NotBlank()
* @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/
protected $image;
/**
* @var null|User * @var null|User
* *
* @ORM\ManyToOne(targetEntity="User", inversedBy="faqs", cascade={"persist"}) * @ORM\ManyToOne(targetEntity="User", inversedBy="faqs", cascade={"persist"})
...@@ -51,6 +65,18 @@ class Faq ...@@ -51,6 +65,18 @@ class Faq
return $this->id; return $this->id;
} }
public function getText(): ?string
{
return $this->text;
}
public function setText(?string $text): self
{
$this->text = $text;
return $this;
}
/** /**
* @return null|User * @return null|User
*/ */
...@@ -70,20 +96,44 @@ class Faq ...@@ -70,20 +96,44 @@ class Faq
} }
/** /**
* @return Fichier|null * @return Media|null
*/ */
public function getFichier(): ?Fichier public function getFichier()
{ {
return $this->fichier; return $this->fichier;
} }
/** /**
* @param Fichier|null $fichier * @param Media|null $fichier
* @return Faq * @return Faq
*/ */
public function setFichier(?Fichier $fichier) public function setFichier($fichier)
{ {
$this->fichier = $fichier; $this->fichier = $fichier;
return $this; return $this;
} }
/**
* Get image
* @return image|null
*/
public function getImage()
{
return $this->image;
}
/**
* Set image
* @return $this
*/
public function setImage($image)
{
$this->image = $image;
return $this;
}
public function __toString(): string
{
return $this->getTitle()?$this->getTitle():'FAQ';
}
} }
...@@ -157,4 +157,9 @@ class Geoloc ...@@ -157,4 +157,9 @@ class Geoloc
$this->lon = $lon; $this->lon = $lon;
return $this; return $this;
} }
public function __toString(): string
{
return (!empty($this->adresse)?$this->adresse:'').' '.(!empty($this->cpostal)?$this->cpostal:'').' '.(!empty($this->ville)?$this->ville:'');
}
} }
...@@ -2,57 +2,94 @@ ...@@ -2,57 +2,94 @@
namespace App\Entity; namespace App\Entity;
use App\Entity\EntityTrait\EnablableEntityTrait;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo; use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\HttpFoundation\File\File; use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Constraints as Assert;
use Vich\UploaderBundle\Mapping\Annotation as Vich; use Vich\UploaderBundle\Mapping\Annotation as Vich;
/** /**
* @ORM\Entity * @ORM\Entity(repositoryClass="App\Repository\GlobalConfigurationRepository")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({"fichier" = "Fichier", "image" = "Image"})
* @Vich\Uploadable
* @ORM\HasLifecycleCallbacks()
* @ORM\Table(name="fichier")
*/ */
class Fichier class GlobalConfiguration
{ {
use EnablableEntityTrait;
/** /**
* @var int * @ORM\Id()
* * @ORM\GeneratedValue()
* @ORM\Id
* @ORM\Column(type="integer") * @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/ */
protected $id; private $id;
/** /**
* @Vich\UploadableField(mapping="balls", fileNameProperty="path") * @ORM\Column(type="string", length=100)
* @Assert\File(maxSize="2M", mimeTypes={"image/png"})
*/ */
protected $file; private $mlcname;
/** /**
* @var string * @ORM\Column(type="string", length=50)
* */
* @ORM\Column(name="path", type="text", nullable=true) private $mlcsmallname;
/**
* @ORM\Column(type="text", nullable=true)
*/ */
private $path; private $charte;
/** /**
* @return int * @Assert\Image(maxSize="2M", minWidth="50", minHeight="50")
* @Vich\UploadableField(mapping="logo", fileNameProperty="path")
* @Assert\File(maxSize="2M", mimeTypes={"image/*"})
*/ */
public function getId(): int protected $logo;
/**
* @var string
*
* @ORM\Column(name="pathlogo", type="text", nullable=true)
*/
private $pathlogo;
public function getId(): ?int
{ {
return $this->id; return $this->id;
} }
public function getMlcname(): ?string
{
return $this->mlcname;
}
public function setMlcname(string $mlcname): self
{
$this->mlcname = $mlcname;
return $this;
}
public function getMlcsmallname(): ?string
{
return $this->mlcsmallname;
}
public function setMlcsmallname(string $mlcsmallname): self
{
$this->mlcsmallname = $mlcsmallname;
return $this;
}
public function getCharte(): ?string
{
return $this->charte;
}
public function setCharte(?string $charte): self
{
$this->charte = $charte;
return $this;
}
/** /**
* If manually uploading a file (i.e. not using Symfony Form) ensure an instance * If manually uploading a file (i.e. not using Symfony Form) ensure an instance
* of 'UploadedFile' is injected into this setter to trigger the update. If this * of 'UploadedFile' is injected into this setter to trigger the update. If this
...@@ -62,9 +99,9 @@ class Fichier ...@@ -62,9 +99,9 @@ class Fichier
* *
* @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $image * @param File|\Symfony\Component\HttpFoundation\File\UploadedFile $image
*/ */
public function setfile(File $image = null) public function setLogo(File $image = null)
{ {
$this->file = $image; $this->logo = $image;
if ($image) { if ($image) {
// It is required that at least one field changes if you are using doctrine // It is required that at least one field changes if you are using doctrine
// otherwise the event listeners won't be called and the file is lost // otherwise the event listeners won't be called and the file is lost
...@@ -72,9 +109,9 @@ class Fichier ...@@ -72,9 +109,9 @@ class Fichier
} }
} }
public function getFile() public function getLogo()
{ {
return $this->file; return $this->logo;
} }
/** /**
...@@ -83,9 +120,9 @@ class Fichier ...@@ -83,9 +120,9 @@ class Fichier
* @param string $path * @param string $path
* @return Photo * @return Photo
*/ */
public function setPath($path) public function setPathLogo($path)
{ {
$this->path = $path; $this->pathlogo = $path;
return $this; return $this;
} }
...@@ -95,8 +132,8 @@ class Fichier ...@@ -95,8 +132,8 @@ class Fichier
* *
* @return string * @return string
*/ */
public function getPath() public function getPathLogo()
{ {
return $this->path; return $this->pathlogo;
} }
} }
...@@ -6,11 +6,13 @@ use App\Entity\Comptoir; ...@@ -6,11 +6,13 @@ use App\Entity\Comptoir;
use App\Entity\EntityTrait\EnablableEntityTrait; use App\Entity\EntityTrait\EnablableEntityTrait;
use App\Entity\EntityTrait\HasCompteEntity; use App\Entity\EntityTrait\HasCompteEntity;
use App\Entity\EntityTrait\NameSlugContentEntityTrait; use App\Entity\EntityTrait\NameSlugContentEntityTrait;
use App\Entity\Prestataire;
use App\Entity\Siege; use App\Entity\Siege;
use App\Entity\User; use App\Entity\User;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo; use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Symfony\Component\Validator\Constraints as Assert; use Symfony\Component\Validator\Constraints as Assert;
/** /**
...@@ -20,6 +22,7 @@ use Symfony\Component\Validator\Constraints as Assert; ...@@ -20,6 +22,7 @@ use Symfony\Component\Validator\Constraints as Assert;
class Groupe class Groupe
{ {
use NameSlugContentEntityTrait, use NameSlugContentEntityTrait,
TimestampableEntity,
EnablableEntityTrait; EnablableEntityTrait;
/** /**
...@@ -41,13 +44,22 @@ class Groupe ...@@ -41,13 +44,22 @@ class Groupe
/** /**
* @var ArrayCollection|Comptoir[] * @var ArrayCollection|Comptoir[]
* @ORM\OneToMany(targetEntity="Comptoir", mappedBy="groupe", cascade={"persist"}) * @ORM\OneToMany(targetEntity="Comptoir", mappedBy="groupe", cascade={"persist"}, fetch="EXTRA_LAZY")
* @ORM\OrderBy({"name": "ASC"})
*/ */
private $comptoirs; private $comptoirs;
/**
* @var ArrayCollection|Prestataire[]
* @ORM\OneToMany(targetEntity="Prestataire", mappedBy="prestataireGroup", cascade={"persist"}, fetch="EXTRA_LAZY")
* @ORM\OrderBy({"name": "ASC"})
*/
private $prestataires;
public function __construct() public function __construct()
{ {
$this->users = new ArrayCollection(); $this->comptoirs = new ArrayCollection();
$this->prestataires = new ArrayCollection();
} }
/** /**
...@@ -103,7 +115,7 @@ class Groupe ...@@ -103,7 +115,7 @@ class Groupe
{ {
if (!$this->comptoirs->contains($comptoir)) { if (!$this->comptoirs->contains($comptoir)) {
$this->comptoirs[] = $comptoir; $this->comptoirs[] = $comptoir;
$comptoir->setComptoirGroup($this); $comptoir->setGroupe($this);
} }
return $this; return $this;
} }
...@@ -116,8 +128,57 @@ class Groupe ...@@ -116,8 +128,57 @@ class Groupe
{ {
if ($this->comptoirs->contains($comptoir)) { if ($this->comptoirs->contains($comptoir)) {
$this->comptoirs->removeElement($comptoir); $this->comptoirs->removeElement($comptoir);
$comptoir->setComptoirGroup(null); $comptoir->setGroupe(null);
} }
return $this; return $this;
} }
/**
* @return Prestataire[]|ArrayCollection
*/
public function getPrestataires()
{
return $this->prestataires;
}
/**
* @param Prestataire $prestataire
* @return $this
*/
public function addPrestataire(Prestataire $prestataire)
{
if (!$this->prestataires->contains($prestataire)) {
$this->prestataires[] = $prestataire;
$prestataire->setPrestataireGroup($this);
}
return $this;
}
/**
* @param Prestataire $prestataire
* @return $this
*/
public function removePrestataire(Prestataire $prestataire)
{
if ($this->prestataires->contains($prestataire)) {
$this->prestataires->removeElement($prestataire);
$prestataire->setPrestataireGroup(null);
}
return $this;
}
public function getComptoirsCount()
{
return $this->getComptoirs()->count();
}
public function getPrestatairesCount()
{
return $this->getPrestataires()->count();
}
public function __toString(): string
{
return $this->getName()?$this->getName():'Groupe';
}
} }
...@@ -25,8 +25,6 @@ class Groupeprestataire ...@@ -25,8 +25,6 @@ class Groupeprestataire
{ {
use NameSlugContentEntityTrait, use NameSlugContentEntityTrait,
TimestampableEntity, TimestampableEntity,
GeolocEntityTrait,
ContactEmailTelTrait,
EnablableEntityTrait; EnablableEntityTrait;
/** /**
...@@ -39,26 +37,12 @@ class Groupeprestataire ...@@ -39,26 +37,12 @@ class Groupeprestataire
protected $id; protected $id;
/** /**
* @var null|string (amap, marche, ...)
*
* @ORM\Column(name="type", type="string", length=20, nullable=false)
*/
protected $type;
/**
* @var ArrayCollection|Prestataire[] * @var ArrayCollection|Prestataire[]
* *
* @ORM\ManyToMany(targetEntity="Prestataire", inversedBy="groupeprestataires", cascade={"persist"}, fetch="EXTRA_LAZY") * @ORM\ManyToMany(targetEntity="Prestataire", inversedBy="groupeprestataires", cascade={"persist"}, fetch="EXTRA_LAZY")
*/ */
protected $prestataires; protected $prestataires;
/**
* @var null|string (champ libre)
*
* @ORM\Column(name="horaires", type="string", length=200, nullable=true)
*/
private $horaires;
public function __construct() public function __construct()
{ {
$this->prestataires = new ArrayCollection(); $this->prestataires = new ArrayCollection();
...@@ -73,25 +57,6 @@ class Groupeprestataire ...@@ -73,25 +57,6 @@ class Groupeprestataire
} }
/** /**
* Get type
* @return string type
*/
public function getType(): ?string
{
return $this->type;
}
/**
* Set type
* @return $this
*/
public function setType($type): self
{
$this->type = $type;
return $this;
}
/**
* @return Prestataire[]|ArrayCollection * @return Prestataire[]|ArrayCollection
*/ */
public function getPrestataires() public function getPrestataires()
...@@ -125,22 +90,8 @@ class Groupeprestataire ...@@ -125,22 +90,8 @@ class Groupeprestataire
return $this; return $this;
} }
/** public function getPrestatairesCount()
* Get horaires
* @return string Horaires
*/
public function getHoraires(): ?string
{
return $this->horaires;
}
/**
* Set horaires
* @return $this
*/
public function setHoraires($horaires): self
{ {
$this->horaires = $horaires; return $this->getPrestataires()->count();
return $this;
} }
} }
<?php
namespace App\Entity;
use App\Entity\EntityTrait\EnablableEntityTrait;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\HasLifecycleCallbacks()
*/
class Image extends Fichier
{
use EnablableEntityTrait;
/**
* @Assert\Image()
*/
protected $file;
/**
* @var null|int
*
* @ORM\Column(type="integer", nullable=true)
*/
protected $width;
/**
* @var null|int
*
* @ORM\Column(type="integer", nullable=true)
*/
protected $height;
/**
* @return int|null
*/
public function getWidth(): ?int
{
return $this->width;
}
/**
* @param int|null $width
* @return $this
*/
public function setWidth(?int $width)
{
$this->width = $width;
return $this;
}
/**
* @return int|null
*/
public function getHeight(): ?int
{
return $this->height;
}
/**
* @param int|null $height
* @return $this
*/
public function setHeight(?int $height)
{
$this->height = $height;
return $this;
}
/**
* @ORM\PreFlush()
*/
public function upload()
{
if ($this->getFile() != null) {
list($width, $height) = getimagesize($this->getAbsolutePath());
$this->setWidth($width)->setHeight($height);
}
parent::upload();
}
}
...@@ -32,12 +32,12 @@ class News ...@@ -32,12 +32,12 @@ class News
protected $id; protected $id;
/** /**
* @var null|Fichier * @var \Application\Sonata\MediaBundle\Entity\Media
* * @Assert\NotBlank()
* @Assert\Valid() * @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\OneToOne(targetEntity="Fichier", cascade={"all"}, orphanRemoval=true, fetch="EAGER") * @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/ */
protected $fichier; protected $media;
/** /**
* @var User * @var User
...@@ -63,40 +63,41 @@ class News ...@@ -63,40 +63,41 @@ class News
} }
/** /**
* @param User $user * Get media
* @return $this * @return
*/ */
public function setuser(User $user) public function getMedia()
{ {
$this->user = $user; return $this->media;
return $this;
} }
/** /**
* @return User * Set media
* @return $this
*/ */
public function getuser(): User public function setMedia($media)
{ {
return $this->user; $this->media = $media;
return $this;
} }
/** /**
* @return Fichier|null * @param User $user
* @return $this
*/ */
public function getFichier(): ?Fichier public function setuser(User $user)
{ {
return $this->fichier; $this->user = $user;
return $this;
} }
/** /**
* @param Fichier|null $fichier * @return User
* @return News
*/ */
public function setFichier(?Fichier $fichier) public function getuser(): User
{ {
$fichier->setType(self::UPLOAD_DIR); return $this->user;
$this->fichier = $fichier;
return $this;
} }
/** /**
......
...@@ -5,10 +5,11 @@ namespace App\Entity; ...@@ -5,10 +5,11 @@ namespace App\Entity;
use App\Entity\EntityTrait\EnablableEntityTrait; use App\Entity\EntityTrait\EnablableEntityTrait;
use App\Entity\EntityTrait\GeolocEntityTrait; use App\Entity\EntityTrait\GeolocEntityTrait;
use App\Entity\EntityTrait\HasCompteEntity; use App\Entity\EntityTrait\HasCompteEntity;
use App\Entity\Groupeprestataire;
use App\Entity\Image; use App\Entity\Image;
use App\Entity\User; use App\Entity\Rubrique;
use App\Entity\TypePrestataire; use App\Entity\TypePrestataire;
use App\Entity\Groupeprestataire; use App\Entity\User;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo; use Gedmo\Mapping\Annotation as Gedmo;
...@@ -92,6 +93,13 @@ class Prestataire ...@@ -92,6 +93,13 @@ class Prestataire
private $accept = false; private $accept = false;
/** /**
* @var null|string (champ libre)
*
* @ORM\Column(name="horaires", type="string", length=255, nullable=true)
*/
private $horaires;
/**
* @var TypePrestataire * @var TypePrestataire
* *
* @ORM\ManyToOne(targetEntity="TypePrestataire", cascade={"persist"}, inversedBy="prestataires") * @ORM\ManyToOne(targetEntity="TypePrestataire", cascade={"persist"}, inversedBy="prestataires")
...@@ -99,31 +107,38 @@ class Prestataire ...@@ -99,31 +107,38 @@ class Prestataire
private $typeprestataire; private $typeprestataire;
/** /**
* @var null|Image * @var ArrayCollection|Rubrique[]
* * @ORM\ManyToMany(targetEntity="Rubrique", mappedBy="prestataires", cascade={"persist"}, fetch="EXTRA_LAZY")
* @Assert\Valid() * @ORM\JoinTable(name="rubrique_prestataire")
* @ORM\OneToOne(targetEntity="Image", cascade={"all"}, orphanRemoval=true, fetch="EAGER")
*/ */
private $image; private $rubriques;
/**
* @var \Application\Sonata\MediaBundle\Entity\Media
* @Assert\NotBlank()
* @ORM\ManyToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Media", cascade={"persist"}, fetch="LAZY")
* @ORM\JoinColumn(name="media_id", referencedColumnName="id")
*/
protected $media;
/** /**
* @var User * @var User
* *
* @ORM\OneToOne(targetEntity="User", cascade={"persist"}, inversedBy="prestataire") * @ORM\OneToOne(targetEntity="User", cascade={"all"}, mappedBy="prestataire")
*/ */
protected $user; protected $user;
/** /**
* @var Groupe $prestataireGroup * @var Groupe $prestataireGroup
* *
* @ORM\ManyToOne(targetEntity="Groupe", inversedBy="prestataires") * @ORM\ManyToOne(targetEntity="Groupe", cascade={"persist", "remove"}, inversedBy="prestataires")
*/ */
private $prestataireGroup; private $prestataireGroup;
/** /**
* @var ArrayCollection|Amap[] * @var ArrayCollection|Amap[]
* @ORM\ManyToMany(targetEntity="Groupeprestataire", mappedBy="prestataires", cascade={"persist"}, fetch="EXTRA_LAZY") * @ORM\ManyToMany(targetEntity="Groupeprestataire", mappedBy="prestataires", cascade={"persist"}, fetch="EXTRA_LAZY")
* @ORM\JoinTable(name="amap_prestataire") * @ORM\JoinTable(name="groupes_prestataires")
*/ */
private $groupeprestataires; private $groupeprestataires;
...@@ -305,25 +320,6 @@ class Prestataire ...@@ -305,25 +320,6 @@ class Prestataire
} }
/** /**
* @return Image|null
*/
public function getImage(): ?Image
{
return $this->image;
}
/**
* @param Image|null $image
* @return Prestataire
*/
public function setImage(?Image $image)
{
$image->setType(self::UPLOAD_DIR);
$this->image = $image;
return $this;
}
/**
* @return User * @return User
*/ */
public function getUser(): User public function getUser(): User
...@@ -379,6 +375,40 @@ class Prestataire ...@@ -379,6 +375,40 @@ class Prestataire
} }
/** /**
* @return Rubrique[]|ArrayCollection
*/
public function getRubriques()
{
return $this->rubriques;
}
/**
* @param Rubrique $rubrique
* @return $this
*/
public function addRubrique(Rubrique $rubrique)
{
if (!$this->rubriques->contains($rubrique)) {
$this->rubriques[] = $rubrique;
$rubrique->addPrestataire($this);
}
return $this;
}
/**
* @param Rubrique $rubrique
* @return $this
*/
public function removeRubrique(Rubrique $rubrique)
{
if ($this->rubriques->contains($rubrique)) {
$this->rubriques->removeElement($rubrique);
$rubrique->removePrestataire($this);
}
return $this;
}
/**
* @return Amap[]|ArrayCollection * @return Amap[]|ArrayCollection
*/ */
public function getGroupeprestataires() public function getGroupeprestataires()
...@@ -411,4 +441,47 @@ class Prestataire ...@@ -411,4 +441,47 @@ class Prestataire
} }
return $this; return $this;
} }
/**
* Get horaires
* @return string Horaires
*/
public function getHoraires(): ?string
{
return $this->horaires;
}
/**
* Set horaires
* @return $this
*/
public function setHoraires($horaires): self
{
$this->horaires = $horaires;
return $this;
}
/**
* Get media
* @return
*/
public function getMedia()
{
return $this->media;
}
/**
* Set media
* @return $this
*/
public function setMedia($media)
{
$this->media = $media;
return $this;
}
public function __toString(): string
{
return ($this->raison?$this->raison:($this->getUser()?$this->getUser()->getFullname():'Prestataire '.$this->getId()));
}
} }
...@@ -34,6 +34,11 @@ class Rubrique ...@@ -34,6 +34,11 @@ class Rubrique
*/ */
private $prestataires; private $prestataires;
public function __construct()
{
$this->prestataires = new ArrayCollection();
}
/** /**
* @return mixed * @return mixed
*/ */
...@@ -75,4 +80,14 @@ class Rubrique ...@@ -75,4 +80,14 @@ class Rubrique
} }
return $this; return $this;
} }
public function getPrestatairesCount()
{
return $this->getPrestataires()->count();
}
public function __toString(): string
{
return $this->getTitle()?$this->getTitle():'Rubrique';
}
} }
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
namespace App\Entity; namespace App\Entity;
use App\Entity\Adherent;
use App\Entity\Prestataire;
use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\LifecycleEventArgs;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
...@@ -41,23 +43,23 @@ class User extends BaseUser ...@@ -41,23 +43,23 @@ class User extends BaseUser
protected $mobile; protected $mobile;
/** /**
* @var User * @ORM\OneToOne(targetEntity="Adherent", inversedBy="user", cascade={"all"})
* * @ORM\JoinColumn(name="adherent_id", referencedColumnName="id", nullable=true)
* @ORM\OneToOne(targetEntity="User", cascade={"persist"}, inversedBy="adherent")
*/ */
protected $user; protected $adherent;
/** /**
* @ORM\OneToOne(targetEntity="App\Entity\Adherent", inversedBy="user", cascade={"persist"}) * @ORM\OneToOne(targetEntity="Prestataire", inversedBy="user", cascade={"all"})
* @ORM\JoinColumn(name="adherent", referencedColumnName="id", nullable=true) * @ORM\JoinColumn(name="prestataire_id", referencedColumnName="id", nullable=true)
*/ */
protected $adherent; protected $prestataire;
/** /**
* @ORM\OneToOne(targetEntity="App\Entity\Prestataire", inversedBy="user", cascade={"persist"}) * @var ArrayCollection|Cotisation[]
* @ORM\JoinColumn(name="prestataire", referencedColumnName="id", nullable=true) *
* @ORM\OneToMany(targetEntity="Cotisation", mappedBy="user", cascade={"all"}, orphanRemoval=true)
*/ */
protected $prestataire; private $cotisations;
public function __construct() public function __construct()
{ {
...@@ -144,4 +146,75 @@ class User extends BaseUser ...@@ -144,4 +146,75 @@ class User extends BaseUser
} }
return $isSuperAdmin; return $isSuperAdmin;
} }
/**
* Get adherent
* @return
*/
public function getAdherent()
{
return $this->adherent;
}
/**
* Set adherent
* @return $this
*/
public function setAdherent($adherent): self
{
$this->adherent = $adherent;
return $this;
}
/**
* Get prestataire
* @return
*/
public function getPrestataire()
{
return $this->prestataire;
}
/**
* Set prestataire
* @return $this
*/
public function setPrestataire($prestataire): self
{
$this->prestataire = $prestataire;
return $this;
}
/**
* @return Cotisation[]|ArrayCollection
*/
public function getCotisations()
{
return $this->cotisations;
}
/**
* @param Cotisation $cotisation
* @return $this
*/
public function addCotisation(Cotisation $cotisation)
{
if (!$this->cotisations->contains($cotisation)) {
$this->cotisations[] = $cotisation;
$cotisation->setUser($this);
}
return $this;
}
/**
* @param Cotisation $cotisation
* @return $this
*/
public function removeCotisation(Cotisation $cotisation)
{
if ($this->cotisations->contains($cotisation)) {
$this->cotisations->removeElement($cotisation);
}
return $this;
}
} }
<?php
namespace App\Form;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\Exception\TransformationFailedException;
class EntityToIdTransformer implements DataTransformerInterface
{
/**
* @var ObjectManager
*/
protected $objectManager;
/**
* @var string
*/
protected $class;
public function __construct(ObjectManager $objectManager, $class)
{
$this->objectManager = $objectManager;
$this->class = $class;
}
public function transform($entity)
{
if (null === $entity) {
return;
}
if (!is_object($entity)) {
$entityO = $this->objectManager
->getRepository($this->class)
->find($entity);
if (null === $entityO) {
throw new TransformationFailedException();
}
return $entityO;
}
return $entity->getId();
}
public function reverseTransform($id)
{
if (!$id) {
return null;
}
$entity = $this->objectManager
->getRepository($this->class)
->find($id);
if (null === $entity) {
throw new TransformationFailedException();
}
return $entity;
}
}
<?php
namespace App\Form;
use App\Form\EntityToIdTransformer;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class HiddenEntityExtension extends AbstractTypeExtension
{
public function getExtendedTypes()
{
return array(HiddenType::class);
}
/**
* Add the entity_class option
*
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefined(array('em'));
$resolver->setDefined(array('entity_class'));
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
if (isset($options['em'])&&isset($options['entity_class'])) {
$builder->addModelTransformer(new EntityToIdTransformer(
$options['em'],
$options['entity_class']
));
}
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181202152935 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE user_id user_id INT DEFAULT NULL, CHANGE adherent adherent INT DEFAULT NULL, CHANGE prestataire prestataire INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE user_id user_id INT DEFAULT NULL, CHANGE adherent adherent INT DEFAULT NULL, CHANGE prestataire prestataire INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181202170038 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D649A76ED395');
$this->addSql('DROP INDEX UNIQ_8D93D649A76ED395 ON user');
$this->addSql('ALTER TABLE user DROP user_id, CHANGE adherent adherent INT DEFAULT NULL, CHANGE prestataire prestataire INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user ADD user_id INT DEFAULT NULL, CHANGE adherent adherent INT DEFAULT NULL, CHANGE prestataire prestataire INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D649A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649A76ED395 ON user (user_id)');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181202171306 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent DROP FOREIGN KEY FK_90D3F060A76ED395');
$this->addSql('DROP INDEX UNIQ_90D3F060A76ED395 ON adherent');
$this->addSql('ALTER TABLE adherent DROP user_id');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D64960A26480');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D64990D3F060');
$this->addSql('DROP INDEX UNIQ_8D93D64990D3F060 ON user');
$this->addSql('DROP INDEX UNIQ_8D93D64960A26480 ON user');
$this->addSql('ALTER TABLE user ADD adherent_id INT DEFAULT NULL, ADD prestataire_id INT DEFAULT NULL, DROP adherent, DROP prestataire, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D64925F06C53 FOREIGN KEY (adherent_id) REFERENCES adherent (id)');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D649BE3DB2B7 FOREIGN KEY (prestataire_id) REFERENCES prestataire (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D64925F06C53 ON user (adherent_id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649BE3DB2B7 ON user (prestataire_id)');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire DROP FOREIGN KEY FK_60A26480A76ED395');
$this->addSql('DROP INDEX UNIQ_60A26480A76ED395 ON prestataire');
$this->addSql('ALTER TABLE prestataire DROP user_id, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent ADD user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE adherent ADD CONSTRAINT FK_90D3F060A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_90D3F060A76ED395 ON adherent (user_id)');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire ADD user_id INT DEFAULT NULL, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire ADD CONSTRAINT FK_60A26480A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_60A26480A76ED395 ON prestataire (user_id)');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D64925F06C53');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D649BE3DB2B7');
$this->addSql('DROP INDEX UNIQ_8D93D64925F06C53 ON user');
$this->addSql('DROP INDEX UNIQ_8D93D649BE3DB2B7 ON user');
$this->addSql('ALTER TABLE user ADD adherent INT DEFAULT NULL, ADD prestataire INT DEFAULT NULL, DROP adherent_id, DROP prestataire_id, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D64960A26480 FOREIGN KEY (prestataire) REFERENCES prestataire (id)');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D64990D3F060 FOREIGN KEY (adherent) REFERENCES adherent (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D64990D3F060 ON user (adherent)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D64960A26480 ON user (prestataire)');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181202172029 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181202175720 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D64925F06C53');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D649BE3DB2B7');
$this->addSql('DROP INDEX UNIQ_8D93D64925F06C53 ON user');
$this->addSql('DROP INDEX UNIQ_8D93D649BE3DB2B7 ON user');
$this->addSql('ALTER TABLE user DROP adherent_id, DROP prestataire_id, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent ADD user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE adherent ADD CONSTRAINT FK_90D3F060A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_90D3F060A76ED395 ON adherent (user_id)');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire ADD user_id INT DEFAULT NULL, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire ADD CONSTRAINT FK_60A26480A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_60A26480A76ED395 ON prestataire (user_id)');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent DROP FOREIGN KEY FK_90D3F060A76ED395');
$this->addSql('DROP INDEX UNIQ_90D3F060A76ED395 ON adherent');
$this->addSql('ALTER TABLE adherent DROP user_id');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire DROP FOREIGN KEY FK_60A26480A76ED395');
$this->addSql('DROP INDEX UNIQ_60A26480A76ED395 ON prestataire');
$this->addSql('ALTER TABLE prestataire DROP user_id, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user ADD adherent_id INT DEFAULT NULL, ADD prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D64925F06C53 FOREIGN KEY (adherent_id) REFERENCES adherent (id)');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D649BE3DB2B7 FOREIGN KEY (prestataire_id) REFERENCES prestataire (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D64925F06C53 ON user (adherent_id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649BE3DB2B7 ON user (prestataire_id)');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181203150533 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447A76ED395');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447FE54D947');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447FE54D947 FOREIGN KEY (group_id) REFERENCES usergroup (id)');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447A76ED395');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447FE54D947');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447FE54D947 FOREIGN KEY (group_id) REFERENCES usergroup (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181203150756 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447A76ED395');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447FE54D947');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447FE54D947 FOREIGN KEY (group_id) REFERENCES usergroup (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447A76ED395');
$this->addSql('ALTER TABLE fos_user_user_group DROP FOREIGN KEY FK_B3C77447FE54D947');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('ALTER TABLE fos_user_user_group ADD CONSTRAINT FK_B3C77447FE54D947 FOREIGN KEY (group_id) REFERENCES usergroup (id)');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181203160715 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE adherent DROP FOREIGN KEY FK_90D3F060A76ED395');
$this->addSql('DROP INDEX UNIQ_90D3F060A76ED395 ON adherent');
$this->addSql('ALTER TABLE adherent DROP user_id');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user ADD adherent_id INT DEFAULT NULL, ADD prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D64925F06C53 FOREIGN KEY (adherent_id) REFERENCES adherent (id)');
$this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D649BE3DB2B7 FOREIGN KEY (prestataire_id) REFERENCES prestataire (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D64925F06C53 ON user (adherent_id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_8D93D649BE3DB2B7 ON user (prestataire_id)');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire DROP FOREIGN KEY FK_60A26480A76ED395');
$this->addSql('DROP INDEX UNIQ_60A26480A76ED395 ON prestataire');
$this->addSql('ALTER TABLE prestataire DROP user_id, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE adherent ADD user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE adherent ADD CONSTRAINT FK_90D3F060A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_90D3F060A76ED395 ON adherent (user_id)');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire ADD user_id INT DEFAULT NULL, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire ADD CONSTRAINT FK_60A26480A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_60A26480A76ED395 ON prestataire (user_id)');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D64925F06C53');
$this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D649BE3DB2B7');
$this->addSql('DROP INDEX UNIQ_8D93D64925F06C53 ON user');
$this->addSql('DROP INDEX UNIQ_8D93D649BE3DB2B7 ON user');
$this->addSql('ALTER TABLE user DROP adherent_id, DROP prestataire_id, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181206151752 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20181220150040 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE horaires horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190108143727 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT NULL, CHANGE email email VARCHAR(100) DEFAULT NULL');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT NULL, CHANGE last_login last_login DATETIME DEFAULT NULL, CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL, CHANGE password_requested_at password_requested_at DATETIME DEFAULT NULL, CHANGE date_of_birth date_of_birth DATETIME DEFAULT NULL, CHANGE firstname firstname VARCHAR(64) DEFAULT NULL, CHANGE lastname lastname VARCHAR(64) DEFAULT NULL, CHANGE website website VARCHAR(64) DEFAULT NULL, CHANGE biography biography VARCHAR(1000) DEFAULT NULL, CHANGE gender gender VARCHAR(1) DEFAULT NULL, CHANGE locale locale VARCHAR(8) DEFAULT NULL, CHANGE timezone timezone VARCHAR(64) DEFAULT NULL, CHANGE phone phone VARCHAR(64) DEFAULT NULL, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT NULL, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT NULL, CHANGE facebook_data facebook_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT NULL, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT NULL, CHANGE twitter_data twitter_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT NULL, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT NULL, CHANGE gplus_data gplus_data LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT NULL, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT NULL, CHANGE etat etat VARCHAR(10) DEFAULT NULL, CHANGE mobile mobile VARCHAR(15) DEFAULT NULL');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire ADD horaires VARCHAR(255) DEFAULT NULL, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT NULL, CHANGE responsable responsable VARCHAR(200) DEFAULT NULL, CHANGE web web VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT NULL, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT NULL, CHANGE lat lat NUMERIC(10, 8) DEFAULT NULL, CHANGE lon lon NUMERIC(10, 8) DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT NULL, CHANGE tag tag VARCHAR(255) DEFAULT NULL, CHANGE template template VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE groupeprestaire DROP FOREIGN KEY FK_FB9ABBCEEF390162');
$this->addSql('DROP INDEX UNIQ_FB9ABBCEEF390162 ON groupeprestaire');
$this->addSql('ALTER TABLE groupeprestaire DROP geoloc_id, DROP type, DROP horaires, DROP tel, DROP email');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE charte CHANGE image_id image_id INT DEFAULT NULL, CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE groupe_id groupe_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE tel tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE email email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE document CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq CHANGE fichier_id fichier_id INT DEFAULT NULL, CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE fichier CHANGE width width INT DEFAULT NULL, CHANGE height height INT DEFAULT NULL');
$this->addSql('ALTER TABLE geoloc CHANGE adresse adresse VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE cpostal cpostal INT DEFAULT NULL, CHANGE ville ville VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lat lat NUMERIC(10, 8) DEFAULT \'NULL\', CHANGE lon lon NUMERIC(10, 8) DEFAULT \'NULL\'');
$this->addSql('ALTER TABLE groupeprestaire ADD geoloc_id INT DEFAULT NULL, ADD type VARCHAR(20) NOT NULL COLLATE utf8mb4_unicode_ci, ADD horaires VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, ADD tel VARCHAR(20) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, ADD email VARCHAR(100) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE groupeprestaire ADD CONSTRAINT FK_FB9ABBCEEF390162 FOREIGN KEY (geoloc_id) REFERENCES geoloc (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_FB9ABBCEEF390162 ON groupeprestaire (geoloc_id)');
$this->addSql('ALTER TABLE lien CHANGE user_id user_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE message CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news CHANGE fichier_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE page CHANGE description description VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE tag tag VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE template template VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE prestataire DROP horaires, CHANGE typeprestataire_id typeprestataire_id INT DEFAULT NULL, CHANGE image_id image_id INT DEFAULT NULL, CHANGE prestataire_group_id prestataire_group_id INT DEFAULT NULL, CHANGE geoloc_id geoloc_id INT DEFAULT NULL, CHANGE statut statut VARCHAR(50) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE responsable responsable VARCHAR(200) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE web web VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transaction CHANGE expediteur_id expediteur_id INT DEFAULT NULL, CHANGE destinataire_id destinataire_id INT DEFAULT NULL, CHANGE titre titre VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE transfert CHANGE reference reference VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
$this->addSql('ALTER TABLE user CHANGE adherent_id adherent_id INT DEFAULT NULL, CHANGE prestataire_id prestataire_id INT DEFAULT NULL, CHANGE salt salt VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE last_login last_login DATETIME DEFAULT \'NULL\', CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE password_requested_at password_requested_at DATETIME DEFAULT \'NULL\', CHANGE date_of_birth date_of_birth DATETIME DEFAULT \'NULL\', CHANGE firstname firstname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE lastname lastname VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE website website VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE biography biography VARCHAR(1000) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gender gender VARCHAR(1) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE locale locale VARCHAR(8) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE timezone timezone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE phone phone VARCHAR(64) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_uid facebook_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_name facebook_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE facebook_data facebook_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE twitter_uid twitter_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_name twitter_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE twitter_data twitter_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE gplus_uid gplus_uid VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_name gplus_name VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE gplus_data gplus_data LONGTEXT DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci COMMENT \'(DC2Type:json)\', CHANGE token token VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE two_step_code two_step_code VARCHAR(255) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE etat etat VARCHAR(10) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci, CHANGE mobile mobile VARCHAR(15) DEFAULT \'NULL\' COLLATE utf8mb4_unicode_ci');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190109150314 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE global_configuration (id INT AUTO_INCREMENT NOT NULL, mlcname VARCHAR(100) NOT NULL, mlcsmallname VARCHAR(50) NOT NULL, charte LONGTEXT DEFAULT NULL, pathlogo LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('DROP TABLE global_configuration');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190109155035 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE media__gallery_media (id INT AUTO_INCREMENT NOT NULL, position INT NOT NULL, enabled TINYINT(1) NOT NULL, updated_at DATETIME NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE media__gallery (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, context VARCHAR(64) NOT NULL, default_format VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, updated_at DATETIME NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB');
$this->addSql('CREATE TABLE media__media (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, enabled TINYINT(1) NOT NULL, provider_name VARCHAR(255) NOT NULL, provider_status INT NOT NULL, provider_reference VARCHAR(255) NOT NULL, provider_metadata LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', width INT DEFAULT NULL, height INT DEFAULT NULL, length NUMERIC(10, 0) DEFAULT NULL, content_type VARCHAR(255) DEFAULT NULL, content_size INT DEFAULT NULL, copyright VARCHAR(255) DEFAULT NULL, author_name VARCHAR(255) DEFAULT NULL, context VARCHAR(64) DEFAULT NULL, cdn_is_flushable TINYINT(1) DEFAULT NULL, cdn_flush_identifier VARCHAR(64) DEFAULT NULL, cdn_flush_at DATETIME DEFAULT NULL, cdn_status INT DEFAULT NULL, updated_at DATETIME NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = InnoDB');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('DROP TABLE media__gallery_media');
$this->addSql('DROP TABLE media__gallery');
$this->addSql('DROP TABLE media__media');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190109162609 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE document DROP FOREIGN KEY FK_D8698A76F915CFE');
$this->addSql('DROP INDEX UNIQ_D8698A76F915CFE ON document');
$this->addSql('ALTER TABLE document ADD text LONGTEXT DEFAULT NULL, CHANGE fichier_id media_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document ADD CONSTRAINT FK_D8698A76EA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id)');
$this->addSql('CREATE INDEX IDX_D8698A76EA9FDD75 ON document (media_id)');
$this->addSql('ALTER TABLE media__gallery_media ADD gallery_id INT DEFAULT NULL, ADD media_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE media__gallery_media ADD CONSTRAINT FK_80D4C5414E7AF8F FOREIGN KEY (gallery_id) REFERENCES media__gallery (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE media__gallery_media ADD CONSTRAINT FK_80D4C541EA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id) ON DELETE CASCADE');
$this->addSql('CREATE INDEX IDX_80D4C5414E7AF8F ON media__gallery_media (gallery_id)');
$this->addSql('CREATE INDEX IDX_80D4C541EA9FDD75 ON media__gallery_media (media_id)');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE document DROP FOREIGN KEY FK_D8698A76EA9FDD75');
$this->addSql('DROP INDEX IDX_D8698A76EA9FDD75 ON document');
$this->addSql('ALTER TABLE document DROP text, CHANGE media_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE document ADD CONSTRAINT FK_D8698A76F915CFE FOREIGN KEY (fichier_id) REFERENCES fichier (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_D8698A76F915CFE ON document (fichier_id)');
$this->addSql('ALTER TABLE media__gallery_media DROP FOREIGN KEY FK_80D4C5414E7AF8F');
$this->addSql('ALTER TABLE media__gallery_media DROP FOREIGN KEY FK_80D4C541EA9FDD75');
$this->addSql('DROP INDEX IDX_80D4C5414E7AF8F ON media__gallery_media');
$this->addSql('DROP INDEX IDX_80D4C541EA9FDD75 ON media__gallery_media');
$this->addSql('ALTER TABLE media__gallery_media DROP gallery_id, DROP media_id');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190109171819 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE charte DROP FOREIGN KEY FK_3484E5A63DA5256D');
$this->addSql('ALTER TABLE charte DROP FOREIGN KEY FK_3484E5A6F915CFE');
$this->addSql('ALTER TABLE comptoir DROP FOREIGN KEY FK_A6E2C35EF915CFE');
$this->addSql('ALTER TABLE faq DROP FOREIGN KEY FK_E8FF75CCF915CFE');
$this->addSql('ALTER TABLE news DROP FOREIGN KEY FK_1DD39950F915CFE');
$this->addSql('ALTER TABLE prestataire DROP FOREIGN KEY FK_60A264803DA5256D');
$this->addSql('DROP TABLE fichier');
$this->addSql('DROP INDEX UNIQ_1DD39950F915CFE ON news');
$this->addSql('ALTER TABLE news CHANGE fichier_id media_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news ADD CONSTRAINT FK_1DD39950EA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id)');
$this->addSql('CREATE INDEX IDX_1DD39950EA9FDD75 ON news (media_id)');
$this->addSql('DROP INDEX UNIQ_A6E2C35EF915CFE ON comptoir');
$this->addSql('ALTER TABLE comptoir CHANGE fichier_id media_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir ADD CONSTRAINT FK_A6E2C35EEA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id)');
$this->addSql('CREATE INDEX IDX_A6E2C35EEA9FDD75 ON comptoir (media_id)');
$this->addSql('DROP INDEX UNIQ_3484E5A6F915CFE ON charte');
$this->addSql('DROP INDEX UNIQ_3484E5A63DA5256D ON charte');
$this->addSql('ALTER TABLE charte ADD media_id INT DEFAULT NULL, ADD text LONGTEXT DEFAULT NULL, DROP image_id, DROP fichier_id');
$this->addSql('ALTER TABLE charte ADD CONSTRAINT FK_3484E5A6EA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id)');
$this->addSql('CREATE INDEX IDX_3484E5A6EA9FDD75 ON charte (media_id)');
$this->addSql('DROP INDEX UNIQ_60A264803DA5256D ON prestataire');
$this->addSql('ALTER TABLE prestataire CHANGE image_id media_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire ADD CONSTRAINT FK_60A26480EA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id)');
$this->addSql('CREATE INDEX IDX_60A26480EA9FDD75 ON prestataire (media_id)');
$this->addSql('DROP INDEX UNIQ_E8FF75CCF915CFE ON faq');
$this->addSql('ALTER TABLE faq ADD text LONGTEXT DEFAULT NULL, ADD name VARCHAR(150) NOT NULL, ADD slug VARCHAR(150) NOT NULL, ADD content LONGTEXT DEFAULT NULL, CHANGE fichier_id media_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq ADD CONSTRAINT FK_E8FF75CCEA9FDD75 FOREIGN KEY (media_id) REFERENCES media__media (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_E8FF75CC989D9B62 ON faq (slug)');
$this->addSql('CREATE INDEX IDX_E8FF75CCEA9FDD75 ON faq (media_id)');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('CREATE TABLE fichier (id INT AUTO_INCREMENT NOT NULL, path LONGTEXT DEFAULT NULL COLLATE utf8mb4_unicode_ci, discr VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ci, width INT DEFAULT NULL, height INT DEFAULT NULL, enabled TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE charte DROP FOREIGN KEY FK_3484E5A6EA9FDD75');
$this->addSql('DROP INDEX IDX_3484E5A6EA9FDD75 ON charte');
$this->addSql('ALTER TABLE charte ADD fichier_id INT DEFAULT NULL, DROP text, CHANGE media_id image_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE charte ADD CONSTRAINT FK_3484E5A63DA5256D FOREIGN KEY (image_id) REFERENCES fichier (id)');
$this->addSql('ALTER TABLE charte ADD CONSTRAINT FK_3484E5A6F915CFE FOREIGN KEY (fichier_id) REFERENCES fichier (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_3484E5A6F915CFE ON charte (fichier_id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_3484E5A63DA5256D ON charte (image_id)');
$this->addSql('ALTER TABLE comptoir DROP FOREIGN KEY FK_A6E2C35EEA9FDD75');
$this->addSql('DROP INDEX IDX_A6E2C35EEA9FDD75 ON comptoir');
$this->addSql('ALTER TABLE comptoir CHANGE media_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE comptoir ADD CONSTRAINT FK_A6E2C35EF915CFE FOREIGN KEY (fichier_id) REFERENCES fichier (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_A6E2C35EF915CFE ON comptoir (fichier_id)');
$this->addSql('ALTER TABLE faq DROP FOREIGN KEY FK_E8FF75CCEA9FDD75');
$this->addSql('DROP INDEX UNIQ_E8FF75CC989D9B62 ON faq');
$this->addSql('DROP INDEX IDX_E8FF75CCEA9FDD75 ON faq');
$this->addSql('ALTER TABLE faq DROP text, DROP name, DROP slug, DROP content, CHANGE media_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE faq ADD CONSTRAINT FK_E8FF75CCF915CFE FOREIGN KEY (fichier_id) REFERENCES fichier (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_E8FF75CCF915CFE ON faq (fichier_id)');
$this->addSql('ALTER TABLE news DROP FOREIGN KEY FK_1DD39950EA9FDD75');
$this->addSql('DROP INDEX IDX_1DD39950EA9FDD75 ON news');
$this->addSql('ALTER TABLE news CHANGE media_id fichier_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE news ADD CONSTRAINT FK_1DD39950F915CFE FOREIGN KEY (fichier_id) REFERENCES fichier (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_1DD39950F915CFE ON news (fichier_id)');
$this->addSql('ALTER TABLE prestataire DROP FOREIGN KEY FK_60A26480EA9FDD75');
$this->addSql('DROP INDEX IDX_60A26480EA9FDD75 ON prestataire');
$this->addSql('ALTER TABLE prestataire CHANGE media_id image_id INT DEFAULT NULL');
$this->addSql('ALTER TABLE prestataire ADD CONSTRAINT FK_60A264803DA5256D FOREIGN KEY (image_id) REFERENCES fichier (id)');
$this->addSql('CREATE UNIQUE INDEX UNIQ_60A264803DA5256D ON prestataire (image_id)');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190109172932 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE groupe ADD created_at DATETIME NOT NULL, ADD updated_at DATETIME NOT NULL');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE groupe DROP created_at, DROP updated_at');
}
}
<?php declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20190109183052 extends AbstractMigration
{
public function up(Schema $schema) : void
{
// this up() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE comptoir DROP user_id');
}
public function down(Schema $schema) : void
{
// this down() migration is auto-generated, please modify it to your needs
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
$this->addSql('ALTER TABLE comptoir ADD user_id INT NOT NULL');
}
}
<?php
namespace App\Repository;
use App\Entity\Comptoir;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method Comptoir|null find($id, $lockMode = null, $lockVersion = null)
* @method Comptoir|null findOneBy(array $criteria, array $orderBy = null)
* @method Comptoir[] findAll()
* @method Comptoir[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class ComptoirRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, Comptoir::class);
}
/*
public function findOneBySomeField($value): ?Adherent
{
return $this->createQueryBuilder('a')
->andWhere('a.exampleField = :val')
->setParameter('val', $value)
->getQuery()
->getOneOrNullResult()
;
}
*/
}
<?php
namespace App\Repository;
use App\Entity\GlobalConfiguration;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method GlobalConfiguration|null find($id, $lockMode = null, $lockVersion = null)
* @method GlobalConfiguration|null findOneBy(array $criteria, array $orderBy = null)
* @method GlobalConfiguration[] findAll()
* @method GlobalConfiguration[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class GlobalConfigurationRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, GlobalConfiguration::class);
}
// /**
// * @return GlobalConfiguration[] Returns an array of GlobalConfiguration objects
// */
/*
public function findByExampleField($value)
{
return $this->createQueryBuilder('g')
->andWhere('g.exampleField = :val')
->setParameter('val', $value)
->orderBy('g.id', 'ASC')
->setMaxResults(10)
->getQuery()
->getResult()
;
}
*/
/*
public function findOneBySomeField($value): ?GlobalConfiguration
{
return $this->createQueryBuilder('g')
->andWhere('g.exampleField = :val')
->setParameter('val', $value)
->getQuery()
->getOneOrNullResult()
;
}
*/
}
...@@ -107,6 +107,15 @@ ...@@ -107,6 +107,15 @@
"fig/link-util": { "fig/link-util": {
"version": "1.0.0" "version": "1.0.0"
}, },
"friendsofsymfony/ckeditor-bundle": {
"version": "2.0",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
"branch": "master",
"version": "2.0",
"ref": "8eb1cd0962ded6a6d6e1e5a9b6d3e888f9f94ff6"
}
},
"friendsofsymfony/rest-bundle": { "friendsofsymfony/rest-bundle": {
"version": "2.2", "version": "2.2",
"recipe": { "recipe": {
...@@ -125,6 +134,9 @@ ...@@ -125,6 +134,9 @@
"gedmo/doctrine-extensions": { "gedmo/doctrine-extensions": {
"version": "v2.4.36" "version": "v2.4.36"
}, },
"guzzlehttp/psr7": {
"version": "1.5.2"
},
"hautelook/alice-bundle": { "hautelook/alice-bundle": {
"version": "2.1", "version": "2.1",
"recipe": { "recipe": {
...@@ -143,6 +155,24 @@ ...@@ -143,6 +155,24 @@
"jms/metadata": { "jms/metadata": {
"version": "1.7.0" "version": "1.7.0"
}, },
"jms/parser-lib": {
"version": "1.0.0"
},
"jms/serializer": {
"version": "1.13.0"
},
"jms/serializer-bundle": {
"version": "2.0",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
"branch": "master",
"version": "2.0",
"ref": "fe60ce509ef04a3f40da96e3979bc8d9b13b2372"
}
},
"knplabs/gaufrette": {
"version": "v0.7.0"
},
"knplabs/knp-components": { "knplabs/knp-components": {
"version": "v1.3.10" "version": "v1.3.10"
}, },
...@@ -155,6 +185,9 @@ ...@@ -155,6 +185,9 @@
"knplabs/knp-paginator-bundle": { "knplabs/knp-paginator-bundle": {
"version": "v2.8.0" "version": "v2.8.0"
}, },
"kriswallsmith/buzz": {
"version": "v0.16.1"
},
"liip/imagine-bundle": { "liip/imagine-bundle": {
"version": "1.8", "version": "1.8",
"recipe": { "recipe": {
...@@ -197,6 +230,9 @@ ...@@ -197,6 +230,9 @@
"ocramius/proxy-manager": { "ocramius/proxy-manager": {
"version": "2.1.1" "version": "2.1.1"
}, },
"phpcollection/phpcollection": {
"version": "0.5.0"
},
"phpdocumentor/reflection-common": { "phpdocumentor/reflection-common": {
"version": "1.0.1" "version": "1.0.1"
}, },
...@@ -206,6 +242,9 @@ ...@@ -206,6 +242,9 @@
"phpdocumentor/type-resolver": { "phpdocumentor/type-resolver": {
"version": "0.4.0" "version": "0.4.0"
}, },
"phpoption/phpoption": {
"version": "1.5.0"
},
"pixassociates/sortable-behavior-bundle": { "pixassociates/sortable-behavior-bundle": {
"version": "v1.5" "version": "v1.5"
}, },
...@@ -215,6 +254,9 @@ ...@@ -215,6 +254,9 @@
"psr/container": { "psr/container": {
"version": "1.0.0" "version": "1.0.0"
}, },
"psr/http-message": {
"version": "1.0.1"
},
"psr/link": { "psr/link": {
"version": "1.0.0" "version": "1.0.0"
}, },
...@@ -224,6 +266,9 @@ ...@@ -224,6 +266,9 @@
"psr/simple-cache": { "psr/simple-cache": {
"version": "1.0.1" "version": "1.0.1"
}, },
"ralouphie/getallheaders": {
"version": "2.0.5"
},
"sebastian/comparator": { "sebastian/comparator": {
"version": "3.0.2" "version": "3.0.2"
}, },
...@@ -293,6 +338,15 @@ ...@@ -293,6 +338,15 @@
"sonata-project/exporter": { "sonata-project/exporter": {
"version": "1.9.1" "version": "1.9.1"
}, },
"sonata-project/media-bundle": {
"version": "3.13",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
"branch": "master",
"version": "3.13",
"ref": "e25412e53b20827db07abb6f2aa0b8e4d26c284c"
}
},
"sonata-project/user-bundle": { "sonata-project/user-bundle": {
"version": "4.2.3" "version": "4.2.3"
}, },
...@@ -308,6 +362,15 @@ ...@@ -308,6 +362,15 @@
"swiftmailer/swiftmailer": { "swiftmailer/swiftmailer": {
"version": "v6.1.3" "version": "v6.1.3"
}, },
"symfony/apache-pack": {
"version": "1.0",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
"branch": "master",
"version": "1.0",
"ref": "c82bead70f9a4f656354a193df7bf0ca2114efa0"
}
},
"symfony/asset": { "symfony/asset": {
"version": "v4.1.7" "version": "v4.1.7"
}, },
...@@ -329,6 +392,9 @@ ...@@ -329,6 +392,9 @@
"ref": "b5026d7ffdb43b4d66f4cc091b1e6f94e6023986" "ref": "b5026d7ffdb43b4d66f4cc091b1e6f94e6023986"
} }
}, },
"symfony/contracts": {
"version": "v1.0.1"
},
"symfony/css-selector": { "symfony/css-selector": {
"version": "v4.1.7" "version": "v4.1.7"
}, },
...@@ -473,9 +539,6 @@ ...@@ -473,9 +539,6 @@
"ref": "5f514d9d3b8a8aac3d62ae6a86b18b90ed0c7826" "ref": "5f514d9d3b8a8aac3d62ae6a86b18b90ed0c7826"
} }
}, },
"symfony/security": {
"version": "v4.1.7"
},
"symfony/security-acl": { "symfony/security-acl": {
"version": "v3.0.1" "version": "v3.0.1"
}, },
...@@ -488,6 +551,18 @@ ...@@ -488,6 +551,18 @@
"ref": "f8a63faa0d9521526499c0a8f403c9964ecb0527" "ref": "f8a63faa0d9521526499c0a8f403c9964ecb0527"
} }
}, },
"symfony/security-core": {
"version": "v4.2.0"
},
"symfony/security-csrf": {
"version": "v4.2.0"
},
"symfony/security-guard": {
"version": "v4.2.0"
},
"symfony/security-http": {
"version": "v4.2.0"
},
"symfony/serializer": { "symfony/serializer": {
"version": "v4.1.7" "version": "v4.1.7"
}, },
...@@ -545,6 +620,9 @@ ...@@ -545,6 +620,9 @@
"symfony/var-dumper": { "symfony/var-dumper": {
"version": "v4.1.7" "version": "v4.1.7"
}, },
"symfony/var-exporter": {
"version": "v4.2.0"
},
"symfony/web-link": { "symfony/web-link": {
"version": "v4.1.7" "version": "v4.1.7"
}, },
......
{% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %}
{% block field%}
{%- spaceless %}
{% if value %}
{% set text = 'label_type_yes'|trans({}, 'SonataAdminBundle') %}
{% else %}
{% set text = 'label_type_no'|trans({}, 'SonataAdminBundle') %}
{% endif %}
{% if field_description.options.inverse|default(false) ? not value : value %}
{% set class = 'label-success' %}
{% else %}
{% set class = 'label-danger' %}
{% endif %}
<span class="label {{ class }} editableboolean" data-value="{{value}}{{value ? 'true' : 'false'}}" data-url="{{path('setenable', {'id': object.id, 'type': field_description.options.datatype})}}" style='cursor:pointer;'>{{ text }}</span>
{% endspaceless -%}
{% endblock %}
\ No newline at end of file
{% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %}
{% block field%}
{% if value is not null and value.file is not null %}
{# <img src="{{ vich_uploader_asset(value, 'file') }}" alt="" style="max-height: 50px; max-width: 50px;" /> #}
{% thumbnail value.file, 'small' %}
{% endif %}
{% endblock %}
\ No newline at end of file
{% extends '@SonataAdmin/CRUD/base_list_field.html.twig' %}
{% block field%}
{# <img src="{{ vich_uploader_asset(object, 'file') }}" alt="" style="max-height: 50px; max-width: 50px;" /> #}
{% thumbnail object.media, 'small' %}
{% endblock %}
\ No newline at end of file
{#
This file is part of the Sonata package.
(c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
#}
{%- set _preview = block('preview') is defined ? block('preview')|trim : null %}
{% set _form = block('form') is defined ? block('form')|trim : null %}
{% set _show = block('show') is defined ? block('show')|trim : null %}
{% set _list_table = block('list_table') is defined ? block('list_table')|trim : null %}
{% set _list_filters = block('list_filters') is defined ? block('list_filters')|trim : null %}
{% set _tab_menu = block('tab_menu') is defined ? block('tab_menu')|trim : null %}
{% set _content = block('content') is defined ? block('content')|trim : null %}
{% set _title = block('title') is defined ? block('title')|trim : null %}
{% set _breadcrumb = block('breadcrumb') is defined ? block('breadcrumb')|trim : null %}
{% set _actions = block('actions') is defined ? block('actions')|trim : null %}
{% set _navbar_title = block('navbar_title') is defined ? block('navbar_title')|trim : null %}
{% set _list_filters_actions = block('list_filters_actions') is defined ? block('list_filters_actions')|trim : null -%}
<!DOCTYPE html>
<html {% block html_attributes %}class="no-js"{% endblock %}>
<head>
{% block meta_tags %}
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="UTF-8">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
{% endblock %}
{% block stylesheets %}
{% for stylesheet in sonata_admin.adminPool.getOption('stylesheets', []) %}
<link rel="stylesheet" href="{{ asset(stylesheet) }}">
{% endfor %}
{% endblock %}
{% block javascripts %}
{% block sonata_javascript_config %}
{% endblock %}
{% block sonata_javascript_pool %}
{% for javascript in sonata_admin.adminPool.getOption('javascripts', []) %}
<script src="{{ asset(javascript) }}"></script>
{% endfor %}
{% endblock %}
{# localize moment #}
{% set localeForMoment = canonicalize_locale_for_moment() %}
{% if localeForMoment %}
<script src="{{ asset(
'bundles/sonatacore/vendor/moment/locale/' ~
localeForMoment ~
'.js'
) }}"></script>
{% endif %}
{# localize select2 #}
{% if sonata_admin.adminPool.getOption('use_select2') %}
{% set localeForSelect2 = canonicalize_locale_for_select2() %}
{% if localeForSelect2 %}
<script src="{{ asset('bundles/sonatacore/vendor/select2/select2_locale_' ~ localeForSelect2 ~ '.js') }}"></script>
{% endif %}
{% endif %}
{% endblock %}
<title>
{% block sonata_head_title %}
{{ 'Admin'|trans({}, 'SonataAdminBundle') }}
{% if _title is not empty %}
{{ _title|striptags|raw }}
{% else %}
{% if action is defined %}
-
{% for menu in breadcrumbs_builder.breadcrumbs(admin, action) %}
{% if not loop.first %}
{% if loop.index != 2 %}
&gt;
{% endif %}
{%- set translation_domain = menu.extra('translation_domain', 'messages') -%}
{%- set label = menu.label -%}
{%- if translation_domain is not same as(false) -%}
{%- set label = label|trans(menu.extra('translation_params', {}), translation_domain) -%}
{%- endif -%}
{{ label }}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
{% endblock %}
</title>
</head>
<body
{% block body_attributes -%}
class="sonata-bc skin-black fixed
{% if app.request.cookies.get('sonata_sidebar_hide') -%}
sidebar-collapse
{%- endif -%}"
data-sonata-admin='{{ {
config: {
CONFIRM_EXIT: sonata_admin.adminPool.getOption('confirm_exit') ? 'true' : 'false',
USE_SELECT2: sonata_admin.adminPool.getOption('use_select2') ? 'true' : 'false',
USE_ICHECK: sonata_admin.adminPool.getOption('use_icheck') ? 'true' : 'false',
USE_STICKYFORMS: sonata_admin.adminPool.getOption('use_stickyforms') ? 'true' : 'false'
},
translations: {
CONFIRM_EXIT: 'confirm_exit'|trans({}, 'SonataAdminBundle'),
},
}|json_encode()|raw }}'
{%- endblock -%}
>
<div class="wrapper">
{% block sonata_header %}
<header class="main-header">
{% block sonata_header_noscript_warning %}
<noscript>
<div class="noscript-warning">
{{ 'noscript_warning'|trans({}, 'SonataAdminBundle') }}
</div>
</noscript>
{% endblock %}
{% block logo %}
{% spaceless %}
<a class="logo" href="{{ path('sonata_admin_dashboard') }}">
{% if 'single_image' == sonata_admin.adminPool.getOption('title_mode') or 'both' == sonata_admin.adminPool.getOption('title_mode') %}
<img src="{{ asset(sonata_admin.adminPool.titlelogo) }}" alt="{{ sonata_admin.adminPool.title }}">
{% endif %}
{% if 'single_text' == sonata_admin.adminPool.getOption('title_mode') or 'both' == sonata_admin.adminPool.getOption('title_mode') %}
<span>{{ sonata_admin.adminPool.title }}</span>
{% endif %}
</a>
{% endspaceless %}
{% endblock %}
{% block sonata_nav %}
<nav class="navbar navbar-static-top" role="navigation">
<a href="#" class="sidebar-toggle" data-toggle="offcanvas"
role="button" title="{{ 'toggle_navigation'|trans({}, 'SonataAdminBundle') }}">
<span class="sr-only">{{ 'toggle_navigation'|trans({}, 'SonataAdminBundle') }}</span>
</a>
<div class="navbar-left">
{% block sonata_breadcrumb %}
<div class="hidden-xs">
{% if _breadcrumb is not empty or action is defined %}
<ol class="nav navbar-top-links breadcrumb">
{% if _breadcrumb is empty %}
{% if action is defined %}
{% for menu in breadcrumbs_builder.breadcrumbs(admin, action) %}
{%- set translation_domain = menu.extra('translation_domain', 'messages') -%}
{%- set label = menu.label -%}
{%- if translation_domain is not same as(false) -%}
{%- set label = label|trans(menu.extra('translation_params', {}), translation_domain) -%}
{%- endif -%}
{% if not loop.last %}
<li>
{% if menu.uri is not empty %}
<a href="{{ menu.uri }}">
{% if menu.extra('safe_label', true) %}
{{- label|raw -}}
{% else %}
{{- label -}}
{% endif %}
</a>
{% else %}
<span>{{ label }}</span>
{% endif %}
</li>
{% else %}
<li class="active"><span>{{ label }}</span></li>
{% endif %}
{% endfor %}
{% endif %}
{% else %}
{{ _breadcrumb|raw }}
{% endif %}
</ol>
{% endif %}
</div>
{% endblock sonata_breadcrumb %}
</div>
{% block sonata_top_nav_menu %}
{% if app.user and is_granted(sonata_admin.adminPool.getOption('role_admin')) %}
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
{% block sonata_top_nav_menu_add_block %}
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-plus-square fa-fw" aria-hidden="true"></i> <i class="fa fa-caret-down" aria-hidden="true"></i>
</a>
{% include get_global_template('add_block') %}
</li>
{% endblock %}
{% block sonata_top_nav_menu_user_block %}
<li class="dropdown user-menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<i class="fa fa-user fa-fw" aria-hidden="true"></i> <i class="fa fa-caret-down" aria-hidden="true"></i>
</a>
<ul class="dropdown-menu dropdown-user">
{% include get_global_template('user_block') %}
</ul>
</li>
{% endblock %}
</ul>
</div>
{% endif %}
{% endblock %}
</nav>
{% endblock sonata_nav %}
</header>
{% endblock sonata_header %}
{% block sonata_wrapper %}
{% block sonata_left_side %}
<aside class="main-sidebar">
<section class="sidebar">
{% block sonata_side_nav %}
{% block sonata_sidebar_search %}
{% if sonata_admin.adminPool.getOption('search') %}
<form action="{{ path('sonata_admin_search') }}" method="GET" class="sidebar-form" role="search">
<div class="input-group custom-search-form">
<input type="text" name="q" value="{{ app.request.get('q') }}" class="form-control" placeholder="{{ 'search_placeholder'|trans({}, 'SonataAdminBundle') }}">
<span class="input-group-btn">
<button class="btn btn-flat" type="submit">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</span>
</div>
</form>
{% endif %}
{% endblock sonata_sidebar_search %}
{% block side_bar_before_nav %} {% endblock %}
{% block side_bar_nav %}
{{ knp_menu_render('sonata_admin_sidebar', {template: get_global_template('knp_menu_template')}) }}
{% endblock side_bar_nav %}
{% block side_bar_after_nav %}
<p class="text-center small" style="border-top: 1px solid #444444; padding-top: 10px">
{% block side_bar_after_nav_content %}
{% endblock %}
</p>
{% endblock %}
{% endblock sonata_side_nav %}
</section>
</aside>
{% endblock sonata_left_side %}
<div class="content-wrapper">
{% block sonata_page_content %}
<section class="content-header">
{% block sonata_page_content_header %}
{% block sonata_page_content_nav %}
{% if _navbar_title is not empty
or _tab_menu is not empty
or _actions is not empty
or _list_filters_actions is not empty
%}
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
{% block tab_menu_navbar_header %}
{% if _navbar_title is not empty %}
<div class="navbar-header">
<a class="navbar-brand" href="#">{{ _navbar_title|raw }}</a>
</div>
{% endif %}
{% endblock %}
<div class="navbar-collapse">
{% if _tab_menu is not empty %}
<div class="navbar-left">
{{ _tab_menu|raw }}
</div>
{% endif %}
{% if admin is defined and action is defined and action == 'list' and admin.listModes|length > 1 %}
<div class="nav navbar-right btn-group">
{% for mode, settings in admin.listModes %}
<a href="{{ admin.generateUrl('list', app.request.query.all|merge({_list_mode: mode})) }}" class="btn btn-default navbar-btn btn-sm{% if admin.getListMode() == mode %} active{% endif %}"><i class="{{ settings.class }}"></i></a>
{% endfor %}
</div>
{% endif %}
{% block sonata_admin_content_actions_wrappers %}
{% if _actions|replace({ '<li>': '', '</li>': '' })|trim is not empty %}
<ul class="nav navbar-nav navbar-right">
{% if _actions|split('</a>')|length > 2 %}
<li class="dropdown sonata-actions">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ 'link_actions'|trans({}, 'SonataAdminBundle') }} <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu">
{{ _actions|raw }}
</ul>
</li>
{% else %}
{{ _actions|raw }}
{% endif %}
</ul>
{% endif %}
{% endblock sonata_admin_content_actions_wrappers %}
{% if _list_filters_actions is not empty %}
{{ _list_filters_actions|raw }}
{% endif %}
</div>
</div>
</nav>
{% endif %}
{% endblock sonata_page_content_nav %}
{% endblock sonata_page_content_header %}
</section>
<section class="content">
{% block sonata_admin_content %}
{% block notice %}
{% include '@SonataCore/FlashMessage/render.html.twig' %}
{% endblock notice %}
{% if _preview is not empty %}
<div class="sonata-ba-preview">{{ _preview|raw }}</div>
{% endif %}
{% if _content is not empty %}
<div class="sonata-ba-content">{{ _content|raw }}</div>
{% endif %}
{% if _show is not empty %}
<div class="sonata-ba-show">{{ _show|raw }}</div>
{% endif %}
{% if _form is not empty %}
<div class="sonata-ba-form">{{ _form|raw }}</div>
{% endif %}
{% if _list_filters is not empty %}
<div class="row">
{{ _list_filters|raw }}
</div>
{% endif %}
{% if _list_table is not empty %}
<div class="row">
{{ _list_table|raw }}
</div>
{% endif %}
{% endblock sonata_admin_content %}
</section>
{% endblock sonata_page_content %}
</div>
{% endblock sonata_wrapper %}
</div>
{% if sonata_admin.adminPool.getOption('use_bootlint') %}
{% block bootlint %}
{# Bootlint - https://github.com/twbs/bootlint#in-the-browser #}
<script type="text/javascript">
javascript:(function(){var s=document.createElement("script");s.onload=function(){bootlint.showLintReportForCurrentDocument([], {hasProblems: false, problemFree: false});};s.src="https://maxcdn.bootstrapcdn.com/bootlint/latest/bootlint.min.js";document.body.appendChild(s)})();
</script>
{% endblock %}
{% endif %}
{# AJOUT POUR EDITABLE BOOLEAN #}
{% block js %}
<script type="text/javascript">
$(document).ready(function() {
$.datepicker.regional['fr'] = {
closeText: 'Fermer',
prevText: '&#x3c;Préc',
nextText: 'Suiv&#x3e;',
currentText: 'Aujourd\'hui',
monthNames: ['Janvier','Fevrier','Mars','Avril','Mai','Juin',
'Juillet','Aout','Septembre','Octobre','Novembre','Decembre'],
monthNamesShort: ['Jan','Fev','Mar','Avr','Mai','Jun',
'Jul','Aou','Sep','Oct','Nov','Dec'],
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
weekHeader: 'Sm',
dateFormat: 'dd-mm-yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: '',
minDate: 0,
maxDate: '+12M +0D',
numberOfMonths: 2,
showButtonPanel: true
};
$.datepicker.setDefaults($.datepicker.regional['fr']);
// you may need to change this code if you are not using Bootstrap Datepicker
$('.js-datepicker').datepicker({
format: 'dd-mm-yyyy',
language: 'fr'
});
$('.editableboolean').on('click', function (e) {
e.preventDefault();
var self = $(this);
$.ajax({
url : self.data('url'),
type: 'post',
data : {'value' : (self.data('value') == 'true')},
success: function(data) {
if(data.status == 'success') {
if (data.newvalue == 'false') {
self.text('non');
self.data('value', 'false');
self.addClass('label-danger');
self.removeClass('label-success');
} else {
self.data('value', 'true');
self.text('oui');
self.removeClass('label-danger');
self.addClass('label-success');
}
} else {
// $(this).addClass('error');
}
}
});
});
});
</script>
{% endblock js %}
{# FIN AJOUT #}
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment