Merge pull request #3 from Apes-HDF/chore/sync-les-tilleuls
Chore/sync les tilleuls
This commit is contained in:
commit
1b3c3898ba
19 changed files with 160 additions and 40 deletions
|
|
@ -65,12 +65,14 @@
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
.img-avatar {
|
.img-avatar {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
border-radius: 50%
|
border-radius: 50%
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-secondary-subtle {
|
.bg-secondary-subtle {
|
||||||
background: $gray-100;
|
background: $gray-100;
|
||||||
}
|
}
|
||||||
|
|
@ -87,7 +89,7 @@
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
.white-space-normal{
|
.white-space-normal {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -95,6 +97,7 @@
|
||||||
> input {
|
> input {
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-button {
|
&-button {
|
||||||
border: 1px solid #ced4da;
|
border: 1px solid #ced4da;
|
||||||
border-left: none;
|
border-left: none;
|
||||||
|
|
@ -105,6 +108,34 @@
|
||||||
border-top-right-radius: var(--bs-border-radius-sm) !important;
|
border-top-right-radius: var(--bs-border-radius-sm) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
p > strong {
|
||||||
|
> a {
|
||||||
|
color: $blue-500;;
|
||||||
|
position: relative;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: .5s;
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
background-color: $blue-500;
|
||||||
|
content: "";
|
||||||
|
height: 2px;
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
transform: scaleX(0);
|
||||||
|
transform-origin: right;
|
||||||
|
transition: transform .5s;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover:after {
|
||||||
|
transform: scaleX(1);
|
||||||
|
transform-origin: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 992px) {
|
@media screen and (max-width: 992px) {
|
||||||
.img-funding {
|
.img-funding {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
api_platform:
|
api_platform:
|
||||||
title: 'PlateformCoop API'
|
title: 'Plateforme EBS API'
|
||||||
description: 'List of PlateformCoop API endpoints. Most of them require to be logged.'
|
description: 'List of Plateforme EBS API endpoints. Most of them require to be logged.'
|
||||||
|
|
||||||
# The version of the API.
|
# The version of the API.
|
||||||
version: '%app_version%'
|
version: '%app_version%'
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
||||||
parameters:
|
parameters:
|
||||||
app_version: 0.7.2
|
app_version: 0.7.2
|
||||||
brand: PlateformCoop
|
brand: Plateforme EBS
|
||||||
|
|
||||||
# https://symfony.com/doc/current/performance.html#dump-the-service-container-into-a-single-file
|
# https://symfony.com/doc/current/performance.html#dump-the-service-container-into-a-single-file
|
||||||
container.dumper.inline_factories: true
|
container.dumper.inline_factories: true
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ App\Entity\Category:
|
||||||
category_service_4_0 (extends category_object):
|
category_service_4_0 (extends category_object):
|
||||||
parent: '@category_object_4'
|
parent: '@category_object_4'
|
||||||
name: Guitare
|
name: Guitare
|
||||||
|
image: 'de945081-21b6-46c2-864d-db6ed6b43311.png'
|
||||||
|
|
||||||
category_object_5 (extends category_object):
|
category_object_5 (extends category_object):
|
||||||
name: Entretien de la maison
|
name: Entretien de la maison
|
||||||
|
|
@ -35,6 +36,7 @@ App\Entity\Category:
|
||||||
|
|
||||||
category_object_7 (extends category_object):
|
category_object_7 (extends category_object):
|
||||||
name: Images & son
|
name: Images & son
|
||||||
|
image: 'd1fdbb3f-a5ca-4019-b488-fe6d8b06a4d3.png'
|
||||||
|
|
||||||
category_object_8 (extends category_object):
|
category_object_8 (extends category_object):
|
||||||
name: Informatique - téléphonie consoles et jeux vidéos
|
name: Informatique - téléphonie consoles et jeux vidéos
|
||||||
|
|
@ -44,12 +46,13 @@ App\Entity\Category:
|
||||||
|
|
||||||
category_object_10 (extends category_object):
|
category_object_10 (extends category_object):
|
||||||
name: Livres
|
name: Livres
|
||||||
|
image: '87c1aa88-1937-4a71-b4d9-325086783193.png'
|
||||||
category_object_11 (extends category_object):
|
category_object_11 (extends category_object):
|
||||||
name: Loisirs divers
|
name: Loisirs divers
|
||||||
|
|
||||||
category_object_12 (extends category_object):
|
category_object_12 (extends category_object):
|
||||||
name: Matériel de sports
|
name: Matériel de sports
|
||||||
|
image: '04f41100-e963-4f33-8aaf-f1c774e0d42f.png'
|
||||||
|
|
||||||
category_object_13 (extends category_object):
|
category_object_13 (extends category_object):
|
||||||
name: Matériel de vacances et weekend
|
name: Matériel de vacances et weekend
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ App\Entity\Group:
|
||||||
|
|
||||||
group_1 (extends group_template):
|
group_1 (extends group_template):
|
||||||
id: <uuid('1ed4bcca-336e-6732-a08c-a15bb85fa24a')>
|
id: <uuid('1ed4bcca-336e-6732-a08c-a15bb85fa24a')>
|
||||||
name: Groupe 1
|
name: Groupe 1 - adhésion payante
|
||||||
description: >
|
description: >
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean velit erat,
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean velit erat,
|
||||||
fringilla sit amet dui in, vehicula ultrices dui.
|
fringilla sit amet dui in, vehicula ultrices dui.
|
||||||
|
|
@ -12,7 +12,7 @@ App\Entity\Group:
|
||||||
invitation_by_admin: true
|
invitation_by_admin: true
|
||||||
|
|
||||||
group_2 (extends group_template):
|
group_2 (extends group_template):
|
||||||
name: Groupe 2
|
name: Groupe 2 - adhésion gratuite
|
||||||
description: >
|
description: >
|
||||||
Mauris varius vitae nunc ac maximus. Aliquam quis placerat nisi.
|
Mauris varius vitae nunc ac maximus. Aliquam quis placerat nisi.
|
||||||
Pellentesque aliquam magna sed elit interdum, sed elementum erat posuere.
|
Pellentesque aliquam magna sed elit interdum, sed elementum erat posuere.
|
||||||
|
|
|
||||||
|
|
@ -32,12 +32,6 @@ App\Entity\MenuItem:
|
||||||
parent: '@menu_item_account'
|
parent: '@menu_item_account'
|
||||||
position: 0
|
position: 0
|
||||||
|
|
||||||
menu_item_forgotten_password (extends menu_item):
|
|
||||||
name: 'Mot de passe oublié'
|
|
||||||
link: '/fr/compte/mot-de-passe-oublie'
|
|
||||||
parent: '@menu_item_account'
|
|
||||||
position: 1
|
|
||||||
|
|
||||||
menu_item_logout (extends menu_item):
|
menu_item_logout (extends menu_item):
|
||||||
name: 'Se déconnecter'
|
name: 'Se déconnecter'
|
||||||
link: '/logout'
|
link: '/logout'
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,83 @@ App\Entity\Page:
|
||||||
name: Accueil
|
name: Accueil
|
||||||
home: true
|
home: true
|
||||||
content: |
|
content: |
|
||||||
\<h2><strong>Nulla fermentum justo sed magna rutrum, eget fermentum dolor accumsan.</strong></h2>
|
\<h1><strong>Bienvenue sur la démo de la plateforme d'échange de biens et services EBS</strong></h1>
|
||||||
|
<p dir="auto"> </p>
|
||||||
|
<h1 dir="auto">Contexte</h1>
|
||||||
|
<p dir="auto">Le logiciel est destiné aux porteurs de projets qui souhaitent développer une plateforme coopérative à une échelle territoriale locale (ville, EPCI, département, région Hauts-de-France) et ce dans une fédération d’instances de plateformes coopératives.</p>
|
||||||
|
<p dir="auto">Ce logiciel propose une plateforme d'échange de biens et services au sein d'une communauté. La plateforme propose un moyen de rentrer en contact avec quelqu’un pour permettre cet échange : soit en tant que prêteur, qui propose un objet, soit en tant qu’emprunteur, qui l’utilise.</p>
|
||||||
|
<p dir="auto">Pour les administrateur·rice·s de la plateforme, elle est personnalisable en configurant les fonctionnalités disponibles et en personnalisant les contenus via l’espace d’administration.</p>
|
||||||
|
<p dir="auto">La plateforme a été conçue au format responsive pour être utilisée tant sur ordinateur qu’appareil mobile (tablette ou smartphone).</p>
|
||||||
|
<p>Le code est disponible sous licence AGPL (Affero General Public License).</p>
|
||||||
|
<p> </p>
|
||||||
|
<hr />
|
||||||
|
<h2>Dépôt</h2>
|
||||||
|
<p>Toutes les informations sur le projet et le code sont disponibles sur <strong><u><a href="https://github.com/Apes-HDF/EBS">le dépôt public</a></u></strong>.</p>
|
||||||
|
<p> </p>
|
||||||
|
<hr />
|
||||||
|
<h2>Démo</h2>
|
||||||
|
<p>Vous pouvez tester la plateforme sur cet environnement de démo.</p>
|
||||||
|
<p>Utilisez les identifiants ci-dessous pour naviguez, ou crééz vous un compte :</p>
|
||||||
|
<table border="1" cellpadding="1" cellspacing="1" style="width:500px">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">Rôle</th>
|
||||||
|
<th scope="col">Identifiant</th>
|
||||||
|
<th scope="col">Mot de passe</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>Admin</td>
|
||||||
|
<td>sarah@example.com</td>
|
||||||
|
<td>apesebs</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Utilisateur de type individuel</td>
|
||||||
|
<td>loic@example.com</td>
|
||||||
|
<td>apesebs</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Utilisateur de type lieu</td>
|
||||||
|
<td>compte+lieu@apes-hdf.org</td>
|
||||||
|
<td>apesebs</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p> </p>
|
||||||
|
<p>Testez les paiements avec les cartes de test suivantes :</p>
|
||||||
|
<table border="1" class="docutils styled-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Numéro de carte</th>
|
||||||
|
<th>Expiration</th>
|
||||||
|
<th>CVV</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>American Express</td>
|
||||||
|
<td><code>3782 822463 10005</code></td>
|
||||||
|
<td>Tous</td>
|
||||||
|
<td>Tous</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Mastercard</td>
|
||||||
|
<td><code>2223 0000 1047 9399</code></td>
|
||||||
|
<td>Tous</td>
|
||||||
|
<td>Tous</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>VISA</td>
|
||||||
|
<td><code>4543 4740 0224 9996</code></td>
|
||||||
|
<td>Tous</td>
|
||||||
|
<td>Tous</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p> </p>
|
||||||
|
|
||||||
cgu:
|
cgu:
|
||||||
id: <uuid('1edca5ff-338d-6fa8-a99b-cf5fb5b2f7a5')>
|
id: <uuid('1edca5ff-338d-6fa8-a99b-cf5fb5b2f7a5')>
|
||||||
name: CGU
|
name: CGU
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,8 @@ App\Entity\Product:
|
||||||
name: Guitare électrique
|
name: Guitare électrique
|
||||||
description: >
|
description: >
|
||||||
Guitare en bon état.
|
Guitare en bon état.
|
||||||
age: 2010
|
age: 2010
|
||||||
|
images: ["d51c66ad-9e02-4fa9-8f37-5c84d928226e.jpg"]
|
||||||
|
|
||||||
loic_service_1 (extends service):
|
loic_service_1 (extends service):
|
||||||
id: <uuid('1ed7a2a8-0a78-605a-a8e0-f3a729006754')>
|
id: <uuid('1ed7a2a8-0a78-605a-a8e0-f3a729006754')>
|
||||||
|
|
@ -53,7 +54,8 @@ App\Entity\Product:
|
||||||
description: >
|
description: >
|
||||||
Initiation aux échecs pour débutants (1 heure).
|
Initiation aux échecs pour débutants (1 heure).
|
||||||
duration: >
|
duration: >
|
||||||
Une ou deux heures si besoin.
|
Une ou deux heures si besoin.
|
||||||
|
images: ["e2140911-4689-47df-a9cd-f87cef342cdd.jpg"]
|
||||||
|
|
||||||
# Kevin ———————————————————————————————————————————————————————————————————
|
# Kevin ———————————————————————————————————————————————————————————————————
|
||||||
kevin_object_1 (extends object):
|
kevin_object_1 (extends object):
|
||||||
|
|
@ -64,6 +66,7 @@ App\Entity\Product:
|
||||||
description: >
|
description: >
|
||||||
Très bien pour les déménagements, même proches.
|
Très bien pour les déménagements, même proches.
|
||||||
age: Acheté en 2012.
|
age: Acheté en 2012.
|
||||||
|
images: ["d4a5f2fb-57bb-4e6a-95eb-0614e8f62d45.jpg"]
|
||||||
|
|
||||||
kevin_object_2 (extends object):
|
kevin_object_2 (extends object):
|
||||||
owner: '@admin_kevin'
|
owner: '@admin_kevin'
|
||||||
|
|
@ -72,6 +75,7 @@ App\Entity\Product:
|
||||||
description: >
|
description: >
|
||||||
Très bien pour percer des trous dans la maison.
|
Très bien pour percer des trous dans la maison.
|
||||||
age: Acheté en 2015.
|
age: Acheté en 2015.
|
||||||
|
images: ["d75f07b1-52cb-4e39-929d-9da35e722627.jpg"]
|
||||||
|
|
||||||
# Camille —————————————————————————————————————————————————————————————————————
|
# Camille —————————————————————————————————————————————————————————————————————
|
||||||
camille_object_1 (extends object):
|
camille_object_1 (extends object):
|
||||||
|
|
@ -109,6 +113,7 @@ App\Entity\Product:
|
||||||
Pour transporter son enfant ou son chat.
|
Pour transporter son enfant ou son chat.
|
||||||
age: 2022
|
age: 2022
|
||||||
deposit: 5000
|
deposit: 5000
|
||||||
|
images: ["335dbbc1-3660-4f82-a529-fe79eb1a9a87.jpg"]
|
||||||
|
|
||||||
# user 16 —————————————————————————————————————————————————————————————————————
|
# user 16 —————————————————————————————————————————————————————————————————————
|
||||||
user_16_service_1 (extends service):
|
user_16_service_1 (extends service):
|
||||||
|
|
@ -129,6 +134,7 @@ App\Entity\Product:
|
||||||
Très belle guitare électrique en bon état.
|
Très belle guitare électrique en bon état.
|
||||||
age: 2013
|
age: 2013
|
||||||
deposit: 2000
|
deposit: 2000
|
||||||
|
images: ["e5889470-abfd-432c-aa96-0838608b936a.jpg"]
|
||||||
|
|
||||||
user_16_object_2 (extends object):
|
user_16_object_2 (extends object):
|
||||||
owner: '@user_16'
|
owner: '@user_16'
|
||||||
|
|
@ -136,7 +142,8 @@ App\Entity\Product:
|
||||||
name: Piano
|
name: Piano
|
||||||
description: >
|
description: >
|
||||||
Piano en bon état.
|
Piano en bon état.
|
||||||
age: 2010
|
age: 2010
|
||||||
|
images: ["f3fa0285-2b3c-4235-a618-9092ee55cae4.jpg"]
|
||||||
|
|
||||||
# place apes —————————————————————————————————————————————————————————————————————
|
# place apes —————————————————————————————————————————————————————————————————————
|
||||||
place_apes_service_1 (extends service):
|
place_apes_service_1 (extends service):
|
||||||
|
|
@ -163,7 +170,8 @@ App\Entity\Product:
|
||||||
description: >
|
description: >
|
||||||
Cours de rattrapage en histoire, aide aux devoirs, remise à niveau.
|
Cours de rattrapage en histoire, aide aux devoirs, remise à niveau.
|
||||||
duration: >
|
duration: >
|
||||||
Une journée.
|
Une journée.
|
||||||
|
images: ["c594de44-8999-46ed-89f0-6688c7d7c087.jpg"]
|
||||||
|
|
||||||
# Place 6 ———————————————————————————————————————————————————————————————————
|
# Place 6 ———————————————————————————————————————————————————————————————————
|
||||||
place_6_object_1 (extends object):
|
place_6_object_1 (extends object):
|
||||||
|
|
@ -175,6 +183,7 @@ App\Entity\Product:
|
||||||
duration: Une journée.
|
duration: Une journée.
|
||||||
age: De 2 à 10 ans
|
age: De 2 à 10 ans
|
||||||
deposit: 0
|
deposit: 0
|
||||||
|
images: ["434a9bb7-c140-4776-93e8-b8d018cd28f0.jpg"]
|
||||||
|
|
||||||
place_6_object_2 (extends object):
|
place_6_object_2 (extends object):
|
||||||
id: <uuid('1edf938b-7344-6684-87d5-d36fc869cf92')>
|
id: <uuid('1edf938b-7344-6684-87d5-d36fc869cf92')>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ App\Entity\User:
|
||||||
base_user_template (template):
|
base_user_template (template):
|
||||||
enabled: true
|
enabled: true
|
||||||
mainAdminAccount: false
|
mainAdminAccount: false
|
||||||
password: '\$2y\$13\$LOIpgrMmOysCysIwkILTl.qD8psPxn9U9/V03p3odlqztLb7Aewze' # 35DVDj8ir3Buc7
|
password: '\$2y\$13\$TQ31DwKCMXXDX4.vV8R10OLUIT8rDgtbUCywwtoT/gB72Ei46AOQ.' # apesebs
|
||||||
emailConfirmed: true
|
emailConfirmed: true
|
||||||
phoneNumber: '+33600000000'
|
phoneNumber: '+33600000000'
|
||||||
smsNotifications: true
|
smsNotifications: true
|
||||||
|
|
@ -25,6 +25,7 @@ App\Entity\User:
|
||||||
lastname: 'Croteau'
|
lastname: 'Croteau'
|
||||||
mainAdminAccount: true
|
mainAdminAccount: true
|
||||||
address: '@address_camille'
|
address: '@address_camille'
|
||||||
|
avatar: 'a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg'
|
||||||
|
|
||||||
admin_loic (extends admin_template):
|
admin_loic (extends admin_template):
|
||||||
id: <uuid('1ed674d3-886f-6ad4-bc25-15f868662c0c')>
|
id: <uuid('1ed674d3-886f-6ad4-bc25-15f868662c0c')>
|
||||||
|
|
@ -33,17 +34,19 @@ App\Entity\User:
|
||||||
lastname: 'Duclos'
|
lastname: 'Duclos'
|
||||||
devAccount: true
|
devAccount: true
|
||||||
address: '@address_loic'
|
address: '@address_loic'
|
||||||
|
avatar: '7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg'
|
||||||
|
|
||||||
admin_kevin (extends admin_template):
|
admin_kevin (extends admin_template):
|
||||||
id: <uuid('1ed69804-eeb9-6c32-990b-632c3a6846ba')>
|
id: <uuid('1ed69804-eeb9-6c32-990b-632c3a6846ba')>
|
||||||
email: 'kevin@example.com'
|
email: 'kevin@example.com'
|
||||||
firstname: 'Kevin'
|
firstname: 'Kevin'
|
||||||
lastname: 'Pirouet'
|
lastname: 'Pirouet'
|
||||||
|
avatar: '7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg'
|
||||||
|
|
||||||
admin_apes (extends admin_template):
|
admin_apes (extends admin_template):
|
||||||
id: <uuid('1ed69804-eeb9-6e6c-bce0-632c3a6846ba')>
|
id: <uuid('1ed69804-eeb9-6e6c-bce0-632c3a6846ba')>
|
||||||
address: '@address_loic'
|
address: '@address_loic'
|
||||||
email: 'plateformcoop@apes-hdf.org'
|
email: 'plateformeebs@apes-hdf.org'
|
||||||
firstname: 'APES'
|
firstname: 'APES'
|
||||||
lastname: 'APES'
|
lastname: 'APES'
|
||||||
|
|
||||||
|
|
@ -55,6 +58,7 @@ App\Entity\User:
|
||||||
devAccount: true
|
devAccount: true
|
||||||
address: '@address_region_hauts_de_france'
|
address: '@address_region_hauts_de_france'
|
||||||
category: '@category_object_16'
|
category: '@category_object_16'
|
||||||
|
avatar: 'a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg'
|
||||||
|
|
||||||
# —— Places ————————————————————————————————————————————————————————————————
|
# —— Places ————————————————————————————————————————————————————————————————
|
||||||
place_{6} (extends place_template):
|
place_{6} (extends place_template):
|
||||||
|
|
@ -156,7 +160,7 @@ App\Entity\User:
|
||||||
firstname: <firstname()>
|
firstname: <firstname()>
|
||||||
lastname: <lastname()>
|
lastname: <lastname()>
|
||||||
address: null
|
address: null
|
||||||
avatar: 'ba827ea0-b140-4cbf-9786-77ac980c648c.jpg'
|
avatar: 'a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg'
|
||||||
|
|
||||||
# user with an address and a preferred category set
|
# user with an address and a preferred category set
|
||||||
user_{17} (extends user_template):
|
user_{17} (extends user_template):
|
||||||
|
|
@ -173,3 +177,4 @@ App\Entity\User:
|
||||||
email: 'john.doe@example.com'
|
email: 'john.doe@example.com'
|
||||||
firstname: 'John'
|
firstname: 'John'
|
||||||
lastname: 'Doe'
|
lastname: 'Doe'
|
||||||
|
avatar: '7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg'
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace App\Controller\Admin;
|
namespace App\Controller\Admin;
|
||||||
|
|
||||||
use App\Controller\Admin\Dev\DevToolsController;
|
|
||||||
use App\Controller\User\MyAccountAction;
|
use App\Controller\User\MyAccountAction;
|
||||||
use App\Entity\Group;
|
use App\Entity\Group;
|
||||||
use App\Entity\Page;
|
use App\Entity\Page;
|
||||||
|
|
@ -211,12 +210,6 @@ final class DashboardController extends AbstractDashboardController
|
||||||
|
|
||||||
yield MenuItem::linkToCrud('menu.loans', 'fas fa-link', ServiceRequest::class)->setPermission(User::ROLE_ADMIN);
|
yield MenuItem::linkToCrud('menu.loans', 'fas fa-link', ServiceRequest::class)->setPermission(User::ROLE_ADMIN);
|
||||||
|
|
||||||
// —————————————————————————————————————————————————————————————————————
|
|
||||||
if ($user->isDevAccount()) {
|
|
||||||
yield MenuItem::section('menu.devtools')->setPermission(User::ROLE_ADMIN);
|
|
||||||
yield MenuItem::linkToRoute('menu.dev_tools', 'fas fa-wrench', DevToolsController::ROUTE_NAME)->setPermission(User::ROLE_ADMIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
// —————————————————————————————————————————————————————————————————————
|
// —————————————————————————————————————————————————————————————————————
|
||||||
yield MenuItem::section('menu.public');
|
yield MenuItem::section('menu.public');
|
||||||
yield MenuItem::linkToUrl('menu.home', 'fa fa-home', '/')->setLinkTarget('_blank');
|
yield MenuItem::linkToUrl('menu.home', 'fa fa-home', '/')->setLinkTarget('_blank');
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ use App\Enum\Product\ProductType;
|
||||||
use App\Enum\Product\ProductVisibility;
|
use App\Enum\Product\ProductVisibility;
|
||||||
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
|
use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;
|
||||||
use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
|
use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField;
|
||||||
|
use EasyCorp\Bundle\EasyAdminBundle\Field\ImageField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specific page for services.
|
* Specific page for services.
|
||||||
|
|
@ -53,15 +54,19 @@ final class ServiceCrudController extends AbstractProductCrudController
|
||||||
'nameField' => $nameField,
|
'nameField' => $nameField,
|
||||||
'descriptionField' => $descriptionField,
|
'descriptionField' => $descriptionField,
|
||||||
'durationField' => $durationField,
|
'durationField' => $durationField,
|
||||||
|
'imageField' => $imageField,
|
||||||
'createdAt' => $createdAt,
|
'createdAt' => $createdAt,
|
||||||
'updatedAt' => $updatedAt,
|
'updatedAt' => $updatedAt,
|
||||||
] = $this->getFields($pageName);
|
] = $this->getFields($pageName);
|
||||||
|
|
||||||
// list
|
// list
|
||||||
if ($pageName === Crud::PAGE_INDEX) {
|
if ($pageName === Crud::PAGE_INDEX) {
|
||||||
return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $createdAt];
|
return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $imageField, $createdAt];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @var ImageField $imageField */
|
||||||
|
$imageField->setCustomOption('first_image_only', false);
|
||||||
|
|
||||||
// forms
|
// forms
|
||||||
if ($pageName === Crud::PAGE_NEW || $pageName === Crud::PAGE_EDIT) {
|
if ($pageName === Crud::PAGE_NEW || $pageName === Crud::PAGE_EDIT) {
|
||||||
/** @var ChoiceField $statusField */
|
/** @var ChoiceField $statusField */
|
||||||
|
|
@ -69,7 +74,7 @@ final class ServiceCrudController extends AbstractProductCrudController
|
||||||
/** @var ChoiceField $visibilityField */
|
/** @var ChoiceField $visibilityField */
|
||||||
$visibilityField->setChoices(ProductVisibility::cases());
|
$visibilityField->setChoices(ProductVisibility::cases());
|
||||||
|
|
||||||
return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $descriptionField, $durationField];
|
return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $descriptionField, $imageField, $durationField];
|
||||||
}
|
}
|
||||||
|
|
||||||
// detail
|
// detail
|
||||||
|
|
@ -83,7 +88,7 @@ final class ServiceCrudController extends AbstractProductCrudController
|
||||||
$nameField,
|
$nameField,
|
||||||
$descriptionField,
|
$descriptionField,
|
||||||
$durationField,
|
$durationField,
|
||||||
|
$imageField,
|
||||||
$panels['tech_information'],
|
$panels['tech_information'],
|
||||||
$idField,
|
$idField,
|
||||||
$typeField,
|
$typeField,
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ final class ObjectController extends AbstractController
|
||||||
return $this->redirectToRoute('app_product_show', $product->getRoutingParameters());
|
return $this->redirectToRoute('app_product_show', $product->getRoutingParameters());
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render('pages/product/new_object.html.twig', compact('form'));
|
return $this->render('pages/product/new_object.html.twig', compact('form', 'product'));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route(path: [
|
#[Route(path: [
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ final class ServiceController extends AbstractController
|
||||||
return $this->redirectToRoute('app_product_show', $product->getRoutingParameters());
|
return $this->redirectToRoute('app_product_show', $product->getRoutingParameters());
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->render('pages/product/new_service.html.twig', compact('form'));
|
return $this->render('pages/product/new_service.html.twig', compact('form', 'product'));
|
||||||
} else {
|
} else {
|
||||||
throw new GoneHttpException();
|
throw new GoneHttpException();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="col-6 order-1 order-sm-2 py-2 d-flex justify-content-center align-items-center">
|
<div class="d-none d-md-flex col-6 order-1 order-sm-2 py-2 justify-content-center align-items-center">
|
||||||
<ul class="p-0">
|
<ul class="p-0">
|
||||||
{% for item in links %}
|
{% for item in links %}
|
||||||
<li class="text-center list-group-item">
|
<li class="text-center list-group-item">
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{% if app.user.address is not null %}
|
{% if app.user.address is not null %}
|
||||||
{% include 'components/layout/_title_5.html.twig' with {
|
{% include 'components/layout/_title_5.html.twig' with {
|
||||||
rowClass: 'border-top',
|
rowClass: 'border-top',
|
||||||
title: 'product.form.recover'|trans,
|
title: product.type.value == "object" ? 'product.form.recover'|trans : 'product.form.service_location'|trans,
|
||||||
colClass: 'col-md-8 col-lg-6 col-xl-5 mt-4'
|
colClass: 'col-md-8 col-lg-6 col-xl-5 mt-4'
|
||||||
} %}
|
} %}
|
||||||
{% include 'components/product/_address.html.twig' with {
|
{% include 'components/product/_address.html.twig' with {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ final class NotifyMembershipExpirationCommandTest extends KernelTestCase
|
||||||
$commandTester->assertCommandIsSuccessful();
|
$commandTester->assertCommandIsSuccessful();
|
||||||
$output = $commandTester->getDisplay();
|
$output = $commandTester->getDisplay();
|
||||||
self::assertStringContainsString(sprintf('%d notification', 1), $output);
|
self::assertStringContainsString(sprintf('%d notification', 1), $output);
|
||||||
self::assertStringContainsString('Groupe 1 of Camille', $output);
|
self::assertMatchesRegularExpression('/Groupe 1 - adhésion payante of[\s\/\\n]*Camille/', $output);
|
||||||
self::assertEmailCount(1);
|
self::assertEmailCount(1);
|
||||||
self::assertNotificationCount(1);
|
self::assertNotificationCount(1);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ final class TestReference
|
||||||
|
|
||||||
// users
|
// users
|
||||||
public const USER_COUNT = 18;
|
public const USER_COUNT = 18;
|
||||||
public const PASSWORD_FIXTURES = '35DVDj8ir3Buc7';
|
public const PASSWORD_FIXTURES = 'apesebs';
|
||||||
public const PASSWORD = '12345678';
|
public const PASSWORD = '12345678';
|
||||||
public const USER_17_EMAIL = 'user17@example.com';
|
public const USER_17_EMAIL = 'user17@example.com';
|
||||||
|
|
||||||
|
|
@ -101,7 +101,7 @@ final class TestReference
|
||||||
|
|
||||||
// menu and footer
|
// menu and footer
|
||||||
public const MENU_COUNT = 2;
|
public const MENU_COUNT = 2;
|
||||||
public const MENU_ITEMS_COUNT = 16;
|
public const MENU_ITEMS_COUNT = 15;
|
||||||
public const MENU_HEADER_ITEM_FIRST = '58a72426-57e4-4251-9c32-d29603bdcf5b';
|
public const MENU_HEADER_ITEM_FIRST = '58a72426-57e4-4251-9c32-d29603bdcf5b';
|
||||||
public const MENU_HEADER_ITEM_LAST = 'ac678c07-421f-4968-b2f8-74c9f2f22fcf';
|
public const MENU_HEADER_ITEM_LAST = 'ac678c07-421f-4968-b2f8-74c9f2f22fcf';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,11 @@
|
||||||
<target>A récupérer</target>
|
<target>A récupérer</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
|
||||||
|
<trans-unit id="CBB4WUZ" resname="product.form.service_location">
|
||||||
|
<source>product.form.service_location</source>
|
||||||
|
<target>Lieu de la prestation</target>
|
||||||
|
</trans-unit>
|
||||||
|
|
||||||
<trans-unit id="QqEwe6u" resname="product.form.address">
|
<trans-unit id="QqEwe6u" resname="product.form.address">
|
||||||
<source>product.form.address</source>
|
<source>product.form.address</source>
|
||||||
<target>Adresse</target>
|
<target>Adresse</target>
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
<!-- translations for admin email -->
|
<!-- translations for admin email -->
|
||||||
<trans-unit id="ZKTDVd5" resname="templates.pages.account.index.mail.subject">
|
<trans-unit id="ZKTDVd5" resname="templates.pages.account.index.mail.subject">
|
||||||
<source>templates.pages.account.index.mail.subject</source>
|
<source>templates.pages.account.index.mail.subject</source>
|
||||||
<target>PlatformCoop : demande de création de groupe</target>
|
<target>Platforme EBS : demande de création de groupe</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
|
||||||
<trans-unit id="nd7Cu7v" resname="templates.pages.account.index.mail.mail_adress">
|
<trans-unit id="nd7Cu7v" resname="templates.pages.account.index.mail.mail_adress">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue