2024-09-11 18:45:24 +00:00
async function checkDuplicate ( ) {
var url = 'https://lab.ilot.io/api/v4/projects/99/issues' ;
var email = document . getElementById ( "email" ) . value ;
const response = await fetch ( url , {
headers : {
'PRIVATE-TOKEN' : 'glpat-RaoZSW_3XMhkGr19k6Wv' ,
'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 ( ) {
var baseurl = 'https://lab.ilot.io/api/v4/projects/99/issues?&labels=Request' ;
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 aboutme = aboutme . replace ( /\r?\n/g , "%0A%0A" ) ;
var howfound = document . getElementById ( "how-found" ) . value ;
var howfound = howfound . replace ( /^/ , 'How I found ilot: ' ) ;
var howfound = howfound . replace ( /\r?\n/g , "%0A%0A" ) ;
2024-10-08 15:12:32 +00:00
var ocuser = document . getElementById ( "oc-user" ) . value ;
var ocuser = ocuser . replace ( /^/ , 'OpenCollective Profile: ' ) ;
var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound + "%0A%0A" + ocuser ;
2024-09-11 18:45:24 +00:00
var description = name + "%0A%0A" + aboutme + "%0A%0A" + howfound ;
var url = baseurl . concat ( "&title=" , email , "&description=" , description ) ;
console . log ( 'Description:' , description ) ;
fetch ( url , {
method : 'POST' ,
headers : {
'PRIVATE-TOKEN' : 'glpat-RaoZSW_3XMhkGr19k6Wv' ,
'Content-Type' : 'application/json' ,
} ,
} )
. 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 )
} ) ;
}