2025-04-03 15:56:11 +00:00
async function checkDuplicate ( ) {
var url = 'https://forge.ilot.io/api/v1/repos/ilot/registration/issues' ;
var email = document . getElementById ( "email" ) . value ;
const response = await fetch ( url , {
headers : {
'authorization' : 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c' ,
'Content-Type' : 'application/json' ,
} ,
} )
const result = await response . json ( ) ;
let index = result
. findIndex ( item => item . title === email ) ;
if ( index !== - 1 ) {
return true ;
} else {
return false ;
}
}
async function createIssue ( ) {
2025-04-03 16:28:34 +00:00
var url = 'https://forge.ilot.io/api/v1/repos/ilot/registration/issues' ;
2025-04-03 15:56:11 +00:00
var mathspamtrap = document . getElementById ( "math-spam-trap" ) . value ;
var agreetoterms = document . getElementById ( "agree-to-terms" ) . checked ;
var email = document . getElementById ( "email" ) . value ;
if ( ! agreetoterms ) {
alert ( "Registration requires agreement of Code of Conduct" ) ;
return false ;
}
if ( ! email ) {
alert ( "Email cannot be empty" ) ;
return false ;
}
if ( mathspamtrap != "9" ) {
alert ( "Wrong math answer" ) ;
return false ;
}
if ( await checkDuplicate ( email ) === true ) {
alert ( "This email address has already requested an account" ) ;
return false ;
}
var name = document . getElementById ( "name" ) . value ;
var name = name . replace ( /^/ , 'Name: ' ) ;
var aboutme = document . getElementById ( "about-me" ) . value ;
var aboutme = aboutme . replace ( /^/ , 'About me: ' ) ;
var howfound = document . getElementById ( "how-found" ) . value ;
var howfound = howfound . replace ( /^/ , 'How I found ilot: ' ) ;
var ocuser = document . getElementById ( "oc-user" ) . value ;
var ocuser = ocuser . replace ( /^/ , 'OpenCollective Profile: ' ) ;
2025-04-03 19:47:55 +00:00
var description = name + "\n" + aboutme + "\n" + howfound + "\n" + ocuser ;
2025-04-03 15:56:11 +00:00
console . log ( 'Description:' , description ) ;
fetch ( url , {
method : 'POST' ,
headers : {
'authorization' : 'token b8d8617bb6049c0e47b7bba5cd0931799f54609c' ,
'Content-Type' : 'application/json' ,
} ,
2025-04-03 16:24:06 +00:00
body : JSON . stringify ( { title : email , body : description } ) ,
2025-04-03 15:56:11 +00:00
} )
. then ( response => response . json ( ) )
. then ( result => {
console . log ( 'Success:' , result ) ;
alert ( "Request submitted. A working group member will process your registration shortly. If you receive no contact within seven days of registration, please send an email to support@ilot.io" ) ;
} )
. catch ( error => {
console . error ( 'Error:' , error )
} ) ;
}