From eaaf54db6b52ccdd4dc2b73d080eb0b5ce48e468 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 9 Dec 2020 21:39:45 +0100 Subject: [PATCH 01/16] Remove translator dependency --- Form/SessionEditType.php | 8 ++------ Resources/config/packages/rapsys_air.yaml | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Form/SessionEditType.php b/Form/SessionEditType.php index 24a1544..f5b7317 100644 --- a/Form/SessionEditType.php +++ b/Form/SessionEditType.php @@ -19,15 +19,11 @@ class SessionEditType extends AbstractType { //Doctrine instance private $doctrine; - //Translator instance - protected $translator; - /** * {@inheritdoc} */ - public function __construct(RegistryInterface $doctrine, TranslatorInterface $translator) { + public function __construct(RegistryInterface $doctrine) { $this->doctrine = $doctrine; - $this->translator = $translator; } /** @@ -61,7 +57,7 @@ class SessionEditType extends AbstractType { //Is admin or senior owner if (!empty($options['move'])) { //Load locations - $locations = $this->doctrine->getRepository(Location::class)->findComplementBySessionId($this->translator, $options['session']); + $locations = $this->doctrine->getRepository(Location::class)->findComplementBySessionId($options['session']); $builder //TODO: class senior en orange ??? ->add('location', ChoiceType::class, ['attr' => ['placeholder' => 'Your location'], 'constraints' => [new NotBlank(['message' => 'Please provide your location'])], 'choices' => $locations, 'choice_translation_domain' => true]) diff --git a/Resources/config/packages/rapsys_air.yaml b/Resources/config/packages/rapsys_air.yaml index b567611..49658f5 100644 --- a/Resources/config/packages/rapsys_air.yaml +++ b/Resources/config/packages/rapsys_air.yaml @@ -272,7 +272,7 @@ services: arguments: [ '@doctrine', '@translator' ] tags: [ 'form.type' ] Rapsys\AirBundle\Form\SessionEditType: - arguments: [ '@doctrine', '@translator' ] + arguments: [ '@doctrine' ] tags: [ 'form.type' ] Rapsys\AirBundle\Command\AttributeCommand: arguments: [ '@doctrine' ] -- 2.41.3 From b3b9c0bd529f712a7f3a361e6c7b93a7a3524994 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 9 Dec 2020 21:40:27 +0100 Subject: [PATCH 02/16] Add locked field Cleanup sql request Add findOneWithinLastMonthByLocationUser function used in guest restrictions --- Repository/SessionRepository.php | 80 +++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 11 deletions(-) diff --git a/Repository/SessionRepository.php b/Repository/SessionRepository.php index 7db5bb9..5319207 100644 --- a/Repository/SessionRepository.php +++ b/Repository/SessionRepository.php @@ -87,6 +87,58 @@ class SessionRepository extends \Doctrine\ORM\EntityRepository { ->getResult(); } + /** + * Find one session by location and user id within last month + * + * @param $location The location id + * @param $user The user id + */ + public function findOneWithinLastMonthByLocationUser($location, $user) { + //Get entity manager + $em = $this->getEntityManager(); + + //Get quote strategy + $qs = $em->getConfiguration()->getQuoteStrategy(); + $dp = $em->getConnection()->getDatabasePlatform(); + + //Get quoted table names + //XXX: this allow to make this code table name independent + $tables = [ + 'RapsysAirBundle:Session' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:Session'), $dp), + 'RapsysAirBundle:Application' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:Application'), $dp), + "\t" => '', + "\n" => ' ' + ]; + + //Set the request + //XXX: give the gooddelay to guest just in case + $req =<<= DATE_ADD(DATE_SUB(NOW(), INTERVAL 1 MONTH), INTERVAL :gooddelay DAY) +SQL; + + //Replace bundle entity name by table name + $req = str_replace(array_keys($tables), array_values($tables), $req); + + //Get result set mapping instance + $rsm = new ResultSetMapping(); + + //Declare all fields + //XXX: see vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Types.php + $rsm->addScalarResult('id', 'id', 'integer') + ->addIndexByScalar('id'); + + //Return result + return $em + ->createNativeQuery($req, $rsm) + ->setParameter('lid', $location) + ->setParameter('uid', $user) + ->setParameter('gooddelay', self::GOOD_DELAY) + ->getOneOrNullResult(); + } + /** * Fetch session by id * @@ -110,7 +162,9 @@ class SessionRepository extends \Doctrine\ORM\EntityRepository { 'RapsysAirBundle:Group' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:Group'), $dp), 'RapsysAirBundle:Location' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:Location'), $dp), 'RapsysAirBundle:Slot' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:Slot'), $dp), - 'RapsysAirBundle:User' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:User'), $dp) + 'RapsysAirBundle:User' => $qs->getTableName($em->getClassMetadata('RapsysAirBundle:User'), $dp), + "\t" => '', + "\n" => ' ' ]; //Set the request @@ -132,6 +186,7 @@ SELECT s.temperature, s.temperaturemin, s.temperaturemax, + s.locked, s.created, s.updated, s.location_id AS l_id, @@ -147,13 +202,13 @@ SELECT s.application_id AS a_id, a.user_id AS au_id, au.pseudonym AS au_pseudonym, - GROUP_CONCAT(sa.id ORDER BY sa.user_id SEPARATOR "\n") AS sa_id, - GROUP_CONCAT(IFNULL(sa.score, 'NULL') ORDER BY sa.user_id SEPARATOR "\n") AS sa_score, - GROUP_CONCAT(sa.created ORDER BY sa.user_id SEPARATOR "\n") AS sa_created, - GROUP_CONCAT(sa.updated ORDER BY sa.user_id SEPARATOR "\n") AS sa_updated, - GROUP_CONCAT(IFNULL(sa.canceled, 'NULL') ORDER BY sa.user_id SEPARATOR "\n") AS sa_canceled, - GROUP_CONCAT(sa.user_id ORDER BY sa.user_id SEPARATOR "\n") AS sau_id, - GROUP_CONCAT(sau.pseudonym ORDER BY sa.user_id SEPARATOR "\n") AS sau_pseudonym + GROUP_CONCAT(sa.id ORDER BY sa.user_id SEPARATOR "\\n") AS sa_id, + GROUP_CONCAT(IFNULL(sa.score, 'NULL') ORDER BY sa.user_id SEPARATOR "\\n") AS sa_score, + GROUP_CONCAT(sa.created ORDER BY sa.user_id SEPARATOR "\\n") AS sa_created, + GROUP_CONCAT(sa.updated ORDER BY sa.user_id SEPARATOR "\\n") AS sa_updated, + GROUP_CONCAT(IFNULL(sa.canceled, 'NULL') ORDER BY sa.user_id SEPARATOR "\\n") AS sa_canceled, + GROUP_CONCAT(sa.user_id ORDER BY sa.user_id SEPARATOR "\\n") AS sau_id, + GROUP_CONCAT(sau.pseudonym ORDER BY sa.user_id SEPARATOR "\\n") AS sau_pseudonym FROM RapsysAirBundle:Session AS s JOIN RapsysAirBundle:Location AS l ON (l.id = s.location_id) JOIN RapsysAirBundle:Slot AS t ON (t.id = s.slot_id) @@ -189,6 +244,7 @@ SQL; ->addScalarResult('temperature', 'temperature', 'float') ->addScalarResult('temperaturemin', 'temperaturemin', 'float') ->addScalarResult('temperaturemax', 'temperaturemax', 'float') + ->addScalarResult('locked', 'locked', 'datetime') ->addScalarResult('created', 'created', 'datetime') ->addScalarResult('updated', 'updated', 'datetime') ->addScalarResult('l_id', 'l_id', 'integer') @@ -260,7 +316,7 @@ SQL; //Set the request //TODO: change as_u_* in sau_*, a_u_* in au_*, etc, see request up - $req = 'SELECT s.id, s.date, s.rainrisk, s.rainfall, s.realfeel, s.temperature, s.location_id AS l_id, l.short AS l_short, l.title AS l_title, s.slot_id AS t_id, t.title AS t_title, s.application_id AS a_id, a.user_id AS a_u_id, au.pseudonym AS a_u_pseudonym, GROUP_CONCAT(sa.user_id ORDER BY sa.user_id SEPARATOR "\n") AS as_u_id, GROUP_CONCAT(sau.pseudonym ORDER BY sa.user_id SEPARATOR "\n") AS as_u_pseudonym + $req = 'SELECT s.id, s.date, s.rainrisk, s.rainfall, s.realfeel, s.temperature, s.location_id AS l_id, l.short AS l_short, l.title AS l_title, s.slot_id AS t_id, t.title AS t_title, s.application_id AS a_id, a.user_id AS a_u_id, au.pseudonym AS a_u_pseudonym, GROUP_CONCAT(sa.user_id ORDER BY sa.user_id SEPARATOR "\\n") AS as_u_id, GROUP_CONCAT(sau.pseudonym ORDER BY sa.user_id SEPARATOR "\\n") AS as_u_pseudonym FROM RapsysAirBundle:Session AS s JOIN RapsysAirBundle:Location AS l ON (l.id = s.location_id) JOIN RapsysAirBundle:Slot AS t ON (t.id = s.slot_id) @@ -500,7 +556,7 @@ SQL; ]; //Set the request - $req = 'SELECT s.id, s.date, s.rainrisk, s.rainfall, s.realfeel, s.temperature, s.location_id AS l_id, l.short AS l_short, l.title AS l_title, s.slot_id AS t_id, t.title AS t_title, s.application_id AS a_id, a.user_id AS a_u_id, au.pseudonym AS a_u_pseudonym, GROUP_CONCAT(sa.user_id ORDER BY sa.user_id SEPARATOR "\n") AS as_u_id, GROUP_CONCAT(CONCAT("- ", sau.pseudonym) ORDER BY sa.user_id SEPARATOR "\n") AS as_u_pseudonym + $req = 'SELECT s.id, s.date, s.rainrisk, s.rainfall, s.realfeel, s.temperature, s.location_id AS l_id, l.short AS l_short, l.title AS l_title, s.slot_id AS t_id, t.title AS t_title, s.application_id AS a_id, a.user_id AS a_u_id, au.pseudonym AS a_u_pseudonym, GROUP_CONCAT(sa.user_id ORDER BY sa.user_id SEPARATOR "\\n") AS as_u_id, GROUP_CONCAT(CONCAT("- ", sau.pseudonym) ORDER BY sa.user_id SEPARATOR "\\n") AS as_u_pseudonym FROM RapsysAirBundle:Session AS s JOIN RapsysAirBundle:Location AS l ON (l.id = s.location_id) JOIN RapsysAirBundle:Slot AS t ON (t.id = s.slot_id) @@ -730,7 +786,7 @@ SQL; //Select all sessions without application attributed with diff(start, now) <= if(diff(start, created) <= GOOD_DELAY day, diff(start, created)*3/4, GOOD_DELAY day) //XXX: consider only unfinished sessions with stop > now - //XXX: consider creation enough in the past when we are after 1/4 of the period between creation and start time + //XXX: consider as grace time first quarter (1/4) between creation and start time when below gooddelay //XXX: we may remove ADDDATE(start, INTERVAL IF(s.slot_id = 4, 1, 0) DAY) used for after specificity $req =<< Date: Wed, 9 Dec 2020 21:42:43 +0100 Subject: [PATCH 03/16] Cleanup findAllApplicantBySession --- Repository/UserRepository.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Repository/UserRepository.php b/Repository/UserRepository.php index 8b490c4..9f112ee 100644 --- a/Repository/UserRepository.php +++ b/Repository/UserRepository.php @@ -102,22 +102,22 @@ class UserRepository extends \Doctrine\ORM\EntityRepository { } /** - * Find all user's pseudonym from session applications + * Find all applicant by session * - * @param $session The Session instance + * @param $session The Session */ - public function findAllPseudonymBySession($session) { + public function findAllApplicantBySession($session) { //Get entity manager $em = $this->getEntityManager(); //Fetch sessions $ret = $this->getEntityManager() - ->createQuery('SELECT u.id, u.pseudonym FROM RapsysAirBundle:Application a INNER JOIN RapsysAirBundle:User u WHERE u.id = a.user AND a.session = :session') + ->createQuery('SELECT u.id, u.pseudonym FROM RapsysAirBundle:Application a JOIN RapsysAirBundle:User u WITH u.id = a.user WHERE a.session = :session') ->setParameter('session', $session) ->getResult(); //Process result - $ret = array_column($ret, 'pseudonym', 'id'); + $ret = array_column($ret, 'id', 'pseudonym'); //Send result return $ret; -- 2.41.3 From 986af717f424d23aa17e08faafb3d037bd45c48a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 9 Dec 2020 21:44:17 +0100 Subject: [PATCH 04/16] Remove unused application_edit route Add required session_edit route --- Resources/config/routes/rapsys_air.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/config/routes/rapsys_air.yaml b/Resources/config/routes/rapsys_air.yaml index 6c71b84..c80ce93 100644 --- a/Resources/config/routes/rapsys_air.yaml +++ b/Resources/config/routes/rapsys_air.yaml @@ -35,13 +35,6 @@ rapsys_air_application_add: controller: Rapsys\AirBundle\Controller\ApplicationController::add methods: POST -rapsys_air_application_edit: - path: - en: '/en/application/{id<\d+>}' - fr: '/reservation/{id<\d+>}' - controller: Rapsys\AirBundle\Controller\ApplicationController::edit - methods: POST - rapsys_air_session: path: en: '/en/session' @@ -49,6 +42,13 @@ rapsys_air_session: controller: Rapsys\AirBundle\Controller\SessionController::index methods: GET +rapsys_air_session_edit: + path: + en: '/en/session/{id<\d+>}' + fr: '/seance/{id<\d+>}' + controller: Rapsys\AirBundle\Controller\SessionController::edit + methods: POST + rapsys_air_session_view: path: en: '/en/session/{id<\d+>}' -- 2.41.3 From f375064f8ad1d9d49e17727ca7a0ff78412c5b4b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 9 Dec 2020 21:45:00 +0100 Subject: [PATCH 05/16] Update translations --- Resources/translations/messages.en.yaml | 24 ++++++++++++++++++++++++ Resources/translations/messages.fr.yaml | 22 ++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/Resources/translations/messages.en.yaml b/Resources/translations/messages.en.yaml index e4f4633..bdc5196 100644 --- a/Resources/translations/messages.en.yaml +++ b/Resources/translations/messages.en.yaml @@ -1,9 +1,16 @@ ':': ':' +'at Docks': 'at Docks' 'at Garnier': 'at Garnier' 'at Honore': 'at St-Honore' 'at Opera Garnier': 'at Opera Garnier' 'at Saint-Honore market': 'at Saint-Honore market' +'at Tino-Rossi garden': 'at Tino-Rossi garden' 'at Trocadero esplanade': 'at Trocadero esplanade' +'the morning': 'the morning' +'the afternoon': 'the afternoon' +'the evening': 'the evening' +'the after': 'the after' +'Session on %date% %location% %slot% not yet supported': 'Session on %date% %location% %slot% not yet supported' 'Absence of cancellation reporting': 'Absence of cancellation reporting' 'Absence the first hour in cancellation case': 'Absence the first hour in cancellation case' 'Access denied': 'Access denied' @@ -23,14 +30,20 @@ 'Anyone': 'Anyone' 'Anyplace': 'Anyplace' 'Application': 'Application' +'Application add': 'Application add' +'Application %id% updated': 'Application %id% updated' 'Assit at location an organizer': 'Assit at location an organizer' 'Assited or organized once at location': 'Assited or organized once at location' 'Attended once since start until end': 'Attended once since start until end' +'Attribute': 'Attribute' +'Attributed to': 'Attributed to' +'Auto attribute': 'Auto attribute' 'Autonomous enclosure 200W RMS (Ibiza Sound Port 8 or superior)': 'Autonomous enclosure 200W RMS (Ibiza Sound Port 8 or superior)' 'Autonomous enclosure 250W RMS (Ibiza Sound Port 10 or superior)': 'Autonomous enclosure 250W RMS (Ibiza Sound Port 10 or superior)' 'Autonomous music player (with Bluetooth, Jack, MiniJack or RCA connectivity)': 'Autonomous music player (with Bluetooth, Jack, MiniJack or RCA connectivity)' 'Backup battery': 'Backup battery' 'Broom and/or squeegee depending on location': 'Broom and/or squeegee depending on location' +'Cancel': 'Cancel' 'Canceled': 'Canceled' 'Candidates': 'Candidates' 'Change': 'Change' @@ -62,6 +75,7 @@ 'Evening': 'Evening' 'First time': 'First time' 'Forename': 'Forename' +'Garnier': 'Garnier' 'Guest': 'Guest' 'Hardware': 'Hardware' 'Hi %recipient_name%,': 'Hi %recipient_name%,' @@ -80,6 +94,8 @@ 'Limited to week day': 'Limited to week day' 'Location': 'Location' 'Locations': 'Locations' +'Lock': 'Lock' +'Locked': 'Locked' 'Login': 'Login' 'Logout': 'Logout' 'Madam': 'Madam' @@ -97,9 +113,12 @@ 'Missing talcum powder': 'Missing talcum powder' 'Miss': 'Miss' 'Mister': 'Mister' +'Modify': 'Modify' +'Monthly application %location% already exists': 'Monthly application %location% already exists' 'More than one hour delay': 'More than one hour delay' 'Morning': 'Morning' 'Mostly danceable songs': 'Mostly danceable songs' +'Move': 'Move' 'Mr.': 'Mr.' 'Mrs.': 'Mrs.' 'Ms.': 'Miss' @@ -132,6 +151,7 @@ 'Pseudonym': 'Pseudonym' 'Qualified double majority': 'Qualified double majority' 'Qualified majority': 'Qualified majority' +'Rain cancel': 'Rain cancel' 'Rainrisk': 'Rainrisk' 'Rainfall': 'Rainfall' 'Realfeel': 'Realfeel' @@ -154,6 +174,8 @@ 'Second time': 'Second time' 'Send': 'Send' 'Senior': 'Senior' +'Session %id% updated': 'Session %id% updated' +'Session in the past on %date% %location% %slot% not yet supported': 'Session in the past on %date% %location% %slot% not yet supported' 'Sessions': 'Sessions' 'Sexual assault complaint': 'Sexual assault complaint' 'Since 14h00': 'Since 14h00' @@ -201,8 +223,10 @@ 'Your account has been created': 'Your account has been created' 'Your account password has been changed, to recover your account you can follow this link: %recover_url%': 'Your account password has been changed, to recover your account you can follow this link: %recover_url%' 'Your account password has been changed, to recover your account you can follow this link:': 'Your account password has been changed, to recover your account you can follow this link:' +'Your begin': 'Your begin' 'Your date': 'Your date' 'Your forename': 'Your forename' +'Your length': 'Your length' 'Your location': 'Your location' 'Your mail': 'Your mail address' 'Your message has been sent': 'Your message has been sent' diff --git a/Resources/translations/messages.fr.yaml b/Resources/translations/messages.fr.yaml index e50d1ac..376feb9 100644 --- a/Resources/translations/messages.fr.yaml +++ b/Resources/translations/messages.fr.yaml @@ -1,10 +1,15 @@ ':': ' :' +'at Docks': 'aux Quais' 'at Garnier': 'à Garnier' 'at Honore': 'à St-Honoré' 'at Opera Garnier': 'à l''Opéra Garnier' 'at Saint-Honore market': 'au Marché Saint-Honoré' +'at Tino-Rossi garden': 'au jardin Tino-Rossi' 'at Trocadero esplanade': 'à l''Esplanade du Trocadéro' +'the morning': 'en matinée' 'the evening': 'en soirée' +'the afternoon': 'en après-midi' +'the after': 'en after' 'About': 'À propos' 'Absence of cancellation reporting': 'Absence de déclaration d''annulation' 'Absence the first hour in cancellation case': 'Absence la première heure en cas d''annulation' @@ -24,6 +29,8 @@ 'All slot canceled and account disabled from two weeks to one month': 'Annulation de tous les créneaux et compte désactivé de deux semaines à un mois' 'Anyone': 'N''importe qui' 'Anyplace': 'N''importe où' +'Application add': 'Ajout de réservation' +'Application %id% updated': 'Réservation %id% mise à jour' 'Application already exists': 'Réservation déjà existante' 'Application request the %date% for %location% on the slot %slot% saved': 'Réservation le %date% pour %location% sur le créneau %slot% enregistrée' 'Application': 'Réservation' @@ -33,14 +40,17 @@ 'Assit at location an organizer': 'Assister sur l''emplacement un organisateur' 'Assited or organized once at location': 'Assister ou organiser une fois sur l''emplacement' 'Attended once since start until end': 'Être présent une fois du début à la fin' +'Attribute': 'Attribuer' 'Attributed to': 'Attribué à' 'Authentication request could not be processed due to a system problem.': 'Authentification impossible suite à un problème système' +'Auto attribute': 'Auto attribuer' 'Autonomous enclosure 200W RMS (Ibiza Sound Port 8 or superior)': 'Enceinte autonome 200W RMS (Ibiza Sound Port 8 ou supérieure)' 'Autonomous enclosure 250W RMS (Ibiza Sound Port 10 or superior)': 'Enceinte autonome 250W RMS (Ibiza Sound Port 10 ou supérieure)' 'Autonomous music player (with Bluetooth, Jack, MiniJack or RCA connectivity)': 'Lecteur de musique autonome (avec connectivité Bluetooth, Jack, MiniJack ou RCA)' 'Backup battery': 'Batterie de secours' 'Begin': 'Début' 'Broom and/or squeegee depending on location': 'Balais et/ou raclette selon l''emplacement' +'Cancel': 'Annuler' 'Canceled': 'Annulation' 'Candidates': 'Candidats' 'Change for the next season': 'Modification pour la saison suivante' @@ -74,6 +84,7 @@ 'Evening': 'Soirée' 'First time': 'Première fois' 'Forename': 'Prénom' +'Garnier': 'Garnier' 'Guest': 'Invité' 'Hardware': 'Matériel' 'Hi %recipient_name%,': 'Salut %recipient_name%,' @@ -93,6 +104,8 @@ 'Limited to week day': 'Limité aux jours de semaine' 'Location': 'Emplacement' 'Locations': 'Emplacements' +'Lock': 'Vérrouiller' +'Locked': 'Vérrouillage' 'Login': 'Se connecter' 'Logout': 'Déconnecter' 'Madam': 'Madame' @@ -110,9 +123,12 @@ 'Missing talcum powder': 'Talc manquant' 'Miss': 'Mademoiselle' 'Mister': 'Monsieur' +'Modify': 'Modifier' +'Monthly application %location% already exists': 'La réservation mensuelle %location% existe déjà' 'More than one hour delay': 'Retard de plus d''une heure' 'Morning': 'Matin' 'Mostly danceable songs': 'Musique dançable principalement' +'Move': 'Déplacer' 'Mr.': 'M.' 'Mrs.': 'Mme' 'Ms.': 'Mlle' @@ -144,6 +160,7 @@ 'Pseudonym': 'Pseudonyme' 'Qualified double majority': 'Double majorité qualifiée' 'Qualified majority': 'Majorité qualifiée' +'Rain cancel': 'Annulation pluie' 'Rainrisk': 'Risque de pluie' 'Rainfall': 'Pluviométrie' 'Realfeel': 'Ressenti' @@ -170,8 +187,11 @@ 'Session': 'Séance' 'Sessions': 'Séances' 'Session %id%': 'Séance %id%' +'Session %id% updated': 'Séance %id% mise à jour' 'Session %id% the %date% for %location% on the slot %slot% saved': 'Séance %id% Réservation le %date% pour %location% sur le créneau %slot% enregistrée' +'Session in the past on %date% %location% %slot% not yet supported': 'Séance dans le passé le %date% %location% %slot% pas encore supporté' 'Session on %date% %location% %slot% created': 'Séance le %date% %location% %slot% créée' +'Session on %date% %location% %slot% not yet supported': 'Séance le %date% %location% %slot% pas encore supporté' 'Sexual assault complaint': 'Plainte pour agression sexuelle' 'Since 14h00': 'Depuis 14h00' 'Since 19h00': 'Depuis 19h00' @@ -219,8 +239,10 @@ 'Your account has been created': 'Votre compte a été créé' 'Your account password has been changed, to recover your account you can follow this link: %recover_url%': 'Votre mot de passe a été changé, pour récupérer votre compte vous pouvez suivre ce lien : %recover_url%' 'Your account password has been changed, to recover your account you can follow this link:': 'Votre mot de passe a été changé, pour récupérer votre compte vous pouvez suivre ce lien :' +'Your begin': 'Votre début' 'Your date': 'Votre date' 'Your forename': 'Votre prénom' +'Your length': 'Votre durée' 'Your location': 'Votre emplacement' 'Your mail': 'Votre courriel' 'Your message has been sent': 'Votre message a été envoyé' -- 2.41.3 From d184fbe933cabef3ddaa0696d1b2aa3ae14f61c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 9 Dec 2020 21:45:30 +0100 Subject: [PATCH 06/16] Add lang in html tag from request locale --- Resources/views/base.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/views/base.html.twig b/Resources/views/base.html.twig index e103e06..638e2bc 100644 --- a/Resources/views/base.html.twig +++ b/Resources/views/base.html.twig @@ -1,5 +1,5 @@ - + {% block metas %}{% endblock %} {% block title %}Welcome!{% endblock %} -- 2.41.3 From 655a49232ed9989e89351ff62e5d5cbeb14ab855 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Gertz?= Date: Wed, 9 Dec 2020 21:46:18 +0100 Subject: [PATCH 07/16] Add title on logo link Add logo image resolution in img tag --- Resources/views/body.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/views/body.html.twig b/Resources/views/body.html.twig index 3367386..aba7827 100644 --- a/Resources/views/body.html.twig +++ b/Resources/views/body.html.twig @@ -39,7 +39,7 @@ {% block body %} {% block header %}