}
public void add(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
- editObject(aRequest, aResponse, null);
+ editObject(aRequest, aResponse, null, aRequest.getParameter("template"));
}
public void insert(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
DatabaseContentToTopics.getInstance().setTopics(id, aRequest.getParameterValues("to_topic"));
- editObject(aRequest, aResponse, id);
+ editObject(aRequest, aResponse, id, aRequest.getParameter("template"));
}
catch (Throwable e) {
throw new ServletModuleFailure(e);
public void edit(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
String idParam = aRequest.getParameter("id");
- if (idParam == null)
+ if (idParam == null) {
throw new ServletModuleExc("Invalid call: id not supplied ");
- editObject(aRequest, aResponse, idParam);
+ }
+
+ editObject(aRequest, aResponse, idParam, aRequest.getParameter("template"));
}
/**
* Attaches media to an article
+ * @param aRequest
+ * @param aResponse
+ * @throws mir.servlet.ServletModuleExc
*/
public void attach(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
String mediaIdParam = aRequest.getParameter("mid");
logAdminUsage(aRequest, articleId, "media " + mediaIdParam + " attached");
- editObject(aRequest, aResponse, articleId);
+ editObject(aRequest, aResponse, articleId, aRequest.getParameter("template"));
}
/**
logAdminUsage(aRequest, articleId, "media " + midParam + " deattached");
- editObject(aRequest, aResponse, articleId);
+ editObject(aRequest, aResponse, articleId, aRequest.getParameter("request"));
}
/**
contentModule.lockArticle(idParam, user.getId(), false);
- editObject(aRequest, aResponse, idParam);
+ editObject(aRequest, aResponse, idParam, aRequest.getParameter("template"));
}
/**
contentModule.unlockArticle(idParam, user.getId(), false);
- editObject(aRequest, aResponse, idParam);
+ editObject(aRequest, aResponse, idParam, aRequest.getParameter("template"));
}
/**
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
String idParam = requestParser.getParameter("id");
- if (idParam == null)
+ if (idParam == null) {
throw new ServletModuleExc("Wrong call: (id) is missing");
+ }
EntityUsers user = ServletHelper.getUser(aRequest);
- if (!MirGlobal.accessControl().article().mayForceLockArticle(user, idParam))
+ if (!MirGlobal.accessControl().article().mayForceLockArticle(user, idParam)) {
throw new ServletModuleExc("Unable to force lock");
+ }
contentModule.lockArticle(idParam, user.getId(), true);
- editObject(aRequest, aResponse, idParam);
+ editObject(aRequest, aResponse, idParam, aRequest.getParameter("template"));
}
/**
contentModule.unlockArticle(id, ServletHelper.getUser(aRequest).getId(), false);
}
- editObject(aRequest, aResponse, idParam);
+ editObject(aRequest, aResponse, idParam, aRequest.getParameter("template"));
}
catch (Throwable e) {
throw new ServletModuleFailure(e);
* Returns the basic article editing form.
*
* @param anId identifier of the article. <code>null</code>, means show an
- * empty form to add a new article.
+ * @param aTemplate
*/
public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse,
- String anId) throws ServletModuleExc {
+ String anId, String aTemplate) throws ServletModuleExc {
try {
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
urlBuilder.setValue("module", "Content");
urlBuilder.setValue("do", "edit");
urlBuilder.setValue("id", anId);
+ urlBuilder.setValue("template", aTemplate);
urlBuilder.setValue("returnurl", requestParser.getParameter("returnurl"));
if (anId !=null) {
EntityUsers user = ServletHelper.getUser(aRequest);
responseData.put("mayEdit",
- new Boolean(MirGlobal.accessControl().article().mayEditArticle(user, anId)));
- responseData.put("mayLock", new Boolean(MirGlobal.accessControl().article().mayLockArticle(user, anId)));
- responseData.put("mayForceLock", new Boolean(MirGlobal.accessControl().article().mayForceLockArticle(user, anId)));
- responseData.put("mayUnlock", new Boolean(MirGlobal.accessControl().article().mayUnlockArticle(user, anId)));
+ Boolean.valueOf(MirGlobal.accessControl().article().mayEditArticle(user, anId)));
+ responseData.put("mayLock",
+ Boolean.valueOf(MirGlobal.accessControl().article().mayLockArticle(user, anId)));
+ responseData.put("mayForceLock",
+ Boolean.valueOf(MirGlobal.accessControl().article().mayForceLockArticle(user, anId)));
+ responseData.put("mayUnlock",
+ Boolean.valueOf(MirGlobal.accessControl().article().mayUnlockArticle(user, anId)));
}
else {
List fields = DatabaseContent.getInstance().getFieldNames();
responseData.put("new", Boolean.TRUE);
+
Map emptyArticle = new HashMap();
+
Iterator i = fields.iterator();
while (i.hasNext()) {
emptyArticle.put(i.next(), null);
responseData.put("returnurl", requestParser.getParameter("returnurl"));
responseData.put("thisurl", urlBuilder.getQuery());
- ServletHelper.generateResponse(aResponse.getWriter(), responseData, editGenerator);
+ if (aTemplate == null) {
+ aTemplate = editGenerator;
+ }
+
+ ServletHelper.generateResponse(aResponse.getWriter(), responseData, aTemplate);
}
catch (Throwable e) {
throw new ServletModuleFailure(e);