--- samigo-services/src/java/org/sakaiproject/tool/assessment/facade/PublishedAssessmentFacade.java (revision 28626) +++ samigo-services/src/java/org/sakaiproject/tool/assessment/facade/PublishedAssessmentFacade.java (revision 28627) @@ -603,6 +603,10 @@ } public Date getDueDate() { + //Check access control if this is null + if (this.dueDate == null && this.publishedAccessControl != null) { + return this.publishedAccessControl.getDueDate(); + } return this.dueDate; } --- samigo-impl/src/java/org/sakaiproject/samigo/impl/SamigoETSProviderImpl.java (revision 28626) +++ samigo-impl/src/java/org/sakaiproject/samigo/impl/SamigoETSProviderImpl.java (revision 28627) @@ -19,6 +19,8 @@ import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.*; import lombok.Setter; @@ -128,6 +130,27 @@ PublishedAssessmentService pubAssServ = new PublishedAssessmentService(); PublishedAssessmentFacade pubAssFac = pubAssServ.getSettingsOfPublishedAssessment(notificationValues.get("publishedAssessmentID").toString()); + // Format dates + DateFormat dfIn = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); + DateFormat dfIn2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"); + DateFormat dfOut = new SimpleDateFormat("yyyy-MMM-dd hh:mm a"); + String formattedDueDate = (pubAssFac.getDueDate() == null) ? "" : dfOut.format(pubAssFac.getDueDate()); + Date submissionDate = null; + String inSubmissionDateStr = (notificationValues.get("submissionDate") == null) ? "" : notificationValues.get("submissionDate").toString(); + try { + submissionDate = dfIn.parse(inSubmissionDateStr); + } catch (java.text.ParseException e) { + log.debug("Submission date parse exception (first format): " + e.getMessage()); + } + if (submissionDate == null) { + try { + submissionDate = dfIn2.parse(inSubmissionDateStr); + } catch (java.text.ParseException e) { + log.debug("Submission date parse exception (second format): " + e.getMessage()); + } + } + String formattedSubmissionDate = (submissionDate == null) ? inSubmissionDateStr : dfOut.format(submissionDate); + String siteID = pubAssFac.getOwnerSiteId(); /* * siteName @@ -145,9 +168,9 @@ replacementValues.put("userName" , user.getDisplayName()); replacementValues.put("userDisplayID" , user.getDisplayId()); replacementValues.put("assessmentTitle" , pubAssFac.getTitle()); - replacementValues.put("assessmentDueDate" , pubAssFac.getDueDate() == null ? "" : pubAssFac.getDueDate().toString()); + replacementValues.put("assessmentDueDate" , formattedDueDate); replacementValues.put("assessmentGradingID" , notificationValues.get("assessmentGradingID").toString()); - replacementValues.put("submissionDate" , notificationValues.get("submissionDate").toString()); + replacementValues.put("submissionDate" , formattedSubmissionDate); replacementValues.put("confirmationNumber" , notificationValues.get("confirmationNumber").toString()); notifyStudent(user, priStr, assessmentSubmittedType, replacementValues);