Browse Source

updated visitor registration changes

master
SriPaari 1 year ago
parent
commit
0c6838c3b0
  1. 2
      src/main/java/com/example/RiponBuilding/VisitorRegistration/configuration/DataSourceConfig.java
  2. 6
      src/main/java/com/example/RiponBuilding/VisitorRegistration/controller/MainController.java
  3. 122
      src/main/java/com/example/RiponBuilding/VisitorRegistration/controller/RegistrationController.java
  4. 16
      src/main/java/com/example/RiponBuilding/VisitorRegistration/service/RegistrationService.java
  5. 20
      src/main/resources/templates/fragments/user-head.html
  6. 32
      src/main/resources/templates/fragments/user-script.html
  7. 14
      src/main/resources/templates/user/registrationpage.html

2
src/main/java/com/example/RiponBuilding/VisitorRegistration/configuration/DataSourceConfig.java

@ -22,7 +22,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
public class DataSourceConfig { public class DataSourceConfig {
private static String host = "localhost:3306"; private static String host = "localhost:3306";
private static String dbpassword = "password";
private static String dbpassword = "gccroot";
@Configuration @Configuration
@EnableTransactionManagement @EnableTransactionManagement

6
src/main/java/com/example/RiponBuilding/VisitorRegistration/controller/MainController.java

@ -22,11 +22,7 @@ public class MainController {
return "user/registrationpage"; return "user/registrationpage";
} }
@GetMapping(value= {"/veterinary"})
public String viewveterinary() {
return "user/veterinary";
}
/* /*

122
src/main/java/com/example/RiponBuilding/VisitorRegistration/controller/RegistrationController.java

@ -215,7 +215,8 @@ public class RegistrationController {
} }
@PostMapping("/saveCollegeRegistration") @PostMapping("/saveCollegeRegistration")
public Map<String, Object> saveCollegeRegistration(@RequestParam String name, @RequestParam String address, @RequestParam String mobile,
public Map<String, Object> saveCollegeRegistration(@RequestParam String name, @RequestParam String address,
@RequestParam String mobile,
@RequestParam String visitorType, @RequestParam String Collegename, @RequestParam String department, @RequestParam String visitorType, @RequestParam String Collegename, @RequestParam String department,
@RequestParam String years, @RequestParam int noofStudents, @RequestParam double Aproxage, @RequestParam String years, @RequestParam int noofStudents, @RequestParam double Aproxage,
@RequestParam String language, @RequestParam boolean signLanguage, @RequestParam String visitDayTime) { @RequestParam String language, @RequestParam boolean signLanguage, @RequestParam String visitDayTime) {
@ -282,17 +283,36 @@ public class RegistrationController {
*/ */
@GetMapping("/bookingdetails") @GetMapping("/bookingdetails")
public ResponseEntity<Map<String,Object>> getBookingDetails(
@RequestParam("refId") String refId) {
public ResponseEntity<Map<String, Object>> getBookingDetails(
@RequestParam(value = "refId", required = false) String refId) {
Map<String, Object> response = new HashMap<>();
if (refId == null || refId.trim().isEmpty()) {
response.put("status", "Error");
response.put("message", "Missing required parameter: refId");
return ResponseEntity.badRequest().body(response);
}
try {
Map<String, Object> bookingDetails = registrationService.getBookingByRefId(refId);
if (bookingDetails == null || bookingDetails.isEmpty()) {
response.put("status", "Error");
response.put("message", "Booking not found for refId: " + refId);
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(response);
}
Map<String,Object> bookingDetails =
registrationService.getBookingByRefId(refId);
return ResponseEntity.ok(bookingDetails);
if (bookingDetails.isEmpty()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).build();
} catch (Exception e) {
e.printStackTrace();
response.put("status", "Error");
response.put("message", "Internal server error: " + e.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response);
} }
return ResponseEntity.ok(bookingDetails);
}
}
@GetMapping("/getAllData") @GetMapping("/getAllData")
public ResponseEntity<Map<String, Object>> getAllData( public ResponseEntity<Map<String, Object>> getAllData(
@ -341,7 +361,14 @@ public class RegistrationController {
System.out.println("Visitor Category: " + visitorCategory); System.out.println("Visitor Category: " + visitorCategory);
Map<String, Object> response = new HashMap<>(); Map<String, Object> response = new HashMap<>();
try { try {
if (!"individual".equalsIgnoreCase(visitorCategory.trim())) {
response.put("Status", "Error");
response.put("Message", "Only individual data is allowed.");
return ResponseEntity.ok(response);
}
List<Map<String, Object>> data = registrationService.getIndividualData(fromDate, toDate, visitorCategory); List<Map<String, Object>> data = registrationService.getIndividualData(fromDate, toDate, visitorCategory);
System.out.println("Controller: Data from Service: " + data); System.out.println("Controller: Data from Service: " + data);
@ -351,7 +378,7 @@ public class RegistrationController {
response.put("data", data); response.put("data", data);
} else { } else {
response.put("Status", "Error"); response.put("Status", "Error");
response.put("Message", "No Data Found");
response.put("Message", "No Data Found for individual category");
} }
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} catch (Exception e) { } catch (Exception e) {
@ -365,8 +392,6 @@ public class RegistrationController {
@GetMapping("/getFamilyData") @GetMapping("/getFamilyData")
public ResponseEntity<Map<String, Object>> getFamilyData( public ResponseEntity<Map<String, Object>> getFamilyData(
@RequestParam String fromDate, @RequestParam String fromDate,
@ -380,6 +405,12 @@ public class RegistrationController {
Map<String, Object> response = new HashMap<>(); Map<String, Object> response = new HashMap<>();
try { try {
if (!"family".equalsIgnoreCase(visitorCategory.trim())) {
response.put("Status", "Error");
response.put("Message", "Only family data is allowed.");
return ResponseEntity.ok(response);
}
List<Map<String, Object>> data = registrationService.getFamilyData(fromDate, toDate, visitorCategory); List<Map<String, Object>> data = registrationService.getFamilyData(fromDate, toDate, visitorCategory);
System.out.println("Controller: Data from Service: " + data); System.out.println("Controller: Data from Service: " + data);
@ -389,7 +420,7 @@ public class RegistrationController {
response.put("data", data); response.put("data", data);
} else { } else {
response.put("Status", "Error"); response.put("Status", "Error");
response.put("Message", "No Data Found");
response.put("Message", "No Data Found for family category");
} }
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} catch (Exception e) { } catch (Exception e) {
@ -413,6 +444,12 @@ public class RegistrationController {
Map<String, Object> response = new HashMap<>(); Map<String, Object> response = new HashMap<>();
try { try {
if (!"school".equalsIgnoreCase(visitorCategory.trim())) {
response.put("Status", "Error");
response.put("Message", "Only school data is allowed.");
return ResponseEntity.ok(response);
}
List<Map<String, Object>> data = registrationService.getSchoolData(fromDate, toDate, visitorCategory); List<Map<String, Object>> data = registrationService.getSchoolData(fromDate, toDate, visitorCategory);
System.out.println("Controller: Data from Service: " + data); System.out.println("Controller: Data from Service: " + data);
@ -422,7 +459,7 @@ public class RegistrationController {
response.put("data", data); response.put("data", data);
} else { } else {
response.put("Status", "Error"); response.put("Status", "Error");
response.put("Message", "No Data Found");
response.put("Message", "No Data Found for school category");
} }
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} catch (Exception e) { } catch (Exception e) {
@ -446,6 +483,12 @@ public class RegistrationController {
Map<String, Object> response = new HashMap<>(); Map<String, Object> response = new HashMap<>();
try { try {
if (!"college".equalsIgnoreCase(visitorCategory.trim())) {
response.put("Status", "Error");
response.put("Message", "Only college data is allowed.");
return ResponseEntity.ok(response);
}
List<Map<String, Object>> data = registrationService.getCollegeData(fromDate, toDate, visitorCategory); List<Map<String, Object>> data = registrationService.getCollegeData(fromDate, toDate, visitorCategory);
System.out.println("Controller: Data from Service: " + data); System.out.println("Controller: Data from Service: " + data);
@ -455,7 +498,7 @@ public class RegistrationController {
response.put("data", data); response.put("data", data);
} else { } else {
response.put("Status", "Error"); response.put("Status", "Error");
response.put("Message", "No Data Found");
response.put("Message", "No Data Found for college category");
} }
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} catch (Exception e) { } catch (Exception e) {
@ -467,30 +510,35 @@ public class RegistrationController {
} }
@GetMapping("/getlist") @GetMapping("/getlist")
public Map<String, Object> getlist(
@RequestParam Long mobileno){
public Map<String, Object> getlist(@RequestParam(required = false) Long mobileno) {
Map<String, Object> response = new HashMap<>(); Map<String, Object> response = new HashMap<>();
try {
List<Map<String, Object>> userList = registrationService.getListByMobileNo(mobileno);
if(userList !=null && !userList.isEmpty()) {
response.put("Message", "Success");
response.put("Data", userList);
} else {
response.put("Status", "Error");
response.put("Message", "No Data Found");
}
} catch (Exception e) {
e.printStackTrace();
response.put("Status", "Error");
response.put("Message", "Failed to retrieve data");
}
return response;
// Check if parameter is missing
if (mobileno == null) {
response.put("Status", "Error");
response.put("Message", "Missing required parameter: mobileno");
return response;
}
try {
List<Map<String, Object>> userList = registrationService.getListByMobileNo(mobileno);
if (userList != null && !userList.isEmpty()) {
response.put("Status", "Success");
response.put("Data", userList);
} else {
response.put("Status", "Error");
response.put("Message", "This Mobile Number is not registered");
}
} catch (Exception e) {
e.printStackTrace();
response.put("Status", "Error");
response.put("Message", "Failed to retrieve data");
}
return response;
} }
@GetMapping("/getAllBookingCounts") @GetMapping("/getAllBookingCounts")
public ResponseEntity<Map<String, Object>> getAllBookingCounts() { public ResponseEntity<Map<String, Object>> getAllBookingCounts() {

16
src/main/java/com/example/RiponBuilding/VisitorRegistration/service/RegistrationService.java

@ -418,11 +418,11 @@ public class RegistrationService {
"sign_lang , visting_day_time , DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate " + "sign_lang , visting_day_time , DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate " +
"FROM gcc_ripon_building.registration_details " + "FROM gcc_ripon_building.registration_details " +
"WHERE DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d') " + "WHERE DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d') " +
"AND visitor_category = ?";
"AND visitor_category = 'individual' ";
System.out.println("Service: Executing Query: " + sql); System.out.println("Service: Executing Query: " + sql);
List<Map<String, Object>> result = jdbcTemplate.queryForList(sql, fromDate, toDate, visitorCategory);
List<Map<String, Object>> result = jdbcTemplate.queryForList(sql, fromDate, toDate);
System.out.println("Service: Query Result: " + result); System.out.println("Service: Query Result: " + result);
@ -439,8 +439,8 @@ public class RegistrationService {
+ "DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate, aadhar_no, age, family_mem_count, below5_year_count, children_bw_6and17, adults_count " + "DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate, aadhar_no, age, family_mem_count, below5_year_count, children_bw_6and17, adults_count "
+ "FROM gcc_ripon_building.registration_details " + "FROM gcc_ripon_building.registration_details "
+ "WHERE DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d') " + "WHERE DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d') "
+ "AND visitor_category = ?";
return jdbcTemplate.queryForList(sql, fromDate, toDate, visitorCategory);
+ "AND visitor_category = 'family'";
return jdbcTemplate.queryForList(sql, fromDate, toDate);
} }
@ -458,8 +458,8 @@ public class RegistrationService {
String sql = "SELECT Id, reg_username, reg_address, mobile_no, visitor_category, guide_lang, sign_lang, visting_day_time, DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate, institution_name, grade_year, no_of_students, students_age FROM gcc_ripon_building.registration_details \r\n" String sql = "SELECT Id, reg_username, reg_address, mobile_no, visitor_category, guide_lang, sign_lang, visting_day_time, DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate, institution_name, grade_year, no_of_students, students_age FROM gcc_ripon_building.registration_details \r\n"
+ "where\r\n" + "where\r\n"
+ "DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d')\r\n" + "DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d')\r\n"
+ "And visitor_category = ?";
return jdbcTemplate.queryForList(sql, fromDate, toDate, visitorCategory);
+ "And visitor_category = 'school'";
return jdbcTemplate.queryForList(sql, fromDate, toDate);
} }
@Transactional @Transactional
@ -467,8 +467,8 @@ public class RegistrationService {
String sql = "SELECT Id, reg_username, reg_address, mobile_no, visitor_category, guide_lang, sign_lang, visting_day_time, DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate, institution_name, department, grade_year, no_of_students, students_age FROM gcc_ripon_building.registration_details \r\n" String sql = "SELECT Id, reg_username, reg_address, mobile_no, visitor_category, guide_lang, sign_lang, visting_day_time, DATE_FORMAT(cdate, '%d-%m-%Y') AS cdate, institution_name, department, grade_year, no_of_students, students_age FROM gcc_ripon_building.registration_details \r\n"
+ "where\r\n" + "where\r\n"
+ "DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d')\r\n" + "DATE(visting_day_time) BETWEEN STR_TO_DATE(?, '%Y-%m-%d') AND STR_TO_DATE(?, '%Y-%m-%d')\r\n"
+ "And visitor_category = ?";
return jdbcTemplate.queryForList(sql, fromDate, toDate, visitorCategory);
+ "And visitor_category = 'college'";
return jdbcTemplate.queryForList(sql, fromDate, toDate);
} }
public List<Map<String, Object>> getListByMobileNo(Long mobileno) { public List<Map<String, Object>> getListByMobileNo(Long mobileno) {

20
src/main/resources/templates/fragments/user-head.html

@ -10,26 +10,26 @@
content="Admin , Responsive, Landing, Bootstrap, App, Template, Mobile, iOS, Android, apple, creative app"> content="Admin , Responsive, Landing, Bootstrap, App, Template, Mobile, iOS, Android, apple, creative app">
<meta name="author" content="#"> <meta name="author" content="#">
<!-- Favicon icon --> <!-- Favicon icon -->
<link rel="icon" href="/files/assets/images/favicon.png" type="image/x-icon">
<link rel="icon" href="/heritagewalk/files/assets/images/favicon.png" type="image/x-icon">
<!-- Google font--> <!-- Google font-->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,800" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,800" rel="stylesheet">
<!-- Required Fremwork --> <!-- Required Fremwork -->
<link rel="stylesheet" type="text/css" href="/files/bower_components/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/bower_components/bootstrap/css/bootstrap.min.css">
<!-- themify-icons line icon --> <!-- themify-icons line icon -->
<link rel="stylesheet" type="text/css" href="/files/assets/icon/themify-icons/themify-icons.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/icon/themify-icons/themify-icons.css">
<!-- ico font --> <!-- ico font -->
<link rel="stylesheet" type="text/css" href="/files/assets/icon/icofont/css/icofont.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/icon/icofont/css/icofont.css">
<!-- feather Awesome --> <!-- feather Awesome -->
<link rel="stylesheet" type="text/css" href="/files/assets/icon/feather/css/feather.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/icon/feather/css/feather.css">
<!-- font Awesome --> <!-- font Awesome -->
<link rel="stylesheet" type="text/css" href="/files/assets/icon/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/icon/font-awesome/css/font-awesome.min.css">
<!-- Syntax highlighter Prism css --> <!-- Syntax highlighter Prism css -->
<link rel="stylesheet" type="text/css" href="/files/assets/pages/prism/prism.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/pages/prism/prism.css">
<!-- Style.css --> <!-- Style.css -->
<link rel="stylesheet" type="text/css" href="/files/assets/css/style.css">
<link rel="stylesheet" type="text/css" href="/files/assets/css/jquery.mCustomScrollbar.css">
<link rel="stylesheet" type="text/css" href="/files/assets/css/pcoded-horizontal.min.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/css/style.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/css/jquery.mCustomScrollbar.css">
<link rel="stylesheet" type="text/css" href="/heritagewalk/files/assets/css/pcoded-horizontal.min.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet"> <!-- Font Awesome CDN --> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet"> <!-- Font Awesome CDN -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">

32
src/main/resources/templates/fragments/user-script.html

@ -1,27 +1,27 @@
<!-- Required Jquery --> <!-- Required Jquery -->
<script type="text/javascript" src="/files/bower_components/jquery/js/jquery.min.js"></script>
<script type="text/javascript" src="/files/bower_components/jquery-ui/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/files/bower_components/popper.js/js/popper.min.js"></script>
<script type="text/javascript" src="/files/bower_components/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/jquery/js/jquery.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/jquery-ui/js/jquery-ui.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/popper.js/js/popper.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/bootstrap/js/bootstrap.min.js"></script>
<!-- jquery slimscroll js --> <!-- jquery slimscroll js -->
<script type="text/javascript" src="/files/bower_components/jquery-slimscroll/js/jquery.slimscroll.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/jquery-slimscroll/js/jquery.slimscroll.js"></script>
<!-- modernizr js --> <!-- modernizr js -->
<script type="text/javascript" src="/files/bower_components/modernizr/js/modernizr.js"></script>
<script type="text/javascript" src="/files/bower_components/modernizr/js/css-scrollbars.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/modernizr/js/modernizr.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/modernizr/js/css-scrollbars.js"></script>
<!-- Syntax highlighter prism js --> <!-- Syntax highlighter prism js -->
<script type="text/javascript" src="/files/assets/pages/prism/custom-prism.js"></script>
<script type="text/javascript" src="/heritagewalk/files/assets/pages/prism/custom-prism.js"></script>
<!-- i18next.min.js --> <!-- i18next.min.js -->
<script type="text/javascript" src="/files/bower_components/i18next/js/i18next.min.js"></script>
<script type="text/javascript" src="/files/bower_components/i18next-xhr-backend/js/i18nextXHRBackend.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/i18next/js/i18next.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/i18next-xhr-backend/js/i18nextXHRBackend.min.js"></script>
<script type="text/javascript" <script type="text/javascript"
src="/files/bower_components/i18next-browser-languagedetector/js/i18nextBrowserLanguageDetector.min.js"></script>
<script type="text/javascript" src="/files/bower_components/jquery-i18next/js/jquery-i18next.min.js"></script>
src="/heritagewalk/files/bower_components/i18next-browser-languagedetector/js/i18nextBrowserLanguageDetector.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/bower_components/jquery-i18next/js/jquery-i18next.min.js"></script>
<!-- Custom js --> <!-- Custom js -->
<script src="/files/assets/js/pcoded.min.js"></script>
<script src="/files/assets/js/menu/menu-hori-fixed.js"></script>
<script src="/files/assets/js/jquery.mCustomScrollbar.concat.min.js"></script>
<script type="text/javascript" src="/files/assets/js/script.js"></script>
<script src="/heritagewalk/files/assets/js/pcoded.min.js"></script>
<script src="/heritagewalk/files/assets/js/menu/menu-hori-fixed.js"></script>
<script src="/heritagewalk/files/assets/js/jquery.mCustomScrollbar.concat.min.js"></script>
<script type="text/javascript" src="/heritagewalk/files/assets/js/script.js"></script>
<!-- Global site tag (gtag.js) - Google Analytics --> <!-- Global site tag (gtag.js) - Google Analytics -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-23581568-13"></script> <script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-23581568-13"></script>

14
src/main/resources/templates/user/registrationpage.html

@ -580,7 +580,7 @@
</div> </div>
<!-- Banner Image --> <!-- Banner Image -->
<img src="/images/Ripon-1.png" class="ripon-building" alt="Ripon Building">
<img src="/heritagewalk/images/Ripon-1.png" class="ripon-building" alt="Ripon Building">
<div class="image-overlay"></div> <div class="image-overlay"></div>
<div class="overlay-text"> <div class="overlay-text">
Registration for Heritage Walk at Ripon Buildings<br> Registration for Heritage Walk at Ripon Buildings<br>
@ -594,37 +594,37 @@
<div class="mySlides "> <div class="mySlides ">
<div class="numbertext">1 / 6</div> <div class="numbertext">1 / 6</div>
<img src="/images/1.jpg" style="width:100%">
<img src="/heritagewalk/images/1.jpg" style="width:100%">
</div> </div>
<div class="mySlides "> <div class="mySlides ">
<div class="numbertext">2 / 6</div> <div class="numbertext">2 / 6</div>
<img src="/images/4.jpg" style="width:100%">
<img src="/heritagewalk/images/4.jpg" style="width:100%">
</div> </div>
<div class="mySlides "> <div class="mySlides ">
<div class="numbertext">3 / 6</div> <div class="numbertext">3 / 6</div>
<img src="/images/3.jpg" style="width:100%">
<img src="/heritagewalk/images/3.jpg" style="width:100%">
</div> </div>
<div class="mySlides "> <div class="mySlides ">
<div class="numbertext">4 / 6</div> <div class="numbertext">4 / 6</div>
<img src="/images/2.jpg" style="width:100%">
<img src="/heritagewalk/images/2.jpg" style="width:100%">
</div> </div>
<div class="mySlides "> <div class="mySlides ">
<div class="numbertext">5 / 6</div> <div class="numbertext">5 / 6</div>
<img src="/images/6.jpg" style="width:100%">
<img src="/heritagewalk/images/6.jpg" style="width:100%">
</div> </div>
<div class="mySlides "> <div class="mySlides ">
<div class="numbertext">6 / 6</div> <div class="numbertext">6 / 6</div>
<img src="/images/5.jpg" style="width:100%">
<img src="/heritagewalk/images/5.jpg" style="width:100%">
</div> </div>

Loading…
Cancel
Save