diff --git a/app/controllers/AdminController.ts b/app/controllers/AdminController.ts index 715e1ce..5997f9b 100644 --- a/app/controllers/AdminController.ts +++ b/app/controllers/AdminController.ts @@ -99,7 +99,7 @@ export class AdminController { } static demandes(req: express.Request, res: express.Response) { - UserRepository.getRecruiterDemand().then((users: User[]) => { + UserRepository.getNewRecruiterDemand().then((users: User[]) => { UserRepository.getOldRecruiterDemand().then((oldUsers: User[]) => { OrganisationRepository.getAll().then((organisations : Organisation[]) => { res.render("admin/demandes", {title: "Demandes", users: users, organisations: organisations, oldUsers: oldUsers, userLogged: loggedInNoRedirection(req, res)}); @@ -116,6 +116,14 @@ export class AdminController { }) } + static ancienneDemande(req: express.Request, res: express.Response) { + let email = req.params.email; + UserRepository.getById(email).then((user: User) => { + console.log(user); + res.render("admin/ancienneDemande", {title: "Demande", user: user, userLogged: loggedInNoRedirection(req, res)}); + }) + } + static async accepterDemande(req: express.Request, res: express.Response) { let email = req.params.email; await UserRepository.setDemandAccepted(email).then((email) => { diff --git a/app/repository/UserRepository.ts b/app/repository/UserRepository.ts index 1cd1629..01abcde 100644 --- a/app/repository/UserRepository.ts +++ b/app/repository/UserRepository.ts @@ -137,6 +137,29 @@ export class UserRepository { ); } + static getNewRecruiterDemand(): Promise<[User]> { + const query = `SELECT u.email, u.nom, u.prenom, o.siren, o.nom as organisation, o.type, o.siege + FROM ${UserRepository.tableName} u + INNER JOIN ${OrganisationRepository.tableName} o using (siren) + WHERE u.demande_organisation = 'En cours'`; + return new Promise<[User]>( + (resolve, reject) => + pool.query(query, (err, result) => { + if (err) { + return reject(err); + } + if(result[0]){ + console.log(result[0]); + let organisation = new Organisation(result[0].siren, result[0].organisation, result[0].type, result[0].siege); + result[0].organisation = organisation; + console.log(result); + } + return resolve(result); + } + ) + ); + } + static getRecruiterDemand(): Promise<[User]> { const query = `SELECT u.email, u.nom, u.prenom, o.siren, o.nom as organisation, o.type, o.siege FROM ${UserRepository.tableName} u diff --git a/app/routes/AdminRouter.ts b/app/routes/AdminRouter.ts index 77ec0dd..b6a18fc 100644 --- a/app/routes/AdminRouter.ts +++ b/app/routes/AdminRouter.ts @@ -19,6 +19,7 @@ adminRouter.get("/supprimerUtilisateur/:email", AdminController.supprimerUtilisa adminRouter.get("/demandes", AdminController.demandes); adminRouter.get("/demande/:email", AdminController.demande); +adminRouter.get("/ancienneDemande/:email", AdminController.ancienneDemande); adminRouter.get("/accepterDemande/:email", AdminController.accepterDemande); adminRouter.get("/refuserDemande/:email", AdminController.refuserDemande); adminRouter.get("/offres", AdminController.offres); diff --git a/app/views/admin/ancienneDemande.ejs b/app/views/admin/ancienneDemande.ejs new file mode 100644 index 0000000..8ad1bf9 --- /dev/null +++ b/app/views/admin/ancienneDemande.ejs @@ -0,0 +1,91 @@ +<%- include('../partials/adminHeader.ejs') %>. + +