diff --git a/express-server/db-connect/db-connect.js b/express-server/db-connect/db-connect.js
index f18f39a8..ea01d163 100644
--- a/express-server/db-connect/db-connect.js
+++ b/express-server/db-connect/db-connect.js
@@ -79,6 +79,20 @@ async function generateUser() {
}
}
+async function displayShoppinglist(sl_id) {
+ try {
+ let groups = await query('SELECT row_to_json("Group") AS obj FROM "Group" JOIN "Shoppinglist" USING (sl_id) WHERE sl_id = $1;', [sl_id]);
+ let items = await query('SELECT row_to_json("Item") AS obj FROM "Item" JOIN "Group" USING (group_id) WHERE "Group".sl_id = $1;', [sl_id]);
+ return items_in_groups(groups, items);
+
+
+ }
+
+ catch (error) {
+ console.error(error);
+ }
+}
+
//sl_id generieren
function generate_sl_id() {
@@ -92,6 +106,23 @@ function generate_sl_id() {
return output;
}
-module.exports = {
- getShoppinglistsAdmin, getShoppinglistsShared, newShoppinglist
+function items_in_groups(groups, items) {
+
+ let result = [];
+
+ for(let item of groups) {
+
+ result.push({
+ group_id: item.group_id,
+ name: item.name,
+ color: item.color,
+ content: items.filter(function(obj) {return obj.group_id == item.group_id})
+ });
+ }
+
+ return result;
+}
+
+module.exports = {
+ getShoppinglistsAdmin, getShoppinglistsShared, newShoppinglist, displayShoppinglist
}
diff --git a/express-server/public/javascripts/ajax.js b/express-server/public/javascripts/ajax.js
index af181a4d..065cf1c9 100644
--- a/express-server/public/javascripts/ajax.js
+++ b/express-server/public/javascripts/ajax.js
@@ -28,9 +28,4 @@ $(document).ready(function() {
});
});
-
-
-
-
-
});
\ No newline at end of file
diff --git a/express-server/public/javascripts/test.js b/express-server/public/javascripts/test.js
new file mode 100644
index 00000000..c0f784c4
--- /dev/null
+++ b/express-server/public/javascripts/test.js
@@ -0,0 +1,27 @@
+$(document).ready(function() {
+ $.ajax({
+ type: "GET",
+ url: "/myshoppinglists",
+ success(data) {
+ for(let item of data) {
+ $(".tb_myshoppinglists").append("
" + item.name + " | " + item.description +
+ " | forward |
");
+ }
+ }
+ });
+
+ $.ajax({
+ type: "GET",
+ url: "/sharedshoppinglists",
+ success(data) {
+ for(let item of data) {
+ $(".tb_sharedshoppinglists").append("" + item.name + " | " + item.description +
+ " | forward |
");
+ }
+ }
+ });
+
+ $(document).on("click", ".btn_detail", function() {
+ window.location.replace("/shoppinglist/" + $(this).closest("tr").attr("id"));
+ });
+});
\ No newline at end of file
diff --git a/express-server/public/stylesheets/test.css b/express-server/public/stylesheets/test.css
new file mode 100644
index 00000000..e69de29b
diff --git a/express-server/routes/index.js b/express-server/routes/index.js
index 81d0ad36..ec9c306c 100644
--- a/express-server/routes/index.js
+++ b/express-server/routes/index.js
@@ -63,7 +63,7 @@ router.get("/myshoppinglists", async function(req, res, next) {
try {
//Get user id: req.session.passport.user.profile.id
- res.status(200).send(await postgres.getShoppinglistsAdmin("testuser"));
+ res.status(200).send(await postgres.getShoppinglistsAdmin("testuser1"));
}
catch(err) {
@@ -77,7 +77,7 @@ router.get("/myshoppinglists", async function(req, res, next) {
router.get("/sharedshoppinglists", async function(req, res, next) {
try {
//Get user id: req.session.passport.user.profile.id
- res.status(200).send(await postgres.getShoppinglistsShared("testuser"));
+ res.status(200).send(await postgres.getShoppinglistsShared("testuser1"));
}
catch(err) {
@@ -90,7 +90,19 @@ router.get("/sharedshoppinglists", async function(req, res, next) {
router.post("/shoppinglist", async function(req, res, next) {
try {
- res.status(200).send(await postgres.newShoppinglist(req.body.name, req.body.description, "testuser"));
+ res.status(200).send(await postgres.newShoppinglist(req.body.name, req.body.description, "testuser1"));
+ }
+
+ catch(err) {
+ res.status(400).send(await err);
+ }
+});
+
+//GET Shoppinglist detail
+
+router.get("/shoppinglist/:sl_id", async (req, res) => {
+ try {
+ res.status(200).send(await postgres.displayShoppinglist(req.params.sl_id));
}
catch(err) {
@@ -99,7 +111,7 @@ router.post("/shoppinglist", async function(req, res, next) {
});
router.get("/test1", (req, res) => {
- res.send(req.user);
+ res.render("index1");
});
module.exports = router;
diff --git a/express-server/views/index.ejs b/express-server/views/index.ejs
index 7d5f4c2b..b75ef06e 100644
--- a/express-server/views/index.ejs
+++ b/express-server/views/index.ejs
@@ -67,7 +67,6 @@
-
Meine Einkaufslisten anzeigen
diff --git a/express-server/views/index1.ejs b/express-server/views/index1.ejs
index 6d18ef62..6813f8ac 100644
--- a/express-server/views/index1.ejs
+++ b/express-server/views/index1.ejs
@@ -1,20 +1,48 @@
-
-
-
-
-
-
-
-
- Meine Einkaufslisten anzeigen
- Mit mir geteilte Einkaufslisten anzeigen
- Einkaufsliste erstellen
- Logout
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Logged in as: testuser1
+
+
+
My Shoppinglists
+
+
+ Name |
+ Description |
+ Open |
+
+
+
+
+
+
+
Shared Shoppinglists
+
+
+ Name |
+ Description |
+ Open |
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file