package com.psddev.cms.tool.page;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import com.psddev.cms.db.Schedule;
import com.psddev.cms.tool.PageServlet;
import com.psddev.cms.tool.ToolPageContext;
import com.psddev.dari.db.Query;
import com.psddev.dari.util.RoutingFilter;
@RoutingFilter.Path(application = "cms", value = "/scheduleList")
@SuppressWarnings("serial")
public class ScheduleList extends PageServlet {
@Override
protected String getPermissionId() {
return null;
}
@Override
protected void doService(final ToolPageContext page) throws IOException, ServletException {
reallyDoService(page);
}
public static void reallyDoService(ToolPageContext page) throws IOException, ServletException {
List<Schedule> schedules = Query
.from(Schedule.class)
.where("name != missing")
.sortAscending("name")
.selectAll();
page.writeStart("div", "class", "widget");
{
page.writeStart("h1", "class", "icon icon-object-schedule");
page.writeHtml(page.localize(ScheduleList.class, "title"));
page.writeEnd();
if (schedules.isEmpty()) {
page.writeStart("div", "class", "message message-info");
page.writeHtml(page.localize(ScheduleList.class, "message.noSchedules"));
page.writeEnd();
} else {
page.writeStart("ul");
{
for (Schedule schedule : schedules) {
page.writeStart("li");
{
page.writeStart("form",
"method", "post",
"style", "display: inline;",
"target", "_top",
"action", page.cmsUrl("/misc/updateUserSettings",
"action", "scheduleSet",
"scheduleId", schedule.getId(),
"returnUrl", page.cmsUrl("/")));
page.writeStart("button", "class", "link");
page.writeObjectLabel(schedule);
page.writeEnd();
page.writeEnd();
}
page.writeEnd();
}
}
page.writeEnd();
}
}
page.writeEnd();
}
}