1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-15 07:52:14 +00:00
seahub/templates/snippets/repo_create_js.html
2012-11-15 16:18:37 +08:00

94 lines
3.2 KiB
HTML

{% load i18n %}
//repo-create-form
$('#repo-create')
.click(function() {
$('#repo-create-form').modal({appendTo: '#main', autoResize: true});
})
.hover(
function() {
$(this).css({'background-color': '#fff', 'cursor': 'pointer'});
},
function() {
$(this).css('background-color', '#f5f5f5');
}
);
$('#encrypt-switch').click(function () {
if ($(this).attr('checked')) {
$('#repo-create-form input[type="password"]').attr('disabled', false).removeClass('input-disabled');
} else {
$('#repo-create-form input[type="password"]').attr('disabled', true).addClass('input-disabled');
}
});
$('#repo-create-form').submit(function() {
var passwd = $(this).find('input[name="passwd"]'),
passwd_again = $(this).find('input[name="passwd_again"]');
var form = 'repo-create-form';
if (!$.trim($('#repo-name').val())) {
apply_form_error(form, "{% trans "Name can't be empty" %}");
return false;
}
if (!$.trim($('#repo-desc').val())) {
apply_form_error(form, "{% trans "Description can't be empty" %}");
return false;
}
if ($('#encrypt-switch').attr('checked')) {
if (!$.trim(passwd.val())) {
apply_form_error(form, "{% trans "Please enter password" %}");
return false;
}
if ($.trim(passwd.val()).length < 3) {
apply_form_error(form, "{% trans "Password is too short (minimum is 3 characters)" %}");
return false;
}
if ($.trim(passwd.val()).length > 15) {
apply_form_error(form, "{% trans "Password is too long (maximum is 15 characters)" %}");
return false;
}
if (!$.trim(passwd_again.val())) {
apply_form_error(form, "{% trans "Please enter the password again" %}");
return false;
}
if ($.trim(passwd.val()) != $.trim(passwd_again.val())) {
apply_form_error(form, "{% trans "Passwords don't match" %}");
return false;
}
}
var submit_btn = $(this).find('input[type="submit"]');
disable(submit_btn);
$.ajax({
url: '{{ post_url }}',
type: 'POST',
dataType: 'json',
beforeSend: prepareCSRFToken,
data: {
'repo_name': $('#repo-name').val(),
'repo_desc': $('#repo-desc').val(),
{% if create_shared_repo %}
'permission': $('#repo-create-form select[name="permission"]').val(),
{% endif %}
'encryption': $('#encrypt-switch').attr('checked') ? 1 : 0,
'passwd': passwd.val(),
'passwd_again': passwd_again.val()
},
success: function(data) {
if (data['success']) {
location.reload(true);
} else {
apply_form_error('repo-create-form', data['error']);
enable(submit_btn);
}
},
error: function(data, textStatus, jqXHR) {
var errors = $.parseJSON(data.responseText);
$.each(errors, function(index, value) {
apply_form_error('repo-create-form', value[0]);
});
enable(submit_btn);
}
});
return false;
});