package net.sevecek.zakladniwebapp;

import javax.validation.*;
import org.springframework.stereotype.*;
import org.springframework.validation.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.*;

@Controller
public class HlavniController {

    @RequestMapping(value = "/stranka-se-jmenem.html", method = RequestMethod.GET)
    public ModelAndView zobrazStrankuBezValidace() {
        // Prvnotni zobrazeni stranky
        ModelAndView drzacekNaSablonuAData;
        drzacekNaSablonuAData = new ModelAndView(
                "/WEB-INF/view/stranka-se-jmenem.jsp");

        StrankaBezValidaceForm prazdnyFormular;
        prazdnyFormular = new StrankaBezValidaceForm();
        drzacekNaSablonuAData.addObject("formular", prazdnyFormular);

        return drzacekNaSablonuAData;
    }

    @RequestMapping(value = "/stranka-se-jmenem.html", method = RequestMethod.POST)
    public ModelAndView zpracujStrankuBezValidace(
            @Valid @ModelAttribute("formular") StrankaBezValidaceForm vyplnenyFormular,
            Errors validacniChyby) {

        // Druhotna reakce na odeslany formular a zobrazeni vysledku
        if (validacniChyby.hasErrors()) {
            ModelAndView drzacekNaSablonuAData;
            drzacekNaSablonuAData = new ModelAndView(
                    "/WEB-INF/view/stranka-se-jmenem.jsp");
            // drzacekNaSablonuAData.addObject("formular", vyplnenyFormular);
            return drzacekNaSablonuAData;
        }

        ModelAndView drzacekNaSablonuAData;
        drzacekNaSablonuAData = new ModelAndView("/WEB-INF/view/vysledek-se-jmenem.jsp");

        String krestniJmeno = vyplnenyFormular.getKrestniJmeno();
        String prijmeni = vyplnenyFormular.getPrijmeni();

        String celeJmeno = krestniJmeno + " " + prijmeni;
        drzacekNaSablonuAData.addObject("kompletniJmeno", celeJmeno);

        return drzacekNaSablonuAData;
    }

}
