Index: src/main/java/com/db/finki/www/build_board/controller/thread_controller/TopicController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controller/TopicController.java	(revision 229783a40924bb7e553248775b05532d0f3e1588)
+++ src/main/java/com/db/finki/www/build_board/controller/thread_controller/TopicController.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -5,4 +5,5 @@
 import com.db.finki.www.build_board.entity.user_type.BBUser;
 import com.db.finki.www.build_board.entity.thread.Topic;
+import com.db.finki.www.build_board.entity.user_type.Moderator;
 import com.db.finki.www.build_board.service.ReportService;
 import com.db.finki.www.build_board.service.thread.impl.DiscussionService;
@@ -144,7 +145,9 @@
             @SessionAttribute @P("user") BBUser user
                                      ) {
-        reportService.accept(reqId, feedbackDesc, user);
+        reportService.accept(reqId, feedbackDesc, (Moderator) user); //TODO: gore vo PreAuthorize
+        // ke imash check dali e voopshto vo moderators i da ne e moderator about user deka nemat
+        // smisla
         return new RedirectView(
-                String.format("/topics/%s", topicId)
+                String.format("/topics/%s/reports", topicId)
         );
     }
Index: src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUser.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUser.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
+++ src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUser.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -0,0 +1,56 @@
+package com.db.finki.www.build_board.entity.blacklisted_user;
+
+import com.db.finki.www.build_board.entity.thread.Topic;
+import com.db.finki.www.build_board.entity.user_type.BBUser;
+import com.db.finki.www.build_board.entity.user_type.Moderator;
+import jakarta.persistence.*;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+@Entity
+@Getter
+@Setter
+@IdClass(BlacklistedUserId.class)
+public class BlacklistedUser {
+    @ManyToOne
+    @Id
+    @JoinColumn(name = "topic_id")
+    Topic topic;
+
+    @ManyToOne
+    @Id
+    @JoinColumn(name = "moderator_id")
+    Moderator moderator;
+
+    @Id
+    @Column(name = "start_date")
+    LocalDateTime startTime;
+
+    @ManyToOne
+    @Id
+    @JoinColumn(name = "user_id")
+    BBUser refersTo;
+
+    String reason;
+
+    @Column(name = "end_date")
+    LocalDateTime endTime;
+
+    public BlacklistedUser(
+            Topic topic,
+            Moderator moderator,
+            LocalDateTime startTime,
+            BBUser refersTo,
+            String reason
+                          ) {
+        setTopic(topic);
+        setModerator(moderator);
+        setStartTime(startTime);
+        setRefersTo(refersTo);
+        setReason(reason);
+    }
+
+    public BlacklistedUser(){}
+}
Index: src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUserId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUserId.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
+++ src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUserId.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -0,0 +1,14 @@
+package com.db.finki.www.build_board.entity.blacklisted_user;
+
+import com.db.finki.www.build_board.entity.thread.Topic;
+import com.db.finki.www.build_board.entity.user_type.BBUser;
+import com.db.finki.www.build_board.entity.user_type.Moderator;
+
+import java.time.LocalDateTime;
+
+public class BlacklistedUserId {
+    Topic topic;
+    Moderator moderator;
+    LocalDateTime startTime;
+    BBUser refersTo;
+}
Index: src/main/java/com/db/finki/www/build_board/entity/request/Report.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/request/Report.java	(revision 229783a40924bb7e553248775b05532d0f3e1588)
+++ src/main/java/com/db/finki/www/build_board/entity/request/Report.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -2,5 +2,4 @@
 
 import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.thread.Project;
 import com.db.finki.www.build_board.entity.thread.Topic;
 import com.db.finki.www.build_board.entity.user_type.BBUser;
Index: src/main/java/com/db/finki/www/build_board/repository/BlacklistedUserRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/BlacklistedUserRepo.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
+++ src/main/java/com/db/finki/www/build_board/repository/BlacklistedUserRepo.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -0,0 +1,8 @@
+package com.db.finki.www.build_board.repository;
+
+import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
+import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUserId;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface BlacklistedUserRepo extends JpaRepository<BlacklistedUser, BlacklistedUserId> {
+}
Index: src/main/java/com/db/finki/www/build_board/repository/ModeratorRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/ModeratorRepository.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
+++ src/main/java/com/db/finki/www/build_board/repository/ModeratorRepository.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -0,0 +1,7 @@
+package com.db.finki.www.build_board.repository;
+
+import com.db.finki.www.build_board.entity.user_type.Moderator;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface ModeratorRepository extends JpaRepository<Moderator,Integer> {
+}
Index: src/main/java/com/db/finki/www/build_board/service/ReportService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/ReportService.java	(revision 229783a40924bb7e553248775b05532d0f3e1588)
+++ src/main/java/com/db/finki/www/build_board/service/ReportService.java	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -1,4 +1,5 @@
 package com.db.finki.www.build_board.service;
 
+import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
 import com.db.finki.www.build_board.entity.entity_enum.FeedbackFor;
 import com.db.finki.www.build_board.entity.entity_enum.Status;
@@ -8,11 +9,16 @@
 import com.db.finki.www.build_board.entity.thread.Topic;
 import com.db.finki.www.build_board.entity.user_type.BBUser;
+import com.db.finki.www.build_board.entity.user_type.Moderator;
+import com.db.finki.www.build_board.repository.BlacklistedUserRepo;
+import com.db.finki.www.build_board.repository.ModeratorRepository;
 import com.db.finki.www.build_board.repository.ReportRepository;
 import com.db.finki.www.build_board.service.request.FeedbackService;
 import com.db.finki.www.build_board.service.thread.itf.TopicService;
+import org.apache.coyote.Request;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Optional;
@@ -24,8 +30,12 @@
     private final UserDetailsService userDetailsService;
     private final FeedbackService feedbackService;
+    private final BlacklistedUserRepo blacklistedUserRepo;
+    private final ModeratorRepository moderatorRepository;
+
 
     public ReportService(
             ReportRepository reportRepository, TopicService topicService,
-            UserDetailsService userDetailsService, FeedbackService feedbackService
+            UserDetailsService userDetailsService, FeedbackService feedbackService,
+            BlacklistedUserRepo blacklistedUserRepo, ModeratorRepository moderatorRepository
                         ) {
         this.reportRepository = reportRepository;
@@ -33,4 +43,6 @@
         this.userDetailsService = userDetailsService;
         this.feedbackService = feedbackService;
+        this.blacklistedUserRepo = blacklistedUserRepo;
+        this.moderatorRepository = moderatorRepository;
     }
 
@@ -62,6 +74,34 @@
 
     @Transactional
-    void accept(){
-        //TODO: add vo blacklisted user
+    public void accept(long reqId, String feedbackDesc, BBUser moderatorAsAUser) {
+        Report reqForReqId =
+                reportRepository
+                        .findById(reqId)
+                        .orElseThrow(() -> new RuntimeException("The id " +
+                                "is invalid"));
+        String reason = reqForReqId.getDescription();
+        Moderator moderator =
+                moderatorRepository
+                        .findById(moderatorAsAUser.getId())
+                        .orElseThrow(() -> new RuntimeException("The user is not a moderator"));
+
+        reqForReqId.setStatus(Status.ACCEPTED);
+
+        feedbackService.create(
+                feedbackDesc,
+                moderator,
+                FeedbackFor.R,
+                reqForReqId
+                              );
+
+        blacklistedUserRepo.save(
+                new BlacklistedUser(
+                        reqForReqId.getTopic(),
+                        moderator,
+                        LocalDateTime.now(),
+                        reqForReqId.getUser(),
+                        reason
+                )
+                                );
     }
 
@@ -80,4 +120,5 @@
                 FeedbackFor.R,
                 report);
+
         reportRepository.save(report);
     }
Index: src/main/resources/templates/fragments/discussion.html
===================================================================
--- src/main/resources/templates/fragments/discussion.html	(revision 229783a40924bb7e553248775b05532d0f3e1588)
+++ src/main/resources/templates/fragments/discussion.html	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -54,4 +54,5 @@
                         class="btn btn-danger btn-sm edit-delete-btn ms-2 report-btn"
                         th:data-username="${reply.getDiscussion().getUser().getUsername()}"
+                        th:if="${!reply.getUser().getUsername().equals(session.user.getUsername())}"
                         data-bs-toggle="modal"
                         data-bs-target="#reportModal">
Index: src/main/resources/templates/show-reports.html
===================================================================
--- src/main/resources/templates/show-reports.html	(revision 229783a40924bb7e553248775b05532d0f3e1588)
+++ src/main/resources/templates/show-reports.html	(revision c5b7b7c6d1e67bb13d73bd9da868688bdaabdf84)
@@ -107,9 +107,6 @@
                 </button>
             </div>
-            <div class="card-footer"
-                 th:if="${req.getStatus().name().equals('DENIED')}"
-            >
+            <div class="card-footer">
                 <button type="button"
-                        th:if="${req.getStatus().name().equals('DENIED')}"
                         class="btn-feedback-open btn btn-success">
                     View
