From 347da7709e72e4c39263532e643c69ed08485440 Mon Sep 17 00:00:00 2001 From: Connor <brockcc1@cardiff.ac.uk> Date: Mon, 4 Dec 2023 23:15:18 +0000 Subject: [PATCH] Added fields into dragonstale database as a test to further integrate QR code checking against URL path. Also added some basic window.open functionality in the JS file. --- .../Team5/SmartTowns/Landmarks/Landmarks.java | 2 +- .../SmartTowns/trails/TrailsController.java | 16 ++++++++++++---- src/main/resources/data.sql | 5 ++++- .../resources/static/images/QRAllTrails.png | Bin 0 -> 47376 bytes src/main/resources/static/qr-scanner.html | 4 ++++ src/main/resources/static/scripts/qr-script.js | 1 + 6 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/static/images/QRAllTrails.png diff --git a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java index 381ccf04..27eb07a2 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java @@ -40,6 +40,6 @@ public class Landmarks { this.landmarkName = landmarkName; this.landmarkDescription = landmarkDescription; this.landmarkLocation = landmarkLocation; } - + // ? URl check } diff --git a/src/main/java/Team5/SmartTowns/trails/TrailsController.java b/src/main/java/Team5/SmartTowns/trails/TrailsController.java index 0b9b8f6c..37548995 100644 --- a/src/main/java/Team5/SmartTowns/trails/TrailsController.java +++ b/src/main/java/Team5/SmartTowns/trails/TrailsController.java @@ -4,14 +4,12 @@ package Team5.SmartTowns.trails; import Team5.SmartTowns.Landmarks.Landmarks; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import static Team5.SmartTowns.Landmarks.Landmarks.landmarksDragonstrail; @@ -46,5 +44,15 @@ public class TrailsController { return modelAndView; } + +// // +// @GetMapping("dragonstale/{qrCode}/{id}") +// public String qrCodeCheck(@PathVariable Optional<String> qrCode, @PathVariable Optional<Integer> id){ +// if (qrCode.isPresent() && id.isPresent()){ +// //Check if ID is present, if do this, if not dfo that. +// +// } +// } + } diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index e40208ba..d3bcf192 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -54,4 +54,7 @@ insert into badgeprogress (userID, badgeID, progress) value ('2', '2', '70'); delete from stickerprogress; insert into stickerprogress (userID, stickerID, hasSticker) value ('1', '1', true); insert into stickerprogress (userID, stickerID, hasSticker) value ('1', '3', true); -insert into stickerprogress (userID, stickerID, hasSticker) value ('2', '2', true); \ No newline at end of file +insert into stickerprogress (userID, stickerID, hasSticker) value ('2', '2', true); + +insert into dragonstale (landmarkID, landmarkName, landmarkDescription) value (1, 'A scent of...Dragon', 'The Dragon has been spotted near by, find the QR code to continue'); +insert into dragonstale (landmarkID, landmarkName, landmarkDescription) value (2, 'They''ve been found!', 'Don''t let them escape, find the next QR code to continue!'); \ No newline at end of file diff --git a/src/main/resources/static/images/QRAllTrails.png b/src/main/resources/static/images/QRAllTrails.png new file mode 100644 index 0000000000000000000000000000000000000000..ed1d4465b3c286eba618b9a459b5a35295bacc8d GIT binary patch literal 47376 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/qr-scanner.html b/src/main/resources/static/qr-scanner.html index 70717775..2e93c18b 100644 --- a/src/main/resources/static/qr-scanner.html +++ b/src/main/resources/static/qr-scanner.html @@ -14,6 +14,8 @@ </head> <body> + <header th:insert="towns/Templating.html :: header"></header> + <div class="container"> <h1>Scan location QR code</h1> <div class="section"> @@ -21,5 +23,7 @@ </div> </div> </div> + + <div th:insert="towns/Templating.html :: footer"></div> </body> </html> diff --git a/src/main/resources/static/scripts/qr-script.js b/src/main/resources/static/scripts/qr-script.js index 8a80c70e..ff2bbf82 100644 --- a/src/main/resources/static/scripts/qr-script.js +++ b/src/main/resources/static/scripts/qr-script.js @@ -15,6 +15,7 @@ domReady(function (message){ function onScanSuccess(decodeText, decodeResult){ alert("You have collected: " + decodeText, decodeResult); // Open the result, what methods are available through the HTML5 Qr scanner node package? + window.open(decodeText); // Record the result, see above. // Get user and tie to user account, intergrate with database, retrieving and storing under user info. } -- GitLab