+ logAdminUsage(aRequest, articleId, "media " + midParam + " deattached");
+
+ editObject(aRequest, aResponse, articleId);
+ }
+
+ /**
+ * Locks an article
+ */
+ public void lock(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc
+ {
+ HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
+
+ String idParam = requestParser.getParameter("id");
+ if (idParam == null)
+ throw new ServletModuleExc("Wrong call: (id) is missing");
+
+ EntityUsers user = ServletHelper.getUser(aRequest);
+
+ if (!MirGlobal.accessControl().article().mayLockArticle(user, idParam))
+ throw new ServletModuleExc("Unable to lock");
+
+ contentModule.lockArticle(idParam, user.getId(), false);
+
+ editObject(aRequest, aResponse, idParam);
+ }
+
+ /**
+ * Unlocks an article
+ */
+ public void unlock(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc
+ {
+ HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
+
+ String idParam = requestParser.getParameter("id");
+ if (idParam == null)
+ throw new ServletModuleExc("Wrong call: (id) is missing");
+
+ EntityUsers user = ServletHelper.getUser(aRequest);
+
+ if (!MirGlobal.accessControl().article().mayUnlockArticle(user, idParam))
+ throw new ServletModuleExc("Unable to unlock");
+
+ contentModule.unlockArticle(idParam, user.getId(), false);
+
+ editObject(aRequest, aResponse, idParam);
+ }
+
+ /**
+ * Forcelocks an article
+ */
+ public void forcelock(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleExc
+ {
+ HTTPRequestParser requestParser = new HTTPRequestParser(aRequest);
+
+ String idParam = requestParser.getParameter("id");
+ if (idParam == null)
+ throw new ServletModuleExc("Wrong call: (id) is missing");
+
+ EntityUsers user = ServletHelper.getUser(aRequest);
+
+ if (!MirGlobal.accessControl().article().mayForceLockArticle(user, idParam))
+ throw new ServletModuleExc("Unable to force lock");
+
+ contentModule.lockArticle(idParam, user.getId(), true);
+
+ editObject(aRequest, aResponse, idParam);