Skip to content
Snippets Groups Projects

Resolve "Smiley Feedback on TAs"

All threads resolved!

Files

+ 17
5
@@ -25,6 +25,9 @@ import java.util.stream.Stream;
import javax.persistence.EntityNotFoundException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import nl.tudelft.ewi.queue.annotation.AuthenticatedUser;
import nl.tudelft.ewi.queue.model.*;
@@ -33,6 +36,7 @@ import nl.tudelft.ewi.queue.service.RequestService;
import nl.tudelft.ewi.queue.service.RequestTableService;
import nl.tudelft.ewi.queue.views.View;
import org.hibernate.validator.constraints.Range;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -44,6 +48,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.MultiValueMap;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@@ -53,6 +58,7 @@ import com.querydsl.core.types.Predicate;
@Controller
@EnableSpringDataWebSupport
@Validated
public class RequestController {
@Autowired
@@ -331,13 +337,19 @@ public class RequestController {
}
@RequestMapping(value = "/request/{id}/feedback", method = RequestMethod.POST)
public String feedback(@AuthenticatedUser User user,
@PathVariable("id") Long id,
@RequestParam(value = "feedback") String feedback,
RedirectAttributes redirectAttributes) {
public String feedback( @AuthenticatedUser User user,
+2
@PathVariable("id") Long id,
@RequestParam(value = "feedback", required = false) String feedback,
@Valid @Range(min = 1L, max = 5L) @RequestParam(value = "rating", required = false) Integer rating,
RedirectAttributes redirectAttributes) {
Request request = getRequest(id);
assert request.getRequestEntity().getId().equals(user.getId());
request.setFeedback(feedback);
if (!request.getLeftFeedback()) {
request.setFeedback(feedback);
}
if (!request.getLeftFeedbackRating()) {
request.setFeedbackRating(rating);
}
requestRepository.save(request);
redirectAttributes.addFlashAttribute("message", "Feedback successfully saved.");
return "redirect:/request/" + id;
Loading