@RequestMapping(value = "/przepisy", method = RequestMethod.GET)
  public String showPrzepisy(
      @RequestParam(value = "user", required = false) String user, Model model) {

    List<Przepis> przepisy;
    if (user == null) {
      przepisy = przepisyService.getPrzepisy();
    } else {
      przepisy = przepisyService.getPrzepisy(user);
      model.addAttribute("user", user);
    }

    model.addAttribute("przepisy", przepisy);

    return "przepisy";
  }
  @RequestMapping(value = "/getPhoto/{id}", method = RequestMethod.GET)
  public void getUserImage(HttpServletResponse response, @PathVariable("id") int id)
      throws IOException {

    response.setContentType("image/jpeg");
    byte[] buffer = przepisyService.getPrzepis(id).getPhoto();
    InputStream in1 = new ByteArrayInputStream(buffer);
    IOUtils.copy(in1, response.getOutputStream());
  }
  @RequestMapping(value = "/przepis", method = RequestMethod.GET)
  public String showPrzepis(@RequestParam("id") int id, Model model) {
    Przepis przepis = przepisyService.getPrzepis(id);
    model.addAttribute("przepis", przepis);
    Comment comment = new Comment();
    model.addAttribute("comment", comment);
    List<Comment> comments = commentsService.getComments(przepis);
    model.addAttribute("comments", comments);

    return "przepis";
  }
  @RequestMapping(value = "/szukaj", method = RequestMethod.GET)
  public String showResults(
      @RequestParam(value = "query", required = true) String query, Model model) {

    List<Przepis> przepisy = przepisyService.searchForPrzepis(query);
    if (przepisy.isEmpty()) {
      model.addAttribute("msg", query + " - brak wyników");
    }

    model.addAttribute("przepisy", przepisy);

    return "przepisy";
  }
  @RequestMapping(value = "/nowycomment", method = RequestMethod.POST)
  public String doCreateComment(
      RedirectAttributes redirectAttributes,
      Comment comment,
      Principal principal,
      @RequestParam(value = "id", required = true) int id) {

    User user = usersService.findUser(principal.getName());
    comment.setAutor(user);
    Przepis przepis = przepisyService.getPrzepis(id);
    comment.setPrzepis(przepis);
    commentsService.createComment(comment);
    comment.setData(new Date());

    redirectAttributes.addAttribute("id", id);
    return "redirect:/przepis";
  }
  @RequestMapping(
      value = "/docreateprzepis",
      headers = "content-type=multipart/*",
      method = RequestMethod.POST)
  public String doCreatePrzepis(
      Model model,
      Przepis przepis,
      BindingResult result,
      Principal principal,
      RedirectAttributes redirectAttributes,
      @RequestParam(value = "photo", required = false) MultipartFile file) {
    przepis.setUser(usersService.findUser(principal.getName()));
    przepis.setData(new Date());

    if (!(file.getSize() == 0)) {
      try {
        przepis.setPhoto(file.getBytes());

      } catch (Exception re) {
        logger.info(re.getMessage());
        return "createprzepis";
      }
    } else {

      try {
        ClassPathResource cpr = new ClassPathResource("default.png");
        InputStream is = cpr.getInputStream();
        przepis.setPhoto(IOUtils.toByteArray(is));
        //				logger.info("czy photo jest rózne od null");
        //				logger.info(przepis.getPhoto() != null);
      } catch (IOException re) {
        logger.info(re.getMessage());
        return "createprzepis";
      }
    }

    przepisyService.createPrzepis(przepis);
    redirectAttributes.addAttribute("id", przepis.getId());
    return "redirect:/przepis";
  }
 @RequestMapping(value = "/przepis/drukuj", method = RequestMethod.GET)
 protected ModelAndView toPdf(@RequestParam(value = "id", required = true) int id) {
   Przepis przepis = przepisyService.getPrzepis(id);
   return new ModelAndView(new PrzepisPdfView(), "przepis", przepis);
 }