Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/python-apollo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
test-python-apollo:
name: test-python-apollo

runs-on: ubuntu-20.04
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.9]
Expand Down
8 changes: 5 additions & 3 deletions grails-app/controllers/org/bbop/apollo/UserController.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -295,9 +295,11 @@ class UserController {

UserOrganismPreference uop = preferenceService.getCurrentOrganismPreferenceInDB(dataObject.getString(FeatureStringEnum.CLIENT_TOKEN.value))

uop.nativeTrackList = dataObject.get("tracklist")
uop.save(flush: true)
log.info "Added userOrganismPreference ${uop.nativeTrackList}"
if (uop){
uop.nativeTrackList = dataObject.get("tracklist")
uop.save(flush: true)
log.info "Added userOrganismPreference ${uop.nativeTrackList}"
}
render new JSONObject() as JSON
}
catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,7 +624,7 @@ class PermissionService {
organism = organism ?: preferenceService.getCurrentOrganismPreferenceInDB(clientToken)?.organism
}
// don't set the preferences if it is coming off a script
if (clientToken != FeatureStringEnum.IGNORE.value) {
if (clientToken != FeatureStringEnum.IGNORE.value && organism) {
preferenceService.setCurrentOrganism(getCurrentUser(), organism, clientToken)
}
if(organism){
Expand Down
9 changes: 7 additions & 2 deletions grails-app/services/org/bbop/apollo/PreferenceService.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,11 @@ class PreferenceService {
UserOrganismPreferenceDTO preference = getSessionPreference(clientToken)
preference = preference ?: getSavingPreferences(user, sequenceName, clientToken)
log.debug "found in-memory preference: ${preference ? preference as JSON : null}"
return preference ?: getDTOFromPreference(getCurrentOrganismPreferenceInDB(user, sequenceName, clientToken))
UserOrganismPreference pref = getCurrentOrganismPreferenceInDB(user, sequenceName, clientToken)
if (pref) {
return getDTOFromPreference(pref)
}
return preference
}

def getSavingPreferences(User user, String sequenceName, String clientToken) {
Expand Down Expand Up @@ -700,7 +704,8 @@ class PreferenceService {
organism = Organism.first()
}
if (!organism) {
throw new PermissionException("User does not have permission for any organisms.")
log.warn("Not able to get organism preference")
return null
}

// sequence = sequence ?: Sequence.findByOrganism(organism, [sort: "end", order: "desc", max: 1])
Expand Down