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="" > + +   + " + > + + +