From 27cfe45cac64dc8bfd23d382d4f88f2d0a885452 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 03:13:29 +0100 Subject: [PATCH 01/96] m --- src/main/resources/templates/makeAccount.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index e323108..a757665 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -46,6 +46,7 @@

Register


type="submit" value="Volunteer"> + From ada7129538f90a29afd8a83882358846d262525f Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 03:18:52 +0100 Subject: [PATCH 02/96] m --- src/main/resources/templates/makeAccount.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index 3d5e151..fa34aef 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -42,10 +42,10 @@

Register







- - + + From a248058998d04883839a1461ece68a582d858d3a Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 03:44:25 +0100 Subject: [PATCH 03/96] m --- .../api/VolunteerMainPage.java | 3 +++ src/main/resources/templates/main.html | 23 +------------------ src/main/resources/templates/makeAccount.html | 4 ++-- 3 files changed, 6 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java diff --git a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java new file mode 100644 index 0000000..ce49362 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java @@ -0,0 +1,3 @@ +public class VolunteerMainPage{ + +} \ No newline at end of file diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index 91a1cf3..0a29b6c 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -1,24 +1,3 @@ - @@ -58,7 +37,7 @@

Login







-

Don't have an account yet? Register here

+

Don't have an account yet? Register here

\ No newline at end of file diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index fa34aef..2fc2834 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -42,9 +42,9 @@

Register







- - From 7c945cc762ee0748d48c3d6874c99a2420122e3f Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 03:44:47 +0100 Subject: [PATCH 04/96] a --- .../hackthemidlands/processblinders/Main.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index d6497ef..2a725d9 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -10,10 +10,7 @@ import spark.Spark; import spark.template.thymeleaf.ThymeleafTemplateEngine; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import static spark.Spark.*; @@ -62,24 +59,23 @@ public static void main(String[] args) { allValidUsers.add(new User()); allValidUsers.add(new User("test", "admin", "admin@admin.com", "pass")); - get("/test/test", new TestViewRoute(), new ThymeleafTemplateEngine()); - get("/hello", (req, res) -> "Hello World"); - get("/test", (req, res) -> "timer"); - get("/goodbye/:name", (req, res) -> "See ya, " + req.params(":name")); - get("/thyme", new TestViewRoute(), new ThymeleafTemplateEngine()); get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); get("/login/volunteer", new VolunteerViewRoute(), new ThymeleafTemplateEngine()); - get("/login/makeAccount", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); + + get("/login", new TestViewRoute(), new ThymeleafTemplateEngine()); path("/register", () -> { post("", (re, rs) -> { + Set params = re.queryParams(); + List expectedParams = Arrays.asList(""); + if (re.queryParams("validate") == null) { + rs.redirect("/register"); + } if (re.queryParams("validate").equalsIgnoreCase("Volunteer")) { - return "volunteer"; } return "not volunteer"; }); - - get("", (re, rs) -> "I got a GET request silly"); + get("/register", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); }); path("/dev", () -> { before("/protected", setSession); From d328d9e26d53976143947371f47e516f3e2eb9f2 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 03:52:17 +0100 Subject: [PATCH 05/96] m --- .../hackthemidlands/processblinders/Main.java | 8 ++++++-- .../processblinders/TestViewRoute.java | 16 +--------------- src/main/resources/templates/makeAccount.html | 2 +- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 2a725d9..a0114db 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -1,5 +1,6 @@ package com.hackthemidlands.processblinders; +import com.hackthemidlands.processblinders.api.Order; import com.hackthemidlands.processblinders.api.User; import lombok.Getter; import org.slf4j.Logger; @@ -22,6 +23,9 @@ public final class Main { @Getter private static final List allValidUsers = new ArrayList<>(); + @Getter + public static final List allValidOrders = new ArrayList<>(); + public static Filter setSession = (Request request, Response response) -> { if (hasCookie(request)) { String cookie = getCookie(request); @@ -66,7 +70,7 @@ public static void main(String[] args) { path("/register", () -> { post("", (re, rs) -> { Set params = re.queryParams(); - List expectedParams = Arrays.asList(""); + List expectedParams = Arrays.asList("fname", "lname", "validate", "email", "password"); if (re.queryParams("validate") == null) { rs.redirect("/register"); } @@ -75,7 +79,7 @@ public static void main(String[] args) { } return "not volunteer"; }); - get("/register", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); + get("", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); }); path("/dev", () -> { before("/protected", setSession); diff --git a/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java index 555d3a5..49662b0 100644 --- a/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java @@ -5,25 +5,11 @@ import spark.Response; import spark.TemplateViewRoute; -import java.time.Instant; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.temporal.ChronoUnit; import java.util.HashMap; -import java.util.Map; public class TestViewRoute implements TemplateViewRoute { - private int drones = 0; - public ModelAndView handle(Request request, Response response) { - Map model = new HashMap<>(); - drones++; - model.put("drones", drones); - LocalDateTime dateTime = Instant.ofEpochMilli(System.currentTimeMillis()).atZone(ZoneId.systemDefault()).toLocalDateTime(); - dateTime = dateTime.plus(1, ChronoUnit.HOURS); - model.put("startTime", dateTime.toString()); - - return new ModelAndView(model, "main"); + return new ModelAndView(new HashMap<>(), "main"); } } diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index 2fc2834..d289db1 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -41,7 +41,7 @@

Register





-


+


Date: Sat, 24 Oct 2020 05:54:10 +0100 Subject: [PATCH 06/96] logging out --- .../hackthemidlands/processblinders/Main.java | 25 +++++++++++----- .../processblinders/MakeAccountViewRoute.java | 2 +- .../processblinders/VolunteerViewRoute.java | 2 +- .../processblinders/api/User.java | 29 ++++++++++++++----- 4 files changed, 41 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index a0114db..a95d153 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -26,6 +26,7 @@ public final class Main { @Getter public static final List allValidOrders = new ArrayList<>(); + public static Filter setSession = (Request request, Response response) -> { if (hasCookie(request)) { String cookie = getCookie(request); @@ -36,6 +37,8 @@ public final class Main { } else { response.redirect("/dev/fuck-off"); } + } else { + response.redirect("/dev/fuck-off"); } }; @@ -60,8 +63,9 @@ public static void main(String[] args) { staticFileLocation("/public"); port(8080); - allValidUsers.add(new User()); - allValidUsers.add(new User("test", "admin", "admin@admin.com", "pass")); + allValidUsers.add(User.dummyVolunteer(0)); + allValidUsers.add(User.dummyVolunteer(1)); + allValidUsers.add(User.dummyVolunteer(3)); get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); get("/login/volunteer", new VolunteerViewRoute(), new ThymeleafTemplateEngine()); @@ -71,8 +75,10 @@ public static void main(String[] args) { post("", (re, rs) -> { Set params = re.queryParams(); List expectedParams = Arrays.asList("fname", "lname", "validate", "email", "password"); - if (re.queryParams("validate") == null) { + if (!expectedParams.containsAll(params)) { + // it means we do not have all of the complete form data, so we can send them back to the login page rs.redirect("/register"); + return ""; } if (re.queryParams("validate").equalsIgnoreCase("Volunteer")) { return "volunteer"; @@ -85,14 +91,19 @@ public static void main(String[] args) { before("/protected", setSession); get("/protected", (req, res) -> { User u = getUserFromEmail(getCookie(req)); + if (u == null) return ""; return "Your name is " + u.getFirstName() + " " + u.getLastName(); }); get("/fuck-off", (req, res) -> "You have been fucked off"); get("/login", (req, res) -> { - loggedInUsers.put(new User().getEmail(), new User()); - System.err.println("YOU ARE SUPPOSED TO BE LOGGED IN HERE"); - setCookie(res, new User()); - return "You have been logged in."; + User u = User.dummyVolunteer(0); + loggedInUsers.put(u.getEmail(), u); + setCookie(res, u); + return "You have been logged as: " + u.getEmail(); + }); + get("/logout", (req, res) -> { + setCookie(res, User.builder().build()); + return "You have been logged out."; }); }); } diff --git a/src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java index 874fcb9..4dc4fc4 100644 --- a/src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java @@ -10,7 +10,7 @@ public class MakeAccountViewRoute implements TemplateViewRoute { @Override - public ModelAndView handle(Request request, Response response) throws Exception { + public ModelAndView handle(Request request, Response response) { return new ModelAndView(new HashMap<>(), "makeAccount"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java index 3085403..ee562f5 100644 --- a/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java @@ -10,7 +10,7 @@ public class VolunteerViewRoute implements TemplateViewRoute { @Override - public ModelAndView handle(Request request, Response response) throws Exception { + public ModelAndView handle(Request request, Response response) { return new ModelAndView(new HashMap<>(), "volunteer"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index 15ad1c6..f743f83 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -1,30 +1,43 @@ package com.hackthemidlands.processblinders.api; +import lombok.Builder; import lombok.Data; @Data +@Builder public class User { private String firstName; private String lastName; - private boolean isVolunteer; - private String email; private String password; - public User() { - this.firstName = "Default"; - this.lastName = "Lastname"; + private boolean isVolunteer; - this.email = "test@test.test"; - this.password = "password123"; + public User(String firstName, String lastName, String email, String password) { + this(firstName, lastName, email, password, false); } - public User(String firstName, String lastName, String email, String password) { + public User(String firstName, String lastName, String email, String password, boolean isVolunteer) { this.firstName = firstName; this.lastName = lastName; this.email = email; this.password = password; + this.isVolunteer = true; + } + + public static User dummyVolunteer() { + return dummyVolunteer(0); + } + + public static User dummyVolunteer(int i) { + return new UserBuilder() + .email("dummy" + i + "@test.test") + .isVolunteer(true) + .firstName("Dummy") + .lastName(i + "") + .password("password" + i) + .build(); } } From 2b0e3273662d2a4dfdf7defd2b8d15d1a71a5e52 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 05:56:37 +0100 Subject: [PATCH 07/96] zzz --- .../processblinders/api/GoogleGeoCode.java | 122 ++++++++++++++++++ .../processblinders/api/Order.java | 1 + .../processblinders/api/User.java | 1 + .../api/VolunteerMainPage.java | 18 +++ 4 files changed, 142 insertions(+) create mode 100644 src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java diff --git a/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java b/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java new file mode 100644 index 0000000..5b9fec6 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java @@ -0,0 +1,122 @@ +package com.hackthemidlands.processblinders.api; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +public class GoogleGeoCode +{ + private static final String GEO_CODE_SERVER = "http://maps.googleapis.com/maps/api/geocode/json?"; + public static String lat, longit; + + public static void main(String args) + { + String code = args; + + String response = getLocation(code); + + String[] result = parseLocation(response); + lat = latitude(result[0]); + longit = longitude(result[1]); + } + private static String latitude(String a){ + return a; + } + + private static String longitude(String a){ + return a; + } + + private static String getLocation(String code) + { + String address = buildUrl(code); + + String content = null; + + try + { + URL url = new URL(address); + + InputStream stream = url.openStream(); + + try + { + int available = stream.available(); + + byte[] bytes = new byte[available]; + + stream.read(bytes); + + content = new String(bytes); + } + finally + { + stream.close(); + } + + return (String) content.toString(); + } + catch (IOException e) + { + throw new RuntimeException(e); + } + } + + private static String buildUrl(String code) + { + StringBuilder builder = new StringBuilder(); + + builder.append(GEO_CODE_SERVER); + + builder.append("address="); + builder.append(code.replaceAll(" ", "+")); + builder.append("&sensor=false"); + + return builder.toString(); + } + + private static String[] parseLocation(String response) + { + // Look for location using brute force. + // There are much nicer ways to do this, e.g. with Google's JSON library: Gson + // https://sites.google.com/site/gson/gson-user-guide + + String[] lines = response.split("\n"); + + String lat = null; + String lng = null; + + for (int i = 0; i < lines.length; i++) + { + if ("\"location\" : {".equals(lines[i].trim())) + { + lat = getOrdinate(lines[i+1]); + lng = getOrdinate(lines[i+2]); + break; + } + } + + return new String[] {lat, lng}; + } + + private static String getOrdinate(String s) + { + String[] split = s.trim().split(" "); + + if (split.length < 1) + { + return null; + } + + String ord = split[split.length - 1]; + + if (ord.endsWith(",")) + { + ord = ord.substring(0, ord.length() - 1); + } + + // Check that the result is a valid double + Double.parseDouble(ord); + + return ord; + } +} \ No newline at end of file diff --git a/src/main/java/com/hackthemidlands/processblinders/api/Order.java b/src/main/java/com/hackthemidlands/processblinders/api/Order.java index f4aada5..e00de66 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/Order.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/Order.java @@ -11,5 +11,6 @@ public class Order { private double maxPrice; private String location; private OrderStatus status; + private User user; //time window? } diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index 15ad1c6..14c7fb2 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -12,6 +12,7 @@ public class User { private String email; private String password; + private String postcode; public User() { this.firstName = "Default"; diff --git a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java index ce49362..fa7bf6a 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java @@ -1,3 +1,21 @@ +import com.hackthemidlands.processblinders.api.GoogleGeoCode; + public class VolunteerMainPage{ + public static void main(String[] argv){ + // Main.getAllValidOrders().stream().filter(o -> o.getUser().getPostcode()); + getLatitudeAndLongitude("B15 3AS"); + } + + public static void getLatitudeAndLongitude(String postcode){ + GoogleGeoCode.main(postcode); + String la = GoogleGeoCode.lat; + String lon = GoogleGeoCode.longit; + int a = Integer.parseInt(la); + int b = Integer.parseInt(lon); + System.out.println(a + " " + b); + } + public static int calculateDistance(String postcodeUser, String postcodeVolunteer){ + return 0; + } } \ No newline at end of file From fd8a0550ce893dd37c3ea0ebce007fa3f4077932 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 06:16:55 +0100 Subject: [PATCH 08/96] geolocate tidyup --- .../hackthemidlands/processblinders/Main.java | 6 ++++- .../processblinders/api/GoogleGeoCode.java | 25 +++++++++++-------- .../processblinders/api/User.java | 12 --------- .../api/VolunteerMainPage.java | 9 ++++--- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index a95d153..9c4ed44 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -70,7 +70,11 @@ public static void main(String[] args) { get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); get("/login/volunteer", new VolunteerViewRoute(), new ThymeleafTemplateEngine()); - get("/login", new TestViewRoute(), new ThymeleafTemplateEngine()); + path("/login", () -> { + get("", new TestViewRoute(), new ThymeleafTemplateEngine()); + post("",(re,rs)-> ""); + }); + path("/register", () -> { post("", (re, rs) -> { Set params = re.queryParams(); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java b/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java index 5b9fec6..a4c9b9c 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java @@ -1,32 +1,35 @@ package com.hackthemidlands.processblinders.api; +import lombok.Getter; + import java.io.IOException; import java.io.InputStream; import java.net.URL; public class GoogleGeoCode { - private static final String GEO_CODE_SERVER = "http://maps.googleapis.com/maps/api/geocode/json?"; - public static String lat, longit; + private final String GEO_CODE_SERVER = "http://maps.googleapis.com/maps/api/geocode/json?"; + + @Getter + private String lat, longit; - public static void main(String args) + public void main(String args) { - String code = args; - String response = getLocation(code); + String response = getLocation(args); String[] result = parseLocation(response); lat = latitude(result[0]); longit = longitude(result[1]); } - private static String latitude(String a){ + private String latitude(String a){ return a; } - private static String longitude(String a){ + private String longitude(String a){ return a; } - private static String getLocation(String code) + private String getLocation(String code) { String address = buildUrl(code); @@ -61,7 +64,7 @@ private static String getLocation(String code) } } - private static String buildUrl(String code) + private String buildUrl(String code) { StringBuilder builder = new StringBuilder(); @@ -74,7 +77,7 @@ private static String buildUrl(String code) return builder.toString(); } - private static String[] parseLocation(String response) + private String[] parseLocation(String response) { // Look for location using brute force. // There are much nicer ways to do this, e.g. with Google's JSON library: Gson @@ -98,7 +101,7 @@ private static String[] parseLocation(String response) return new String[] {lat, lng}; } - private static String getOrdinate(String s) + private String getOrdinate(String s) { String[] split = s.trim().split(" "); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index c873912..1bd646a 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -16,18 +16,6 @@ public class User { private boolean isVolunteer; - public User(String firstName, String lastName, String email, String password) { - this(firstName, lastName, email, password, false); - } - - public User(String firstName, String lastName, String email, String password, boolean isVolunteer) { - this.firstName = firstName; - this.lastName = lastName; - this.email = email; - this.password = password; - this.isVolunteer = true; - } - public static User dummyVolunteer() { return dummyVolunteer(0); } diff --git a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java index fa7bf6a..7858011 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java @@ -1,3 +1,5 @@ +package com.hackthemidlands.processblinders.api; + import com.hackthemidlands.processblinders.api.GoogleGeoCode; public class VolunteerMainPage{ @@ -7,9 +9,10 @@ public static void main(String[] argv){ } public static void getLatitudeAndLongitude(String postcode){ - GoogleGeoCode.main(postcode); - String la = GoogleGeoCode.lat; - String lon = GoogleGeoCode.longit; + GoogleGeoCode gc = new GoogleGeoCode(); + gc.main(postcode); + String la = gc.getLat(); + String lon = gc.getLongit(); int a = Integer.parseInt(la); int b = Integer.parseInt(lon); System.out.println(a + " " + b); From 10140f6eb8339d10e2327de7411b97f15b8b9bf7 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 06:54:18 +0100 Subject: [PATCH 09/96] account creation working properly now --- dependency-reduced-pom.xml | 107 ++++++++++-------- .../hackthemidlands/processblinders/Main.java | 20 +++- .../api/VolunteerMainPage.java | 1 + src/main/resources/templates/main.html | 2 +- 4 files changed, 75 insertions(+), 55 deletions(-) diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 774a654..9ee1ccd 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -1,53 +1,60 @@ - - 4.0.0 - com.hackthemidlands.processblinders - HackTheMidlands - 0.0.1 - - - - maven-compiler-plugin - 3.5.1 - - 1.8 - 1.8 - - - - maven-jar-plugin - 3.1.0 - - - - true - lib/ - com.hackthemidlands.processblinders.Main - - - - - - maven-shade-plugin - 2.4.3 - - - package - - shade - - - - - com.hackthemidlands.processblinders.Main - - - - - - - - + + 4.0.0 + com.hackthemidlands.processblinders + HackTheMidlands + 0.0.1 + + + + maven-compiler-plugin + 3.5.1 + + 1.8 + 1.8 + + + + maven-jar-plugin + 3.1.0 + + + + true + lib/ + com.hackthemidlands.processblinders.Main + + + + + + maven-shade-plugin + 2.4.3 + + + package + + shade + + + + + com.hackthemidlands.processblinders.Main + + + + + + + + + + + org.projectlombok + lombok + 1.18.16 + provided + + diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 9c4ed44..4ba67dc 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -72,7 +72,9 @@ public static void main(String[] args) { path("/login", () -> { get("", new TestViewRoute(), new ThymeleafTemplateEngine()); - post("",(re,rs)-> ""); + post("", (re, rs) -> { + return ""; + }); }); path("/register", () -> { @@ -84,10 +86,20 @@ public static void main(String[] args) { rs.redirect("/register"); return ""; } - if (re.queryParams("validate").equalsIgnoreCase("Volunteer")) { - return "volunteer"; + boolean volunteer = re.queryParams("validate").equalsIgnoreCase("Volunteer"); + User u = User.builder() + .firstName(re.queryParams("fname")) + .lastName(re.queryParams("lname")) + .isVolunteer(re.queryParams("validate").equalsIgnoreCase("volunteer")) + .email(re.queryParams("email")) + .password(re.queryParams("password")) + .build(); + addNewUserToDatabase(u); + setCookie(rs, u);// logs in the user + if (volunteer) { + return "Welcome new Volunteer!"; } - return "not volunteer"; + return "Welcome new client!"; }); get("", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); }); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java index 7858011..38deed7 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java @@ -13,6 +13,7 @@ public static void getLatitudeAndLongitude(String postcode){ gc.main(postcode); String la = gc.getLat(); String lon = gc.getLongit(); + if (la == null || lon == null) return; int a = Integer.parseInt(la); int b = Integer.parseInt(lon); System.out.println(a + " " + b); diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index 0a29b6c..1a02b4d 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -31,7 +31,7 @@

Login


-
+

From 485b64d23b5a15a5dd54edcc5e2acfe09232e66d Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 07:08:15 +0100 Subject: [PATCH 10/96] working login panel --- .../com/hackthemidlands/processblinders/Main.java | 15 ++++++++++++--- src/main/resources/templates/main.html | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 4ba67dc..b68d17b 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -73,15 +73,24 @@ public static void main(String[] args) { path("/login", () -> { get("", new TestViewRoute(), new ThymeleafTemplateEngine()); post("", (re, rs) -> { - return ""; + Set params = re.queryParams(); + if (!params.containsAll(Arrays.asList("email", "password"))) { + // rs.redirect("/login"); + return "Invalid login credentials"; + } + User u = findUserFromDatabase(re.queryParams("email")); + if (u == null || !u.getPassword().equals(re.queryParams("password"))) { + return "Invalid login credentials"; + } + setCookie(rs, u); + return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); }); }); path("/register", () -> { post("", (re, rs) -> { Set params = re.queryParams(); - List expectedParams = Arrays.asList("fname", "lname", "validate", "email", "password"); - if (!expectedParams.containsAll(params)) { + if (!params.containsAll(Arrays.asList("fname", "lname", "validate", "email", "password"))) { // it means we do not have all of the complete form data, so we can send them back to the login page rs.redirect("/register"); return ""; diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index 1a02b4d..25ea0f7 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -33,7 +33,7 @@

Login



-
+





From 6d084d355616f296c7109e6cf4634dfb6a5a6211 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 07:22:26 +0100 Subject: [PATCH 11/96] adding README.md --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4d96be --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# help-the-midlands +Submission for HackTheMidlands 5.0 + +## Categories +- Making IT Good For Society +- Supporting The Fight Against COVID-19 +- Helping Your Local Community + +## Concept + +HelpTheMidlands is a web application designed to allow people to volunteer in their local communities by picking up shopping for those currently isolating due to coronavirus, or those who are older and may find it difficult to go to the shops. + +This app has been designed with simplicity in mind, as we find that many online stores make it confusing for the elderly to place an order then setup a delivery slot. + +The person who needs help makes a request (shopping list) for each item of shopping they need, with a note of their budget and their preferred store. (Could be the local corner shop as opposed to be a chain) + +A request is then sent out to nearby volunteers, who can then accept it and buy the shopping. \ No newline at end of file From b68b8886ae7c339011a7278acb5dd4e157bcde53 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 08:24:07 +0100 Subject: [PATCH 12/96] cleaning up code a little bit --- dependency-reduced-pom.xml | 115 +++++++++--------- .../hackthemidlands/processblinders/Main.java | 82 +++---------- .../processblinders/VolunteerViewRoute.java | 16 --- .../processblinders/api/GoogleGeoCode.java | 56 ++++----- .../api/VolunteerMainPage.java | 28 ++--- .../processblinders/util/CookieUtil.java | 21 ++++ .../processblinders/util/FilterUtil.java | 29 +++++ .../processblinders/util/UserUtil.java | 39 ++++++ src/main/resources/templates/makeAccount.html | 10 +- src/main/resources/templates/volunteer.html | 12 -- 10 files changed, 201 insertions(+), 207 deletions(-) delete mode 100644 src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java create mode 100644 src/main/java/com/hackthemidlands/processblinders/util/CookieUtil.java create mode 100644 src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java create mode 100644 src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java delete mode 100644 src/main/resources/templates/volunteer.html diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 9ee1ccd..db22dce 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -1,60 +1,61 @@ - - 4.0.0 - com.hackthemidlands.processblinders - HackTheMidlands - 0.0.1 - - - - maven-compiler-plugin - 3.5.1 - - 1.8 - 1.8 - - - - maven-jar-plugin - 3.1.0 - - - - true - lib/ - com.hackthemidlands.processblinders.Main - - - - - - maven-shade-plugin - 2.4.3 - - - package - - shade - - - - - com.hackthemidlands.processblinders.Main - - - - - - - - - - - org.projectlombok - lombok - 1.18.16 - provided - - + + 4.0.0 + com.hackthemidlands.processblinders + HackTheMidlands + 0.0.1 + + + + maven-compiler-plugin + 3.5.1 + + 1.8 + 1.8 + + + + maven-jar-plugin + 3.1.0 + + + + true + lib/ + com.hackthemidlands.processblinders.Main + + + + + + maven-shade-plugin + 2.4.3 + + + package + + shade + + + + + com.hackthemidlands.processblinders.Main + + + + + + + + + + + org.projectlombok + lombok + 1.18.16 + provided + + diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index b68d17b..9cb56ec 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -5,70 +5,36 @@ import lombok.Getter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import spark.Filter; -import spark.Request; -import spark.Response; import spark.Spark; import spark.template.thymeleaf.ThymeleafTemplateEngine; -import java.util.*; - +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; +import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; +import static com.hackthemidlands.processblinders.util.FilterUtil.requiresLogin; +import static com.hackthemidlands.processblinders.util.UserUtil.*; import static spark.Spark.*; public final class Main { - private static final Logger logger = LoggerFactory.getLogger(Main.class); - private static final Map loggedInUsers = new HashMap<>(); - - @Getter - private static final List allValidUsers = new ArrayList<>(); - @Getter public static final List allValidOrders = new ArrayList<>(); - - - public static Filter setSession = (Request request, Response response) -> { - if (hasCookie(request)) { - String cookie = getCookie(request); - System.out.println(cookie); - User user = getUserFromEmail(cookie); - if (user != null) { - loggedInUsers.put(user.getEmail(), user); - } else { - response.redirect("/dev/fuck-off"); - } - } else { - response.redirect("/dev/fuck-off"); - } - }; - - public static boolean addNewUserToDatabase(User user) { - if (findUserFromDatabase(user.getEmail()) != null) { - return false; - } - allValidUsers.add(user); - return true; - } - - public static User findUserFromDatabase(String email) { - return allValidUsers.stream().filter(u -> u.getEmail().equalsIgnoreCase(email)).findFirst().orElse(null); - } - - public static boolean isLoggedIn(User user) { - return loggedInUsers.containsValue(user); - } + private static final Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { Spark.exception(Exception.class, (exception, request, response) -> exception.printStackTrace()); // allow spark to internally handle exceptions staticFileLocation("/public"); port(8080); - allValidUsers.add(User.dummyVolunteer(0)); - allValidUsers.add(User.dummyVolunteer(1)); - allValidUsers.add(User.dummyVolunteer(3)); + getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); - get("/login/volunteer", new VolunteerViewRoute(), new ThymeleafTemplateEngine()); path("/login", () -> { get("", new TestViewRoute(), new ThymeleafTemplateEngine()); @@ -113,16 +79,15 @@ public static void main(String[] args) { get("", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); }); path("/dev", () -> { - before("/protected", setSession); + before("/protected", requiresLogin); get("/protected", (req, res) -> { User u = getUserFromEmail(getCookie(req)); if (u == null) return ""; return "Your name is " + u.getFirstName() + " " + u.getLastName(); }); - get("/fuck-off", (req, res) -> "You have been fucked off"); get("/login", (req, res) -> { User u = User.dummyVolunteer(0); - loggedInUsers.put(u.getEmail(), u); + getLoggedInUsers().put(u.getEmail(), u); setCookie(res, u); return "You have been logged as: " + u.getEmail(); }); @@ -132,21 +97,4 @@ public static void main(String[] args) { }); }); } - - public static void setCookie(Response response, User user) { - response.cookie("/", "email", user.getEmail(), -1, false); - } - - public static boolean hasCookie(Request request) { - return request.cookie("email") != null; - } - - public static String getCookie(Request request) { - return request.cookie("email"); - } - - public static User getUserFromEmail(String email) { - return findUserFromDatabase(email); - } - } \ No newline at end of file diff --git a/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java deleted file mode 100644 index ee562f5..0000000 --- a/src/main/java/com/hackthemidlands/processblinders/VolunteerViewRoute.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.hackthemidlands.processblinders; - -import spark.ModelAndView; -import spark.Request; -import spark.Response; -import spark.TemplateViewRoute; - -import java.util.HashMap; - -public class VolunteerViewRoute implements TemplateViewRoute { - - @Override - public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "volunteer"); - } -} diff --git a/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java b/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java index a4c9b9c..49a4839 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/GoogleGeoCode.java @@ -1,19 +1,18 @@ package com.hackthemidlands.processblinders.api; + import lombok.Getter; import java.io.IOException; import java.io.InputStream; import java.net.URL; -public class GoogleGeoCode -{ +public class GoogleGeoCode { private final String GEO_CODE_SERVER = "http://maps.googleapis.com/maps/api/geocode/json?"; @Getter private String lat, longit; - public void main(String args) - { + public void main(String args) { String response = getLocation(args); @@ -21,28 +20,26 @@ public void main(String args) lat = latitude(result[0]); longit = longitude(result[1]); } - private String latitude(String a){ + + private String latitude(String a) { return a; } - private String longitude(String a){ + private String longitude(String a) { return a; } - private String getLocation(String code) - { + private String getLocation(String code) { String address = buildUrl(code); String content = null; - try - { + try { URL url = new URL(address); InputStream stream = url.openStream(); - try - { + try { int available = stream.available(); byte[] bytes = new byte[available]; @@ -50,22 +47,17 @@ private String getLocation(String code) stream.read(bytes); content = new String(bytes); - } - finally - { + } finally { stream.close(); } return (String) content.toString(); - } - catch (IOException e) - { + } catch (IOException e) { throw new RuntimeException(e); } } - private String buildUrl(String code) - { + private String buildUrl(String code) { StringBuilder builder = new StringBuilder(); builder.append(GEO_CODE_SERVER); @@ -77,8 +69,7 @@ private String buildUrl(String code) return builder.toString(); } - private String[] parseLocation(String response) - { + private String[] parseLocation(String response) { // Look for location using brute force. // There are much nicer ways to do this, e.g. with Google's JSON library: Gson // https://sites.google.com/site/gson/gson-user-guide @@ -88,32 +79,27 @@ private String[] parseLocation(String response) String lat = null; String lng = null; - for (int i = 0; i < lines.length; i++) - { - if ("\"location\" : {".equals(lines[i].trim())) - { - lat = getOrdinate(lines[i+1]); - lng = getOrdinate(lines[i+2]); + for (int i = 0; i < lines.length; i++) { + if ("\"location\" : {".equals(lines[i].trim())) { + lat = getOrdinate(lines[i + 1]); + lng = getOrdinate(lines[i + 2]); break; } } - return new String[] {lat, lng}; + return new String[]{lat, lng}; } - private String getOrdinate(String s) - { + private String getOrdinate(String s) { String[] split = s.trim().split(" "); - if (split.length < 1) - { + if (split.length < 1) { return null; } String ord = split[split.length - 1]; - if (ord.endsWith(",")) - { + if (ord.endsWith(",")) { ord = ord.substring(0, ord.length() - 1); } diff --git a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java index 38deed7..e241b95 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java @@ -1,25 +1,23 @@ package com.hackthemidlands.processblinders.api; -import com.hackthemidlands.processblinders.api.GoogleGeoCode; - -public class VolunteerMainPage{ - public static void main(String[] argv){ - // Main.getAllValidOrders().stream().filter(o -> o.getUser().getPostcode()); +public class VolunteerMainPage { + public static void main(String[] argv) { + // Main.getAllValidOrders().stream().filter(o -> o.getUser().getPostcode()); getLatitudeAndLongitude("B15 3AS"); } - public static void getLatitudeAndLongitude(String postcode){ - GoogleGeoCode gc = new GoogleGeoCode(); - gc.main(postcode); - String la = gc.getLat(); - String lon = gc.getLongit(); - if (la == null || lon == null) return; - int a = Integer.parseInt(la); - int b = Integer.parseInt(lon); - System.out.println(a + " " + b); + public static void getLatitudeAndLongitude(String postcode) { + GoogleGeoCode gc = new GoogleGeoCode(); + gc.main(postcode); + String la = gc.getLat(); + String lon = gc.getLongit(); + if (la == null || lon == null) return; + int a = Integer.parseInt(la); + int b = Integer.parseInt(lon); + System.out.println(a + " " + b); } - public static int calculateDistance(String postcodeUser, String postcodeVolunteer){ + public static int calculateDistance(String postcodeUser, String postcodeVolunteer) { return 0; } } \ No newline at end of file diff --git a/src/main/java/com/hackthemidlands/processblinders/util/CookieUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/CookieUtil.java new file mode 100644 index 0000000..8e02bc8 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/util/CookieUtil.java @@ -0,0 +1,21 @@ +package com.hackthemidlands.processblinders.util; + +import com.hackthemidlands.processblinders.api.User; +import spark.Request; +import spark.Response; + +public class CookieUtil { + + public static void setCookie(Response response, User user) { + response.cookie("/", "email", user.getEmail(), -1, false); + } + + public static boolean hasCookie(Request request) { + return request.cookie("email") != null; + } + + public static String getCookie(Request request) { + return request.cookie("email"); + } + +} diff --git a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java new file mode 100644 index 0000000..59c9ae5 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java @@ -0,0 +1,29 @@ +package com.hackthemidlands.processblinders.util; + +import com.hackthemidlands.processblinders.api.User; +import spark.Filter; +import spark.Request; +import spark.Response; + +import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; +import static com.hackthemidlands.processblinders.util.CookieUtil.hasCookie; +import static com.hackthemidlands.processblinders.util.UserUtil.getLoggedInUsers; +import static com.hackthemidlands.processblinders.util.UserUtil.getUserFromEmail; + +public class FilterUtil { + + public static Filter requiresLogin = (Request request, Response response) -> { + if (hasCookie(request)) { + String cookie = getCookie(request); + System.out.println(cookie); + User user = getUserFromEmail(cookie); + if (user != null) { + getLoggedInUsers().put(user.getEmail(), user); + } else { + response.redirect("/login"); + } + } else { + response.redirect("/login"); + } + }; +} diff --git a/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java new file mode 100644 index 0000000..14af0f0 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java @@ -0,0 +1,39 @@ +package com.hackthemidlands.processblinders.util; + +import com.hackthemidlands.processblinders.api.User; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class UserUtil { + + @Getter + private static final Map loggedInUsers = new HashMap<>(); + + @Getter + private static final List allValidUsers = new ArrayList<>(); + + + public static boolean addNewUserToDatabase(User user) { + if (findUserFromDatabase(user.getEmail()) != null) { + return false; + } + allValidUsers.add(user); + return true; + } + + public static User findUserFromDatabase(String email) { + return allValidUsers.stream().filter(u -> u.getEmail().equalsIgnoreCase(email)).findFirst().orElse(null); + } + + public static boolean isLoggedIn(User user) { + return loggedInUsers.containsValue(user); + } + + public static User getUserFromEmail(String email) { + return findUserFromDatabase(email); + } +} diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index d289db1..66618ed 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -37,15 +37,15 @@

Register


-
+





- - + +
diff --git a/src/main/resources/templates/volunteer.html b/src/main/resources/templates/volunteer.html deleted file mode 100644 index 9596126..0000000 --- a/src/main/resources/templates/volunteer.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - Volunteer - - -

Login


-
-
-

Don't have an account yet ? Register here

- - \ No newline at end of file From 2af5ec9dda67963296a4da1c323481c7d597c722 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 08:46:09 +0100 Subject: [PATCH 13/96] Cleaning up main class --- .../hackthemidlands/processblinders/Main.java | 73 +++---------------- .../processblinders/pages/DevPage.java | 34 +++++++++ .../processblinders/pages/LoginPage.java | 37 ++++++++++ .../processblinders/pages/RegisterPage.java | 46 ++++++++++++ 4 files changed, 129 insertions(+), 61 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java create mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java create mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 9cb56ec..8f1cb7b 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -2,6 +2,9 @@ import com.hackthemidlands.processblinders.api.Order; import com.hackthemidlands.processblinders.api.User; +import com.hackthemidlands.processblinders.pages.DevPage; +import com.hackthemidlands.processblinders.pages.LoginPage; +import com.hackthemidlands.processblinders.pages.RegisterPage; import lombok.Getter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -9,16 +12,11 @@ import spark.template.thymeleaf.ThymeleafTemplateEngine; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; import java.util.stream.IntStream; -import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; -import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; -import static com.hackthemidlands.processblinders.util.FilterUtil.requiresLogin; -import static com.hackthemidlands.processblinders.util.UserUtil.*; +import static com.hackthemidlands.processblinders.util.UserUtil.getAllValidUsers; import static spark.Spark.*; public final class Main { @@ -37,64 +35,17 @@ public static void main(String[] args) { get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); path("/login", () -> { - get("", new TestViewRoute(), new ThymeleafTemplateEngine()); - post("", (re, rs) -> { - Set params = re.queryParams(); - if (!params.containsAll(Arrays.asList("email", "password"))) { - // rs.redirect("/login"); - return "Invalid login credentials"; - } - User u = findUserFromDatabase(re.queryParams("email")); - if (u == null || !u.getPassword().equals(re.queryParams("password"))) { - return "Invalid login credentials"; - } - setCookie(rs, u); - return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); - }); + LoginPage loginPage = new LoginPage(); + get("", loginPage, new ThymeleafTemplateEngine()); + post("", loginPage.post); }); path("/register", () -> { - post("", (re, rs) -> { - Set params = re.queryParams(); - if (!params.containsAll(Arrays.asList("fname", "lname", "validate", "email", "password"))) { - // it means we do not have all of the complete form data, so we can send them back to the login page - rs.redirect("/register"); - return ""; - } - boolean volunteer = re.queryParams("validate").equalsIgnoreCase("Volunteer"); - User u = User.builder() - .firstName(re.queryParams("fname")) - .lastName(re.queryParams("lname")) - .isVolunteer(re.queryParams("validate").equalsIgnoreCase("volunteer")) - .email(re.queryParams("email")) - .password(re.queryParams("password")) - .build(); - addNewUserToDatabase(u); - setCookie(rs, u);// logs in the user - if (volunteer) { - return "Welcome new Volunteer!"; - } - return "Welcome new client!"; - }); - get("", new MakeAccountViewRoute(), new ThymeleafTemplateEngine()); - }); - path("/dev", () -> { - before("/protected", requiresLogin); - get("/protected", (req, res) -> { - User u = getUserFromEmail(getCookie(req)); - if (u == null) return ""; - return "Your name is " + u.getFirstName() + " " + u.getLastName(); - }); - get("/login", (req, res) -> { - User u = User.dummyVolunteer(0); - getLoggedInUsers().put(u.getEmail(), u); - setCookie(res, u); - return "You have been logged as: " + u.getEmail(); - }); - get("/logout", (req, res) -> { - setCookie(res, User.builder().build()); - return "You have been logged out."; - }); + RegisterPage registerPage = new RegisterPage(); + post("", registerPage.post); + get("", registerPage, new ThymeleafTemplateEngine()); }); + + path("/dev", new DevPage().getRoutes); } } \ No newline at end of file diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java new file mode 100644 index 0000000..7eb388a --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java @@ -0,0 +1,34 @@ +package com.hackthemidlands.processblinders.pages; + +import com.hackthemidlands.processblinders.api.User; +import spark.RouteGroup; + +import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; +import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; +import static com.hackthemidlands.processblinders.util.FilterUtil.requiresLogin; +import static com.hackthemidlands.processblinders.util.UserUtil.getLoggedInUsers; +import static com.hackthemidlands.processblinders.util.UserUtil.getUserFromEmail; +import static spark.Spark.before; +import static spark.Spark.get; + +public class DevPage { + + public RouteGroup getRoutes = () -> { + before("/protected", requiresLogin); + get("/protected", (req, res) -> { + User u = getUserFromEmail(getCookie(req)); + if (u == null) return ""; + return "Your name is " + u.getFirstName() + " " + u.getLastName(); + }); + get("/login", (req, res) -> { + User u = User.dummyVolunteer(0); + getLoggedInUsers().put(u.getEmail(), u); + setCookie(res, u); + return "You have been logged as: " + u.getEmail(); + }); + get("/logout", (req, res) -> { + setCookie(res, User.builder().build()); + return "You have been logged out."; + }); + }; +} diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java new file mode 100644 index 0000000..5b7d009 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java @@ -0,0 +1,37 @@ +package com.hackthemidlands.processblinders.pages; + +import com.hackthemidlands.processblinders.api.User; +import spark.*; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Set; + +import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; +import static com.hackthemidlands.processblinders.util.UserUtil.findUserFromDatabase; + +public class LoginPage implements TemplateViewRoute { + + // HTTP GET + + public Route post = (Request request, Response response) -> { + Set params = request.queryParams(); + if (!params.containsAll(Arrays.asList("email", "password"))) { + // rs.redirect("/login"); + return "Invalid login credentials"; + } + User u = findUserFromDatabase(request.queryParams("email")); + if (u == null || !u.getPassword().equals(request.queryParams("password"))) { + return "Invalid login credentials"; + } + setCookie(response, u); + return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); + }; + + // HTTP POST + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "main"); + } +} diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java new file mode 100644 index 0000000..79abd63 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -0,0 +1,46 @@ +package com.hackthemidlands.processblinders.pages; + +import com.hackthemidlands.processblinders.api.User; +import spark.*; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Set; + +import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; +import static com.hackthemidlands.processblinders.util.UserUtil.addNewUserToDatabase; + +public class RegisterPage implements TemplateViewRoute { + + // HTTP GET + + public Route post = (Request request, Response response) -> { + Set params = request.queryParams(); + if (!params.containsAll(Arrays.asList("fname", "lname", "validate", "email", "password"))) { + // it means we do not have all of the complete form data, so we can send them back to the login page + response.redirect("/register"); + return ""; + } + boolean volunteer = request.queryParams("validate").equalsIgnoreCase("Volunteer"); + User u = User.builder() + .firstName(request.queryParams("fname")) + .lastName(request.queryParams("lname")) + .isVolunteer(request.queryParams("validate").equalsIgnoreCase("volunteer")) + .email(request.queryParams("email")) + .password(request.queryParams("password")) + .build(); + addNewUserToDatabase(u); + setCookie(response, u);// logs in the user + if (volunteer) { + return "Welcome new Volunteer!"; + } + return "Welcome new client!"; + }; + + // HTTP POST + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "makeAccount"); + } +} From 45d2d51f5aad3e22a529b7cd9f90270221df7ad8 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 08:51:49 +0100 Subject: [PATCH 14/96] code actually compiles now --- .../com/hackthemidlands/processblinders/Main.java | 2 +- .../processblinders/TestViewRoute.java | 15 --------------- .../processblinders/pages/DevPage.java | 8 +++----- .../processblinders/util/FilterUtil.java | 6 ++---- 4 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 8f1cb7b..23c099a 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -16,7 +16,7 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; -import static com.hackthemidlands.processblinders.util.UserUtil.getAllValidUsers; +import static com.hackthemidlands.processblinders.util.UserUtil.*; import static spark.Spark.*; public final class Main { diff --git a/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java deleted file mode 100644 index 49662b0..0000000 --- a/src/main/java/com/hackthemidlands/processblinders/TestViewRoute.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hackthemidlands.processblinders; - -import spark.ModelAndView; -import spark.Request; -import spark.Response; -import spark.TemplateViewRoute; - -import java.util.HashMap; - -public class TestViewRoute implements TemplateViewRoute { - - public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "main"); - } -} diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java index 7eb388a..555b2f1 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java @@ -3,11 +3,9 @@ import com.hackthemidlands.processblinders.api.User; import spark.RouteGroup; -import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; -import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; -import static com.hackthemidlands.processblinders.util.FilterUtil.requiresLogin; -import static com.hackthemidlands.processblinders.util.UserUtil.getLoggedInUsers; -import static com.hackthemidlands.processblinders.util.UserUtil.getUserFromEmail; +import static com.hackthemidlands.processblinders.util.CookieUtil.*; +import static com.hackthemidlands.processblinders.util.FilterUtil.*; +import static com.hackthemidlands.processblinders.util.UserUtil.*; import static spark.Spark.before; import static spark.Spark.get; diff --git a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java index 59c9ae5..ea3e40c 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java @@ -5,10 +5,8 @@ import spark.Request; import spark.Response; -import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; -import static com.hackthemidlands.processblinders.util.CookieUtil.hasCookie; -import static com.hackthemidlands.processblinders.util.UserUtil.getLoggedInUsers; -import static com.hackthemidlands.processblinders.util.UserUtil.getUserFromEmail; +import static com.hackthemidlands.processblinders.util.CookieUtil.*; +import static com.hackthemidlands.processblinders.util.UserUtil.*; public class FilterUtil { From 2ea2c747bb4346740e141179acd14f39b1c035ed Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 13:05:19 +0100 Subject: [PATCH 15/96] zzz --- src/main/resources/templates/makeAccount.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index 66618ed..3d9a500 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -43,9 +43,9 @@

Register






+ type="submit" value="Volunteer"> + type="submit" value="Support">
From 1e638af8ee483b5d196f0e846de8f273ff5f592f Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sat, 24 Oct 2020 15:23:39 +0100 Subject: [PATCH 16/96] add OrderUtil.java --- dependency-reduced-pom.xml | 115 +++++++++--------- .../processblinders/api/Order.java | 6 + .../processblinders/util/OrderUtil.java | 35 ++++++ 3 files changed, 98 insertions(+), 58 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index db22dce..9ee1ccd 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -1,61 +1,60 @@ - - 4.0.0 - com.hackthemidlands.processblinders - HackTheMidlands - 0.0.1 - - - - maven-compiler-plugin - 3.5.1 - - 1.8 - 1.8 - - - - maven-jar-plugin - 3.1.0 - - - - true - lib/ - com.hackthemidlands.processblinders.Main - - - - - - maven-shade-plugin - 2.4.3 - - - package - - shade - - - - - com.hackthemidlands.processblinders.Main - - - - - - - - - - - org.projectlombok - lombok - 1.18.16 - provided - - + + 4.0.0 + com.hackthemidlands.processblinders + HackTheMidlands + 0.0.1 + + + + maven-compiler-plugin + 3.5.1 + + 1.8 + 1.8 + + + + maven-jar-plugin + 3.1.0 + + + + true + lib/ + com.hackthemidlands.processblinders.Main + + + + + + maven-shade-plugin + 2.4.3 + + + package + + shade + + + + + com.hackthemidlands.processblinders.Main + + + + + + + + + + + org.projectlombok + lombok + 1.18.16 + provided + + diff --git a/src/main/java/com/hackthemidlands/processblinders/api/Order.java b/src/main/java/com/hackthemidlands/processblinders/api/Order.java index e00de66..cdc2847 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/Order.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/Order.java @@ -8,9 +8,15 @@ @Data public class Order { private List shopList = new ArrayList<>(); + private int id; private double maxPrice; private String location; private OrderStatus status; private User user; + + public int getID(){ + return this.id; + } //time window? + // Time sent?? } diff --git a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java new file mode 100644 index 0000000..18c4168 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java @@ -0,0 +1,35 @@ +package com.hackthemidlands.processblinders.util; + +import com.hackthemidlands.processblinders.api.Order; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class OrderUtil { + + @Getter + private static final Map loggedInUsers = new HashMap<>(); + + @Getter + private static final List allValidUsers = new ArrayList<>(); + + + public static boolean addNewOrderToDatabase(Order order) { + if (findOrderFromDatabase(order.getID()) != null) { + return false; + } + allValidOrders.add(order); + return true; + } + + public static Order findOrderFromDatabase(Int id) { + return allValidOrder.stream().filter(o -> o.getID().equalsIgnoreCase(id)).findFirst().orElse(null); + } + + public static boolean isPending(Order order) { + return order.getStatus()==0; + } +} From 62255441130086cbe78cd9a7fcc9f202e4a34bf2 Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sat, 24 Oct 2020 15:30:20 +0100 Subject: [PATCH 17/96] Fix findOrderFromDatabase() --- .../com/hackthemidlands/processblinders/util/OrderUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java index 18c4168..8ede068 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java @@ -26,7 +26,7 @@ public static boolean addNewOrderToDatabase(Order order) { } public static Order findOrderFromDatabase(Int id) { - return allValidOrder.stream().filter(o -> o.getID().equalsIgnoreCase(id)).findFirst().orElse(null); + return allValidOrder.stream().filter(o -> o.getID()==id).findFirst().orElse(null); } public static boolean isPending(Order order) { From 7164556c1f5324448b719d07fae868ab672a5679 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 15:30:56 +0100 Subject: [PATCH 18/96] zzz --- .../hackthemidlands/processblinders/Main.java | 3 +++ .../processblinders/VolunteerPageViewRoute.java | 16 ++++++++++++++++ .../processblinders/api/VolunteerMainPage.java | 16 +++++++++++++++- .../processblinders/pages/LoginPage.java | 5 +++++ .../UserPageViewRoute.java} | 4 ++-- src/main/resources/templates/userPage.html | 12 ++++++++++++ src/main/resources/templates/volunteerPage.html | 13 +++++++++++++ 7 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java rename src/main/java/com/hackthemidlands/processblinders/{MakeAccountViewRoute.java => util/UserPageViewRoute.java} (67%) create mode 100644 src/main/resources/templates/userPage.html create mode 100644 src/main/resources/templates/volunteerPage.html diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 23c099a..3105a8b 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -33,6 +33,9 @@ public static void main(String[] args) { getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); + get("/volunteerPage", new VolunteerPageViewRoute(), new ThymeleafTemplateEngine()); + get("/userPage", new VolunteerPageViewRoute(), new ThymeleafTemplateEngine()); + path("/login", () -> { LoginPage loginPage = new LoginPage(); diff --git a/src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java new file mode 100644 index 0000000..c9e7897 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java @@ -0,0 +1,16 @@ +package com.hackthemidlands.processblinders; + +import spark.ModelAndView; +import spark.Request; +import spark.Response; +import spark.TemplateViewRoute; + +import java.util.HashMap; + +public class VolunteerPageViewRoute implements TemplateViewRoute { + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "volunteerPage"); + } +} diff --git a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java index e241b95..3c728a3 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/VolunteerMainPage.java @@ -1,9 +1,23 @@ package com.hackthemidlands.processblinders.api; +//import com.google.gson.Gson; +//import com.google.gson.GsonBuilder; + +import static spark.Spark.post; + public class VolunteerMainPage { public static void main(String[] argv) { - // Main.getAllValidOrders().stream().filter(o -> o.getUser().getPostcode()); + + //Main.getAllValidOrders().stream().filter(o -> o.getUser().getPostcode()); + String userPostcode = "B15 3AS", volunteerPostcode = ""; + String jsonString = "{postcodes : [" + userPostcode + ", " + volunteerPostcode + "] }"; + /* GsonBuilder builder = new GsonBuider(); + Gson gson = buider.create(); + post("api.postcodes.io/postcodes", (req, res) -> + req.equals(gson.toJson(jsonString)) + ); getLatitudeAndLongitude("B15 3AS"); + */ } public static void getLatitudeAndLongitude(String postcode) { diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java index 5b7d009..5fc54a7 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java @@ -25,6 +25,11 @@ public class LoginPage implements TemplateViewRoute { return "Invalid login credentials"; } setCookie(response, u); + if(u.isVolunteer()){ + response.redirect("volunteerPage"); + } + else + response.redirect("/userPage"); return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); }; diff --git a/src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/util/UserPageViewRoute.java similarity index 67% rename from src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/util/UserPageViewRoute.java index 4dc4fc4..141d482 100644 --- a/src/main/java/com/hackthemidlands/processblinders/MakeAccountViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/UserPageViewRoute.java @@ -7,10 +7,10 @@ import java.util.HashMap; -public class MakeAccountViewRoute implements TemplateViewRoute { +public class UserPageViewRoute implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "makeAccount"); + return new ModelAndView(new HashMap<>(), "userPage"); } } diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html new file mode 100644 index 0000000..ccafc14 --- /dev/null +++ b/src/main/resources/templates/userPage.html @@ -0,0 +1,12 @@ + + + + + Welcome back ! +

Place an order:

+
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html new file mode 100644 index 0000000..c6d8406 --- /dev/null +++ b/src/main/resources/templates/volunteerPage.html @@ -0,0 +1,13 @@ + + + + + Welcome back ! + + +

Welcome back !

+
+

Available orders:

+
+ + \ No newline at end of file From fada0c8247b5bdfedde4ce0b0cfe14f14e366683 Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sat, 24 Oct 2020 15:39:43 +0100 Subject: [PATCH 19/96] fix orderutil bug --- .../processblinders/api/OrderStatus.java | 4 ++++ .../processblinders/util/OrderUtil.java | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java b/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java index 6be7961..bc1c61b 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java @@ -22,4 +22,8 @@ public OrderStatus getFromCode(int j) { return null; } } + + public int getNum(){ + return this.i; + } } diff --git a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java index 8ede068..9a3d759 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java @@ -10,11 +10,11 @@ public class OrderUtil { - @Getter - private static final Map loggedInUsers = new HashMap<>(); + // @Getter + // private static final Map loggedInUsers = new HashMap<>(); @Getter - private static final List allValidUsers = new ArrayList<>(); + private static final List allValidOrders = new ArrayList<>(); public static boolean addNewOrderToDatabase(Order order) { @@ -25,11 +25,11 @@ public static boolean addNewOrderToDatabase(Order order) { return true; } - public static Order findOrderFromDatabase(Int id) { - return allValidOrder.stream().filter(o -> o.getID()==id).findFirst().orElse(null); + public static Order findOrderFromDatabase(int id) { + return allValidOrders.stream().filter(o -> o.getID()==id).findFirst().orElse(null); } public static boolean isPending(Order order) { - return order.getStatus()==0; + return order.getStatus().getNum()==0; } } From ec05320e0d84e4c274a12b5eb77a3a8da50cbadb Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 15:40:50 +0100 Subject: [PATCH 20/96] zzz --- src/main/resources/templates/userPage.html | 1 + src/main/resources/templates/volunteerPage.html | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index ccafc14..f9a7d53 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -5,6 +5,7 @@ Welcome back !

Place an order:

+ diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index c6d8406..0f6228b 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -7,7 +7,8 @@

Welcome back !

-

Available orders:

+ +
\ No newline at end of file From 68976f7863dde696a87a4466f2949b107a5f2a39 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 16:13:19 +0100 Subject: [PATCH 21/96] zzz --- .../processblinders/pages/RegisterPage.java | 6 +++++- src/main/resources/templates/makeAccount.html | 4 ---- src/main/resources/templates/volunteerPage.html | 16 ++++++++++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index 79abd63..c1c8e40 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -32,9 +32,13 @@ public class RegisterPage implements TemplateViewRoute { addNewUserToDatabase(u); setCookie(response, u);// logs in the user if (volunteer) { + response.redirect("/volunteerPage"); return "Welcome new Volunteer!"; } - return "Welcome new client!"; + else{ + response.redirect("/userPage"); + return "Welcome new client!"; + } }; // HTTP POST diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/makeAccount.html index 3d9a500..743f72b 100644 --- a/src/main/resources/templates/makeAccount.html +++ b/src/main/resources/templates/makeAccount.html @@ -30,10 +30,6 @@ } - -

Register


diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index 0f6228b..2c7877e 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -4,11 +4,23 @@ Welcome back ! + + +

Welcome back !

- - + +
\ No newline at end of file From e8f69c29084d0f0f41f33bf5192a6430c8cf0353 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 16:28:44 +0100 Subject: [PATCH 22/96] zzz --- .../hackthemidlands/processblinders/Main.java | 4 ++++ .../processblinders/PlaceOrderViewRoute.java | 16 ++++++++++++++ .../processblinders/pages/RegisterPage.java | 1 + .../{ => util}/SupportViewRoute.java | 2 +- .../{ => util}/VolunteerPageViewRoute.java | 2 +- src/main/resources/templates/userPage.html | 21 +++++++++++++++---- .../resources/templates/volunteerPage.html | 10 +-------- 7 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java rename src/main/java/com/hackthemidlands/processblinders/{ => util}/SupportViewRoute.java (87%) rename src/main/java/com/hackthemidlands/processblinders/{ => util}/VolunteerPageViewRoute.java (87%) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 3105a8b..e60bcb0 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -5,6 +5,8 @@ import com.hackthemidlands.processblinders.pages.DevPage; import com.hackthemidlands.processblinders.pages.LoginPage; import com.hackthemidlands.processblinders.pages.RegisterPage; +import com.hackthemidlands.processblinders.util.SupportViewRoute; +import com.hackthemidlands.processblinders.util.VolunteerPageViewRoute; import lombok.Getter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,6 +37,8 @@ public static void main(String[] args) { get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); get("/volunteerPage", new VolunteerPageViewRoute(), new ThymeleafTemplateEngine()); get("/userPage", new VolunteerPageViewRoute(), new ThymeleafTemplateEngine()); + get("/placeOrder", new PlaceOrderViewRoute(), new ThymeleafTemplateEngine()); + path("/login", () -> { diff --git a/src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java new file mode 100644 index 0000000..f78129a --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java @@ -0,0 +1,16 @@ +package com.hackthemidlands.processblinders; + +import spark.ModelAndView; +import spark.Request; +import spark.Response; +import spark.TemplateViewRoute; + +import java.util.HashMap; + +public class PlaceOrderViewRoute implements TemplateViewRoute { + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "placeOrder"); + } +} diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index c1c8e40..aa004c8 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -22,6 +22,7 @@ public class RegisterPage implements TemplateViewRoute { return ""; } boolean volunteer = request.queryParams("validate").equalsIgnoreCase("Volunteer"); + User u = User.builder() .firstName(request.queryParams("fname")) .lastName(request.queryParams("lname")) diff --git a/src/main/java/com/hackthemidlands/processblinders/SupportViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/util/SupportViewRoute.java similarity index 87% rename from src/main/java/com/hackthemidlands/processblinders/SupportViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/util/SupportViewRoute.java index 9d1dab8..8f5d0ec 100644 --- a/src/main/java/com/hackthemidlands/processblinders/SupportViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/SupportViewRoute.java @@ -1,4 +1,4 @@ -package com.hackthemidlands.processblinders; +package com.hackthemidlands.processblinders.util; import spark.ModelAndView; import spark.Request; diff --git a/src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/util/VolunteerPageViewRoute.java similarity index 87% rename from src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/util/VolunteerPageViewRoute.java index c9e7897..d62a28f 100644 --- a/src/main/java/com/hackthemidlands/processblinders/VolunteerPageViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/VolunteerPageViewRoute.java @@ -1,4 +1,4 @@ -package com.hackthemidlands.processblinders; +package com.hackthemidlands.processblinders.util; import spark.ModelAndView; import spark.Request; diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index f9a7d53..2c7877e 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -3,11 +3,24 @@ Welcome back ! -

Place an order:

-
-
- + + + +

Welcome back !

+
+ + +
\ No newline at end of file diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index 2c7877e..cbc8ed8 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -6,21 +6,13 @@

Welcome back !

- - +
\ No newline at end of file From 08c88656aead9adafdfe85e30d98406ea67ff7a2 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 16:43:34 +0100 Subject: [PATCH 23/96] zzz --- .../hackthemidlands/processblinders/api/User.java | 14 ++++++++++++++ .../processblinders/pages/LoginPage.java | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index 1bd646a..3b8a188 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -20,6 +20,10 @@ public static User dummyVolunteer() { return dummyVolunteer(0); } + public static User dummyUser(){ + return dummyUser(0); + } + public static User dummyVolunteer(int i) { return new UserBuilder() .email("dummy" + i + "@test.test") @@ -29,4 +33,14 @@ public static User dummyVolunteer(int i) { .password("password" + i) .build(); } + + public static User dummyUser(int i){ + return new UserBuilder() + .email("user" + i + "@test.test") + .isVolunteer(false) + .firstName("User") + .lastName(i + "") + .password("pass" + i) + .build(); + } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java index 5fc54a7..e6935cb 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java @@ -26,7 +26,7 @@ public class LoginPage implements TemplateViewRoute { } setCookie(response, u); if(u.isVolunteer()){ - response.redirect("volunteerPage"); + response.redirect("/volunteerPage"); } else response.redirect("/userPage"); From 79de3ef1f7cf46cea05535c1af7fc4ccbac6af49 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 16:56:55 +0100 Subject: [PATCH 24/96] zzz --- .../java/com/hackthemidlands/processblinders/pages/DevPage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java index 555b2f1..e99ddfe 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java @@ -19,7 +19,7 @@ public class DevPage { return "Your name is " + u.getFirstName() + " " + u.getLastName(); }); get("/login", (req, res) -> { - User u = User.dummyVolunteer(0); + User u = User.dummyUser(0); getLoggedInUsers().put(u.getEmail(), u); setCookie(res, u); return "You have been logged as: " + u.getEmail(); From a8b086fd5c0a0e9bdb720a6aa9d4e5530bc1fb67 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 16:56:57 +0100 Subject: [PATCH 25/96] a --- .../hackthemidlands/processblinders/api/Order.java | 5 +++-- .../processblinders/api/OrderStatus.java | 11 +++++++++-- .../processblinders/pages/LoginPage.java | 4 ++-- .../processblinders/pages/RegisterPage.java | 2 +- .../templates/{makeAccount.html => register.html} | 0 5 files changed, 15 insertions(+), 7 deletions(-) rename src/main/resources/templates/{makeAccount.html => register.html} (100%) diff --git a/src/main/java/com/hackthemidlands/processblinders/api/Order.java b/src/main/java/com/hackthemidlands/processblinders/api/Order.java index e00de66..bf50fd9 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/Order.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/Order.java @@ -1,13 +1,14 @@ package com.hackthemidlands.processblinders.api; +import lombok.Builder; import lombok.Data; -import java.util.ArrayList; import java.util.List; @Data +@Builder public class Order { - private List shopList = new ArrayList<>(); + private List shopList; private double maxPrice; private String location; private OrderStatus status; diff --git a/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java b/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java index 6be7961..8cfc293 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java @@ -1,11 +1,18 @@ package com.hackthemidlands.processblinders.api; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter public enum OrderStatus { - PENDING(0), ACCEPTED(1), COMPLETED(2), CANCELLED(3); + PENDING(0, "Pending"), ACCEPTED(1, "Accepted"), COMPLETED(2, "Completed"), CANCELLED(3, "Cancelled"); + int i; + String string; - OrderStatus(int i) { + OrderStatus(int i, String string) { this.i = i; + this.string = string; } public OrderStatus getFromCode(int j) { diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java index 5b7d009..9db5673 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java @@ -12,7 +12,7 @@ public class LoginPage implements TemplateViewRoute { - // HTTP GET + // HTTP POST public Route post = (Request request, Response response) -> { Set params = request.queryParams(); @@ -28,7 +28,7 @@ public class LoginPage implements TemplateViewRoute { return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); }; - // HTTP POST + // HTTP GET @Override public ModelAndView handle(Request request, Response response) { diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index 79abd63..dbf92f2 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -41,6 +41,6 @@ public class RegisterPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "makeAccount"); + return new ModelAndView(new HashMap<>(), "register"); } } diff --git a/src/main/resources/templates/makeAccount.html b/src/main/resources/templates/register.html similarity index 100% rename from src/main/resources/templates/makeAccount.html rename to src/main/resources/templates/register.html From c902ce30d8c5a1a5d79e6a8adc43e644381a1c17 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 17:10:07 +0100 Subject: [PATCH 26/96] relocating pages --- .../com/hackthemidlands/processblinders/Main.java | 14 +++++--------- .../PlaceOrderPage.java} | 4 ++-- .../SupportPage.java} | 4 ++-- .../UserPage.java} | 4 ++-- .../VolunteerPage.java} | 4 ++-- 5 files changed, 13 insertions(+), 17 deletions(-) rename src/main/java/com/hackthemidlands/processblinders/{PlaceOrderViewRoute.java => pages/PlaceOrderPage.java} (72%) rename src/main/java/com/hackthemidlands/processblinders/{util/SupportViewRoute.java => pages/SupportPage.java} (72%) rename src/main/java/com/hackthemidlands/processblinders/{UserPageViewRoute.java => pages/UserPage.java} (72%) rename src/main/java/com/hackthemidlands/processblinders/{util/VolunteerPageViewRoute.java => pages/VolunteerPage.java} (71%) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index e60bcb0..17775b7 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -2,11 +2,7 @@ import com.hackthemidlands.processblinders.api.Order; import com.hackthemidlands.processblinders.api.User; -import com.hackthemidlands.processblinders.pages.DevPage; -import com.hackthemidlands.processblinders.pages.LoginPage; -import com.hackthemidlands.processblinders.pages.RegisterPage; -import com.hackthemidlands.processblinders.util.SupportViewRoute; -import com.hackthemidlands.processblinders.util.VolunteerPageViewRoute; +import com.hackthemidlands.processblinders.pages.*; import lombok.Getter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,10 +30,10 @@ public static void main(String[] args) { getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); - get("/support", new SupportViewRoute(), new ThymeleafTemplateEngine()); - get("/volunteerPage", new VolunteerPageViewRoute(), new ThymeleafTemplateEngine()); - get("/userPage", new VolunteerPageViewRoute(), new ThymeleafTemplateEngine()); - get("/placeOrder", new PlaceOrderViewRoute(), new ThymeleafTemplateEngine()); + get("/support", new SupportPage(), new ThymeleafTemplateEngine()); + get("/volunteerPage", new VolunteerPage(), new ThymeleafTemplateEngine()); + get("/userPage", new VolunteerPage(), new ThymeleafTemplateEngine()); + get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java similarity index 72% rename from src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java index f78129a..70752f8 100644 --- a/src/main/java/com/hackthemidlands/processblinders/PlaceOrderViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java @@ -1,4 +1,4 @@ -package com.hackthemidlands.processblinders; +package com.hackthemidlands.processblinders.pages; import spark.ModelAndView; import spark.Request; @@ -7,7 +7,7 @@ import java.util.HashMap; -public class PlaceOrderViewRoute implements TemplateViewRoute { +public class PlaceOrderPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { diff --git a/src/main/java/com/hackthemidlands/processblinders/util/SupportViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/pages/SupportPage.java similarity index 72% rename from src/main/java/com/hackthemidlands/processblinders/util/SupportViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/pages/SupportPage.java index 8f5d0ec..9253ac7 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/SupportViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/SupportPage.java @@ -1,4 +1,4 @@ -package com.hackthemidlands.processblinders.util; +package com.hackthemidlands.processblinders.pages; import spark.ModelAndView; import spark.Request; @@ -7,7 +7,7 @@ import java.util.HashMap; -public class SupportViewRoute implements TemplateViewRoute { +public class SupportPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { diff --git a/src/main/java/com/hackthemidlands/processblinders/UserPageViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java similarity index 72% rename from src/main/java/com/hackthemidlands/processblinders/UserPageViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java index 141d482..2129a34 100644 --- a/src/main/java/com/hackthemidlands/processblinders/UserPageViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java @@ -1,4 +1,4 @@ -package com.hackthemidlands.processblinders; +package com.hackthemidlands.processblinders.pages; import spark.ModelAndView; import spark.Request; @@ -7,7 +7,7 @@ import java.util.HashMap; -public class UserPageViewRoute implements TemplateViewRoute { +public class UserPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { diff --git a/src/main/java/com/hackthemidlands/processblinders/util/VolunteerPageViewRoute.java b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java similarity index 71% rename from src/main/java/com/hackthemidlands/processblinders/util/VolunteerPageViewRoute.java rename to src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java index d62a28f..f883e75 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/VolunteerPageViewRoute.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java @@ -1,4 +1,4 @@ -package com.hackthemidlands.processblinders.util; +package com.hackthemidlands.processblinders.pages; import spark.ModelAndView; import spark.Request; @@ -7,7 +7,7 @@ import java.util.HashMap; -public class VolunteerPageViewRoute implements TemplateViewRoute { +public class VolunteerPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { From 125dbd862a9c37519c8bfca43a0ccb97728f365a Mon Sep 17 00:00:00 2001 From: MQuay Date: Sat, 24 Oct 2020 17:15:10 +0100 Subject: [PATCH 27/96] userpage stuff --- src/main/resources/templates/placeOrder.html | 2 +- src/main/resources/templates/support.html | 2 +- src/main/resources/templates/userPage.html | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/resources/templates/placeOrder.html b/src/main/resources/templates/placeOrder.html index 566549b..5974c46 100644 --- a/src/main/resources/templates/placeOrder.html +++ b/src/main/resources/templates/placeOrder.html @@ -2,7 +2,7 @@ - Title + Place new order: diff --git a/src/main/resources/templates/support.html b/src/main/resources/templates/support.html index 96981dd..95fc381 100644 --- a/src/main/resources/templates/support.html +++ b/src/main/resources/templates/support.html @@ -4,7 +4,7 @@ - Document + Get support diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index ccafc14..3092805 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -3,10 +3,18 @@ Welcome back ! -

Place an order:

-
+

What would you like to do?

+

Get Support

+ + + +

Volunteer

+ + + +

By using this service you agree to our Terms of Service

\ No newline at end of file From ad3d3437c8e0763fb9dde363b87cd4be73e40335 Mon Sep 17 00:00:00 2001 From: MQuay Date: Sat, 24 Oct 2020 17:27:13 +0100 Subject: [PATCH 28/96] ToS --- src/main/resources/templates/tos.html | 10 ++++++++++ src/main/resources/templates/userPage.html | 1 + 2 files changed, 11 insertions(+) create mode 100644 src/main/resources/templates/tos.html diff --git a/src/main/resources/templates/tos.html b/src/main/resources/templates/tos.html new file mode 100644 index 0000000..17ece29 --- /dev/null +++ b/src/main/resources/templates/tos.html @@ -0,0 +1,10 @@ + + + + + Terms of Service + + +

By using this service you agree to the following terms:\n 1. you arent a ****

+ + \ No newline at end of file diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 2c7877e..896df48 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -22,5 +22,6 @@

Welcome back !

+

By using this service you agree to our Terms of Service

\ No newline at end of file From 0bf4e739fe7f621f2852de745411e5698194129b Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 17:28:13 +0100 Subject: [PATCH 29/96] zzz --- .../hackthemidlands/processblinders/Main.java | 2 -- src/main/resources/templates/error.html | 18 ++++++++++++++++++ src/main/resources/templates/userPage.html | 7 +++++++ .../resources/templates/volunteerPage.html | 7 +++++++ 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/templates/error.html diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 17775b7..cb3c524 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -35,8 +35,6 @@ public static void main(String[] args) { get("/userPage", new VolunteerPage(), new ThymeleafTemplateEngine()); get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); - - path("/login", () -> { LoginPage loginPage = new LoginPage(); get("", loginPage, new ThymeleafTemplateEngine()); diff --git a/src/main/resources/templates/error.html b/src/main/resources/templates/error.html new file mode 100644 index 0000000..e68eb9e --- /dev/null +++ b/src/main/resources/templates/error.html @@ -0,0 +1,18 @@ + + + + + Error + + + + + +

Sorry, you can't access this page

+ + \ No newline at end of file diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 2c7877e..7da7852 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -16,6 +16,13 @@ + +

Welcome back !

diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index cbc8ed8..abfa486 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -9,6 +9,13 @@ + +

Welcome back !

From 5806bd5746aec09dc06395be12fb77719c2997cb Mon Sep 17 00:00:00 2001 From: MQuay Date: Sat, 24 Oct 2020 17:45:26 +0100 Subject: [PATCH 30/96] ToS --- src/main/resources/templates/tos.html | 5 ++++- src/main/resources/templates/userPage.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/tos.html b/src/main/resources/templates/tos.html index 17ece29..989fec4 100644 --- a/src/main/resources/templates/tos.html +++ b/src/main/resources/templates/tos.html @@ -5,6 +5,9 @@ Terms of Service -

By using this service you agree to the following terms:\n 1. you arent a ****

+

TERMS OF SERVICE

+

By using this service you agree to the following terms:

+

1. You (the end user) aren't going to misuse the service for illegal or immoral activities... +
2. more boring legal stuff

\ No newline at end of file diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 896df48..b5803ce 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -22,6 +22,6 @@

Welcome back !

-

By using this service you agree to our Terms of Service

+

By using this service you agree to our Terms of Service

\ No newline at end of file From cea273c7cc1c1e56d332b29d06a560f078fd6552 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 18:10:47 +0100 Subject: [PATCH 31/96] zzz --- .../hackthemidlands/processblinders/Main.java | 1 + .../processblinders/pages/Settings.java | 16 ++++++++++++++ src/main/resources/templates/settings.html | 21 +++++++++++++++++++ src/main/resources/templates/userPage.html | 3 +++ .../resources/templates/volunteerPage.html | 11 +++++++++- 5 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/Settings.java create mode 100644 src/main/resources/templates/settings.html diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index cb3c524..6373dfc 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -34,6 +34,7 @@ public static void main(String[] args) { get("/volunteerPage", new VolunteerPage(), new ThymeleafTemplateEngine()); get("/userPage", new VolunteerPage(), new ThymeleafTemplateEngine()); get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); + get("/settings", new Settings(), new ThymeleafTemplateEngine()); path("/login", () -> { LoginPage loginPage = new LoginPage(); diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java b/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java new file mode 100644 index 0000000..4f91f57 --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java @@ -0,0 +1,16 @@ +package com.hackthemidlands.processblinders.pages; + +import spark.ModelAndView; +import spark.Request; +import spark.Response; +import spark.TemplateViewRoute; + +import java.util.HashMap; + +public class Settings implements TemplateViewRoute { + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "settings"); + } +} diff --git a/src/main/resources/templates/settings.html b/src/main/resources/templates/settings.html new file mode 100644 index 0000000..ccc5f56 --- /dev/null +++ b/src/main/resources/templates/settings.html @@ -0,0 +1,21 @@ + + + + + Settings + + + + +
+
+
+


+ + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 7da7852..988588a 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -25,6 +25,9 @@

Welcome back !

+
+ +
diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index abfa486..aacd8bc 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -6,7 +6,9 @@

Welcome back !

+
+
From 4ea927cbc5122b894582f341dd18b12d28e76a33 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 18:19:44 +0100 Subject: [PATCH 32/96] account filters --- .../hackthemidlands/processblinders/Main.java | 5 +-- .../processblinders/api/OrderStatus.java | 1 - .../processblinders/api/User.java | 6 +-- .../processblinders/pages/DevPage.java | 8 +++- .../processblinders/util/FilterUtil.java | 40 ++++++++++++++++++- .../processblinders/util/UserUtil.java | 4 -- 6 files changed, 50 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 17775b7..9163d12 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -28,15 +28,14 @@ public static void main(String[] args) { staticFileLocation("/public"); port(8080); - getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); + getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); // here i add the dummy volunteers 0, 1, 2 + getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyUser).collect(Collectors.toList())); // here i add the dummy users 0, 1, 2 get("/support", new SupportPage(), new ThymeleafTemplateEngine()); get("/volunteerPage", new VolunteerPage(), new ThymeleafTemplateEngine()); get("/userPage", new VolunteerPage(), new ThymeleafTemplateEngine()); get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); - - path("/login", () -> { LoginPage loginPage = new LoginPage(); get("", loginPage, new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java b/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java index 6acb0f4..6684fe2 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/OrderStatus.java @@ -1,7 +1,6 @@ package com.hackthemidlands.processblinders.api; import lombok.Getter; -import lombok.RequiredArgsConstructor; @Getter public enum OrderStatus { diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index 3b8a188..cb61373 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -26,9 +26,9 @@ public static User dummyUser(){ public static User dummyVolunteer(int i) { return new UserBuilder() - .email("dummy" + i + "@test.test") + .email("volunteer" + i + "@v.co") .isVolunteer(true) - .firstName("Dummy") + .firstName("Volunteer") .lastName(i + "") .password("password" + i) .build(); @@ -36,7 +36,7 @@ public static User dummyVolunteer(int i) { public static User dummyUser(int i){ return new UserBuilder() - .email("user" + i + "@test.test") + .email("user" + i + "@u.co") .isVolunteer(false) .firstName("User") .lastName(i + "") diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java index 555b2f1..3868032 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java @@ -14,10 +14,16 @@ public class DevPage { public RouteGroup getRoutes = () -> { before("/protected", requiresLogin); get("/protected", (req, res) -> { - User u = getUserFromEmail(getCookie(req)); + User u = findUserFromDatabase(getCookie(req)); if (u == null) return ""; return "Your name is " + u.getFirstName() + " " + u.getLastName(); }); + before("/volunteers-only", volunteerOnly); + get("/volunteers-only", (re, rs) -> { + User u = findUserFromDatabase(getCookie(re)); + if (u == null || !u.isVolunteer()) return ""; + return "Hello volunteer!"; + }); get("/login", (req, res) -> { User u = User.dummyVolunteer(0); getLoggedInUsers().put(u.getEmail(), u); diff --git a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java index ea3e40c..7942e2a 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java @@ -10,11 +10,13 @@ public class FilterUtil { + // WARNING! THIS WILL ONLY REDIRECT THE USER, YOU WILL STILL NEED TO DDO A VALIDITY CHECK + // AND RETURN ""; IN YOUR PAGE CLASS. + public static Filter requiresLogin = (Request request, Response response) -> { if (hasCookie(request)) { String cookie = getCookie(request); - System.out.println(cookie); - User user = getUserFromEmail(cookie); + User user = UserUtil.findUserFromDatabase(cookie); if (user != null) { getLoggedInUsers().put(user.getEmail(), user); } else { @@ -24,4 +26,38 @@ public class FilterUtil { response.redirect("/login"); } }; + + // WARNING! YOU NEED TO PUT A requiresLogin before you use this filter as it could work unexpectedly! + + public static Filter volunteerOnly = (Request request, Response response) -> { + if (!hasCookie(request)) { + response.redirect("/login"); + } else { + String cookie = getCookie(request); + User user = UserUtil.findUserFromDatabase(cookie); + if (user == null) { + response.redirect("/login"); + } else { + if (!user.isVolunteer()) { + response.redirect("/"); + } + } + } + }; + + public static Filter clientOnly = (Request request, Response response) -> { + if (!hasCookie(request)) { + response.redirect("/login"); + } else { + String cookie = getCookie(request); + User user = UserUtil.findUserFromDatabase(cookie); + if (user == null) { + response.redirect("/login"); + } else { + if (user.isVolunteer()) { + response.redirect("/"); + } + } + } + }; } diff --git a/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java index 14af0f0..5120700 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java @@ -32,8 +32,4 @@ public static User findUserFromDatabase(String email) { public static boolean isLoggedIn(User user) { return loggedInUsers.containsValue(user); } - - public static User getUserFromEmail(String email) { - return findUserFromDatabase(email); - } } From c291ad1fd22e3445beebf463156a2c57a70f9862 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 18:22:17 +0100 Subject: [PATCH 33/96] x only --- .../java/com/hackthemidlands/processblinders/Main.java | 10 +++++++++- .../processblinders/util/FilterUtil.java | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 9163d12..e30939a 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -14,7 +14,9 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; -import static com.hackthemidlands.processblinders.util.UserUtil.*; +import static com.hackthemidlands.processblinders.util.FilterUtil.clientOnly; +import static com.hackthemidlands.processblinders.util.FilterUtil.volunteerOnly; +import static com.hackthemidlands.processblinders.util.UserUtil.getAllValidUsers; import static spark.Spark.*; public final class Main { @@ -31,8 +33,14 @@ public static void main(String[] args) { getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); // here i add the dummy volunteers 0, 1, 2 getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyUser).collect(Collectors.toList())); // here i add the dummy users 0, 1, 2 + get("/error", (re, rs) -> "error"); + get("/support", new SupportPage(), new ThymeleafTemplateEngine()); + + before("/volunteerPage", volunteerOnly); get("/volunteerPage", new VolunteerPage(), new ThymeleafTemplateEngine()); + + before("userPage", clientOnly); get("/userPage", new VolunteerPage(), new ThymeleafTemplateEngine()); get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java index 7942e2a..1821935 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/FilterUtil.java @@ -39,7 +39,7 @@ public class FilterUtil { response.redirect("/login"); } else { if (!user.isVolunteer()) { - response.redirect("/"); + response.redirect("/error"); } } } @@ -55,7 +55,7 @@ public class FilterUtil { response.redirect("/login"); } else { if (user.isVolunteer()) { - response.redirect("/"); + response.redirect("/error"); } } } From 54dc0fad03eb25e69c4c2fc32fe88cbdacf5c66f Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 18:29:28 +0100 Subject: [PATCH 34/96] zzz --- src/main/resources/templates/register.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html index 743f72b..1680cd3 100644 --- a/src/main/resources/templates/register.html +++ b/src/main/resources/templates/register.html @@ -30,6 +30,15 @@ } + +

Register


From fbb7918a9e1bf40557a4d506fa2c7b7bcb7fa65c Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sat, 24 Oct 2020 18:44:36 +0100 Subject: [PATCH 35/96] minor changes to the README --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f4d96be..ff19f3e 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,12 @@ HelpTheMidlands is a web application designed to allow people to volunteer in th This app has been designed with simplicity in mind, as we find that many online stores make it confusing for the elderly to place an order then setup a delivery slot. -The person who needs help makes a request (shopping list) for each item of shopping they need, with a note of their budget and their preferred store. (Could be the local corner shop as opposed to be a chain) +Volunteers respond to requests made by supportees (*vulnerable people*) for food or other shopping. -A request is then sent out to nearby volunteers, who can then accept it and buy the shopping. \ No newline at end of file +## Usage + +You can register as a **volunteer** or a **supportee** using your name, an email address and a password. + +Once logged in, the supportee makes a request (shopping list) for each item of shopping they need, with a note of their budget and their preferred store. (Could be the local corner shop as opposed to be a chain). + +A request is then sent out to nearby volunteers, who can then accept it and buy the shopping, delivering it to the vulnerable person. \ No newline at end of file From cd99ebf1093224cdccfbbd991ef0c61be5c703b8 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 18:45:07 +0100 Subject: [PATCH 36/96] zzz --- .../processblinders/pages/Settings.java | 36 ++++++++++++++++--- src/main/resources/templates/settings.html | 5 +-- src/main/resources/templates/userPage.html | 6 +++- 3 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java b/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java index 4f91f57..7ac7151 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/Settings.java @@ -1,16 +1,42 @@ package com.hackthemidlands.processblinders.pages; -import spark.ModelAndView; -import spark.Request; -import spark.Response; -import spark.TemplateViewRoute; +import com.hackthemidlands.processblinders.api.User; +import spark.*; +import java.util.Arrays; import java.util.HashMap; +import java.util.Set; + +import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; +import static com.hackthemidlands.processblinders.util.UserUtil.findUserFromDatabase; public class Settings implements TemplateViewRoute { + // HTTP POST + + public Route post = (Request request, Response response) -> { + Set params = request.queryParams(); + if (!params.containsAll(Arrays.asList("email", "password"))) { + // rs.redirect("/login"); + return "Invalid login credentials"; + } + User u = findUserFromDatabase(request.queryParams("email")); + if (u == null || !u.getPassword().equals(request.queryParams("password"))) { + return "Invalid login credentials"; + } + setCookie(response, u); + if(u.isVolunteer()){ + response.redirect("/volunteerPage"); + } + else + response.redirect("/userPage"); + return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); + }; + + // HTTP GET + @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "settings"); + return new ModelAndView(new HashMap<>(), "main"); } } diff --git a/src/main/resources/templates/settings.html b/src/main/resources/templates/settings.html index ccc5f56..65c4d57 100644 --- a/src/main/resources/templates/settings.html +++ b/src/main/resources/templates/settings.html @@ -7,14 +7,15 @@
+

Edit your account:







- +
diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 988588a..aea9540 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -6,6 +6,10 @@ + Register + + + + + +
+

Register


+
+
+ + + +
+ +
+ + + + +
+ Items +
+


+ + + +
+
+ + - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/support.html b/src/main/resources/templates/support.html index 96981dd..983eea6 100644 --- a/src/main/resources/templates/support.html +++ b/src/main/resources/templates/support.html @@ -8,9 +8,8 @@ - - - + + \ No newline at end of file diff --git a/src/main/resources/templates/viewOrders.html b/src/main/resources/templates/viewOrders.html new file mode 100644 index 0000000..1877ff4 --- /dev/null +++ b/src/main/resources/templates/viewOrders.html @@ -0,0 +1,10 @@ + + + + + Title + + +

View an order!

+ + \ No newline at end of file From cfc5668b9d0ca5a8380628c00917ad2bab7fe2a0 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 21:40:52 +0100 Subject: [PATCH 43/96] broke some things --- .../com/hackthemidlands/processblinders/Main.java | 2 +- .../processblinders/pages/RegisterPage.java | 4 ++-- .../processblinders/pages/UserPage.java | 10 +++++++++- .../processblinders/pages/VolunteerPage.java | 10 +++++++++- .../resources/templates/orderVolunteerPage.html | 4 ++-- src/main/resources/templates/userPage.html | 14 ++++++++------ 6 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 4930b5e..51744ca 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -40,7 +40,7 @@ public static void main(String[] args) { get("/volunteerPage", new VolunteerPage(), new ThymeleafTemplateEngine()); before("/userPage", clientOnly); - get("/userPage", new VolunteerPage(), new ThymeleafTemplateEngine()); + get("/userPage", new UserPage(), new ThymeleafTemplateEngine()); get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); path("/orders", () -> { diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index 15ba5d5..3d31533 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -21,12 +21,12 @@ public class RegisterPage implements TemplateViewRoute { response.redirect("/register"); return ""; } - boolean volunteer = request.queryParams("validate").equalsIgnoreCase("Volunteer"); + boolean volunteer = request.queryParams("validate").equalsIgnoreCase("I want to volunteer"); User u = User.builder() .firstName(request.queryParams("fname")) .lastName(request.queryParams("lname")) - .isVolunteer(request.queryParams("validate").equalsIgnoreCase("volunteer")) + .isVolunteer(volunteer) .email(request.queryParams("email")) .password(request.queryParams("password")) .build(); diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java index 2129a34..8373042 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java @@ -1,16 +1,24 @@ package com.hackthemidlands.processblinders.pages; +import com.hackthemidlands.processblinders.api.User; +import com.hackthemidlands.processblinders.util.CookieUtil; +import com.hackthemidlands.processblinders.util.UserUtil; import spark.ModelAndView; import spark.Request; import spark.Response; import spark.TemplateViewRoute; import java.util.HashMap; +import java.util.Map; public class UserPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "userPage"); + Map models = new HashMap<>(); + User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); + if (u == null) return null; + models.put("user", u); + return new ModelAndView(models, "userPage"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java index f883e75..5159212 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java @@ -1,16 +1,24 @@ package com.hackthemidlands.processblinders.pages; +import com.hackthemidlands.processblinders.api.User; +import com.hackthemidlands.processblinders.util.CookieUtil; +import com.hackthemidlands.processblinders.util.UserUtil; import spark.ModelAndView; import spark.Request; import spark.Response; import spark.TemplateViewRoute; import java.util.HashMap; +import java.util.Map; public class VolunteerPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "volunteerPage"); + Map models = new HashMap<>(); + User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); + if (u == null) return null; + models.put("user", u); + return new ModelAndView(models, "volunteerPage"); } } diff --git a/src/main/resources/templates/orderVolunteerPage.html b/src/main/resources/templates/orderVolunteerPage.html index 87d37e0..9205570 100644 --- a/src/main/resources/templates/orderVolunteerPage.html +++ b/src/main/resources/templates/orderVolunteerPage.html @@ -6,8 +6,8 @@ - -

item

+ +

diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 130bcc4..11113fb 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -2,7 +2,7 @@ - Welcome back <span value = "$name"></span>>! + Welcome back <span value="$name"></span>>! From 56bec139e7c615f7596bd57fe5b1aa113e86ae19 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 22:27:48 +0100 Subject: [PATCH 46/96] fixing? --- .../hackthemidlands/processblinders/Main.java | 4 +++- .../processblinders/pages/ErrorPage.java | 16 ++++++++++++++++ .../processblinders/pages/RegisterPage.java | 10 ++-------- .../processblinders/pages/UserPage.java | 2 +- .../processblinders/pages/ViewOrdersPage.java | 5 ++--- .../processblinders/pages/VolunteerPage.java | 2 +- src/main/resources/templates/error.html | 1 + 7 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/ErrorPage.java diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index f2a97e6..a044e84 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -6,10 +6,12 @@ import lombok.Getter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import spark.ModelAndView; import spark.Spark; import spark.template.thymeleaf.ThymeleafTemplateEngine; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -32,7 +34,7 @@ public static void main(String[] args) { getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyVolunteer).collect(Collectors.toList())); // here i add the dummy volunteers 0, 1, 2 getAllValidUsers().addAll(IntStream.range(0, 3).mapToObj(User::dummyUser).collect(Collectors.toList())); // here i add the dummy users 0, 1, 2 - get("/error", (re, rs) -> "error"); + get("/error", (re, rs) -> new ModelAndView(new HashMap<>(), "error"), new ThymeleafTemplateEngine()); get("/support", new SupportPage(), new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/ErrorPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/ErrorPage.java new file mode 100644 index 0000000..5c98cae --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/pages/ErrorPage.java @@ -0,0 +1,16 @@ +package com.hackthemidlands.processblinders.pages; + +import spark.ModelAndView; +import spark.Request; +import spark.Response; +import spark.TemplateViewRoute; + +import java.util.HashMap; + +public class ErrorPage implements TemplateViewRoute { + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "error"); + } +} diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index 3d31533..c6ad5aa 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -32,14 +32,8 @@ public class RegisterPage implements TemplateViewRoute { .build(); addNewUserToDatabase(u); setCookie(response, u);// logs in the user - if (volunteer) { - response.redirect("/volunteerPage"); - return "Welcome new Volunteer!"; - } - else{ - response.redirect("/userPage"); - return "Welcome new client!"; - } + response.redirect("/orders/view"); + return ""; }; // HTTP POST diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java index 8373042..696fb03 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java @@ -17,7 +17,7 @@ public class UserPage implements TemplateViewRoute { public ModelAndView handle(Request request, Response response) { Map models = new HashMap<>(); User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); - if (u == null) return null; + if (u == null) return new ErrorPage().handle(request, response); models.put("user", u); return new ModelAndView(models, "userPage"); } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java index c983792..6b3061c 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java @@ -9,7 +9,6 @@ import spark.Response; import spark.TemplateViewRoute; -import java.util.HashMap; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -19,7 +18,7 @@ public class ViewOrdersPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); - if (u == null) return null; // should be redirected anyway before this point is hit + if (u == null) return new ErrorPage().handle(request, response); // should be redirected anyway before this point is hit if (u.isVolunteer()) { return volunteerPage(request, response); } else { @@ -36,6 +35,6 @@ public ModelAndView volunteerPage(Request request, Response response) { } public ModelAndView userPage(Request request, Response response) { - return null; + return new ErrorPage().handle(request, response); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java index 5159212..a027809 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java @@ -17,7 +17,7 @@ public class VolunteerPage implements TemplateViewRoute { public ModelAndView handle(Request request, Response response) { Map models = new HashMap<>(); User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); - if (u == null) return null; + if (u == null) return new ErrorPage().handle(request, response); models.put("user", u); return new ModelAndView(models, "volunteerPage"); } diff --git a/src/main/resources/templates/error.html b/src/main/resources/templates/error.html index e68eb9e..48beeab 100644 --- a/src/main/resources/templates/error.html +++ b/src/main/resources/templates/error.html @@ -14,5 +14,6 @@

Sorry, you can't access this page

+

Login here

\ No newline at end of file From fa06c6fd9d9f2cf13405be1ff87c2c0d4c6e13ec Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 22:29:48 +0100 Subject: [PATCH 47/96] zzz --- src/main/resources/templates/register.html | 14 +++++--------- src/main/resources/templates/userPage.html | 2 +- src/main/resources/templates/volunteerPage.html | 12 +++--------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html index dee2397..631897c 100644 --- a/src/main/resources/templates/register.html +++ b/src/main/resources/templates/register.html @@ -31,12 +31,7 @@ @@ -46,11 +41,12 @@

Register





-


+
+


+ type="submit" value="I want to volunteer" onclick = "location.href = '/volunteerPage'"> + type="submit" value="I need support" onclick = "location.href = '/userPage'">
diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 6f62745..c446c1b 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -31,7 +31,7 @@

Welcome back !

- +
diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index 515d65e..97d796a 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -5,18 +5,12 @@ Welcome back ! - - - -

Register


From 2855f7db860bd05ca6d1787b04c31a80863a4c21 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sat, 24 Oct 2020 23:06:20 +0100 Subject: [PATCH 49/96] fixing login stuff --- .../processblinders/pages/UserPage.java | 24 ------------------- .../processblinders/pages/ViewOrdersPage.java | 15 ++++++------ .../processblinders/pages/VolunteerPage.java | 24 ------------------- src/main/resources/templates/userPage.html | 1 + .../resources/templates/volunteerPage.html | 1 + 5 files changed, 10 insertions(+), 55 deletions(-) delete mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java delete mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java deleted file mode 100644 index 696fb03..0000000 --- a/src/main/java/com/hackthemidlands/processblinders/pages/UserPage.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hackthemidlands.processblinders.pages; - -import com.hackthemidlands.processblinders.api.User; -import com.hackthemidlands.processblinders.util.CookieUtil; -import com.hackthemidlands.processblinders.util.UserUtil; -import spark.ModelAndView; -import spark.Request; -import spark.Response; -import spark.TemplateViewRoute; - -import java.util.HashMap; -import java.util.Map; - -public class UserPage implements TemplateViewRoute { - - @Override - public ModelAndView handle(Request request, Response response) { - Map models = new HashMap<>(); - User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); - if (u == null) return new ErrorPage().handle(request, response); - models.put("user", u); - return new ModelAndView(models, "userPage"); - } -} diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java index 6b3061c..8735d2f 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java @@ -19,22 +19,23 @@ public class ViewOrdersPage implements TemplateViewRoute { public ModelAndView handle(Request request, Response response) { User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); if (u == null) return new ErrorPage().handle(request, response); // should be redirected anyway before this point is hit + HashMap models = new HashMap<>(); + models.put("user", u); if (u.isVolunteer()) { - return volunteerPage(request, response); + return volunteerPage(request, response, models); } else { - return userPage(request, response); + return userPage(request, response, models); } } - public ModelAndView volunteerPage(Request request, Response response) { - Map models = new HashMap<>(); + public ModelAndView volunteerPage(Request request, Response response, Map models) { Order o = Order.builder().shopList(Arrays.asList("first item in first list", "second item in first list")).build(); Order o2 = Order.builder().shopList(Arrays.asList("first item in second list", "second item in second list")).build(); models.put("orders", Arrays.asList(o, o2)); - return new ModelAndView(models, "orderVolunteerPage"); + return new ModelAndView(models, "volunteerPage"); } - public ModelAndView userPage(Request request, Response response) { - return new ErrorPage().handle(request, response); + public ModelAndView userPage(Request request, Response response, Map models) { + return new ModelAndView(models, "userPage"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java deleted file mode 100644 index a027809..0000000 --- a/src/main/java/com/hackthemidlands/processblinders/pages/VolunteerPage.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.hackthemidlands.processblinders.pages; - -import com.hackthemidlands.processblinders.api.User; -import com.hackthemidlands.processblinders.util.CookieUtil; -import com.hackthemidlands.processblinders.util.UserUtil; -import spark.ModelAndView; -import spark.Request; -import spark.Response; -import spark.TemplateViewRoute; - -import java.util.HashMap; -import java.util.Map; - -public class VolunteerPage implements TemplateViewRoute { - - @Override - public ModelAndView handle(Request request, Response response) { - Map models = new HashMap<>(); - User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); - if (u == null) return new ErrorPage().handle(request, response); - models.put("user", u); - return new ModelAndView(models, "volunteerPage"); - } -} diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 6f62745..77e3976 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -29,6 +29,7 @@

Welcome back !

+

Welcome to the user page!

diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index 515d65e..ef6b72a 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -24,6 +24,7 @@

Welcome back !

+

Welcome to the volunteer page.

From 52aa21f48b0706bae344bb9d6d3f5214ead90d6b Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 23:06:31 +0100 Subject: [PATCH 50/96] zzz --- .../hackthemidlands/processblinders/Main.java | 1 + .../processblinders/pages/FrontPage.java | 16 + src/main/resources/templates/frontPage.html | 288 ++++++++++++++++++ src/main/resources/templates/main.html | 11 +- 4 files changed, 312 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java create mode 100644 src/main/resources/templates/frontPage.html diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index a044e84..65b2e6a 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -37,6 +37,7 @@ public static void main(String[] args) { get("/error", (re, rs) -> new ModelAndView(new HashMap<>(), "error"), new ThymeleafTemplateEngine()); get("/support", new SupportPage(), new ThymeleafTemplateEngine()); + get("/frontPage", new FrontPage(), new ThymeleafTemplateEngine()); before("/volunteerPage", volunteerOnly); get("/volunteerPage", new VolunteerPage(), new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java new file mode 100644 index 0000000..ce8fa1d --- /dev/null +++ b/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java @@ -0,0 +1,16 @@ +package com.hackthemidlands.processblinders.pages; + +import spark.ModelAndView; +import spark.Request; +import spark.Response; +import spark.TemplateViewRoute; + +import java.util.HashMap; + +public class FrontPage implements TemplateViewRoute { + + @Override + public ModelAndView handle(Request request, Response response) { + return new ModelAndView(new HashMap<>(), "frontPage"); + } +} diff --git a/src/main/resources/templates/frontPage.html b/src/main/resources/templates/frontPage.html new file mode 100644 index 0000000..6e76d17 --- /dev/null +++ b/src/main/resources/templates/frontPage.html @@ -0,0 +1,288 @@ + + +W3.CSS Template + + + + + + + + + + + + +
+
+ MY WEBSITE LOGO +
+
+ + +
+

ABOUT ME

+

I love photography

+

We have created a fictional "personal" website/blog, and our fictional character is a hobby photographer. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, + quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa + qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+

My Name


+ Photo of Me +
+ + +
+

Welcome to my website. I am lorem ipsum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure + dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

+
+
+

Im really good at:

+

Photography

+
+
90%
+
+

Web Design

+
+
85%
+
+

Photoshop

+
+
75%
+
+
+ +
+
+ 14+
+ Partners +
+
+ 55+
+ Projects Done +
+
+ 89+
+ Happy Clients +
+
+ 150+
+ Meetings +
+
+ + +
+
+ PORTFOLIO +
+
+ + +
+

MY WORK

+

Here are some of my latest lorem work ipsum tipsum.
Click on the images to make them bigger


+ + +
+
+ The mist over the mountains +
+ +
+ Coffee beans +
+ +
+ Bear closeup +
+ +
+ Quiet ocean +
+
+ +
+
+ The mist +
+ +
+ My beloved typewriter +
+ +
+ Empty ghost train +
+ +
+ Sailing +
+ +
+
+ + +
+ +
+ +

+
+
+ + +
+
+ CONTACT +
+
+ + +
+

WHERE I WORK

+

I'd love your feedback!

+ +
+
+ +
+
+
+ Chicago, US
+ Phone: +00 151515
+ Email: mail@mail.com
+
+

Swing by for a cup of , or leave me a note:

+ +
+
+ +
+
+ +
+
+ + + +
+
+
+ + + + + + + + diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index 25ea0f7..edefd84 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -1,7 +1,7 @@ - Volunteers + Login
+

Who are we and what is our mission ? Find out here

Login



From 46f7816ada1605420cc308b8cb041f5eba71ee13 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 23:23:37 +0100 Subject: [PATCH 51/96] zzz --- src/main/resources/templates/register.html | 3 --- src/main/resources/templates/volunteerPage.html | 8 ++------ 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html index 7bafbf5..631897c 100644 --- a/src/main/resources/templates/register.html +++ b/src/main/resources/templates/register.html @@ -30,13 +30,10 @@ } -<<<<<<< HEAD -======= ->>>>>>> 2855f7db860bd05ca6d1787b04c31a80863a4c21

Register


diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index 4712531..a2cf4f7 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -18,14 +18,10 @@

Welcome back !

-<<<<<<< HEAD -
- -======= +

Welcome to the volunteer page.

-
+
->>>>>>> 2855f7db860bd05ca6d1787b04c31a80863a4c21
From 97445a8420eb60f2d9fceca58dfe4a395d313ac9 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sat, 24 Oct 2020 23:28:22 +0100 Subject: [PATCH 52/96] zzz --- src/main/resources/templates/volunteerPage.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index a2cf4f7..7d00aa8 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -21,7 +21,7 @@

Welcome back !

Welcome to the volunteer page.

- +
From deb43802d2dd0a48d253123986d6fb6389357713 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 00:18:21 +0100 Subject: [PATCH 53/96] fixing user page --- .../processblinders/pages/LoginPage.java | 12 +++++++----- .../processblinders/pages/RegisterPage.java | 12 +++++++++--- src/main/resources/templates/userPage.html | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java index 19e9e5d..e2f3330 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/LoginPage.java @@ -1,12 +1,14 @@ package com.hackthemidlands.processblinders.pages; import com.hackthemidlands.processblinders.api.User; +import com.hackthemidlands.processblinders.util.UserUtil; import spark.*; import java.util.Arrays; import java.util.HashMap; import java.util.Set; +import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; import static com.hackthemidlands.processblinders.util.UserUtil.findUserFromDatabase; @@ -25,11 +27,7 @@ public class LoginPage implements TemplateViewRoute { return "Invalid login credentials"; } setCookie(response, u); - if(u.isVolunteer()){ - response.redirect("/volunteerPage"); - } - else - response.redirect("/userPage"); + response.redirect("/orders/view"); return "Successfully logged in as: " + u.getFirstName() + " " + u.getLastName(); }; @@ -37,6 +35,10 @@ public class LoginPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { + if (UserUtil.findUserFromDatabase(getCookie(request)) != null) { + response.redirect("/orders/view"); + return new ModelAndView(new HashMap<>(), null); + } return new ModelAndView(new HashMap<>(), "main"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index 98329ef..67c4518 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -2,18 +2,20 @@ import com.hackthemidlands.processblinders.api.User; import com.hackthemidlands.processblinders.util.RequestUtil; +import com.hackthemidlands.processblinders.util.UserUtil; import spark.*; import java.util.Arrays; import java.util.HashMap; import java.util.Set; +import static com.hackthemidlands.processblinders.util.CookieUtil.getCookie; import static com.hackthemidlands.processblinders.util.CookieUtil.setCookie; import static com.hackthemidlands.processblinders.util.UserUtil.addNewUserToDatabase; public class RegisterPage implements TemplateViewRoute { - // HTTP GET + // HTTP POST public Route post = (Request request, Response response) -> { Set params = request.queryParams(); @@ -37,10 +39,14 @@ public class RegisterPage implements TemplateViewRoute { return ""; }; - // HTTP POST + // HTTP GET @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "register"); + if (UserUtil.findUserFromDatabase(getCookie(request)) != null) { + response.redirect("/orders/view"); + return new ModelAndView(new HashMap<>(), null); + } + return new ModelAndView(new HashMap<>(), "/register"); } } diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index d54184b..2a493ba 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -2,7 +2,7 @@ - Welcome back <span value="$name"></span>! + Welcome back <span th:value="${name}"></span>! diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html index edefd84..61a056d 100644 --- a/src/main/resources/templates/main.html +++ b/src/main/resources/templates/main.html @@ -24,15 +24,15 @@ border-color: #336699; } - .who{ + .who { position: absolute; right: 90%; width: 150px; - } + }
-

Who are we and what is our mission ? Find out here

+

Who are we and what is our mission ? Find out here

Login



diff --git a/src/main/resources/templates/placeOrder.html b/src/main/resources/templates/placeOrder.html index 34f13e9..1e54019 100644 --- a/src/main/resources/templates/placeOrder.html +++ b/src/main/resources/templates/placeOrder.html @@ -2,8 +2,8 @@ - + Register @@ -55,42 +55,41 @@ -
-

Register


- -
+
+

Register


+ +
- -
- -
- - + +
+ +
+ + -
- Items -
-


- - +
+ Items +
+


+ + - -
+ +
- + - - - - - - - - - - \ No newline at end of file + \ No newline at end of file From 58c6c4957448cb7f61086becfab68f958c0f23da Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sun, 25 Oct 2020 01:17:45 +0000 Subject: [PATCH 65/96] add itemsList functionality --- .../com/hackthemidlands/processblinders/api/Order.java | 2 +- .../processblinders/pages/PlaceOrderPage.java | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/api/Order.java b/src/main/java/com/hackthemidlands/processblinders/api/Order.java index f19a424..d4b722e 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/Order.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/Order.java @@ -9,7 +9,7 @@ @Builder public class Order { - private String shopList; + private String[] shopList; private int id; private double maxPrice; private String location; diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java index 9e8edb2..b7e179f 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java @@ -21,21 +21,22 @@ public ModelAndView handle(Request request, Response response) { public Route post = (Request request, Response response) -> { Set params = request.queryParams(); - System.out.print(params); - if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "", "priority", "maxPrice")) { + if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "items", "priority", "maxPrice","submit")) { // it means we do not have all of the complete form data, so we can send them back to the login page System.out.println("Not all"); response.redirect("/support"); return ""; } + String items = request.queryParams("items"); + String[] itemsList = items.split("[\\r\\n]+"); Order o = Order.builder() - .shopList(request.queryParams("items")) + .shopList(itemsList) .maxPrice(Integer.parseInt(request.queryParams("maxPrice"))) .priority(request.queryParams("password")) .build(); addNewOrderToDatabase(o); - response.redirect("/orders/view"); + response.redirect("/support"); return ""; }; } From 5cc9bece80f26ff295e8ad54d545fcda4e515a37 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 01:19:49 +0000 Subject: [PATCH 66/96] Ryans Automagical Push Tool Because Hes Lazy --- .../hackthemidlands/processblinders/Main.java | 18 +++--- src/main/resources/templates/frontPage.html | 59 ++++++++----------- 2 files changed, 35 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 7322a8d..5f86805 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import spark.ModelAndView; import spark.Spark; +import spark.TemplateEngine; import spark.template.thymeleaf.ThymeleafTemplateEngine; import java.util.Arrays; @@ -26,6 +27,7 @@ public final class Main { public static void main(String[] args) { Spark.exception(Exception.class, (exception, request, response) -> exception.printStackTrace()); // allow spark to internally handle exceptions + final TemplateEngine templateEngine = new ThymeleafTemplateEngine(); staticFileLocation("/public"); port(8080); @@ -43,39 +45,39 @@ public static void main(String[] args) { get("/error", (re, rs) -> new ModelAndView(new HashMap<>(), "error"), new ThymeleafTemplateEngine()); - get("/support", new SupportPage(), new ThymeleafTemplateEngine()); - get("/frontPage", new FrontPage(), new ThymeleafTemplateEngine()); + get("/support", new SupportPage(), templateEngine); + get("/frontPage", new FrontPage(), templateEngine); - get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); + get("/placeOrder", new PlaceOrderPage(), templateEngine); path("/placeOrder", () -> { PlaceOrderPage placeOrderPage = new PlaceOrderPage(); post("", placeOrderPage.post); - get("", placeOrderPage, new ThymeleafTemplateEngine()); + get("", placeOrderPage, templateEngine); }); path("/orders", () -> { ViewOrdersPage viewOrdersPage = new ViewOrdersPage(); - get("/view", viewOrdersPage, new ThymeleafTemplateEngine()); + get("/view", viewOrdersPage, templateEngine); }); path("/settings", () -> { SettingsPage settingsPage = new SettingsPage(); - get("", settingsPage, new ThymeleafTemplateEngine()); + get("", settingsPage, templateEngine); post("", settingsPage.post); }); path("/login", () -> { LoginPage loginPage = new LoginPage(); - get("", loginPage, new ThymeleafTemplateEngine()); + get("", loginPage, templateEngine); post("", loginPage.post); }); path("/register", () -> { RegisterPage registerPage = new RegisterPage(); post("", registerPage.post); - get("", registerPage, new ThymeleafTemplateEngine()); + get("", registerPage, templateEngine); }); path("/dev", new DevPage().getRoutes); diff --git a/src/main/resources/templates/frontPage.html b/src/main/resources/templates/frontPage.html index 8c313b2..14fe26a 100644 --- a/src/main/resources/templates/frontPage.html +++ b/src/main/resources/templates/frontPage.html @@ -7,7 +7,10 @@ -
- -
HELP THE MIDLANDS
-

ABOUT THIS PLATFORM

We're all in this together

@@ -91,44 +73,14 @@

ABOUT THIS PLATFORM

email address and a password.


-

Volunteers are extremely important in the fight against the pandemic. Be part of the team !

- -
- To the top +

Powered by the ProcessBlinders

- - \ No newline at end of file diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/login.html similarity index 100% rename from src/main/resources/templates/main.html rename to src/main/resources/templates/login.html diff --git a/src/main/resources/templates/orderVolunteerPage.html b/src/main/resources/templates/orderVolunteerPage.html deleted file mode 100644 index 9205570..0000000 --- a/src/main/resources/templates/orderVolunteerPage.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - Title - - - - -

- - - - \ No newline at end of file diff --git a/src/main/resources/templates/placeOrder.html b/src/main/resources/templates/orders-create.html similarity index 100% rename from src/main/resources/templates/placeOrder.html rename to src/main/resources/templates/orders-create.html diff --git a/src/main/resources/templates/viewOrders.html b/src/main/resources/templates/orders-view-order.html similarity index 100% rename from src/main/resources/templates/viewOrders.html rename to src/main/resources/templates/orders-view-order.html diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/orders-view-user.html similarity index 100% rename from src/main/resources/templates/userPage.html rename to src/main/resources/templates/orders-view-user.html diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/orders-view-volunteer.html similarity index 68% rename from src/main/resources/templates/volunteerPage.html rename to src/main/resources/templates/orders-view-volunteer.html index 1008b89..73e132b 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -27,6 +27,13 @@

Welcome to the volunteer page.

+ +

+

+ +

+ +
\ No newline at end of file diff --git a/src/main/resources/templates/support.html b/src/main/resources/templates/support.html deleted file mode 100644 index fb51fd0..0000000 --- a/src/main/resources/templates/support.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - Document - - - - - - - - \ No newline at end of file From 9c677a74b74b00f0666faa254329704192a45528 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 02:57:16 +0000 Subject: [PATCH 76/96] zzz --- .../hackthemidlands/processblinders/Main.java | 1 - .../processblinders/api/User.java | 7 +++++ .../processblinders/pages/RegisterPage.java | 3 +- .../processblinders/pages/SettingsPage.java | 31 ++++++++++++++----- .../processblinders/util/UserUtil.java | 14 +++++++++ src/main/resources/templates/settings.html | 31 ++++--------------- src/main/resources/templates/userPage.html | 11 ++++--- .../resources/templates/volunteerPage.html | 1 + 8 files changed, 61 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index fd60012..b397c69 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -54,7 +54,6 @@ public static void main(String[] args) { get("", placeOrderPage, new ThymeleafTemplateEngine()); }); - path("/orders", () -> { ViewOrdersPage viewOrdersPage = new ViewOrdersPage(); get("/view", viewOrdersPage, new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index cf8d8ce..8d1777b 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -7,6 +7,8 @@ @Builder public class User { + public static int maxId = -1; + private final int id; private String firstName; private String lastName; @@ -24,23 +26,28 @@ public static User dummyUser() { return dummyUser(0); } + public static User dummyVolunteer(int i) { + maxId++; return new UserBuilder() .email("volunteer" + i + "@v.co") .isVolunteer(true) .firstName("Volunteer") .lastName(i + "") .password("password" + i) + .id(maxId) .build(); } public static User dummyUser(int i) { + maxId++; return new UserBuilder() .email("user" + i + "@u.co") .isVolunteer(false) .firstName("User") .lastName(i + "") .password("pass" + i) + .id(maxId) .build(); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index 80d65eb..f3237fd 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -24,13 +24,14 @@ public class RegisterPage implements TemplateViewRoute { return ""; } boolean volunteer = request.queryParams("validate").equalsIgnoreCase("I want to volunteer"); - + User.maxId++; User u = User.builder() .firstName(request.queryParams("fname")) .lastName(request.queryParams("lname")) .isVolunteer(volunteer) .email(request.queryParams("email")) .password(request.queryParams("password")) + .id(User.maxId) .build(); addNewUserToDatabase(u); setCookie(response, u);// logs in the user diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java index de135c8..2af9295 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java @@ -1,28 +1,45 @@ package com.hackthemidlands.processblinders.pages; import com.hackthemidlands.processblinders.api.User; -import com.hackthemidlands.processblinders.util.CookieUtil; -import com.hackthemidlands.processblinders.util.UserUtil; +import com.hackthemidlands.processblinders.util.RequestUtil; import spark.*; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import java.util.Set; + +import static com.hackthemidlands.processblinders.util.CookieUtil.*; +import static com.hackthemidlands.processblinders.util.UserUtil.*; public class SettingsPage implements TemplateViewRoute { - public Route post = (Request request, Response Response) -> { + public Route post = (Request request, Response response) -> { // DO CODE FOR UPDATING USER HERE - - return "Your account has been updated! :)"; + if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "fname", "lname", "postcode", "email")) { + // it means we do not have all of the complete form data, so we can send them back to the login page + response.redirect("/settings"); + return ""; + } + String newName = request.queryParams("fname"); + String newSurname = request.queryParams("lname"); + String newEmail = request.queryParams("email"); + String newPostcode = request.queryParams("postcode"); + User u = findUserFromDatabase(getCookie(request)); + if(u == null){ response.redirect("/login"); return "";} + User u2 = User.builder().firstName(newName).lastName(newSurname).email(newEmail).postcode(newPostcode).isVolunteer(u.isVolunteer()).id(u.getId()).password(u.getPassword()).build(); + updateUser(u2); + response.redirect("/dev/protected"); + return ""; }; @Override public ModelAndView handle(Request request, Response response) { - Map models = new HashMap<>(); - User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); + User u = findUserFromDatabase(getCookie(request)); if (u == null) return null; models.put("user", u); + return new ModelAndView(models, "settings"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java index 5120700..079d286 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/UserUtil.java @@ -2,6 +2,7 @@ import com.hackthemidlands.processblinders.api.User; import lombok.Getter; +import org.eclipse.jetty.websocket.servlet.UpgradeHttpServletRequest; import java.util.ArrayList; import java.util.HashMap; @@ -25,6 +26,19 @@ public static boolean addNewUserToDatabase(User user) { return true; } + public static void updateUser(User user){ + allValidUsers.forEach(i -> { + if(i.getId() == user.getId()) { + i.setFirstName(user.getFirstName()); + i.setLastName(user.getLastName()); + i.setEmail(user.getEmail()); + i.setPassword(user.getPassword()); + i.setPostcode(user.getPostcode()); + i.setVolunteer(user.isVolunteer()); + } + }); + } + public static User findUserFromDatabase(String email) { return allValidUsers.stream().filter(u -> u.getEmail().equalsIgnoreCase(email)).findFirst().orElse(null); } diff --git a/src/main/resources/templates/settings.html b/src/main/resources/templates/settings.html index e6a9ee9..dcdd19c 100644 --- a/src/main/resources/templates/settings.html +++ b/src/main/resources/templates/settings.html @@ -6,32 +6,13 @@ - -

Edit your account:

-
- Name: - Surname: - Email: - Postcode: - + + Name:
+ Surname:
+ Email:
+ Postcode:
+
diff --git a/src/main/resources/templates/userPage.html b/src/main/resources/templates/userPage.html index 81f68ba..2496188 100644 --- a/src/main/resources/templates/userPage.html +++ b/src/main/resources/templates/userPage.html @@ -25,15 +25,18 @@ font-family: "TVerdana", Geneva, sans-serif; background-color: #c6d9eb; } + .setts { + position: absolute; + left: 90%; + }

Welcome back !

Welcome to the user page!

-
-
- -
+
+ +
diff --git a/src/main/resources/templates/volunteerPage.html b/src/main/resources/templates/volunteerPage.html index 1008b89..cdd2e9b 100644 --- a/src/main/resources/templates/volunteerPage.html +++ b/src/main/resources/templates/volunteerPage.html @@ -23,6 +23,7 @@

Welcome back !

Welcome to the volunteer page.

+
From c8ce523eac448e6c4a74cddb8f8996e6bd944415 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 03:04:34 +0000 Subject: [PATCH 77/96] Ryans Automagical Push Tool Because Hes Lazy --- .../hackthemidlands/processblinders/Main.java | 15 +- .../processblinders/api/Order.java | 3 - .../processblinders/api/User.java | 3 - .../processblinders/pages/SettingsPage.java | 7 - src/main/resources/templates/frontPage.html | 143 ------------------ 5 files changed, 1 insertion(+), 170 deletions(-) delete mode 100644 src/main/resources/templates/frontPage.html diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index aa1c307..c33de66 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -37,27 +37,14 @@ public static void main(String[] args) { getAllValidOrders().addAll(IntStream.range(0, 3) .mapToObj(i -> Order.builder().shopList(new String[]{ (random.nextInt(10) + i) + " tins of beans", (random.nextInt(i + 1) + 1) + " loaves of bread", (random.nextInt(i + 4) + i) + " pints of milk"}) - .id(i).location("P057 C0D3") + .id(i) .user(getAllValidUsers().stream().filter(u -> !u.isVolunteer()).collect(Collectors.toList()).get(i)) .maxPrice(69d).status(OrderStatus.PENDING) .build()).collect(Collectors.toList())); get("/error", (re, rs) -> new ModelAndView(new HashMap<>(), "error"), new ThymeleafTemplateEngine()); -<<<<<<< HEAD - get("/support", new SupportPage(), new ThymeleafTemplateEngine()); - get("/frontPage", new FrontPage(), new ThymeleafTemplateEngine()); - - get("/placeOrder", new PlaceOrderPage(), new ThymeleafTemplateEngine()); - - path("/placeOrder", () -> { - PlaceOrderPage placeOrderPage = new PlaceOrderPage(); - post("", placeOrderPage.post); - get("", placeOrderPage, new ThymeleafTemplateEngine()); - }); -======= get("/", new FrontPage(), templateEngine); ->>>>>>> cabed93b6a294ec13e96d4905e56bc8000a96447 path("/orders", () -> { ViewOrdersPage viewOrdersPage = new ViewOrdersPage(); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/Order.java b/src/main/java/com/hackthemidlands/processblinders/api/Order.java index d4b722e..b4b3787 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/Order.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/Order.java @@ -3,8 +3,6 @@ import lombok.Builder; import lombok.Data; -import java.util.List; - @Data @Builder public class Order { @@ -12,7 +10,6 @@ public class Order { private String[] shopList; private int id; private double maxPrice; - private String location; private OrderStatus status; private User user; private User volunteer; diff --git a/src/main/java/com/hackthemidlands/processblinders/api/User.java b/src/main/java/com/hackthemidlands/processblinders/api/User.java index a4d2191..c41349d 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/User.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/User.java @@ -35,11 +35,8 @@ public static User dummyVolunteer(int i) { .firstName("Volunteer") .lastName(i + "") .password("password" + i) -<<<<<<< HEAD .id(maxId) -======= .postcode("PO59 C0D" + i) ->>>>>>> cabed93b6a294ec13e96d4905e56bc8000a96447 .build(); } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java index b643adb..b94689b 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java @@ -4,10 +4,8 @@ import com.hackthemidlands.processblinders.util.RequestUtil; import spark.*; -import java.util.Arrays; import java.util.HashMap; import java.util.Map; -import java.util.Set; import static com.hackthemidlands.processblinders.util.CookieUtil.*; import static com.hackthemidlands.processblinders.util.UserUtil.*; @@ -36,13 +34,8 @@ public class SettingsPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { Map models = new HashMap<>(); -<<<<<<< HEAD User u = findUserFromDatabase(getCookie(request)); - if (u == null) return null; -======= - User u = UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)); if (u == null) return new ModelAndView(new HashMap<>(), null); ->>>>>>> cabed93b6a294ec13e96d4905e56bc8000a96447 models.put("user", u); return new ModelAndView(models, "settings"); diff --git a/src/main/resources/templates/frontPage.html b/src/main/resources/templates/frontPage.html deleted file mode 100644 index 883a28e..0000000 --- a/src/main/resources/templates/frontPage.html +++ /dev/null @@ -1,143 +0,0 @@ - - -HelpTheMidlands - - - - - - - - - -
- - - - -
- - -
-
- HELP THE MIDLANDS -
-
- - -
-

ABOUT THIS PLATFORM

-

We're all in this together

-

HelpTheMidlands is an easy to use web application designed to facilitate communication between the people who need support during these difficult times and the volunteers. - We created an intuitive interface that enables making grocery orders for people who are self-isolating or unable to go grocery shopping due to the high risk-exposure. - Volunteers can also easily view orders that have been made from people around them and choose which ones they are able to help with. -

-
-
-

You can register as a volunteer or a supportee using just your name, an email address and a password.


-
- - -
-

Volunteers are extremely important in the fight against the pandemic. Be part of the team !

-
-
-
- - - - - - - - \ No newline at end of file From 93626210515bdf6a96382442f150e3c74bcb1fa7 Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sun, 25 Oct 2020 03:41:04 +0000 Subject: [PATCH 78/96] fix changing user info --- src/main/resources/templates/settings.html | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/resources/templates/settings.html b/src/main/resources/templates/settings.html index dcdd19c..da57c00 100644 --- a/src/main/resources/templates/settings.html +++ b/src/main/resources/templates/settings.html @@ -7,13 +7,12 @@

Edit your account:

-
- Name:
- Surname:
- Email:
- Postcode:
+ +
+
+
+

-
\ No newline at end of file From 6a464c129d7ce9f0e67c6a576930e7964bb2f787 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 03:51:09 +0000 Subject: [PATCH 79/96] Ryans Automagical Push Tool Because Hes Lazy --- .../java/com/hackthemidlands/processblinders/Main.java | 5 +++-- .../com/hackthemidlands/processblinders/api/Order.java | 2 ++ .../processblinders/pages/PlaceOrderPage.java | 7 +++++-- src/main/resources/templates/register.html | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index c33de66..9fc86b1 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -37,10 +37,11 @@ public static void main(String[] args) { getAllValidOrders().addAll(IntStream.range(0, 3) .mapToObj(i -> Order.builder().shopList(new String[]{ (random.nextInt(10) + i) + " tins of beans", (random.nextInt(i + 1) + 1) + " loaves of bread", (random.nextInt(i + 4) + i) + " pints of milk"}) - .id(i) + .id(++Order.maxId) .user(getAllValidUsers().stream().filter(u -> !u.isVolunteer()).collect(Collectors.toList()).get(i)) .maxPrice(69d).status(OrderStatus.PENDING) - .build()).collect(Collectors.toList())); + .build()) + .collect(Collectors.toList())); get("/error", (re, rs) -> new ModelAndView(new HashMap<>(), "error"), new ThymeleafTemplateEngine()); diff --git a/src/main/java/com/hackthemidlands/processblinders/api/Order.java b/src/main/java/com/hackthemidlands/processblinders/api/Order.java index b4b3787..fada80c 100644 --- a/src/main/java/com/hackthemidlands/processblinders/api/Order.java +++ b/src/main/java/com/hackthemidlands/processblinders/api/Order.java @@ -7,6 +7,8 @@ @Builder public class Order { + public static int maxId = -1; + private String[] shopList; private int id; private double maxPrice; diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java index 32a9576..d0756ab 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/PlaceOrderPage.java @@ -1,5 +1,6 @@ package com.hackthemidlands.processblinders.pages; +import com.hackthemidlands.processblinders.api.OrderStatus; import com.hackthemidlands.processblinders.api.User; import com.hackthemidlands.processblinders.util.CookieUtil; import com.hackthemidlands.processblinders.util.UserUtil; @@ -33,7 +34,7 @@ public ModelAndView handle(Request request, Response response) { response.redirect("/error"); return ""; } - if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "items", "priority", "maxPrice","submit")) { + if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "items", "priority", "maxPrice")) { // it means we do not have all of the complete form data, so we can send them back to the login page response.redirect("/orders/view"); return ""; @@ -44,8 +45,10 @@ public ModelAndView handle(Request request, Response response) { Order o = Order.builder() .shopList(itemsList) .maxPrice(Integer.parseInt(request.queryParams("maxPrice"))) - .priority(request.queryParams("password")) + .priority(request.queryParams("priority")) .user(u) + .id(++Order.maxId) + .status(OrderStatus.PENDING) .build(); addNewOrderToDatabase(o); response.redirect("/orders/view"); diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html index dd204a3..096e94e 100644 --- a/src/main/resources/templates/register.html +++ b/src/main/resources/templates/register.html @@ -43,9 +43,9 @@

Register







- -
From 7f7afe789a2de207ecbc586b2c6c175e82e66e43 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 03:53:26 +0000 Subject: [PATCH 80/96] zzz --- .../processblinders/pages/SettingsPage.java | 1 + .../resources/templates/orders-view-user.html | 3 +-- .../templates/orders-view-volunteer.html | 24 +++++++++++-------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java index b94689b..7fc1460 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java @@ -27,6 +27,7 @@ public class SettingsPage implements TemplateViewRoute { if(u == null){ response.redirect("/login"); return "";} User u2 = User.builder().firstName(newName).lastName(newSurname).email(newEmail).postcode(newPostcode).isVolunteer(u.isVolunteer()).id(u.getId()).password(u.getPassword()).build(); updateUser(u2); + setCookie(response, u2); response.redirect("/dev/protected"); return ""; }; diff --git a/src/main/resources/templates/orders-view-user.html b/src/main/resources/templates/orders-view-user.html index b5662e4..74ff744 100644 --- a/src/main/resources/templates/orders-view-user.html +++ b/src/main/resources/templates/orders-view-user.html @@ -32,8 +32,7 @@ -

Welcome back !

-

Welcome to the user page!

+

Welcome back to the user page!

diff --git a/src/main/resources/templates/orders-view-volunteer.html b/src/main/resources/templates/orders-view-volunteer.html index bb79c0d..78c049d 100644 --- a/src/main/resources/templates/orders-view-volunteer.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -10,31 +10,35 @@ font-family: "TVerdana", Geneva, sans-serif; background-color: #c6d9eb; } - .setts { position: absolute; left: 90%; } + .orderClass{ + text-align: center; + width: 15%; + border: solid; + border-radius: 20px; + border-color: #336699; + } -

Welcome back !

- -

Welcome to the volunteer page.

+

Welcome back to the volunteer page !

- - -

+

Available orders:



+
+

- +

- - +

+

\ No newline at end of file From 0143954cf4e14c7303e629d2d5f2938c491aeab8 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 03:56:22 +0000 Subject: [PATCH 81/96] Ryans Automagical Push Tool Because Hes Lazy --- .../hackthemidlands/processblinders/pages/SettingsPage.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java index b94689b..5c728da 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/SettingsPage.java @@ -35,7 +35,10 @@ public class SettingsPage implements TemplateViewRoute { public ModelAndView handle(Request request, Response response) { Map models = new HashMap<>(); User u = findUserFromDatabase(getCookie(request)); - if (u == null) return new ModelAndView(new HashMap<>(), null); + if (u == null) { + response.redirect("/login"); + return new ModelAndView(new HashMap<>(), null); + } models.put("user", u); return new ModelAndView(models, "settings"); From 094ac166f7235242e574be7b1e4fc065a8dd3aac Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 04:24:58 +0000 Subject: [PATCH 82/96] Ryans Automagical Push Tool Because Hes Lazy --- .../processblinders/pages/ViewOrdersPage.java | 1 + .../processblinders/util/OrderUtil.java | 13 +++++++++++++ src/main/resources/templates/orders-view-user.html | 9 +++++++++ 3 files changed, 23 insertions(+) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java index 27621a2..5960b59 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/ViewOrdersPage.java @@ -34,6 +34,7 @@ public ModelAndView volunteerPage(Request request, Response response, Map models) { + models.put("orders", OrderUtil.getAllOrdersForUser((User)models.get("user"))); return new ModelAndView(models, "orders-view-user"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java index 0a1ddd5..a487156 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java @@ -39,6 +39,19 @@ public static boolean isPending(Order order) { return order.getStatus().getNum() == 0; } + public static boolean clearVolunteer(int orderId, User u) { + if (u == null) return false; + Order o = findOrderFromDatabase(orderId); + if (o == null || o.getVolunteer() != u) return false; + o.setStatus(OrderStatus.PENDING); + o.setVolunteer(null); + return true; + } + + public static List getAllOrdersForUser(User u) { + return allValidOrders.stream().filter(o -> o.getUser().equals(u)).collect(Collectors.toList()); + } + public static boolean setVolunteer(Order order, User u) { if (order == null) return false; if (u == null) { diff --git a/src/main/resources/templates/orders-view-user.html b/src/main/resources/templates/orders-view-user.html index 74ff744..2d56504 100644 --- a/src/main/resources/templates/orders-view-user.html +++ b/src/main/resources/templates/orders-view-user.html @@ -41,5 +41,14 @@

Welcome back to the user page!

+
+

Orders



+
+

+
+

+

+

+
\ No newline at end of file From f5b5f73b1e0fdbf47604639127cac950e500b56d Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 04:28:24 +0000 Subject: [PATCH 83/96] Ryans Automagical Push Tool Because Hes Lazy --- .factorypath | 29 ----------------------------- .gitignore | 4 +++- 2 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 .factorypath diff --git a/.factorypath b/.factorypath deleted file mode 100644 index 885d331..0000000 --- a/.factorypath +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.gitignore b/.gitignore index 2417caa..dc87723 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,6 @@ node_modules resources/templates/css/** resources/templates/js/** resources/templates/fonts/** -dist \ No newline at end of file +dist + +.factorypath/ \ No newline at end of file From aee5a6ad1976193b1a6ae5faa9b5d5d236dccb58 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 04:29:40 +0000 Subject: [PATCH 84/96] zzz --- .../resources/templates/orders-view-volunteer.html | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/resources/templates/orders-view-volunteer.html b/src/main/resources/templates/orders-view-volunteer.html index 78c049d..4fac341 100644 --- a/src/main/resources/templates/orders-view-volunteer.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -16,11 +16,14 @@ } .orderClass{ text-align: center; - width: 15%; + width: 20%; border: solid; border-radius: 20px; border-color: #336699; } + .placeOrder{ + font-size: 18px; + } @@ -33,11 +36,13 @@

Welcome back to the volunteer page !

Available orders:



-

-

+

+

+
Items:

-

+
+

From 72afc85567b462b6468866bf4169c1293b0795c8 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 04:51:57 +0000 Subject: [PATCH 85/96] zzz --- .../resources/templates/orders-view-user.html | 17 ++++++++++++++--- .../templates/orders-view-volunteer.html | 18 ++++++++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/src/main/resources/templates/orders-view-user.html b/src/main/resources/templates/orders-view-user.html index 2d56504..b37d205 100644 --- a/src/main/resources/templates/orders-view-user.html +++ b/src/main/resources/templates/orders-view-user.html @@ -29,6 +29,17 @@ position: absolute; left: 90%; } + .orderClass{ + text-align: center; + width: 20%; + border: solid; + border-radius: 20px; + border-color: #336699; + font-size: 18px; + } + .waitingOrders{ + font-size: 18px; + } @@ -39,15 +50,15 @@

Welcome back to the user page!

-
-

Orders



+

Orders


-

+
+

diff --git a/src/main/resources/templates/orders-view-volunteer.html b/src/main/resources/templates/orders-view-volunteer.html index 4fac341..5299c4c 100644 --- a/src/main/resources/templates/orders-view-volunteer.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -20,8 +20,6 @@ border: solid; border-radius: 20px; border-color: #336699; - } - .placeOrder{ font-size: 18px; } @@ -33,8 +31,8 @@

Welcome back to the volunteer page !

-
-

Available orders:



+
+

Available orders:



@@ -45,5 +43,17 @@

Available orders:




+ +
+

Your orders:



+
+

+

+
Items: +
+

+
+

+
\ No newline at end of file From 54366864220b00bb5542f6a18eadd4805d725f49 Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sun, 25 Oct 2020 04:53:58 +0000 Subject: [PATCH 86/96] add colour to orders on select --- src/main/resources/templates/orders-view-volunteer.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/templates/orders-view-volunteer.html b/src/main/resources/templates/orders-view-volunteer.html index 4fac341..fba55fc 100644 --- a/src/main/resources/templates/orders-view-volunteer.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -24,6 +24,10 @@ .placeOrder{ font-size: 18px; } + + .selected{ + border-color: green; + } @@ -42,7 +46,7 @@

Available orders:



- +

From 32fd8381337dfac88aafdfa1f4840b2306a2be31 Mon Sep 17 00:00:00 2001 From: Reuben Sinclair Date: Sun, 25 Oct 2020 05:21:03 +0000 Subject: [PATCH 87/96] Add colouring when cancelling order --- .../resources/templates/orders-view-user.html | 70 +++++++++++++------ 1 file changed, 50 insertions(+), 20 deletions(-) diff --git a/src/main/resources/templates/orders-view-user.html b/src/main/resources/templates/orders-view-user.html index b37d205..2325bfa 100644 --- a/src/main/resources/templates/orders-view-user.html +++ b/src/main/resources/templates/orders-view-user.html @@ -1,5 +1,6 @@ + Welcome back <span th:value="${name}"></span>! @@ -18,6 +19,21 @@ location.href = "/orders/view"; }; + function cancelOrder(obj) { + var parentObj = obj.parentElement; + parentObj.classList.toggle("cancelled"); + + if (parentObj.classList.contains("cancelled")) { + parentObj.querySelector(".bold").innerHTML = "Cancelled"; + parentObj.querySelector(".button").innerHTML = "Restore order"; + } + else { + parentObj.querySelector(".bold").innerHTML = "Pending"; + parentObj.querySelector(".button").innerHTML = "Cancel order"; + + } + }; + -

Welcome back to the user page!

-
- - -
-
- -
-
-

Orders


-
-

-
-

-
- -

-
+

Welcome back to the user page!

+
+ + +
+
+ +
+
+

Orders


+
+ +

+
+
+

+
+ +

+
+ \ No newline at end of file From 3a8da3f91c8b01653a35ac8a05a230414e6ca49f Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 05:22:09 +0000 Subject: [PATCH 88/96] zzz --- .../hackthemidlands/processblinders/Main.java | 4 ++ .../processblinders/util/OrderUtil.java | 4 ++ .../templates/orders-view-volunteer.html | 44 +++++++++++++------ 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/Main.java b/src/main/java/com/hackthemidlands/processblinders/Main.java index 9fc86b1..f2e39b5 100644 --- a/src/main/java/com/hackthemidlands/processblinders/Main.java +++ b/src/main/java/com/hackthemidlands/processblinders/Main.java @@ -56,6 +56,10 @@ public static void main(String[] args) { get("/new", placeOrderPage, templateEngine); }); + path("/commitTo", () -> { + + }); + path("/settings", () -> { SettingsPage settingsPage = new SettingsPage(); get("", settingsPage, templateEngine); diff --git a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java index a487156..d2901d0 100644 --- a/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java +++ b/src/main/java/com/hackthemidlands/processblinders/util/OrderUtil.java @@ -23,6 +23,10 @@ public static boolean addNewOrderToDatabase(Order order) { return true; } + public static void commitToOrder(){ + + } + public static Order findOrderFromDatabase(int id) { return allValidOrders.stream().filter(o -> o.getID() == id).findFirst().orElse(null); } diff --git a/src/main/resources/templates/orders-view-volunteer.html b/src/main/resources/templates/orders-view-volunteer.html index 4474cc7..e26a1c4 100644 --- a/src/main/resources/templates/orders-view-volunteer.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -15,8 +15,10 @@ left: 90%; } .orderClass{ + margin-left: 120px; + margin-right: 120px; + margin-bottom: 10px; text-align: center; - width: 20%; border: solid; border-radius: 20px; border-color: #336699; @@ -26,27 +28,39 @@ .selected{ border-color: green; } + + .waitingOrders{ + float: left; + width: 50%; + } + + .commitedOrders{ + float: right; + width: 50%; + } -

Welcome back to the volunteer page !

-
-

Available orders:



-
-

-

-
Items: -
-

-
- -

-
+

Welcome back to the volunteer page !

+
+
+

Available orders:



+
+

+

+
Items: +
+

+
+
+ +

+

Your orders:



@@ -59,5 +73,7 @@

Your orders:




+
+
\ No newline at end of file From fbeb2cffe20edfa7ba206b6455deaae538b4726f Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 05:25:50 +0000 Subject: [PATCH 89/96] zzz --- src/main/resources/templates/login.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 61a056d..ae79826 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -32,7 +32,7 @@
-

Who are we and what is our mission ? Find out here

+

Who are we and what is our mission ? Find out here

Login



From 54bcc211fad8589b5a0497c4757bbe88342e4f70 Mon Sep 17 00:00:00 2001 From: rainestormee Date: Sun, 25 Oct 2020 05:33:31 +0000 Subject: [PATCH 90/96] Ryans Automagical Push Tool Because Hes Lazy --- .../processblinders/pages/FrontPage.java | 8 +++++++- .../processblinders/pages/RegisterPage.java | 6 ++++-- src/main/resources/templates/index.html | 12 +++++------- src/main/resources/templates/register.html | 3 ++- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java index fb2d478..75b6ec9 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/FrontPage.java @@ -1,16 +1,22 @@ package com.hackthemidlands.processblinders.pages; +import com.hackthemidlands.processblinders.util.CookieUtil; +import com.hackthemidlands.processblinders.util.UserUtil; import spark.ModelAndView; import spark.Request; import spark.Response; import spark.TemplateViewRoute; +import javax.servlet.http.Cookie; import java.util.HashMap; +import java.util.Map; public class FrontPage implements TemplateViewRoute { @Override public ModelAndView handle(Request request, Response response) { - return new ModelAndView(new HashMap<>(), "index"); + Map models = new HashMap<>(); + models.put("loggedIn", UserUtil.findUserFromDatabase(CookieUtil.getCookie(request)) != null); + return new ModelAndView(models, "index"); } } diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java index f3237fd..9f4c7df 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/RegisterPage.java @@ -18,7 +18,9 @@ public class RegisterPage implements TemplateViewRoute { public Route post = (Request request, Response response) -> { Set params = request.queryParams(); - if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "fname", "lname", "validate", "email", "password")) { + if (!RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "fname", "lname", "validate", "email", "password1", "password2") || + ((RequestUtil.checkIfAllQueryParamsArePresentAndNotNull(request, "password1", "password2")) && + !request.queryParams("password1").equals(request.queryParams("password2")))) { // it means we do not have all of the complete form data, so we can send them back to the login page response.redirect("/register"); return ""; @@ -30,7 +32,7 @@ public class RegisterPage implements TemplateViewRoute { .lastName(request.queryParams("lname")) .isVolunteer(volunteer) .email(request.queryParams("email")) - .password(request.queryParams("password")) + .password(request.queryParams("password1")) .id(User.maxId) .build(); addNewUserToDatabase(u); diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index bd0374b..1be4dc3 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -1,5 +1,5 @@ - + HelpTheMidlands @@ -41,14 +41,12 @@
diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html index 096e94e..318e8cb 100644 --- a/src/main/resources/templates/register.html +++ b/src/main/resources/templates/register.html @@ -41,7 +41,8 @@

Register





-
+
+



From ea84062e6b769de6c90905f4714479e3bd8cd41d Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 05:36:51 +0000 Subject: [PATCH 91/96] zzz --- src/main/resources/templates/login.html | 9 ++++++--- .../templates/orders-view-volunteer.html | 12 ++++++------ src/main/resources/templates/register.html | 15 +++++++++++++-- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index ae79826..fd156a1 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -26,13 +26,16 @@ .who { position: absolute; - right: 90%; - width: 150px; + float: left; + } + a { + text-decoration: none; + color: #336699; } +

Who are we and what is our mission ? Find out here

-

Who are we and what is our mission ? Find out here

Login



diff --git a/src/main/resources/templates/orders-view-volunteer.html b/src/main/resources/templates/orders-view-volunteer.html index e26a1c4..8a5feb9 100644 --- a/src/main/resources/templates/orders-view-volunteer.html +++ b/src/main/resources/templates/orders-view-volunteer.html @@ -15,8 +15,8 @@ left: 90%; } .orderClass{ - margin-left: 120px; - margin-right: 120px; + margin-left: 130px; + margin-right: 130px; margin-bottom: 10px; text-align: center; border: solid; @@ -58,11 +58,11 @@

Available orders:



- -

+
+

-
+

Your orders:



@@ -71,7 +71,7 @@

Your orders:



-

+
diff --git a/src/main/resources/templates/register.html b/src/main/resources/templates/register.html index 096e94e..1997a28 100644 --- a/src/main/resources/templates/register.html +++ b/src/main/resources/templates/register.html @@ -25,8 +25,17 @@ border-color: #336699; } - .frontPage button { - + .registerForm{ + margin-left: 690px; + margin-right: 690px; + text-align: center; + border-style: solid; + border-color: #336699; + border-radius: 15px; + } + a { + text-decoration: none; + color: #336699; } @@ -47,7 +56,9 @@

Register


style="color: #336699;" type="submit" value="I want to volunteer"> +

+

Back to login

\ No newline at end of file From 2fc515af4a7d1e298bb10833398d4799c07c70c9 Mon Sep 17 00:00:00 2001 From: andreeaivancu Date: Sun, 25 Oct 2020 06:01:07 +0000 Subject: [PATCH 92/96] zzz --- .../processblinders/pages/DevPage.java | 1 + .../resources/templates/orders-view-user.html | 6 +++--- src/main/resources/templates/settings.html | 16 ++++++++++++---- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java index 56befd2..136420c 100644 --- a/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java +++ b/src/main/java/com/hackthemidlands/processblinders/pages/DevPage.java @@ -33,6 +33,7 @@ public class DevPage { }); get("/logout", (req, res) -> { setCookie(res, User.builder().build()); + res.redirect("/login"); return "You have been logged out."; }); get("/viewOrders", new ViewOrdersPage(), new ThymeleafTemplateEngine()); diff --git a/src/main/resources/templates/orders-view-user.html b/src/main/resources/templates/orders-view-user.html index 2325bfa..b788ea3 100644 --- a/src/main/resources/templates/orders-view-user.html +++ b/src/main/resources/templates/orders-view-user.html @@ -3,7 +3,7 @@ - Welcome back <span th:value="${name}"></span>! + Welcome back !