diff --git a/grails-app/controllers/au/org/ala/alerts/AdminController.groovy b/grails-app/controllers/au/org/ala/alerts/AdminController.groovy index 92438e81..3e179d06 100644 --- a/grails-app/controllers/au/org/ala/alerts/AdminController.groovy +++ b/grails-app/controllers/au/org/ala/alerts/AdminController.groovy @@ -372,8 +372,6 @@ class AdminController { qr.previousCheck = qr.lastChecked qr.lastChecked = since query.lastChecked = since - - def records = notificationService.retrieveRecordForQuery(qr.query, qr) String urlPrefix = "${grailsApplication.config.getProperty("grails.serverURL")}${grailsApplication.config.getProperty('security.cas.contextPath', '')}" @@ -383,7 +381,7 @@ class AdminController { def unsubscribeOneUrl def alaUser = authService.userDetails() - def user = userService.getUserByEmail(alaUser?.email) + def user = User.findByEmail(alaUser?.email) def unsubscribeToken = notificationService.getUnsubscribeToken(user, query) if (user && unsubscribeToken) { unsubscribeOneUrl = urlPrefix + "/unsubscribe?token=${unsubscribeToken}" diff --git a/grails-app/domain/au/org/ala/alerts/Query.groovy b/grails-app/domain/au/org/ala/alerts/Query.groovy index 536cec66..707e3f25 100644 --- a/grails-app/domain/au/org/ala/alerts/Query.groovy +++ b/grails-app/domain/au/org/ala/alerts/Query.groovy @@ -23,7 +23,10 @@ class Query { String recordJsonPath transient String listId //species list id - transient Date lastChecked // Date when the last execution performed + // Date when the last execution performed. + // NOTE: Except Biosecurity, other queries may have 4 lastChecked dates, matching the 4 frequencies + // Only used for passing the checked date to the Email template + transient Date lastChecked static hasMany = [notifications: Notification, queryResults: QueryResult, propertyPaths: PropertyPath] diff --git a/grails-app/services/au/org/ala/alerts/BiosecurityService.groovy b/grails-app/services/au/org/ala/alerts/BiosecurityService.groovy index 97797ad0..c56e5a59 100644 --- a/grails-app/services/au/org/ala/alerts/BiosecurityService.groovy +++ b/grails-app/services/au/org/ala/alerts/BiosecurityService.groovy @@ -54,7 +54,7 @@ class BiosecurityService { */ def triggerBiosecuritySubscription(Query query) { //If has not been checked before, then set the lastChecked to 7 days before - Date lastChecked = query.lastChecked ?: DateUtils.addDays(new Date(), -1 * grailsApplication.config.getProperty("biosecurity.legacy.firstLoadedDateAge", Integer, 7)) + Date lastChecked = queryService.getLastCheckedDate(query) ?: DateUtils.addDays(new Date(), -1 * grailsApplication.config.getProperty("biosecurity.legacy.firstLoadedDateAge", Integer, 7)) triggerBiosecuritySubscription(query, lastChecked) } diff --git a/grails-app/services/au/org/ala/alerts/NotificationService.groovy b/grails-app/services/au/org/ala/alerts/NotificationService.groovy index 23b3e9c0..94cca943 100644 --- a/grails-app/services/au/org/ala/alerts/NotificationService.groovy +++ b/grails-app/services/au/org/ala/alerts/NotificationService.groovy @@ -25,7 +25,6 @@ class NotificationService { def grailsApplication def dateFormatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss") - @Transactional QueryResult getQueryResult(Query query, Frequency frequency) { QueryResult qr = QueryResult.findByQueryAndFrequency(query, frequency) if (qr == null) {