Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
djtfmartin authored and vjrj committed Oct 29, 2024
1 parent 801c1da commit 9890bd8
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package au.org.ala.collectory

import grails.converters.JSON
import grails.converters.XML
import grails.web.http.HttpHeaders

class DataProviderController extends ProviderGroupController {

def gbifRegistryService
def authService
def iptService

DataProviderController() {
entityName = "DataProvider"
Expand Down Expand Up @@ -89,6 +94,37 @@ class DataProviderController extends ProviderGroupController {
)
}

def iptScan = {
def create = params.create != null && params.create.equalsIgnoreCase("true")
def check = params.check == null || !params.check.equalsIgnoreCase("false")
def keyName = params.key ?: 'catalogNumber'
def isShareableWithGBIF = params.isShareableWithGBIF ? params.isShareableWithGBIF.toBoolean(): true
def provider = providerGroupService._get(params.uid)

def username = collectoryAuthService.username()
def admin = collectoryAuthService.userInRole(grailsApplication.config.ROLE_ADMIN)
try {
def updates = provider == null ? null : iptService.scan(provider, create, check, keyName, username, admin, isShareableWithGBIF)
log.info "${updates.size()} data resources to update for ${params.uid}"
response.addHeader HttpHeaders.VARY, HttpHeaders.ACCEPT
withFormat {
text {
render updates.findAll({ dr -> dr.uid != null }).collect({ dr -> dr.uid }).join("\n")
}
xml {
render updates as XML
}
json {
render updates as JSON
}
}
} catch (Exception e){
log.error("Problem scanning IPT endpoint: " + e.getMessage(), e)
render (status: 500, text: "Problem scanning data provider " + params.uid)
return
}
}

/**
* Create a single data provider for a selected GBIF organization
*/
Expand Down
4 changes: 2 additions & 2 deletions grails-app/views/dataProvider/show.gsp
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@
function checkIptInstance(){
$('.iptCheck .spinner').removeClass('hide');
$('.iptBtn').attr('disabled','disabled');
var checkUrl = "${raw(createLink(controller: "ipt", action: "scan", params:[format:"json", uid: instance?.uid, check:true, create: false]))}";
var checkUrl = "${raw(createLink(controller: "dataProvider", action: "iptScan", params:[format:"json", uid: instance?.uid, check:true, create: false]))}";
var jqxhr = $.get(checkUrl, function(data) {
$('.iptStatus').html("Success! IPT instance has " + data.length + " resources available." );
$('.iptStatus').removeClass('hide')
Expand All @@ -198,7 +198,7 @@
function updateResourcesFromIpt(){
$('.iptUpdate .spinner').removeClass('hide');
$('.iptBtn').attr('disabled','disabled');
var updateUrl = "${raw(createLink(controller: "ipt", action: "scan", params:[format:"json", uid: instance?.uid, create:true, check: false]))}";
var updateUrl = "${raw(createLink(controller: "dataProvider", action: "iptScan", params:[format:"json", uid: instance?.uid, create:true, check: false]))}";
var jqxhr = $.get(updateUrl, function(data) {
console.log(data)
var updateText = "Success! <br/><br/> " + data.length + " resources have been added or updated from this IPT instance."
Expand Down

0 comments on commit 9890bd8

Please sign in to comment.