package no.dusken.aranea.admin.control; import no.dusken.aranea.model.Page; import no.dusken.aranea.service.PageService; import org.springframework.web.bind.ServletRequestUtils; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.Map; /** * @author Marvin B. Lillehaug <lillehau@underdusken.no> * This controller takes in a ID and if the page is not published, it gets published. */ public class PublishPageController extends AbstractController { private PageService pageService; protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { Long ID = ServletRequestUtils.getLongParameter(httpServletRequest, "ID", 0L); Map map = new HashMap(); if (ID != 0L) { Page p = pageService.getEntity(ID); if(!p.getPublished()){ p.setPublished(true); Calendar now = new GregorianCalendar(); p.setTimePublished(now); p.setModified(now); pageService.saveOrUpdate(p); map.put("updatedPage", p); } } map.put("pages", pageService.getNotPublishedPages(0, 30)); return new ModelAndView("no/dusken/aranea/base/admin/page/publish", map); } public void setPageService(PageService pageService) { this.pageService = pageService; } }