Ca commence à fonctionner
This commit is contained in:
83
app.js
83
app.js
@@ -4,6 +4,8 @@ const dotenv = require('dotenv')
|
||||
const app = express()
|
||||
const path = require("path")
|
||||
const publicDir = path.join(__dirname, './public')
|
||||
var bodyParser = require('body-parser')
|
||||
|
||||
|
||||
/* Connexion à la BDD MySQL */
|
||||
dotenv.config({ path: './.env'})
|
||||
@@ -22,14 +24,19 @@ db.connect((error) => {
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
app.set('view engine', 'hbs');
|
||||
app.use(express.static(publicDir));
|
||||
/* Pour utiliser le bootstrap local */
|
||||
app.use('/css', express.static(__dirname + '/node_modules/bootstrap/dist/css'));
|
||||
app.use(express.json());
|
||||
/* configure the Express.js server to receive the form values as JSON */
|
||||
app.use(bodyParser.urlencoded({extended: false}));
|
||||
app.use(express.json())
|
||||
|
||||
|
||||
app.get("/", (req, res) => {
|
||||
db.query('SELECT c.id as "id", c.libelle as "libelle", c.prix, c.photo as "photo", c.lien, p.prenom as "acheteur", c.achete as "achete", c.paye as "paye", p2.prenom as "responsable_achat" FROM cadeau c LEFT OUTER JOIN participations pc on pc.cadeau = c.id LEFT OUTER JOIN participant p on p.id = pc.offrant LEFT OUTER JOIN participant p2 on p2.id = pc.responsable_achat', async (error, resultCadeaux) => {
|
||||
|
||||
db.query('SELECT c.id as "id", c.libelle as "libelle", c.prix, c.photo as "photo", c.lien, p.prenom as "acheteur", c.achete as "achete", c.paye as "paye", p2.prenom as "responsable_achat" FROM cadeau c LEFT OUTER JOIN participations pc on pc.cadeau = c.id LEFT OUTER JOIN participant p on p.id = pc.offrant LEFT OUTER JOIN participant p2 on p2.id = pc.responsable_achat ORDER BY c.prix', async (error, resultCadeaux) => {
|
||||
let message;
|
||||
|
||||
if(error){
|
||||
@@ -44,16 +51,57 @@ app.get("/", (req, res) => {
|
||||
});
|
||||
|
||||
|
||||
app.get("/reserve", (req, res) => {
|
||||
db.query('SELECT id, libelle, prix, photo, lien FROM cadeau WHERE id = ?', [req.query.id], async (error, result) => {
|
||||
app.get("/choix-offrant", (req, res) => {
|
||||
let cadeau = req.query.cadeau;
|
||||
|
||||
db.query('SELECT id, prenom FROM participant ORDER BY prenom', async (error, result) => {
|
||||
if(error) {
|
||||
console.log(error);
|
||||
}
|
||||
if (result.length > 0) {
|
||||
db.query('SELECT id, prenom, FROM participant', async (error, selectOffrant) => {
|
||||
res.render('offrant', { "cadeau" : cadeau, "listeOffrants": result});
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
db.query('SELECT sum(c.prix) FROM cadeau c LEFT OUTER JOIN participations pc on pc.cadeau = c.id WHERE pc.offrant = ?', [], async (error, totalAchats) => {
|
||||
res.render('reservation', { "id": result[0].id, "libelle": result[0].libelle, "photo": result[0].photo, "offrant": selectOffrant, "totalDepenses": totalAchats } );
|
||||
|
||||
app.get("/reservation", (req, res) => {
|
||||
|
||||
let reqCadeau = req.query.cadeau;
|
||||
let reqOffrant = req.query.offrant;
|
||||
|
||||
let totalAchats;
|
||||
|
||||
db.query('SELECT id, libelle, prix, photo, lien, achete, paye FROM cadeau WHERE id = ?', [reqCadeau], async (error, infosCadeau) => {
|
||||
if(error) {
|
||||
console.log(error);
|
||||
}
|
||||
if (infosCadeau.length > 0) {
|
||||
db.query('SELECT COALESCE(sum(c.prix),0) as "total" FROM cadeau c RIGHT OUTER JOIN participations pc ON pc.cadeau = c.id INNER JOIN participant p ON p.id = pc.offrant WHERE p.id=?', [reqOffrant], async (error, result) => {
|
||||
if(error) {
|
||||
console.log(error);
|
||||
}
|
||||
if (result.length > 0) {
|
||||
totalAchats = result[0]
|
||||
}
|
||||
|
||||
db.query('SELECT id, prenom FROM participant WHERE id=?', [reqOffrant], async (error, result) => {
|
||||
if(error) {
|
||||
console.log(error);
|
||||
}
|
||||
if (result.length > 0) {
|
||||
offrant = result[0];
|
||||
}
|
||||
});
|
||||
|
||||
db.query('SELECT id, prenom FROM participant ORDER BY prenom', async (error, listeResponsables) => {
|
||||
if(error) {
|
||||
console.log(error);
|
||||
}
|
||||
res.render('reservation', { "infosCadeaux": infosCadeau[0],
|
||||
"offrant" : offrant,
|
||||
"totalAchats": totalAchats.total,
|
||||
"listeResponsables" : listeResponsables} );
|
||||
})
|
||||
})
|
||||
}
|
||||
@@ -61,6 +109,27 @@ app.get("/reserve", (req, res) => {
|
||||
});
|
||||
|
||||
|
||||
|
||||
app.post("/confirm-reservation", (req, res) => {
|
||||
|
||||
const { cadeau, offrant, achete, paye, responsableAchat } = req.body
|
||||
|
||||
db.query('UPDATE cadeau SET achete=?, paye=? WHERE ID=?', [achete, paye, cadeau], function (err, result) {
|
||||
if (err) throw err;
|
||||
console.log("1 record updated");
|
||||
});
|
||||
|
||||
db.query('INSERT INTO participations (offrant, cadeau, responsable_achat) VALUES (?, ?, ?)', [offrant, cadeau, responsableAchat], function (err, result) {
|
||||
if (err) throw err;
|
||||
console.log("1 record updated");
|
||||
});
|
||||
|
||||
|
||||
res.redirect('/');
|
||||
|
||||
});
|
||||
|
||||
|
||||
app.listen(5006, ()=> {
|
||||
console.log("server started on port 5006")
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user