Skip to content

Commit

Permalink
DigiVol 6.1.9 Release Notes
Browse files Browse the repository at this point in the history
New feature: DG-29 User labels and Reporting

Labels
 - Refactored labels/tags; Label, LabelCategory
 - Stored label colour
 - Added system level status (country, field and new user category), updated Bootstrap class
 - Fixed LandingPageAdmin bug with labels (#533/DG-60)
 - Updated Project settings to use new labels
 - Added new user admin with ability to add user label

Reports
 - Added Report queue system (queue report, quartz job processes and runs behind the scenes)
 - Deprecated browser-run project summary report (migrated to report request)
 - Added new admin for reports
 - Quartz job to clean up old report files (with config in advanced settings)

Other Updates

 - DG-130 Updated JSON Export API
 - Added new Observation Diary template view with Geo-mapping tool enabled.
  • Loading branch information
cdausmus committed Jun 26, 2024
2 parents ab39ddb + e277eb8 commit 08762bd
Show file tree
Hide file tree
Showing 53 changed files with 3,531 additions and 479 deletions.
6 changes: 2 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ before_install:
- cp travis/travis.properties local.properties
- echo "org.gradle.jvmargs=-Xmx3072m" >> ~/.gradle/gradle.properties
- export GRAILS_ENV=test
install:
- travis_wait 30 ./gradlew assemble
after_success:
# - '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && travis_retry ./gradlew publish'
- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && GRAILS_ENV=production travis_retry ./gradlew publish'
Expand All @@ -44,7 +46,3 @@ env:
- secure: 2MEDHHQ3nxNwf+YGgtC/GXx6kb0y4ixYA7Ia50pZHaN8xMHYdQ8EymKZJ8F9SXw0Feg9FsDc5I90lBJB8URYZZ4hPZN9+uj9crOvnOFMByvJpPikrQ6Yw8IdUjmYxHO/zv+kmOkqVnu6zCtS42olSM7ljeZs0PzW484Ci9w5eM4=
- secure: iR4/BuaBNTKIGQENUdQQjzqhUgefvJnfyC0aK0j9NNLVwcH6lE//TAqz22n7TuzTDPq7My+0clua8DEbJt2k7/kMrbrAohCEXtWvI2pBa43GmB+D5/qOW0+MZk46QJ0pR+hmjHZ3U9DjhuNuF3w7zlNsUnItk70FlzV+sRrYgwg=
- secure: pOWY7dwZRDcgsrYcwscdXHNPfhsPOSGhKNrG0G7AA4mhxaRKd9+1D31i5lhiA9qvbA0/lqD7A8Fnzvsf99MkUC6CSCQOh5n104UalYyiRQ/vhwfc0l9HdlCH86hShYq4PKvXA0hK5iCcIdltzn8pSnM4uHQiVKlbEJiX/qYNx7E=
notifications:
hipchat:
rooms:
secure: GV/Ckk/00dAExEE4A2bb/6yuwIdTn6EQ63cdKOH0CSLYiUspolHbueuB/2bGVy1ErmL3+l6A/bwZidnGoiR6N3Id/SWRbXBnxn9s7VRFVPsoKLviJ1Xku2rMf/fFW+/PTm2FtEeGiGlvFcbzuIv+b6Vplm8ixIyosFdsEIB2mqc=
9 changes: 4 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ buildscript {
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsGradlePluginVersion"
classpath "gradle.plugin.com.github.erdi.webdriver-binaries:webdriver-binaries-gradle-plugin:2.6"
classpath "org.grails.plugins:hibernate5:7.3.0" // This is different to gorm version
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:$assetPipelineVersion"
classpath "org.postgresql:postgresql:$postgresVersion" // for flyway
Expand All @@ -22,9 +21,10 @@ plugins {
id "com.virgo47.ClasspathJar" version "1.0.0"
id 'java'
id "com.dorongold.task-tree" version "2.1.1"
id "com.github.erdi.webdriver-binaries" version "3.2"
}

version "6.1.8"
version "6.1.9"
group "au.org.ala"
description "Digivol application"

Expand All @@ -35,7 +35,6 @@ apply plugin:"eclipse"
apply plugin:"idea"
apply plugin:"war"
apply plugin:"org.grails.grails-web"
apply plugin:"com.github.erdi.webdriver-binaries"
apply plugin:"com.bertramlabs.asset-pipeline"
apply plugin:"org.grails.grails-gsp"
apply plugin:"maven-publish"
Expand Down Expand Up @@ -285,10 +284,10 @@ tasks.withType(GroovyCompile) {
webdriverBinaries {
if (!System.getenv().containsKey('GITHUB_ACTIONS')) {
chromedriver {
version = '2.45.0'
version = '122.0.6260.0'
fallbackTo32Bit = true
}
geckodriver '0.30.0'
geckodriver '0.33.0'
}
}

Expand Down
37 changes: 37 additions & 0 deletions grails-app/assets/stylesheets/digivol-custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -496,3 +496,40 @@ a.fieldHelp {
white-space: normal;
}

/* Labels */

.label-base {
background-color: #777;
}

.label-green {
background-color: #5cb85c;
}

.label-red {
background-color: #d9534f;
}

.label-yellow {
background-color: #f0ad4e;
}

.label-blue {
background-color: #337ab7;
}

.label-lightblue {
background-color: #3498db;
}

.label-orange {
background-color: #e67e22;
}

.label-purple {
background-color: #9b59b6;
}

.label-darkgrey {
background-color: #4b5359;
}
1 change: 1 addition & 0 deletions grails-app/conf/application.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---

grails:
profile: web
codegen:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -742,6 +742,11 @@ class AdminController {
}
}

/**
* @deprecated
* @see {@link ReportRequestService#projectSummaryReport()}
* @return
*/
def projectSummaryReport() {
if (!checkAdminAccess(true)) {
render(view: '/notPermitted')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,8 @@ class AjaxController {
fieldNames.addAll(fieldList.name.unique().sort() as List<String>)
result.data = exportService.exportJson(taskList, fieldList)
result.projectId = project.id
result.name = project.name
result.url = grailsLinkGenerator.link(absolute: true, controller: 'project', action: 'index', id: project.id)
result.institutionId = project.institution.id

result.success = true
Expand All @@ -738,18 +740,23 @@ class AjaxController {
def hasValidatorRole() {
def project = Project.get(params.long('projectId'))
def userId = params.userid as String
log.info("Access to ws/hasValidatorRole().")
log.info("Params: project: ${params.long('projectId')}, userId: ${params.userid}")

if (!StringUtils.isEmpty(userId) && project) {
// Get user object from string userId
def userList = User.findAllByUserId(userId)
def user
if (userList && userList.size() > 0) user = userList.first()
if (user) {
log.info("Info requested for ${user}")
log.info("Result; userHasValidatorRole: ${userService.userHasValidatorRole(user as User, project.id, project.institution.id)}")
render(["result": userService.userHasValidatorRole(user as User, project.id, project.institution.id)] as JSON)
return
}
}

log.warn("hasValidatorRole(): User or project not found.")
response.status = SC_NOT_FOUND
render([message: "User or Project not found."] as JSON)
}
Expand Down
Loading

0 comments on commit 08762bd

Please sign in to comment.