systeme de point

This commit is contained in:
clement callaert 2023-11-06 02:44:17 +01:00
parent feeece281f
commit 5fa66b7d1b
3 changed files with 42 additions and 5 deletions

View file

@ -24,14 +24,17 @@ router.post('/creerPost', async function (req,res) {
const enteredTitre = postData.titre;
const enteredCommentaire = postData.commentairePost;
const enterdRecompense = postData.recompense;
const enterednbrRecompense = postData.nbrRecompense;
const post ={
titre: enteredTitre,
commentaire: enteredCommentaire,
recompense: enterdRecompense,
nbrRecompense: enterednbrRecompense,
isFinish: false,
}
await db.getDb().collection('posts').insertOne(post);
return res.redirect('/admin');
})
@ -42,7 +45,8 @@ router.get('/hotLine', async function (req,res) {
}
const postData = await db.getDb().collection('posts').find().toArray();
const commandeData = await db.getDb().collection('commandes').find().toArray();
res.render('hotLine', {postData: postData, commandeData: commandeData})
const usersData = await db.getDb().collection('users').find().toArray();
res.render('hotLine', {postData: postData, commandeData: commandeData, usersData: usersData})
})
router.post('/commandeCrepe', async function (req, res) {
@ -91,14 +95,23 @@ router.post('/submitResolution/:postId', upload.single('image'), async function
router.post('/accepterPost/:id', async function (req, res) {
const postId = req.params.id;
const winner = req.body.utilisateur;
const ObjectID = mongodb.ObjectId;
const postObjectId = new ObjectID(postId);
const post = await db.getDb().collection('posts').findOne({ _id: postObjectId });
const recompense =post.nbrRecompense;
const intRecompense = parseInt(recompense, 10)
const user = await db.getDb().collection('users').findOne({nom_dutilisateur: winner});
const point = parseInt(user.point, 10);
console.log(point)
if (!point || isNaN(point)) {
await db.getDb().collection('users').updateOne({nom_dutilisateur: winner}, { $set: {point: intRecompense} });
}
await db.getDb().collection('users').updateOne({nom_dutilisateur: winner}, { $set: {point: intRecompense + point} })
await db.getDb().collection('posts').updateOne({ _id: postObjectId }, { $set: { isFinish: true, winner: winner } });
await db.getDb().collection('res').updateOne({ _id: postObjectId }, { $set: { winner: winner } });
return res.redirect('/admin');
});

View file

@ -82,8 +82,10 @@
<input type="text" id="commentairePost" name="commentairePost">
</div>
<div>
<label for="recompense">Récompense : </label>
<label for="recompense">Récompense texte : </label>
<input type="text" id="recompense" name="recompense">
<label for="nbrRecompense" > Récompense : </label>
<input type="number" id="nbrRecompense" name="nbrRecompense">
</div>
<button>Submit</button>
</form>

View file

@ -31,6 +31,28 @@
Ici vous pouvez demandez à un espion aguerri de vous livrer des crêpes. Aussi, vous pouvez tentez de valider la chasse au trésor du jour ! Pour cela il suffit d'envoyer une photo du ticket avec l'endroit où vous l'avez trouvé.
</p>
</div>
<div id="secondDiv">
<h2>
Podium
</h2>
<% let thereIsUsers = false %>
<% usersData.forEach(user => { %>
<% if (user.point) { %>
<% thereIsUsers = true %>
<h3>
<%= user.nom_dutilisateur %>
</h3>
<p>
A : <%= user.point %> points
</p>
<% } %>
<% }) %>
<% if (!thereIsUsers) {%>
<p>
Il n'y a pas encore de participant
</p>
<% } %>
</div>
<div id="secondDiv">
<h2>
Commander