Index: pom.xml
===================================================================
--- pom.xml	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ pom.xml	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -74,4 +74,9 @@
             <version>0.2.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-core</artifactId>
+            <version>6.4.4</version>
+        </dependency>
     </dependencies>
 
Index: src/main/java/org/example/dormallocationsystem/Repository/BlockRepository.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Repository/BlockRepository.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
+++ src/main/java/org/example/dormallocationsystem/Repository/BlockRepository.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -0,0 +1,12 @@
+package org.example.dormallocationsystem.Repository;
+
+import org.example.dormallocationsystem.Domain.Block;
+import org.example.dormallocationsystem.Domain.DormUser;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.Optional;
+
+@Repository
+public interface BlockRepository extends JpaRepository<Block, Long> {
+}
Index: src/main/java/org/example/dormallocationsystem/Repository/DormUserRepository.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Repository/DormUserRepository.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Repository/DormUserRepository.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -4,7 +4,9 @@
 import org.example.dormallocationsystem.Domain.Employee;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
 
 import java.util.Optional;
 
+@Repository
 public interface DormUserRepository extends JpaRepository<DormUser, Long> {
     Optional<DormUser> findByEmail(String email);
Index: src/main/java/org/example/dormallocationsystem/Service/IBlockService.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/IBlockService.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
+++ src/main/java/org/example/dormallocationsystem/Service/IBlockService.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -0,0 +1,9 @@
+package org.example.dormallocationsystem.Service;
+
+import org.example.dormallocationsystem.Domain.Block;
+
+import java.util.List;
+
+public interface IBlockService {
+    List<Block> getAll();
+}
Index: src/main/java/org/example/dormallocationsystem/Service/IEmployeeService.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/IEmployeeService.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Service/IEmployeeService.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -8,14 +8,14 @@
 public interface IEmployeeService {
     boolean register(String email, String pass, String phoneNumber, String firstName, String lastName);
-    boolean loginEmployee(String email, String password);
     boolean assignRoomToStudent(Long studentId, RoomId roomId);
     List<Roomrequest> viewRoomRequests();
-    List<DormDocument> viewDocumentsToValidate();
+    List<DormDocument> viewDocumentsToValidate(Student student);
     void addDocumentComment(Long documentId, String comment);
-    List<DormDocument> getDocumentsByStudent(Long studentId);
+    List<DormDocument> getReviewedDocumentsByStudent(Long studentId);
     List<Roomrequest> getRoomRequestsByStudent(Long studentId);
-    void validateDocument(Long documentId);
+    void approveDocument(Long documentId, Long employeeId);
+    void declineDocument(Long documentId, Long employeeId);
     List<Student> getStudentsWithDocuments();
-    boolean areAllDocumentsValidated(Long studentId);
-
+    boolean areAllDocumentsReviewed(Long studentId);
+    boolean areAllDocumentsApproved(Long studentId);
 }
Index: src/main/java/org/example/dormallocationsystem/Service/IStudentService.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/IStudentService.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Service/IStudentService.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -2,4 +2,5 @@
 
 import org.example.dormallocationsystem.Domain.DormDocument;
+import org.example.dormallocationsystem.Domain.DormUser;
 import org.example.dormallocationsystem.Domain.Roomrequest;
 import org.example.dormallocationsystem.Domain.Student;
@@ -17,3 +18,4 @@
     List<Roomrequest> getRoomRequestsByStudent(Long studentId);
     List<DormDocument> getDocumentsByStudent(Long studentId);
+    DormUser getUserDetails(Long studentId);
 }
Index: src/main/java/org/example/dormallocationsystem/Service/Impl/BlockServiceImpl.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/Impl/BlockServiceImpl.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
+++ src/main/java/org/example/dormallocationsystem/Service/Impl/BlockServiceImpl.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -0,0 +1,21 @@
+package org.example.dormallocationsystem.Service.Impl;
+
+import org.example.dormallocationsystem.Domain.Block;
+import org.example.dormallocationsystem.Repository.BlockRepository;
+import org.example.dormallocationsystem.Service.IBlockService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class BlockServiceImpl implements IBlockService {
+    private final BlockRepository blockRepository;
+
+    public BlockServiceImpl(BlockRepository blockRepository) {
+        this.blockRepository = blockRepository;
+    }
+    @Override
+    public List<Block> getAll() {
+        return blockRepository.findAll();
+    }
+}
Index: src/main/java/org/example/dormallocationsystem/Service/Impl/EmployeeServiceImpl.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/Impl/EmployeeServiceImpl.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Service/Impl/EmployeeServiceImpl.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -50,13 +50,4 @@
         return false;
     }
-
-    @Override
-    public boolean loginEmployee(String email, String password) {
-        if(dormUserRepository.findByEmail(email).isPresent()){
-            DormUser employee = dormUserRepository.findByEmail(email).get();
-            return employee.getPass().equals(password);
-        }
-        return false;
-    }
     @Override
     public boolean assignRoomToStudent(Long studentId, RoomId roomId) {
@@ -103,8 +94,15 @@
     }
     @Override
-    public boolean areAllDocumentsValidated(Long studentId) {
+    public boolean areAllDocumentsReviewed(Long studentId) {
+        List<DormDocument> documents = dormDocumentRepository.findByStudentId(studentId);
+        return documents.size() == 5 && documents.stream().noneMatch(dormDocument -> dormDocument.getDStatus().equals("Pending"));
+    }
+
+    @Override
+    public boolean areAllDocumentsApproved(Long studentId) {
         List<DormDocument> documents = dormDocumentRepository.findByStudentId(studentId);
         return documents.size() == 5 && documents.stream().allMatch(dormDocument -> dormDocument.getDStatus().equals("Approved"));
     }
+
     @Override
     public List<Roomrequest> viewRoomRequests() {
@@ -113,6 +111,7 @@
 
     @Override
-    public List<DormDocument> viewDocumentsToValidate() {
-        return null;
+    public List<DormDocument> viewDocumentsToValidate(Student student) {
+        return dormDocumentRepository.findByStudent(student).stream()
+                .filter(dormDocument -> dormDocument.getDStatus().equals("Pending")).toList();
     }
 
@@ -126,7 +125,7 @@
 
     @Override
-    public List<DormDocument> getDocumentsByStudent(Long studentId) {
-        Optional<Student> student = studentRepository.findById(studentId);
-        return student.map(dormDocumentRepository::findByStudent).orElse(null);
+    public List<DormDocument> getReviewedDocumentsByStudent(Long studentId) {
+        return dormDocumentRepository.findByStudentId(studentId).stream()
+                .filter(dormDocument -> !dormDocument.getDStatus().equals("Pending")).toList();
     }
 
@@ -138,9 +137,23 @@
 
     @Override
-    public void validateDocument(Long documentId) {
+    public void approveDocument(Long documentId, Long employeeId) {
         Optional<DormDocument> documentOptional = dormDocumentRepository.findById(documentId);
-        if (documentOptional.isPresent()) {
+        Optional<Employee> employee = employeeRepository.findById(employeeId);
+        if (documentOptional.isPresent() && employee.isPresent()) {
             DormDocument document = documentOptional.get();
             document.setDStatus("Approved");
+            document.setEmployee(employee.get());
+            dormDocumentRepository.save(document);
+        }
+    }
+
+    @Override
+    public void declineDocument(Long documentId, Long employeeId) {
+        Optional<DormDocument> documentOptional = dormDocumentRepository.findById(documentId);
+        Optional<Employee> employee = employeeRepository.findById(employeeId);
+        if (documentOptional.isPresent() && employee.isPresent()) {
+            DormDocument document = documentOptional.get();
+            document.setDStatus("Declined");
+            document.setEmployee(employee.get());
             dormDocumentRepository.save(document);
         }
Index: src/main/java/org/example/dormallocationsystem/Service/Impl/StudentServiceImpl.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Service/Impl/StudentServiceImpl.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Service/Impl/StudentServiceImpl.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -117,4 +117,10 @@
         return documentRepository.findByStudentId(studentId);
     }
+
+    @Override
+    public DormUser getUserDetails(Long studentId) {
+        return dormUserRepository.findById(studentId).orElse(null);
+    }
+
     @Override
     public Long getStudentIdByEmail(String email) {
Index: src/main/java/org/example/dormallocationsystem/Web/EmployeeController.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Web/EmployeeController.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Web/EmployeeController.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -1,9 +1,10 @@
 package org.example.dormallocationsystem.Web;
 
-import org.example.dormallocationsystem.Domain.DormDocument;
-import org.example.dormallocationsystem.Domain.RoomId;
-import org.example.dormallocationsystem.Domain.Roomrequest;
-import org.example.dormallocationsystem.Domain.Student;
+import org.example.dormallocationsystem.Domain.*;
+import org.example.dormallocationsystem.Repository.BlockRepository;
+import org.example.dormallocationsystem.Repository.StudentRepository;
+import org.example.dormallocationsystem.Service.IBlockService;
 import org.example.dormallocationsystem.Service.IEmployeeService;
+import org.example.dormallocationsystem.Service.IStudentService;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -16,12 +17,22 @@
 public class EmployeeController {
     private final IEmployeeService employeeService;
-
-    public EmployeeController(IEmployeeService employeeService) {
+    private final StudentRepository studentRepository;
+    private final IStudentService studentService;
+    private final IBlockService blockService;
+    public EmployeeController(IEmployeeService employeeService,
+                              StudentRepository studentRepository, BlockRepository blockRepository, IStudentService studentService, IBlockService blockService) {
         this.employeeService = employeeService;
+        this.studentRepository = studentRepository;
+        this.studentService = studentService;
+        this.blockService = blockService;
     }
 
     @GetMapping("/dashboard")
-    public String employeeDashboard(Model model) {
+    public String employeeDashboard(@RequestParam Long employeeId, Model model) {
+        // TODO: MAKE IT A SCREEN WITH OPTION TO VIEW THE APPROVED STUDENTS,
+        //  STUDENTS THAT NEED TO BE APPROVED,
+        //  ALSO VIEW THE AVAILABLE ROOMS IN THE BLOCKS
         List<Student> studentsWithDocuments = employeeService.getStudentsWithDocuments();
+        model.addAttribute("employeeId", employeeId);
         model.addAttribute("students", studentsWithDocuments);
          return "employee-dashboard";
@@ -29,13 +40,21 @@
 
     @GetMapping("/view-student")
-    public String viewStudentDetails(@RequestParam Long studentId, Model model) {
-        List<DormDocument> studentDocuments = employeeService.getDocumentsByStudent(studentId);
+    public String viewStudentDetails(@RequestParam Long studentId, @RequestParam Long employeeId, Model model) {
+        Student student = studentRepository.findById(studentId).orElse(null);
+        DormUser studentDetails = studentService.getUserDetails(studentId);
+        List<DormDocument> documentsToValidate = employeeService.viewDocumentsToValidate(student);
+        List<DormDocument> reviewedDocuments = employeeService.getReviewedDocumentsByStudent(studentId);
         List<Roomrequest> studentRoomRequests = employeeService.getRoomRequestsByStudent(studentId);
-        boolean allDocsValidated = employeeService.areAllDocumentsValidated(studentId); // Check validation status
-
+        boolean allDocsReviewed = employeeService.areAllDocumentsReviewed(studentId);
+        boolean allDocsApproved = employeeService.areAllDocumentsApproved(studentId);
+        //TODO: CHECK IF THE DOCS ARE ALREADY VALIDATED + ROOM IS APPROVED/GIVEN
         model.addAttribute("studentId", studentId);
-        model.addAttribute("documents", studentDocuments);
+        model.addAttribute("fullName", studentDetails.getFirstName() + " " + studentDetails.getLastName());
+        model.addAttribute("documentsToValidate", documentsToValidate);
+        model.addAttribute("reviewedDocuments", reviewedDocuments);
+        model.addAttribute("employeeId", employeeId);
         model.addAttribute("roomRequests", studentRoomRequests);
-        model.addAttribute("allDocsValidated", allDocsValidated);
+        model.addAttribute("allDocsReviewed", allDocsReviewed);
+        model.addAttribute("allDocsApproved", allDocsApproved);
 
         return "student-details";
@@ -65,8 +84,22 @@
     }
 
-    @PostMapping("/validate-document")
-    public String validateDocument(@RequestParam Long documentId, @RequestParam Long studentId) {
-        employeeService.validateDocument(documentId);
-        return "redirect:/employee/view-student?studentId=" + studentId;
+    @GetMapping("/room-request")
+    public String getRoomRequest(@RequestParam Long studentId, Model model) {
+        List<Roomrequest> studentRoomRequests = employeeService.getRoomRequestsByStudent(studentId);
+        model.addAttribute("blocks", blockService.getAll());
+        model.addAttribute("roomRequests", studentRoomRequests);
+        return "room-request";
+    }
+
+    @PostMapping("/approve-document")
+    public String approveDocument(@RequestParam Long documentId, @RequestParam Long studentId, @RequestParam Long employeeId) {
+        employeeService.approveDocument(documentId, employeeId);
+        return "redirect:/employee/view-student?studentId=" + studentId + "&employeeId=" + employeeId;
+    }
+
+    @PostMapping("/decline-document")
+    public String declineDocument(@RequestParam Long documentId, @RequestParam Long studentId, @RequestParam Long employeeId) {
+        employeeService.declineDocument(documentId, employeeId);
+        return "redirect:/employee/view-student?studentId=" + studentId + "&employeeId=" + employeeId;
     }
 
Index: src/main/java/org/example/dormallocationsystem/Web/LoginController.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Web/LoginController.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Web/LoginController.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -31,5 +31,5 @@
         if(studentRepository.findById(dormUser.getId()).isPresent()) {
             long documentCount = studentService.getUploadedDocumentsCount(dormUser.getId());
-            if( documentCount > 5){
+            if( documentCount == 5){
                 return "redirect:/dashboard?studentId=" + dormUser.getId();
             }
@@ -38,5 +38,5 @@
             }
         } else if (employeeRepository.findById(dormUser.getId()).isPresent()){
-            return "redirect:/employee/dashboard";
+            return "redirect:/employee/dashboard?employeeId=" + dormUser.getId();
         }
         return "redirect:/";
Index: src/main/java/org/example/dormallocationsystem/Web/StudentController.java
===================================================================
--- src/main/java/org/example/dormallocationsystem/Web/StudentController.java	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/java/org/example/dormallocationsystem/Web/StudentController.java	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -98,5 +98,5 @@
     @GetMapping("/register")
     public String showRegistrationForm() {
-        return "register"; // This should be your HTML registration page
+        return "register";
     }
 
Index: src/main/resources/templates/employee-dashboard.html
===================================================================
--- src/main/resources/templates/employee-dashboard.html	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/resources/templates/employee-dashboard.html	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -58,4 +58,26 @@
             color: white;
         }
+        .button {
+            display: inline-block;
+            padding: 10px 20px;
+            margin: 10px 0;
+            font-size: 16px;
+            text-align: center;
+            color: white;
+            background-color: #007bff;
+            border: none;
+            border-radius: 5px;
+            cursor: pointer;
+            text-decoration: none;
+        }
+        .button:hover {
+            background-color: #0056b3;
+        }
+        .logout {
+            background-color: red;
+        }
+        .logout:hover {
+            background-color: darkred;
+        }
 
     </style>
@@ -74,8 +96,9 @@
         <td th:text="${student.dormUser.email}"></td>
         <td>
-            <a th:href="@{/employee/view-student(studentId=${student.id})}">View</a>
+            <a th:href="@{/employee/view-student(studentId=${student.id}, employeeId=${employeeId})}">View</a>
         </td>
     </tr>
 </table>
+<a href="/login?logout" class="button logout">Logout</a>
 
 </body>
Index: src/main/resources/templates/room-request.html
===================================================================
--- src/main/resources/templates/room-request.html	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
+++ src/main/resources/templates/room-request.html	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+    <style>
+        body {
+            font-family: Arial, sans-serif;
+            background-color: #f4f4f9;
+            margin: 0;
+            padding: 20px;
+        }
+
+        h2, h3 {
+            color: #333;
+        }
+
+        table {
+            width: 100%;
+            border-collapse: collapse;
+            background: white;
+            border-radius: 8px;
+            overflow: hidden;
+            box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
+        }
+
+        th, td {
+            padding: 12px;
+            text-align: left;
+            border-bottom: 1px solid #ddd;
+        }
+
+        th {
+            background-color: #007BFF;
+            color: white;
+        }
+
+        tr:nth-child(even) {
+            background-color: #f2f2f2;
+        }
+
+        tr:hover {
+            background-color: #ddd;
+        }
+    </style>
+</head>
+<body>
+<ul>
+    <li th:each="request : ${roomRequests}">
+        Room Number: <span th:text="${request.room.id.roomNumber}"></span><br>
+        Block ID: <span th:text="${request.room.id.blockId}"></span><br>
+        Roommate Email: <span th:text="${request.roomateEmail}"></span><br>
+    </li>
+</ul>
+<table>
+    <tr>
+        <th>Block</th>
+        <th>Number of available rooms</th>
+        <th>View</th>
+    </tr>
+    <tr th:each="block : ${blocks}">
+        <td th:text="${block.getBlockId()}"></td>
+        <td th:text="${block.getNumAvailableRooms()}">
+        </td>
+        <td>
+            <a>Select</a>
+        </td>
+    </tr>
+</table>
+
+</body>
+</html>
Index: src/main/resources/templates/student-details.html
===================================================================
--- src/main/resources/templates/student-details.html	(revision cbdadfcef894621950e86ae583e5a105bc2e49e9)
+++ src/main/resources/templates/student-details.html	(revision 3640b65707c592f984e6306f8f75333556ff5b3b)
@@ -51,6 +51,13 @@
             border-radius: 4px;
             margin-right: 5px;
-        }
-
+            margin-top: 5px;
+        }
+        .error{
+            background-color: red;
+            cursor: pointer;
+        }
+        .error:hover {
+            background-color: darkred; /* 👈 now hover is dark red */
+        }
         button:hover {
             background-color: #218838;
@@ -110,11 +117,51 @@
             background-color: #0056b3;
         }
+        .info{
+            background-color: #007BFF;
+        }
+        .info:hover{
+            background-color: #0056b3;
+        }
+        .next-step-arrow {
+            display: block;
+            text-align: center;
+            margin: 40px auto 0;
+            padding: 12px 20px;
+            width: 200px;
+            font-size: 18px;
+            font-weight: bold;
+            background-color: #007BFF;
+            color: white;
+            border-radius: 8px;
+            text-decoration: none;
+            transition: all 0.3s ease;
+        }
+
+        .next-step-arrow:hover {
+            background-color: #0056b3;
+            transform: translateY(-3px);
+        }
+
+        .next-step-arrow::after {
+            content: "➝";
+            font-size: 20px;
+        }
     </style>
 
     <script>
-        function removeDocumentRow(event, form) {
-            event.preventDefault(); // Prevent form from submitting and refreshing the page
-            let row = form.closest("tr");
-            row.remove(); // Remove the row from the table
+        function showReviewedDocs(button, allDocsReviewed) {
+            const validateSection = document.getElementById("validateDocsSection");
+            const reviewedSection = document.getElementById("reviewedDocsSection");
+            if(!allDocsReviewed){
+                if (validateSection.style.display === "none") {
+                    validateSection.style.display = "block";
+                    reviewedSection.style.display = "none";
+                    button.innerText = "Check reviewed documents for student";
+                } else {
+                    validateSection.style.display = "none";
+                    reviewedSection.style.display = "block";
+                    button.innerText = "Check documents that need to be approved";
+                }
+            }
         }
     </script>
@@ -123,50 +170,85 @@
 <body>
 
-<h2>Student Details</h2>
-
-<h3>Uploaded Documents</h3>
-<table border="1">
-    <tr>
-        <th>Document Name</th>
-        <th>Actions</th>
-    </tr>
-    <tr th:each="document : ${documents}" th:id="'document-' + ${document.id}">
-        <td>
-            <a th:href="@{/download-document(documentId=${document.id})}" th:text="${document.documentName}" download>Download</a>
-        </td>
-        <td>
-            <form action="/employee/add-comment" method="post" style="display:inline;">
-                <input type="hidden" name="documentId" th:value="${document.id}">
-                <input type="hidden" name="studentId" th:value="${studentId}">
-                <input type="text" name="comment" placeholder="Enter comment">
-                <button type="submit">Submit</button>
-            </form>
-            <form action="/employee/validate-document" method="post">
-                <input type="hidden" name="documentId" th:value="${document.id}">
-                <input type="hidden" name="studentId" th:value="${studentId}"> <!-- Pass studentId -->
-                <button type="submit">Validate Document</button>
-            </form>
-        </td>
-    </tr>
-</table>
-
-<h3>Room Request</h3>
-<ul>
-    <li th:each="request : ${roomRequests}">
-        Room Number: <span th:text="${request.room.id.roomNumber}"></span><br>
-        Block ID: <span th:text="${request.room.id.blockId}"></span><br>
-        Roommate: <span th:text="${request.roomateEmail}"></span><br>
-        <form action="/employee/assign-room" method="post">
-            <input type="hidden" name="studentId" th:value="${studentId}">
-            <input type="hidden" name="roomId" th:value="${request.room.id.roomNumber + '-' + request.room.id.blockId}">
-            <button type="submit" th:disabled="${!allDocsValidated}">Approve</button>
-        </form>
-        <p th:if="${!allDocsValidated}" style="color: red;">All 5 documents must be validated before approving the room.</p>
-
-    </li>
-</ul>
-
-<a href="/employee/dashboard">Back to Dashboard</a>
-
+<h2>Student Document Details</h2>
+<button class="info" th:if="${reviewedDocuments.size() > 0 && !allDocsReviewed}" onclick="showReviewedDocs(this)"
+        type="button">Check reviewed documents for student</button>
+
+<div id="validateDocsSection" th:if="!${allDocsReviewed}">
+    <h3>Documents to validate for student <th:block th:text="${fullName}"/></h3>
+    <table border="1">
+        <tr>
+            <th>Document Name</th>
+            <th>Actions</th>
+        </tr>
+        <tr th:each="document : ${documentsToValidate}" th:id="'document-' + ${document.id}">
+            <td>
+                <a th:href="@{/download-document(documentId=${document.id})}" th:text="${document.documentName}">Download</a>
+            </td>
+            <td>
+                <form action="/employee/add-comment" method="post" style="display:inline;">
+                    <input type="hidden" name="documentId" th:value="${document.id}">
+                    <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
+                    <input type="hidden" name="studentId" th:value="${studentId}">
+                    <div th:if="${document.dComment == null}">
+                        <input type="text" name="comment" placeholder="Enter comment">
+                        <button type="submit">Submit</button>
+                    </div>
+                    <div th:if="${document.dComment != null}">
+                        <span th:text="'Given comment: ' + ${document.dComment}"></span>
+                    </div>
+                </form>
+                <form action="/employee/approve-document" method="post" style="display:inline;">
+                    <input type="hidden" name="documentId" th:value="${document.id}">
+                    <input type="hidden" name="studentId" th:value="${studentId}">
+                    <input type="hidden" name="employeeId" th:value="${employeeId}">
+                    <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
+                    <button type="submit">Approve Document</button>
+                </form>
+
+                <form action="/employee/decline-document" method="post" style="display:inline;">
+                    <input type="hidden" name="documentId" th:value="${document.id}">
+                    <input type="hidden" name="studentId" th:value="${studentId}">
+                    <input type="hidden" name="employeeId" th:value="${employeeId}">
+                    <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />
+                    <button type="submit" class="error">Decline Document</button>
+                </form>
+            </td>
+        </tr>
+    </table>
+</div>
+<div id="reviewedDocsSection"
+     th:style="${allDocsReviewed} ? 'display:block; margin-top:20px;' : 'display:none; margin-top:20px;'">
+    <h3>Reviewed documents for student <th:block th:text="${fullName}"/></h3>
+    <table border="1">
+        <tr>
+            <th>Document Name</th>
+        </tr>
+        <tr th:each="doc : ${reviewedDocuments}">
+            <td>
+                <a th:href="@{/download-document(documentId=${doc.id})}" th:text="${doc.documentName}"></a>
+            </td>
+        </tr>
+    </table>
+</div>
+<!--<h3>AKO SA SITE APPROVE STRELKA ZA NOV PAGE SO ROOM REQUEST AKO IMA STUDENTO AKO NEMA DODELI MU SOBA </h3>-->
+<!--<ul>-->
+<!--    <li th:each="request : ${roomRequests}">-->
+<!--        Room Number: <span th:text="${request.room.id.roomNumber}"></span><br>-->
+<!--        Block ID: <span th:text="${request.room.id.blockId}"></span><br>-->
+<!--        Roommate: <span th:text="${request.roomateEmail}"></span><br>-->
+<!--        <form action="/employee/assign-room" method="post">-->
+<!--            <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" />-->
+<!--            <input type="hidden" name="studentId" th:value="${studentId}">-->
+<!--            <input type="hidden" name="roomId" th:value="${request.room.id.roomNumber + '-' + request.room.id.blockId}">-->
+<!--            <button type="submit" th:disabled="${!allDocsApproved}">Approve</button>-->
+<!--        </form>-->
+<!--        <p th:if="${!allDocsApproved}" style="color: red;">All 5 documents must be approved</p>-->
+<!--    </li>-->
+<!--</ul>-->
+<a th:href="@{/employee/room-request(studentId=${studentId})}"
+   class="next-step-arrow">
+    Next
+</a>
+<a th:href="@{/employee/dashboard(employeeId=${employeeId})}">Back to Dashboard</a>
 </body>
 </html>
