création de session fix en cours
This commit is contained in:
@@ -2,7 +2,7 @@ import { useState, useEffect } from "react";
|
||||
import { Session, User, Coach, Activite, Groupe } from "../classes";
|
||||
import { useLocalData } from "../context/useLocalData";
|
||||
import { activiteService, sessionService } from "../api";
|
||||
import { postSession } from "../requetes";
|
||||
import { createSessionAPI, postSession } from "../requetes";
|
||||
|
||||
export const CreateSession = () => {
|
||||
const {user} = useLocalData();
|
||||
@@ -10,7 +10,7 @@ export const CreateSession = () => {
|
||||
const [activities, setActivities] = useState<Activite[]>([]);
|
||||
const [name,setName] = useState("");
|
||||
const [groupe, setGroupe] = useState<Groupe>("");
|
||||
const [creneau, setCreneau] = useState("");
|
||||
const [creneau, setCreneau] = useState<Date>(new Date());
|
||||
const [duree, setDuree] = useState<number>(0);
|
||||
const [activiteNom, setActiviteNom] = useState("");
|
||||
const [activiteTheme, setActiviteTheme] = useState("");
|
||||
@@ -34,19 +34,25 @@ export const CreateSession = () => {
|
||||
}
|
||||
|
||||
async function handleCreateSession() {
|
||||
session.groupe = groupe;
|
||||
session.creneau = creneau;
|
||||
session.duree = duree;
|
||||
session.isRecurrent = isRecurent;
|
||||
session.activites = activities;
|
||||
|
||||
postSession(session);
|
||||
await createSessionAPI(session);
|
||||
console.log("Session créée");
|
||||
|
||||
// reset
|
||||
setName("");
|
||||
setGroupe("");
|
||||
setCreneau("");
|
||||
setCreneau(new Date());
|
||||
setDuree(0);
|
||||
setIsRecurent(false);
|
||||
setActivities([]);
|
||||
|
||||
}
|
||||
setSession(new Session());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -62,7 +68,7 @@ export const CreateSession = () => {
|
||||
</label>
|
||||
<label>
|
||||
Creneau:
|
||||
<input type="datetime-local" value={creneau} onChange={e => setCreneau(e.target.value)} />
|
||||
<input type="datetime-local" value={creneau.toISOString().slice(0, 16)} onChange={e => setCreneau(new Date(e.target.value))} />
|
||||
</label>
|
||||
<label>
|
||||
Duree (minutes):
|
||||
|
||||
@@ -1,52 +1,79 @@
|
||||
import { useState } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useLocalData } from "../context/useLocalData";
|
||||
import { Activite, Athlete, Coach , Session, Ligne, Admin } from "../classes";
|
||||
import {calculTempsDeJeuParLigne} from "../utils/ligneUtils";
|
||||
import { keyboard } from "@testing-library/user-event/dist/keyboard";
|
||||
import ObjectSession from "./object/session";
|
||||
import ObjectUser from "./object/user";
|
||||
import { getAllSessionsAPI } from "../requetes";
|
||||
import { useKeycloak } from "@react-keycloak/web";
|
||||
|
||||
|
||||
export type keyWord = "athletes" | "activites" | "coachs" | "sessions"| "lignes";
|
||||
|
||||
export default function RessourcePanel() {
|
||||
const { keycloak } = useKeycloak();
|
||||
const { user } = useLocalData();
|
||||
//const user = getUserTest(); //TODO
|
||||
const [value,setValue] = useState<keyWord>("athletes");
|
||||
const [value,setValue] = useState<keyWord>("sessions");
|
||||
|
||||
if (user instanceof Athlete) return null;
|
||||
const[allAthletes,setAllAthletes] = useState<Athlete[]>([]);
|
||||
const[allCoachs,setAllCoachs] = useState<Coach[]>([]);
|
||||
const[allSessions,setAllSessions] = useState<Session[]>([]);
|
||||
const[allLignes,setAllLignes] = useState<Ligne[]>([]);
|
||||
|
||||
|
||||
const allAthletes: Athlete[] = [];
|
||||
|
||||
const allActivites: Activite[] = [];
|
||||
|
||||
const allCoachs: Coach[] = [];
|
||||
|
||||
const allSessions: Session[] = [];
|
||||
|
||||
const allLignes: Ligne[] = [];
|
||||
async function updateAthletes() {
|
||||
}
|
||||
|
||||
|
||||
async function updateCoachs() {
|
||||
}
|
||||
|
||||
async function updateSessions() {
|
||||
const sessions:Session[] = await getAllSessionsAPI();
|
||||
}
|
||||
|
||||
async function updateLignes() {
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if(keycloak.authenticated){
|
||||
updateSessions();
|
||||
{(user instanceof Admin || user instanceof Coach) &&
|
||||
updateAthletes();
|
||||
updateCoachs();
|
||||
updateLignes();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},[user])
|
||||
|
||||
|
||||
return (
|
||||
<div className="ressource_panel">
|
||||
<div>
|
||||
Sélectionner une ressource:
|
||||
</div>
|
||||
<select
|
||||
onChange={(e) => {
|
||||
const v = (e.target as HTMLSelectElement).value;
|
||||
setValue(v as keyWord)
|
||||
}}>
|
||||
<option value="athletes">Athlètes</option>
|
||||
<option value="activites">Activités</option>
|
||||
{user instanceof Admin && <option value="coachs"> Coachs</option>}
|
||||
<option value="sessions"> Sessions</option>
|
||||
<option value="lignes"> Lignes</option>
|
||||
|
||||
</select>
|
||||
{(user instanceof Admin || user instanceof Coach) &&
|
||||
<div>
|
||||
<div>
|
||||
Sélectionner une ressource:
|
||||
</div>
|
||||
<select
|
||||
onChange={(e) => {
|
||||
const v = (e.target as HTMLSelectElement).value;
|
||||
setValue(v as keyWord)
|
||||
}}>
|
||||
<option value="sessions"> Sessions</option>
|
||||
{(user instanceof Admin || user instanceof Coach) &&<option value="athletes">Athlètes</option>}
|
||||
{(user instanceof Admin || user instanceof Coach) &&<option value="activites">Activités</option>}
|
||||
{(user instanceof Admin || user instanceof Coach) && <option value="coachs"> Coachs</option>}
|
||||
{(user instanceof Admin || user instanceof Coach) &&<option value="lignes"> Lignes</option>}
|
||||
|
||||
</select>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div className="edt_sessions_panel">
|
||||
<h3>Liste des {value}</h3>
|
||||
@@ -81,3 +108,4 @@ import ObjectUser from "./object/user";
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user