package com.psddev.cms.tool.page;
import java.io.IOException;
import java.util.UUID;
import javax.servlet.ServletException;
import com.psddev.cms.db.ContentLock;
import com.psddev.cms.tool.PageServlet;
import com.psddev.cms.tool.ToolPageContext;
import com.psddev.dari.db.Query;
import com.psddev.dari.util.JspUtils;
import com.psddev.dari.util.ObjectUtils;
import com.psddev.dari.util.RoutingFilter;
@RoutingFilter.Path(application = "cms", value = "contentUnlock")
public class ContentUnlock extends PageServlet {
private static final long serialVersionUID = 1L;
@Override
protected String getPermissionId() {
return null;
}
@Override
protected void doService(ToolPageContext page) throws IOException, ServletException {
Object content = Query
.fromAll()
.where("_id = ?", page.param(UUID.class, "id"))
.first();
if (content != null) {
ContentLock.Static.unlock(content, null, page.getUser());
}
String returnUrl = page.param(String.class, "returnUrl");
if (ObjectUtils.isBlank(returnUrl)) {
page.writeRaw(page.localize(ContentUnlock.class, "label.ok"));
} else {
JspUtils.redirect(
page.getRequest(),
page.getResponse(),
page.param(String.class, "returnUrl"));
}
}
}