function prep_new_repo()

in htdocs/js/boxer.js [594:632]


function prep_new_repo(refresh=false, submit=false) {
    let frn = document.getElementById('final_repo_name');
    let project = document.getElementById('project').value;
    let suffix = document.getElementById('suffix').value;
    let priv = login_cached.credentials.admin ? document.getElementById('private').checked : false;
    let repo_title = 'Apache ' + project;
    let repo_commit = document.getElementById('commit').value;
    let repo_dev = document.getElementById('dev').value;
    document.getElementById('sbmt').disabled = true;
    if (!project.length) {
        frn.innerText = "Please select a project";
        return
    }
    if (refresh) {
        document.getElementById('commit').value = `commits@${project}.apache.org`;
        document.getElementById('dev').value = `dev@${project}.apache.org`;
    }
    if (!suffix.match(/^[-a-z0-9]*$/)) {
        frn.innerText = "Invalid repository suffix. Must be lowercase alphanumeric characters or dashes only.";
        return
    }
    if (login_cached.podlings.includes(project)) {
        project = 'incubator-' + project;
    }
    let repo_name = project;
    if (suffix && suffix.length) {
        repo_name += "-" + suffix;
    }
    repo_name += ".git";
    let repo_url_gitbox = "https://gitbox.apache.org/repos/" + ( priv ? "private/" + project : "asf") + "/" + repo_name;
    let repo_url_github= "https://github.com/apache/" + repo_name;
    frn.innerText = `This will create a repository named ${repo_name}`;
    document.getElementById('sbmt').disabled = false;
    if (submit) {
        if (window.confirm(`This will create ${repo_name}. Are you sure you wish to continue?`)) {
            create_new_repo(project, repo_name, priv, repo_title, repo_commit, repo_dev);
        }
    }
}