Index: lams_tool_wiki/conf/language/lams/ApplicationResources.properties
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/conf/language/lams/ApplicationResources.properties,v
diff -u -r1.11 -r1.12
--- lams_tool_wiki/conf/language/lams/ApplicationResources.properties 19 Mar 2012 14:39:35 -0000 1.11
+++ lams_tool_wiki/conf/language/lams/ApplicationResources.properties 19 Mar 2012 19:36:00 -0000 1.12
@@ -121,6 +121,8 @@
label.wiki.remove.mark.toolTip =Mark this page as removed
label.wiki.remove.mark.confirm =Are you sure you want to mark this Wiki page as removed?
label.wiki.removed =This page has been removed.
+label.wiki.restore =Restore
+label.wiki.restore.toolTip =Resore previously removed page
label.wiki.pages =Wiki Pages
label.wiki.savechanges =Save changes
label.wiki.history =History
@@ -154,9 +156,11 @@
notify.pageEdited.subject =LAMS Wiki page has been edited by {0}.
notify.pageAdded.subject =LAMS Wiki page has been added by {0}.
notify.pageRemoved.subject =LAMS Wiki page has been removed by {0}.
+notify.pageRestored.subject =LAMS Wiki page has been restored by {0}.
notify.pageEdited.body =A Wiki page has been edited by {0} for {1}. To see the page, go to {2}
notify.pageAdded.body =A Wiki page has been added by {0} for {1}. To see the page, go to {2}
notify.pageRemoved.body =A Wiki page has been removed by {0} for {1}. To see the Wiki, go to {2}
+notify.pageRestored.body =A Wiki page has been restored by {0} for {1}. To see the Wiki, go to {2}
notify.learner.subscribe =Subscribe
notify.learner.unsubscribe =Unsubscribe
notify.learner.query ={0} to notifications by email each time the Wiki is edited.
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/IWikiService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/IWikiService.java,v
diff -u -r1.8 -r1.9
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/IWikiService.java 19 Mar 2012 14:39:35 -0000 1.8
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/IWikiService.java 19 Mar 2012 19:36:00 -0000 1.9
@@ -155,8 +155,15 @@
* @param wikiPage
*/
public void markWikiPageAsDeleted(WikiPage wikiPage);
-
+
/**
+ * Mark an existing wiki page as not deleted.
+ *
+ * @param wikiPage
+ */
+ public void restoreWikiPage(WikiPage wikiPage);
+
+ /**
* Gets a wiki page by wiki and title
*
* This method should only be called by author as it will only retrieve
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/WikiService.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/WikiService.java,v
diff -u -r1.17 -r1.18
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/WikiService.java 19 Mar 2012 14:39:35 -0000 1.17
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/service/WikiService.java 19 Mar 2012 19:36:00 -0000 1.18
@@ -744,6 +744,11 @@
wikiPage.setDeleted(true);
wikiPageDAO.saveOrUpdate(wikiPage);
}
+
+ public void restoreWikiPage(WikiPage wikiPage) {
+ wikiPage.setDeleted(false);
+ wikiPageDAO.saveOrUpdate(wikiPage);
+ }
public void deleteInstructionFile(Long contentID, Long uuid, Long versionID, String type) {
wikiDAO.deleteInstructionFile(contentID, uuid, versionID, type);
Index: lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/WikiPageAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/WikiPageAction.java,v
diff -u -r1.11 -r1.12
--- lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/WikiPageAction.java 19 Mar 2012 14:39:35 -0000 1.11
+++ lams_tool_wiki/src/java/org/lamsfoundation/lams/tool/wiki/web/actions/WikiPageAction.java 19 Mar 2012 19:36:00 -0000 1.12
@@ -439,7 +439,39 @@
return this.returnToWiki(mapping, form, request, response, currentPageUid);
}
+
+ /**
+ * Restore a page previously marked as removed.
+ */
+ public ActionForward restorePage(ActionMapping mapping, ActionForm form, HttpServletRequest request,
+ HttpServletResponse response) throws Exception {
+ // The page to be restored
+ Long currentPageUid = WebUtil.readLongParam(request, WikiConstants.ATTR_CURRENT_WIKI);
+ // Get the session information for notifications
+ Long toolSessionID = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID, true);
+ WikiUser user = getCurrentUser(toolSessionID);
+
+ // set up wikiService
+ if (wikiService == null) {
+ wikiService = WikiServiceProxy.getWikiService(this.getServlet().getServletContext());
+ }
+
+ WikiPage wikiPage = wikiService.getWikiPageByUid(currentPageUid);
+
+ // Updating the wikiPage
+ wikiService.restoreWikiPage(wikiPage);
+
+ // Send removed page notifications
+ if (toolSessionID != null && user != null) {
+ notifyWikiChange(toolSessionID, "notify.pageRestored.subject", "notify.pageRestored.body", user, request);
+ }
+
+ // return to the same page
+ return this.returnToWiki(mapping, form, request, response, currentPageUid);
+
+ }
+
/**
* Toggles whether a learner wants to receive notifications for wiki changes
*
Index: lams_tool_wiki/web/pages/authoring/basic.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/web/pages/authoring/basic.jsp,v
diff -u -r1.13 -r1.14
--- lams_tool_wiki/web/pages/authoring/basic.jsp 19 Mar 2012 14:39:35 -0000 1.13
+++ lams_tool_wiki/web/pages/authoring/basic.jsp 19 Mar 2012 19:36:00 -0000 1.14
@@ -47,6 +47,14 @@
+
+
+ "
+ >
+
+
+
Index: lams_tool_wiki/web/pages/learning/wiki.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_wiki/web/pages/learning/wiki.jsp,v
diff -u -r1.22 -r1.23
--- lams_tool_wiki/web/pages/learning/wiki.jsp 19 Mar 2012 14:39:35 -0000 1.22
+++ lams_tool_wiki/web/pages/learning/wiki.jsp 19 Mar 2012 19:36:00 -0000 1.23
@@ -118,7 +118,7 @@
-
+
@@ -145,7 +145,7 @@
-
+
">
@@ -166,14 +166,22 @@
-
+
')"
title=""
>
+
+
+ "
+ >
+
+
+