Skip to content
Snippets Groups Projects
Commit 2512c97f authored by f20008012's avatar f20008012
Browse files

d

parent 2da47717
Branches clem
No related tags found
No related merge requests found
No preview for this file type
...@@ -6,8 +6,10 @@ let db = new Sqlite('db.sqlite'); ...@@ -6,8 +6,10 @@ let db = new Sqlite('db.sqlite');
exports.read = (id) => { exports.read = (id) => {
let found = db.prepare('SELECT * FROM monument WHERE id = ?').get(id); let found = db.prepare('SELECT * FROM monument WHERE id = ?').get(id);
let found = db.prepare('SELECT * FROM activity WHERE id_activity = ?').get(id);
if(found !== undefined) { if(found !== undefined) {
found.region = db.prepare('SELECT name FROM region WHERE monument = ? ORDER BY rank').all(id); found.region = db.prepare('SELECT name FROM region WHERE monument = ? ORDER BY rank').all(id);
//found.region = db.prepare('SELECT name FROM region WHERE monument = ? ORDER BY rank').all(id);
//found.stages = db.prepare('SELECT description FROM stage WHERE recipe = ? ORDER BY rank').all(id); //found.stages = db.prepare('SELECT description FROM stage WHERE recipe = ? ORDER BY rank').all(id);
return found; return found;
} else { } else {
...@@ -42,7 +44,8 @@ exports.search = (query, page) => { ...@@ -42,7 +44,8 @@ exports.search = (query, page) => {
page = parseInt(page || 1); page = parseInt(page || 1);
var num_found = db.prepare('SELECT count(*) FROM monument WHERE name LIKE ?').get('%' + query + '%')['count(*)']; var num_found = db.prepare('SELECT count(*) FROM monument WHERE name LIKE ?').get('%' + query + '%')['count(*)'];
var results = db.prepare('SELECT id as entry, name, img FROM monument WHERE name LIKE ? ORDER BY id LIMIT ? OFFSET ?').all('%' + query + '%', num_per_page, (page - 1) * num_per_page); var num_found = db.prepare('SELECT count(*) FROM activity WHERE name LIKE ?').get('%' + query + '%')['count(*)'];
var results = db.prepare('SELECT id_activity as entry, name, img FROM activity WHERE name LIKE ? ORDER BY id_activity LIMIT ? OFFSET ?').all('%' + query + '%', num_per_page, (page - 1) * num_per_page);
return { return {
results: results, results: results,
...@@ -55,16 +58,16 @@ exports.search = (query, page) => { ...@@ -55,16 +58,16 @@ exports.search = (query, page) => {
}; };
exports.login = function login(name, password){ exports.login = function login(name, password){
const user = db.prepare('SELECT id FROM user WHERE name=? and password=?').get(name, password); const user = db.prepare('SELECT id_user FROM user WHERE name=? and password=?').get(name, password);
return user ? user.id : -1; return user ? user.id_user : -1;
} }
exports.new_user = function new_user(name, password){ exports.new_user = function new_user(name, password){
const newUser = db.prepare("INSERT INTO user(name, password) VALUES (@name, @password)").run({name, password}); const newUser = db.prepare("INSERT INTO user(name, password) VALUES (@name, @password)").run({name, password});
return newUser.id; return newUser.id_user;
} }
exports.add_favorite = function add_favorite(id_user, id_activity){ exports.add_favorite = function add_favorite(id_user, id_activity){
const fav = db.prepare('INSERT INTO favorite VALUES (@id_user, @id_activity)').run(id_user, id_activity); const fav = db.prepare('INSERT INTO favorite(id_user, id_activity) VALUES (@id_user, @id_activity)').run(id_user, id_activity);
return fav; return fav;
} }
...@@ -33,6 +33,7 @@ function paramMustache(req, res, next) { ...@@ -33,6 +33,7 @@ function paramMustache(req, res, next) {
}else { }else {
res.locals.authenticated = false; res.locals.authenticated = false;
res.locals.name = null; res.locals.name = null;
res.locals.id_user = null;
} }
next(); next();
} }
...@@ -91,7 +92,7 @@ function post_data_to_monument(req) { ...@@ -91,7 +92,7 @@ function post_data_to_monument(req) {
description: req.body.description, description: req.body.description,
img: req.body.img, img: req.body.img,
duration: req.body.duration, duration: req.body.duration,
ingredients: req.body.ingredients.trim().split(/\s*-/).filter(e => e.length > 0).map(e => ({name: e.trim()})), //ingredients: req.body.ingredients.trim().split(/\s*-/).filter(e => e.length > 0).map(e => ({name: e.trim()})),
stages: req.body.stages.trim().split(/\s*-/).filter(e => e.length > 0).map(e => ({description: e.trim()})), stages: req.body.stages.trim().split(/\s*-/).filter(e => e.length > 0).map(e => ({description: e.trim()})),
}; };
} }
......
...@@ -5,12 +5,8 @@ ...@@ -5,12 +5,8 @@
<h1 class="display-3">{{title}}</h1> <h1 class="display-3">{{title}}</h1>
<p>{{description}}</p> <p>{{description}}</p>
<p class="fx-bold mb3">Durée : {{duration}}</p> <p class="fx-bold mb3">Durée : {{duration}}</p>
<p class="display-5">Ingrédients : </p> <button type="button" name="button" onclick="add_fav({{id_user}},{{id}})"> <3 </button>
<ul>
{{#ingredients}}
<li>{{name}}</li>
{{/ingredients}}
</ul>
<p class="display-5">Étapes : </p> <p class="display-5">Étapes : </p>
<ol> <ol>
{{#stages}} {{#stages}}
...@@ -28,4 +24,11 @@ ...@@ -28,4 +24,11 @@
</div> </div>
</div> </div>
<script type="text/javascript">
function add_fav(id_user, id_activity){
model.exports.add_favorite(id_user, id_activity)
}
</script>
{{> footer}} {{> footer}}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="container mt-5"> <div class="container mt-5">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1 class="mb-5">{{num_found}} monuments trouvées {{#page}} (page {{page}}/{{num_pages}}) {{/page}}</h1> <h1 class="mb-5">{{num_found}} activités trouvées {{#page}} (page {{page}}/{{num_pages}}) {{/page}}</h1>
</div> </div>
</div> </div>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<img class="img-fluid" src="{{img}}"> <img class="img-fluid" src="{{img}}">
<div class="p-5"> <div class="p-5">
<p class="diplay-6">{{name}}</p> <p class="diplay-6">{{name}}</p>
<button type="button" onclick="" name="button"></button> <button type="button" onclick name="button"></button>
</div> </div>
</div> </div>
</a> </a>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment