Skip to content
Snippets Groups Projects

Resolve "Smiley Feedback on TAs"

Files

@@ -25,6 +25,7 @@ import java.util.stream.Stream;
import javax.persistence.EntityNotFoundException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import nl.tudelft.ewi.queue.annotation.AuthenticatedUser;
import nl.tudelft.ewi.queue.model.*;
@@ -33,6 +34,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 +46,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 +56,7 @@ import com.querydsl.core.types.Predicate;
@Controller
@EnableSpringDataWebSupport
@Validated
public class RequestController {
@Autowired
@@ -333,11 +337,17 @@ 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,
@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