Index: lams_build/lib/lams/lams.jar
===================================================================
diff -u -rccd4ec9c17db772dd790b199a8d12f61bcc3595b -r38a6c414e30497d03559a85b5c33155e4a2fc22e
Binary files differ
Index: lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java
===================================================================
diff -u -re0b158087e5f4e1e07e373051b8ff1935797b3d3 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java (.../StoreNBEntryServlet.java) (revision e0b158087e5f4e1e07e373051b8ff1935797b3d3)
+++ lams_central/src/java/org/lamsfoundation/lams/notebook/web/StoreNBEntryServlet.java (.../StoreNBEntryServlet.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -30,6 +30,7 @@
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.notebook.service.ICoreNotebookService;
import org.lamsfoundation.lams.util.wddx.FlashMessage;
import org.lamsfoundation.lams.util.wddx.WDDXProcessor;
@@ -81,7 +82,9 @@
notebookEntry.setExternalSignature(WDDXProcessor.convertToString(table, WDDXTAGS.EXTERNAL_SIG));
}
if (keyExists(table, WDDXTAGS.USER_ID)) {
- notebookEntry.setUserID(WDDXProcessor.convertToInteger(table, WDDXTAGS.USER_ID));
+ User user = (User) notebookService.getUserManagementService().findById(User.class,WDDXProcessor.convertToInteger(table, WDDXTAGS.USER_ID));
+
+ notebookEntry.setUser(user);
}
if (keyExists(table, WDDXTAGS.TITLE)) {
notebookEntry.setTitle(WDDXProcessor.convertToString(table, WDDXTAGS.TITLE));
Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml
===================================================================
diff -u -r58d3816e54a70b5f06a1922dea26e22126117552 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml (.../NotebookEntry.hbm.xml) (revision 58d3816e54a70b5f06a1922dea26e22126117552)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/notebook/model/NotebookEntry.hbm.xml (.../NotebookEntry.hbm.xml) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -49,13 +49,18 @@
column="external_signature"
/>
-
+ >
+
+
+
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/dao/INotebookEntryDAO.java
===================================================================
diff -u -r005c4f0dbcc48d991798597e5c42b6d84ea9efdf -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_common/src/java/org/lamsfoundation/lams/notebook/dao/INotebookEntryDAO.java (.../INotebookEntryDAO.java) (revision 005c4f0dbcc48d991798597e5c42b6d84ea9efdf)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/dao/INotebookEntryDAO.java (.../INotebookEntryDAO.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -45,4 +45,7 @@
List get(Long id, Integer idType, String signature,
Integer userID);
+
+ List get(Long id, Integer idType, String signature);
+
}
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/dao/hibernate/NotebookEntryDAO.java
===================================================================
diff -u -r005c4f0dbcc48d991798597e5c42b6d84ea9efdf -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_common/src/java/org/lamsfoundation/lams/notebook/dao/hibernate/NotebookEntryDAO.java (.../NotebookEntryDAO.java) (revision 005c4f0dbcc48d991798597e5c42b6d84ea9efdf)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/dao/hibernate/NotebookEntryDAO.java (.../NotebookEntryDAO.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -36,6 +36,9 @@
private static final String SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID_SIG = "from " + NotebookEntry.class.getName()
+ " where external_id=? and external_id_type=? and external_signature=? and user_id=?"
+ " order by create_date desc";
+ private static final String SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID_SIG_ALL = "from " + NotebookEntry.class.getName()
+ + " where external_id=? and external_id_type=? and external_signature=?"
+ + " order by user_id asc, create_date desc";
private static final String SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID = "from " + NotebookEntry.class.getName()
+ " where external_id=? and external_id_type=? and user_id=?"
+ " order by create_date desc";
@@ -45,6 +48,7 @@
+ " where user_id=? and external_id_type=?"
+ " order by external_signature desc, create_date desc";
+
public void saveOrUpdate(NotebookEntry notebookEntry) {
this.getHibernateTemplate().saveOrUpdate(notebookEntry);
this.getHibernateTemplate().flush();
@@ -54,6 +58,10 @@
return (List)(getHibernateTemplate().find(SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID_SIG, new Object[]{id, idType, signature, userID}));
}
+ public List get(Long id, Integer idType, String signature) {
+ return (List)(getHibernateTemplate().find(SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID_SIG_ALL, new Object[]{id, idType, signature}));
+ }
+
public List get(Long id, Integer idType, Integer userID) {
return (List)(getHibernateTemplate().find(SQL_QUERY_FIND_ENTRY_BY_EXTERNAL_ID, new Object[]{id, idType, userID}));
}
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/model/NotebookEntry.java
===================================================================
diff -u -r08950e1090443c3423a3d1c587416a2fccd8bbdf -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_common/src/java/org/lamsfoundation/lams/notebook/model/NotebookEntry.java (.../NotebookEntry.java) (revision 08950e1090443c3423a3d1c587416a2fccd8bbdf)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/model/NotebookEntry.java (.../NotebookEntry.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -27,6 +27,8 @@
import java.util.Date;
+import org.lamsfoundation.lams.usermanagement.User;
+
/**
* @hibernate.class table="lams_notebook_entry"
*/
@@ -42,7 +44,7 @@
private String externalSignature;
- private Integer userID;
+ private User user;
private String title;
@@ -54,11 +56,11 @@
public NotebookEntry() {}
- public NotebookEntry(Long externalID, Integer externalIDType, String externalSignature, Integer userID, String title, String entry, Date createDate) {
+ public NotebookEntry(Long externalID, Integer externalIDType, String externalSignature, User user, String title, String entry, Date createDate) {
this.externalID = externalID;
this.externalIDType = externalIDType;
this.externalSignature = externalSignature;
- this.userID = userID;
+ this.user = user;
this.title = title;
this.entry = entry;
this.createDate = createDate;
@@ -109,15 +111,18 @@
}
/**
- * @hibernate.property column="user_id"
+ * @hibernate.many-to-one not-null="true" cascade="none"
+ * @hibernate.column name="user_id"
*/
- public Integer getUserID() {
- return userID;
+ public User getUser() {
+ return user;
}
- public void setUserID(Integer userID) {
- this.userID = userID;
+ public void setUser(User user) {
+ this.user = user;
}
+
+
/**
* @hibernate.property column="title"
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java
===================================================================
diff -u -r005c4f0dbcc48d991798597e5c42b6d84ea9efdf -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java (.../CoreNotebookService.java) (revision 005c4f0dbcc48d991798597e5c42b6d84ea9efdf)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/service/CoreNotebookService.java (.../CoreNotebookService.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -31,22 +31,27 @@
import org.apache.log4j.Logger;
import org.lamsfoundation.lams.notebook.dao.INotebookEntryDAO;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
import org.lamsfoundation.lams.util.MessageService;
+import org.lamsfoundation.lams.usermanagement.User;
+
public class CoreNotebookService implements ICoreNotebookService, IExtendedCoreNotebookService{
private static Logger log = Logger.getLogger(CoreNotebookService.class);
private INotebookEntryDAO notebookEntryDAO;
+
+ protected IUserManagementService userManagementService;
protected MessageService messageService;
public Long createNotebookEntry(Long id, Integer idType, String signature,
Integer userID, String title, String entry) {
-
+ User user = (User)getUserManagementService().findById(User.class, userID);
NotebookEntry notebookEntry = new NotebookEntry(id, idType, signature,
- userID, title, entry, new Date());
+ user, title, entry, new Date());
saveOrUpdateNotebookEntry(notebookEntry);
return notebookEntry.getUid();
}
@@ -55,6 +60,10 @@
return notebookEntryDAO.get(id, idType, signature, userID);
}
+ public List getEntry(Long id, Integer idType, String signature) {
+ return notebookEntryDAO.get(id, idType, signature);
+ }
+
public List getEntry(Long id, Integer idType, Integer userID) {
return notebookEntryDAO.get(id, idType, userID);
}
@@ -103,6 +112,18 @@
}
/**
+ *
+ * @param IUserManagementService The userManagementService to set.
+ */
+ public void setUserManagementService(IUserManagementService userManagementService) {
+ this.userManagementService = userManagementService;
+ }
+
+ public IUserManagementService getUserManagementService() {
+ return userManagementService;
+ }
+
+ /**
* Set i18n MessageService
*/
public void setMessageService(MessageService messageService) {
Index: lams_common/src/java/org/lamsfoundation/lams/notebook/service/ICoreNotebookService.java
===================================================================
diff -u -r66fff7b7d81ef7b6e89093e40d34c59820383b40 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_common/src/java/org/lamsfoundation/lams/notebook/service/ICoreNotebookService.java (.../ICoreNotebookService.java) (revision 66fff7b7d81ef7b6e89093e40d34c59820383b40)
+++ lams_common/src/java/org/lamsfoundation/lams/notebook/service/ICoreNotebookService.java (.../ICoreNotebookService.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -27,7 +27,9 @@
import java.util.List;
+import org.lamsfoundation.lams.usermanagement.User;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+import org.lamsfoundation.lams.usermanagement.service.IUserManagementService;
import org.lamsfoundation.lams.util.MessageService;
public interface ICoreNotebookService {
@@ -37,6 +39,8 @@
List getEntry(Long id, Integer idType, String signature, Integer userID);
+ List getEntry(Long id, Integer idType, String signature);
+
List getEntry(Long id, Integer idType, Integer userID);
NotebookEntry getEntry(Long uid);
@@ -47,5 +51,7 @@
void saveOrUpdateNotebookEntry(NotebookEntry notebookEntry);
+ IUserManagementService getUserManagementService();
+
MessageService getMessageService();
}
Index: lams_learning/conf/language/ApplicationResources.properties
===================================================================
diff -u -re0b158087e5f4e1e07e373051b8ff1935797b3d3 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_learning/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision e0b158087e5f4e1e07e373051b8ff1935797b3d3)
+++ lams_learning/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -19,6 +19,7 @@
label.next.button =Next
label.finish.button =Finish
label.cancel.button =Cancel
+label.close.button =Close
label.edit.button =Edit
message.activity.parallel.partialComplete =You have to complete the other task before progressing to the next activity....
message.activity.parallel.noFrames =Your browser does not handle frames!
@@ -58,6 +59,7 @@
export.portfolio.notebook.private.label =private
export.portfolio.notebook.public.label =staff viewable
mynotes.title =My Notes
+mynotes.journals.title =Journals
mynotes.view.all.button =View All
mynotes.add.new.button =Add New
mynotes.notebook.save.button =Save to Notebook
@@ -69,6 +71,6 @@
mynotes.entry.last.modified.label =Last Modified
mynotes.entry.entry.label =Entry
mynotes.edit.heading =Edit: {0}
+mynotes.entry.submitted.by=Submitted by: {0}
-
#======= End labels: Exported 42 labels for en AU =====
Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/NotebookAction.java
===================================================================
diff -u -re0b158087e5f4e1e07e373051b8ff1935797b3d3 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/NotebookAction.java (.../NotebookAction.java) (revision e0b158087e5f4e1e07e373051b8ff1935797b3d3)
+++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/action/NotebookAction.java (.../NotebookAction.java) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -50,9 +50,14 @@
import org.lamsfoundation.lams.notebook.service.IExtendedCoreNotebookService;
import org.lamsfoundation.lams.notebook.model.NotebookEntry;
+import org.lamsfoundation.lams.learning.service.ICoreLearnerService;
+import org.lamsfoundation.lams.learning.service.LearnerServiceProxy;
+
import org.lamsfoundation.lams.usermanagement.User;
+import org.lamsfoundation.lams.usermanagement.exception.UserAccessDeniedException;
import org.lamsfoundation.lams.web.util.AttributeNames;
import org.lamsfoundation.lams.learning.web.util.LearningWebUtil;
+import org.lamsfoundation.lams.lesson.Lesson;
import org.lamsfoundation.lams.util.WebUtil;
import org.lamsfoundation.lams.util.audit.IAuditService;
@@ -70,6 +75,7 @@
*
* @struts.action-forward name = "viewAll" path = ".notebookViewAll"
* @struts.action-forward name= "viewSingle" path = ".notebookViewSingle"
+ * @struts.action-forward name= "viewJournals" path = ".notebookViewJournals"
* @struts.action-forward name = "addNew" path = ".notebookAddNew"
* @struts.action-forward name = "saveSuccess" path = ".notebookSaveSuccess"
* ----------------XDoclet Tags--------------------
@@ -86,6 +92,7 @@
private static final String VIEW_ALL = "viewAll";
private static final String VIEW_SINGLE = "viewSingle";
+ private static final String VIEW_JOURNALS = "viewJournals";
private static final String ADD_NEW = "addNew";
private static final String SAVE_SUCCESS = "saveSuccess";
@@ -125,9 +132,70 @@
}
+
/**
- * View all notebook entries
+ * View all journals entries from a lesson call
*/
+ public ActionForward viewAllJournals(
+ ActionMapping mapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws IOException, ServletException {
+
+ // List of Journal entries
+ List journals = null;
+
+ DynaActionForm notebookForm = (DynaActionForm)actionForm;
+
+ // lesson service
+ ICoreLearnerService learnerService = LearnerServiceProxy.getLearnerService(getServlet().getServletContext());
+
+ // getting requested object according to coming parameters
+ Integer userID = LearningWebUtil.getUserId();
+
+ // lessonID
+ Long lessonID = (Long) notebookForm.get(AttributeNames.PARAM_LESSON_ID);
+ Lesson lesson = learnerService.getLesson(lessonID);
+
+ // check user has permission
+ User user = (User)LearnerServiceProxy.getUserManagementService(getServlet().getServletContext()).findById(User.class,userID);
+
+ if ( lesson.getUser() != null && lesson.getUser().getUserId().equals(userID) ) {
+ journals = getJournals(lesson.getLessonId());
+ }
+
+ if ( lesson == null || lesson.getLessonClass()==null || !lesson.getLessonClass().isStaffMember(user) ) {
+ throw new UserAccessDeniedException("User "+userID+" may not retrieve journal entries for lesson "+lesson.getLessonId());
+ } else if(journals == null){
+ journals = getJournals(lesson.getLessonId());
+ }
+
+ request.getSession().setAttribute("journals", journals);
+ request.setAttribute("lessonID", lessonID);
+
+ return mapping.findForward(VIEW_JOURNALS);
+ }
+
+ /**
+ *
+ * @param lessonID Lesson to get the journals from.
+ * @return List of Journal entries
+ */
+ private List getJournals(Long lessonID) {
+ // initialize service object
+ ICoreNotebookService notebookService = (ICoreNotebookService) getNotebookService();
+
+ if(lessonID == null)
+ return null;
+
+ return notebookService.getEntry(lessonID, CoreNotebookConstants.SCRATCH_PAD, CoreNotebookConstants.JOURNAL_SIG);
+
+ }
+
+ /**
+ * View single notebook entry
+ */
public ActionForward viewEntry(
ActionMapping mapping,
ActionForm actionForm,
@@ -142,6 +210,7 @@
Long uid = (Long) notebookForm.get("uid");
String mode = WebUtil.readStrParam(request, "mode", true);
+
NotebookEntry entry = notebookService.getEntry(uid);
if(mode != null)
@@ -209,7 +278,7 @@
// check entry is being edited by it's owner
Integer userID = LearningWebUtil.getUserId();
- if(userID != entryObj.getUserID()) {
+ if(userID != entryObj.getUser().getUserId()) {
// throw exception
}
Index: lams_learning/web/exportPortfolio/notebook.jsp
===================================================================
diff -u -rca73a51b45e6071a6a9edd5da8b0d61bf3a39929 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_learning/web/exportPortfolio/notebook.jsp (.../notebook.jsp) (revision ca73a51b45e6071a6a9edd5da8b0d61bf3a39929)
+++ lams_learning/web/exportPortfolio/notebook.jsp (.../notebook.jsp) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -54,7 +54,7 @@
-
+
@@ -68,7 +68,7 @@
-
+ "/>
Index: lams_learning/web/notebook/addnew.jsp
===================================================================
diff -u -r4dad09808af4843011f77b52fc96465553f537e7 -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_learning/web/notebook/addnew.jsp (.../addnew.jsp) (revision 4dad09808af4843011f77b52fc96465553f537e7)
+++ lams_learning/web/notebook/addnew.jsp (.../addnew.jsp) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -55,7 +55,7 @@
-
+
Index: lams_learning/web/notebook/view.jsp
===================================================================
diff -u -r135edd5e691553685777c2fef3099e832ed62b4b -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_learning/web/notebook/view.jsp (.../view.jsp) (revision 135edd5e691553685777c2fef3099e832ed62b4b)
+++ lams_learning/web/notebook/view.jsp (.../view.jsp) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -43,7 +43,7 @@
-
+
@@ -83,9 +83,21 @@
-
+
+
|
+
+
+
+
+
+
+
+
+ |
+
+
Index: lams_learning/web/notebook/viewall.jsp
===================================================================
diff -u -r135edd5e691553685777c2fef3099e832ed62b4b -r38a6c414e30497d03559a85b5c33155e4a2fc22e
--- lams_learning/web/notebook/viewall.jsp (.../viewall.jsp) (revision 135edd5e691553685777c2fef3099e832ed62b4b)
+++ lams_learning/web/notebook/viewall.jsp (.../viewall.jsp) (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -32,18 +32,18 @@
-
-
- |
- |
- |
-
+
+
+ |
+ |
+ |
+
Index: lams_learning/web/notebook/viewalljournals.jsp
===================================================================
diff -u
--- lams_learning/web/notebook/viewalljournals.jsp (revision 0)
+++ lams_learning/web/notebook/viewalljournals.jsp (revision 38a6c414e30497d03559a85b5c33155e4a2fc22e)
@@ -0,0 +1,90 @@
+<%--
+Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org)
+License Information: http://lamsfoundation.org/licensing/lams/2.0/
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 2 as
+ published by the Free Software Foundation.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ USA
+
+ http://www.gnu.org/licenses/gpl.txt
+--%>
+<%@ taglib uri="tags-html" prefix="html"%>
+<%@ taglib uri="tags-core" prefix="c"%>
+<%@ taglib uri="tags-fmt" prefix="fmt" %>
+<%@ taglib uri="tags-lams" prefix="lams" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+ | |
+ |
+ |
+
+
+
+
+
+
+
+
+
+