Update the create project form to only normalise project names if a format is provided for the project type.

Closes #538
This commit is contained in:
Stéphane HULARD 2014-08-01 11:09:04 +02:00 committed by Dan Cryer
parent eb508baa4f
commit 4511b71448

View file

@ -91,7 +91,7 @@ var PHPCIConfirmDialog = Class.extend({
* @var {bool} Determines whether the dialog has been confirmed * @var {bool} Determines whether the dialog has been confirmed
*/ */
confirmed: false, confirmed: false,
/** /**
* @param {PHPCIConfirmDialogOptions} options * @param {PHPCIConfirmDialogOptions} options
*/ */
@ -241,28 +241,35 @@ function setupProjectForm()
{ {
$('.github-container').hide(); $('.github-container').hide();
$('#element-reference').change(function() $('#element-reference').change(function()
{ {
var el = $(this); var el = $(this);
var val = el.val(); var val = el.val();
var type = $('#element-type').val();
var acceptable = {
'github': {
'ssh': /git\@github\.com\:([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'git': /git\:\/\/github.com\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'http': /https\:\/\/github\.com\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/
},
'bitbucket': {
'ssh': /git\@bitbucket\.org\:([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'http': /https\:\/\/[a-zA-Z0-9_\-]+\@bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'anon': /https\:\/\/bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/
}
var acceptable = { };
'github_ssh': /git\@github\.com\:([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'github_git': /git\:\/\/github.com\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'github_http': /https\:\/\/github\.com\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/,
'bb_ssh': /git\@bitbucket\.org\:([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'bb_http': /https\:\/\/[a-zA-Z0-9_\-]+\@bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)\.git/,
'bb_anon': /https\:\/\/bitbucket.org\/([a-zA-Z0-9_\-]+\/[a-zA-Z0-9_\-]+)(\.git)?/
};
for(var i in acceptable) { if( acceptable[type] !== undefined ) {
if(val.match(acceptable[i])) { for(var i in acceptable[type]) {
el.val(val.replace(acceptable[i], '$1')); if(val.match(acceptable[type][i])) {
} el.val(val.replace(acceptable[type][i], '$1'));
} }
}); }
}
});
$('#element-type').change(function() { $('#element-type').change(function() {
if ($(this).val() == 'github') { if ($(this).val() == 'github') {
$('#loading').show(); $('#loading').show();
@ -272,7 +279,7 @@ function setupProjectForm()
success: function (data) { success: function (data) {
$('#loading').hide(); $('#loading').hide();
if (data.repos) { if (data && data.repos) {
$('#element-github').empty(); $('#element-github').empty();
for (var i in data.repos) { for (var i in data.repos) {
@ -288,32 +295,33 @@ function setupProjectForm()
} else { } else {
$('.github-container').slideUp(); $('.github-container').slideUp();
} }
}); $('#element-reference').trigger('change');
});
$('#element-github').change(function() $('#element-github').change(function()
{ {
var val = $('#element-github').val(); var val = $('#element-github').val();
if(val != 'choose') { if(val != 'choose') {
$('#element-type').val('github'); $('#element-type').val('github');
$('#element-reference').val(val); $('#element-reference').val(val);
$('label[for=element-reference]').hide(); $('label[for=element-reference]').hide();
$('label[for=element-type]').hide(); $('label[for=element-type]').hide();
$('#element-reference').hide(); $('#element-reference').hide();
$('#element-type').hide(); $('#element-type').hide();
$('#element-token').val(window.github_token); $('#element-token').val(window.github_token);
$('#element-title').val(val); $('#element-title').val(val);
} }
else { else {
$('label[for=element-reference]').show(); $('label[for=element-reference]').show();
$('label[for=element-type]').show(); $('label[for=element-type]').show();
$('#element-reference').show(); $('#element-reference').show();
$('#element-type').show(); $('#element-type').show();
$('#element-reference').val(''); $('#element-reference').val('');
$('#element-token').val(''); $('#element-token').val('');
} }
}); });
} }
var PHPCIObject = Class.extend({ var PHPCIObject = Class.extend({