Skip to content

Commit 0efcd6e

Browse files
authored
Merge pull request #9 from julienbdx/dev
fix(frontend): Version 2.1.2
2 parents 0809c02 + 9fdf2b3 commit 0efcd6e

11 files changed

Lines changed: 586 additions & 488 deletions

File tree

frontend/.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,6 @@ yarn-error.log*
2525
/.idea
2626
/.scannerwork
2727

28-
compose.overrides.yml
28+
compose.overrides.yml
29+
30+
/src/api/OpenApi.yml

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oasis",
3-
"version": "2.1.0",
3+
"version": "2.1.2",
44
"private": true,
55
"dependencies": {
66
"@ant-design/icons": "^5.5.1",

frontend/src/api/schema.d.ts

Lines changed: 70 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,3 @@
1-
/*
2-
* Copyright (c) 2024. Esup - Université de Bordeaux
3-
*
4-
* This file is part of the Esup-Oasis project (https://github.com/EsupPortail/esup-oasis).
5-
* For full copyright and license information please view the LICENSE file distributed with the source code.
6-
*
7-
* @author Julien Lemonnier <julien.lemonnier@u-bordeaux.fr>
8-
*/
9-
101
/**
112
* This file was auto-generated by openapi-typescript.
123
* Do not make direct changes to the file.
@@ -942,6 +933,11 @@ export interface paths {
942933
patch: operations["api_types_evenements_id_patch"];
943934
};
944935
"/types_evenements/{typeId}/taux": {
936+
/**
937+
* Retrieves the collection of TauxHoraire resources.
938+
* @description Retrieves the collection of TauxHoraire resources.
939+
*/
940+
get: operations["api_types_evenements_typeIdtaux_get_collection"];
945941
/**
946942
* Creates a TauxHoraire resource.
947943
* @description Creates a TauxHoraire resource.
@@ -11346,6 +11342,71 @@ export interface operations {
1134611342
};
1134711343
};
1134811344
};
11345+
/**
11346+
* Retrieves the collection of TauxHoraire resources.
11347+
* @description Retrieves the collection of TauxHoraire resources.
11348+
*/
11349+
api_types_evenements_typeIdtaux_get_collection: {
11350+
parameters: {
11351+
query?: {
11352+
/** @description The collection page number */
11353+
page?: number;
11354+
/** @description The number of items per page */
11355+
itemsPerPage?: number;
11356+
date?: string;
11357+
};
11358+
path: {
11359+
/** @description TauxHoraire identifier */
11360+
typeId: string;
11361+
};
11362+
};
11363+
responses: {
11364+
/** @description TauxHoraire collection */
11365+
200: {
11366+
content: {
11367+
"application/ld+json": {
11368+
"hydra:member": components["schemas"]["TauxHoraire.jsonld-taux.out"][];
11369+
"hydra:totalItems"?: number;
11370+
/**
11371+
* @example {
11372+
* "@id": "string",
11373+
* "type": "string",
11374+
* "hydra:first": "string",
11375+
* "hydra:last": "string",
11376+
* "hydra:previous": "string",
11377+
* "hydra:next": "string"
11378+
* }
11379+
*/
11380+
"hydra:view"?: {
11381+
/** Format: iri-reference */
11382+
"@id"?: string;
11383+
"@type"?: string;
11384+
/** Format: iri-reference */
11385+
"hydra:first"?: string;
11386+
/** Format: iri-reference */
11387+
"hydra:last"?: string;
11388+
/** Format: iri-reference */
11389+
"hydra:previous"?: string;
11390+
/** Format: iri-reference */
11391+
"hydra:next"?: string;
11392+
};
11393+
"hydra:search"?: {
11394+
"@type"?: string;
11395+
"hydra:template"?: string;
11396+
"hydra:variableRepresentation"?: string;
11397+
"hydra:mapping"?: {
11398+
"@type"?: string;
11399+
variable?: string;
11400+
property?: string | null;
11401+
required?: boolean;
11402+
}[];
11403+
};
11404+
};
11405+
"text/html": components["schemas"]["TauxHoraire-taux.out"][];
11406+
};
11407+
};
11408+
};
11409+
};
1134911410
/**
1135011411
* Creates a TauxHoraire resource.
1135111412
* @description Creates a TauxHoraire resource.

frontend/src/controls/AppLayout/AppLayout.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
.user .ant-menu-title-content {
3434
padding: 0 !important;
3535
}
36+
3637
.user .ant-menu-title-content, .recherche .ant-menu-title-content {
3738
background-color: $light-grey;
3839
}
@@ -86,6 +87,10 @@
8687
align-items: center;
8788
}
8889

90+
.ant-menu .recherche {
91+
line-height: 1;
92+
}
93+
8994
.recherche.recherche-en-cours {
9095

9196
.ant-menu-submenu-title {
@@ -155,6 +160,8 @@
155160
background: none;
156161
}
157162

163+
164+
158165
.sider-trigger {
159166
background: transparent !important;
160167
color: $primary;
@@ -278,10 +285,15 @@
278285
vertical-align: middle !important;
279286
}
280287

288+
.ant-menu-submenu-title {
289+
line-height: 52px;
290+
}
291+
281292
.user-space {
282293
font-size: 1rem;
283294
vertical-align: middle;
284295
font-weight: 400;
296+
text-align: left;
285297

286298
.ant-space-item {
287299
margin: 0;

frontend/src/controls/AppLayout/menuItems/MenuItemUtilisateur.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export const menuItemUtilisateur = (
3737
{
3838
key: "user",
3939
label: (
40-
<Button type="text" className="bg-light-grey">
40+
<Button type="text" className="bg-transparent">
4141
<LabelUtilisateurMenu
4242
auth={auth}
4343
apiFetching={apiFetching}

frontend/src/controls/Avatars/UtilisateurAvatarImage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default function UtilisateurAvatarImage(props: {
7474
credentials: "include",
7575
cache: "force-cache",
7676
headers: {
77-
Accept: "image/*",
77+
Accept: "image/jpeg",
7878
},
7979
};
8080

frontend/src/controls/Forms/TarifEvenementField.tsx

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,14 @@ export default function TarifEvenementField({
2626
}: ITarifEvenementFieldProps) {
2727
const { data: typesEvenements, isFetching: isFetchingTypeEvenement } =
2828
useApi().useGetCollection(PREFETCH_TYPES_EVENEMENTS);
29-
const { data: taux } = useApi().useGetItem({
30-
path: "/types_evenements/{typeId}/taux/{id}",
31-
url: typesEvenements?.items.find((t) => t["@id"] === evenement.type)?.tauxActif as string,
29+
const { data: taux } = useApi().useGetCollection({
30+
path: "/types_evenements/{typeId}/taux",
31+
parameters: {
32+
typeId: evenement.type as string,
33+
},
34+
query: {
35+
date: dayjs(evenement.debut).format("YYYY-MM-DD"),
36+
},
3237
enabled:
3338
!!typesEvenements &&
3439
!!evenement.type &&
@@ -44,7 +49,7 @@ export default function TarifEvenementField({
4449
return <Skeleton active />;
4550
}
4651

47-
if (!taux || !taux?.montant) {
52+
if (!taux || taux.items.length !== 1 || !taux.items[0].montant) {
4853
return (
4954
<p className="text-warning">
5055
Pas de taux horaire défini actuellement pour les évènements de la catégorie "
@@ -61,12 +66,12 @@ export default function TarifEvenementField({
6166
addonAfter={<div style={{ width: 55 }}></div>}
6267
placeholder="0,00"
6368
className="text-center text-primary semi-bold"
64-
value={montantToString((dureeTotale / 60).toString(), taux?.montant)}
69+
value={montantToString((dureeTotale / 60).toString(), taux.items[0].montant)}
6570
/>
6671
<div className="legende">
6772
Tarif horaire des évènements de la catégorie "
6873
{typesEvenements?.items.find((t) => t["@id"] === evenement.type)?.libelle}"&nbsp;:{" "}
69-
{taux?.montant || "?"}
74+
{taux.items[0].montant || "?"}
7075
&nbsp;€ / heure
7176
</div>
7277
</>
@@ -75,7 +80,7 @@ export default function TarifEvenementField({
7580

7681
return (
7782
<Space>
78-
<span>{montantToString((dureeTotale / 60).toString(), taux?.montant)}</span>
83+
<span>{montantToString((dureeTotale / 60).toString(), taux.items[0].montant)}</span>
7984
<span></span>
8085
</Space>
8186
);

frontend/src/controls/Progress/ProgressAffectation.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@ interface IProgressAffectation {
2525
*/
2626
export default function ProgressAffectation({ evenements }: IProgressAffectation): ReactElement {
2727
return useMemo(() => {
28+
const evts = evenements.filter((e) => !e.dateAnnulation)
2829
const taux =
2930
evenements.length === 0
3031
? 100
3132
: Math.round(
3233
(100 *
33-
evenements.filter((e) => !e.dateAnnulation).filter((e) => e.isAffecte())
34+
evts.filter((e) => e.isAffecte())
3435
.length) /
35-
evenements.length,
36+
evts.length,
3637
);
3738

3839
return (

frontend/src/controls/Table/DemandeTableFilters.tsx

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -193,24 +193,6 @@ export function DemandeTableFilters(props: {
193193
/>
194194
</Col>
195195

196-
<Col xs={24} sm={24} md={6}>
197-
<Space direction="vertical" size={0}>
198-
<span aria-label="Campagne archivée">Campagne archivée</span>
199-
</Space>
200-
</Col>
201-
<Col xs={24} sm={24} md={18}>
202-
<Switch
203-
checked={props.filtreDemande.archivees}
204-
onChange={(checked) => {
205-
props.setFiltreDemande((prev) => ({
206-
...prev,
207-
archivees: checked,
208-
page: 1,
209-
}));
210-
}}
211-
/>
212-
</Col>
213-
214196
<Col xs={24} sm={24} md={6}>
215197
<Space direction="vertical" size={0}>
216198
<span aria-label="Chargés d'accompagnement">
@@ -324,6 +306,26 @@ export function DemandeTableFilters(props: {
324306
Seules les formations ayant au moins un demandeur sont proposées.
325307
</div>
326308
</Col>
309+
310+
<Col xs={24} sm={24} md={6}>
311+
<Space direction="vertical" size={0}>
312+
<span aria-label="Afficher les campagnes archivées">
313+
Afficher campagnes archivées
314+
</span>
315+
</Space>
316+
</Col>
317+
<Col xs={24} sm={24} md={18}>
318+
<Switch
319+
checked={props.filtreDemande.archivees}
320+
onChange={(checked) => {
321+
props.setFiltreDemande((prev) => ({
322+
...prev,
323+
archivees: checked,
324+
page: 1,
325+
}));
326+
}}
327+
/>
328+
</Col>
327329
</Row>
328330
</>
329331
),

frontend/src/versions.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ export const VERSIONS: IVersion[] = [
4949
description: `Amélioration de l'accessibilité / police Lexend`,
5050
type: "add",
5151
},
52+
{
53+
description: "Filtre campagnes archivées",
54+
type: "add",
55+
},
5256
],
5357
},
5458
{

0 commit comments

Comments
 (0)