diff --git a/editor/js/ui/projects/projects.js b/editor/js/ui/projects/projects.js index d5e73e05a..34aaf3b8a 100644 --- a/editor/js/ui/projects/projects.js +++ b/editor/js/ui/projects/projects.js @@ -691,15 +691,15 @@ RED.projects = (function() { } else { projectRepoInput.removeClass("input-error"); } - if (/^(?:ssh|[\S]+?@[\S]+?):(?:\/\/)?/.test(repo)) { + if (/^https?:\/\//.test(repo)) { + $(".projects-dialog-screen-create-row-creds").show(); + $(".projects-dialog-screen-create-row-sshkey").hide(); + } else if (/^(?:ssh|[\S]+?@[\S]+?):(?:\/\/)?/.test(repo)) { $(".projects-dialog-screen-create-row-creds").hide(); $(".projects-dialog-screen-create-row-sshkey").show(); // if ( !getSelectedSSHKey(projectRepoSSHKeySelect) ) { // valid = false; // } - } else if (/^https?:\/\//.test(repo)) { - $(".projects-dialog-screen-create-row-creds").show(); - $(".projects-dialog-screen-create-row-sshkey").hide(); } else { $(".projects-dialog-screen-create-row-creds").hide(); $(".projects-dialog-screen-create-row-sshkey").hide(); @@ -1509,7 +1509,7 @@ RED.projects = (function() { resultCallbackArgs = {error:responses.statusText}; return; } else if (options.handleAuthFail !== false && xhr.responseJSON.error === 'git_auth_failed') { - var url = activeProject.git.remotes[options.remote||'origin'].fetch; + var url = activeProject.git.remotes[xhr.responseJSON.remote||options.remote||'origin'].fetch; var message = $('
'+ '
Authentication required for repository:
'+ @@ -1517,7 +1517,10 @@ RED.projects = (function() { '
'); var isSSH = false; - if (/^(?:ssh|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?/.test(url)) { + if (/^https?:\/\//) { + $('
'+ + '
').appendTo(message); + } else if (/^(?:ssh|[\d\w\.\-_]+@[\w\.]+):(?:\/\/)?/.test(url)) { isSSH = true; var row = $('
').appendTo(message); $('').appendTo(row); @@ -1535,9 +1538,6 @@ RED.projects = (function() { row = $('
').appendTo(message); $('').appendTo(row); $('').appendTo(row); - } else { - $('
'+ - '
').appendTo(message); } var notification = RED.notify(message,{ @@ -1575,7 +1575,7 @@ RED.projects = (function() { } sendRequest({ - url: "projects/"+activeProject.name+"/remotes/"+(options.remote||'origin'), + url: "projects/"+activeProject.name+"/remotes/"+(xhr.responseJSON.remote||options.remote||'origin'), type: "PUT", responses: { 0: function(error) { diff --git a/red/api/editor/projects/index.js b/red/api/editor/projects/index.js index 608c6caae..c114ed151 100644 --- a/red/api/editor/projects/index.js +++ b/red/api/editor/projects/index.js @@ -438,8 +438,9 @@ module.exports = { res.json(data); }) .catch(function(err) { + console.log(err); if (err.code) { - res.status(400).json({error:err.code, message: err.message}); + res.status(400).json({error:err.code, message: err.message, remote: err.remote}); } else { res.status(400).json({error:"unexpected_error", message:err.toString()}); }