-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Minor
-
Component/s: restricted-register-plugin
Problem
== Inline Script Block
Line: 38
----
<script>
var serviceInstance =<st:bind value="${it}"/>;
//<![CDATA[
enableSignUpIfAvailable();
function sendRegisterFormData() {
if (!rrIsButtonEnabled('#rr_submitBt')) {
return;
}
var values = rrSerializeForm('#rr_register_form');
clearMessagesAndErrors();
if (isFormValid(values)) {
sendFormData(values);
}
};
function getSecret() {
var secret = rrUrlParam('rr_secret');
if (secret) {
return secret;
}
return "";
};
function enableSignUpIfAvailable() {
serviceInstance.checkSecret(getSecret(), function(response) {
var data = response.responseObject();
if (data['status'] == 'success') {
beginSignUp();
} else {
alert("Failed to verify 'secret', please reload page and try again.");
}
});
};
function beginSignUp() {
jQuery('#rr_secret').val(getSecret());
clearMessagesAndErrors();
jQuery('#rr_register').fadeIn(400, function() {
jQuery('#rr_username').focus();
});
};
function clearMessagesAndErrors() {
showMessage(" ");
rrClearFormErrors();
};
function isFormValid(values) {
var anyValueEmpty = rrIsAnyRequiredFormFieldEmpty();
if (anyValueEmpty) {
showError('One or more field is empty.');
return false;
}
return true;
};
function sendFormData(values) {
rrDisableButton('#rr_submitBt');
showMessage('Sending...');
serviceInstance.register(values, function(response) {
handleSignUpResponse(response);
});
};
function handleSignUpResponse(response) {
data = response.responseObject();
status = data['status'];
if (status == 'success') {
onSuccess(data);
} else if (status == 'error') {
rrEnableButton('#rr_submitBt');
onFailure(data['data']);
} else {
rrEnableButton('#rr_submitBt');
onUndefinedError();
}
};
function onSuccess(data) {
clearMessagesAndErrors();
showMessage("Account added, please check inbox for e-mail with account activation link.");
};
function onFailure(data) {
showError(data['message']);
var affectedFields = data['fields'];
jQuery('.rr_register_form').find('input').each(function(index, value) {
var thisObj = jQuery(this);
var thisID = thisObj.attr('id');
if (jQuery.inArray(thisID, affectedFields) >= 0) {
thisObj.addClass('rr_input_error');
}
});
};
function onUndefinedError() {
showError("Unknown error occurred.");
};
function showError(message) {
document.getElementById('rr_msg').innerHTML = message;
jQuery('#rr_msg').addClass('rr_error');
};
function showMessage(message) {
document.getElementById('rr_msg').innerHTML = message;
jQuery('#rr_msg').removeClass('rr_error');
};
//]]>
</script>
----
Solution
https://www.jenkins.io/doc/developer/security/csp/#inline-javascript-blocks