}
}
- public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, String anId) throws ServletModuleExc {
+ /**
+ * return a page allowing the user to edit an object
+ *
+ * @param aRequest
+ * @param aResponse
+ * @param anId the id of the object that is being edited
+ * @param aTemplate the template to use (or null to use the default template)
+ * @throws ServletModuleExc
+ */
+ public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, String anId, String aTemplate) throws ServletModuleExc {
try {
- editObject(aRequest, aResponse, model.makeEntityAdapter(definition, mainModule.getById(anId)), false, anId);
+ editObject(aRequest, aResponse, model.makeEntityAdapter(definition, mainModule.getById(anId)), aTemplate, false, anId);
}
catch (Throwable t) {
throw new ServletModuleFailure(t);
}
}
- public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, Object anObject, boolean anIsNew, String anId) throws ServletModuleExc {
+ /**
+ * return a page allowing the user to edit an object
+ */
+ public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, Object anObject,
+ String aTemplate, boolean anIsNew, String anId) throws ServletModuleExc {
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
URLBuilder urlBuilder = new URLBuilder();
responseData.put("module", getName());
responseData.put("entity", anObject);
- responseData.put("new", new Boolean(anIsNew));
+ responseData.put("new", Boolean.valueOf(anIsNew));
urlBuilder.setValue("module", getName());
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);
Map object = new HashMap();
Iterator i = mainModule.getStorageObject().getFieldNames().iterator();
-
while (i.hasNext()) {
object.put(i.next(), "");
}
initializeNewObject(object, aRequest, aResponse);
- editObject(aRequest, aResponse, object, true, null);
+ editObject(aRequest, aResponse, object, null, true, null);
}
protected void initializeNewObject(Map aNewObject, HttpServletRequest aRequest, HttpServletResponse aResponse) {
*/
public void edit(HttpServletRequest aRequest, HttpServletResponse aResponse, String anIdentifier)
throws ServletModuleExc, ServletModuleUserExc, ServletModuleFailure {
+
try {
- editObject(aRequest, aResponse, model.makeEntityAdapter(definition, mainModule.getById(anIdentifier)), false, anIdentifier);
+ editObject(aRequest, aResponse, model.makeEntityAdapter(definition, mainModule.getById(anIdentifier)), null, false, anIdentifier);
}
catch (Throwable e) {
throw new ServletModuleFailure(e);
throw new ServletModuleExc("Invalid call: id not supplied ");
}
- editObject(aRequest, aResponse, idParam);
+ editObject(aRequest, aResponse, idParam, null);
}
- public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, String anId) throws ServletModuleExc {
+ public void editObject(HttpServletRequest aRequest, HttpServletResponse aResponse, String anId, String aTemplate) throws ServletModuleExc {
try {
HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
Map responseData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] {getLocale(aRequest), getFallbackLocale(aRequest)});
logAdminUsage(aRequest, commentId, "media " + mediaIdParam + " attached");
- editObject(aRequest, aResponse, commentId);
+ editObject(aRequest, aResponse, commentId, null);
}
public void dettach(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc {
logAdminUsage(aRequest, commentId, "media " + midParam + " deattached");
- editObject(aRequest, aResponse, commentId);
+ editObject(aRequest, aResponse, commentId, null);
}
ServletHelper.redirect(aResponse, returnUrl);
}
else {
- editObject(aRequest, aResponse, idParam);
+ editObject(aRequest, aResponse, idParam, null);
}
}
catch (Throwable e) {
}
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);