1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-04-28 03:10:45 +00:00

[v2] modification for enc repo create

This commit is contained in:
llj 2013-11-04 17:55:16 +08:00
parent 8aa06146d8
commit 6173bad11b
4 changed files with 12 additions and 47 deletions

View File

@ -54,16 +54,6 @@ class RepoCreateForm(forms.Form):
'max_length': _(u'Description is too long (maximum is 100 characters)')
})
encryption = forms.CharField(max_length=1)
passwd = forms.CharField(min_length=3, max_length=30, required=False,
error_messages={
'min_length': _(u'Password is too short (minimum is 3 characters)'),
'max_length': _(u'Password is too long (maximum is 30 characters)'),
})
passwd_again = forms.CharField(min_length=3, max_length=30, required=False,
error_messages={
'min_length': _(u'Password is too short (minimum is 3 characters)'),
'max_length': _(u'Password is too long (maximum is 30 characters)'),
})
uuid = forms.CharField(required=False)
magic_str = forms.CharField(required=False)
encrypted_file_key = forms.CharField(required=False)
@ -80,19 +70,11 @@ class RepoCreateForm(forms.Form):
if int(encryption) == 0:
return self.cleaned_data
if settings.SERVER_CRYPTO:
passwd = self.cleaned_data['passwd']
passwd_again = self.cleaned_data['passwd_again']
if not (passwd and passwd_again):
raise forms.ValidationError(_("Password is required"))
if passwd != passwd_again:
raise forms.ValidationError(_("Passwords don't match"))
else:
uuid = self.cleaned_data['uuid']
magic_str = self.cleaned_data['magic_str']
encrypted_file_key = self.cleaned_data['encrypted_file_key']
if not (uuid and magic_str and encrypted_file_key):
raise forms.ValidationError(_("Argument missing"))
uuid = self.cleaned_data['uuid']
magic_str = self.cleaned_data['magic_str']
encrypted_file_key = self.cleaned_data['encrypted_file_key']
if not (uuid and magic_str and encrypted_file_key):
raise forms.ValidationError(_("Argument missing"))
return self.cleaned_data

View File

@ -936,10 +936,10 @@ def create_group_repo(request, group_id):
permission = form.cleaned_data['permission']
encryption = int(form.cleaned_data['encryption'])
passwd = form.cleaned_data['passwd']
uuid = form.cleaned_data['uuid']
magic_str = form.cleaned_data['magic_str']
encrypted_file_key = form.cleaned_data['encrypted_file_key']
user = request.user.username
org, base_template = check_and_get_org_by_group(group.id, user)
@ -976,10 +976,7 @@ def create_group_repo(request, group_id):
if not encryption:
repo_id = seafile_api.create_repo(repo_name, repo_desc, user, None)
else:
if SERVER_CRYPTO:
repo_id = seafile_api.create_repo(repo_name, repo_desc, user, passwd)
else:
repo_id = seafile_api.create_enc_repo(uuid, repo_name, repo_desc, user, magic_str, encrypted_file_key, enc_version=2)
repo_id = seafile_api.create_enc_repo(uuid, repo_name, repo_desc, user, magic_str, encrypted_file_key, enc_version=2)
except SearpcError, e:
repo_id = None

View File

@ -63,7 +63,6 @@ $('#repo-create-form').submit(function() {
return false;
}
{% if not server_crypto %}
// gen uu_id as new repo_id
var uu_id = uuid.v4();
@ -71,7 +70,6 @@ $('#repo-create-form').submit(function() {
var fileKey = new FileKey(passwd);
var encrypted_file_key = fileKey.gen_enc();
{% endif %}
}
var submit_btn = $('input[type="submit"]', form);
@ -89,18 +87,11 @@ $('#repo-create-form').submit(function() {
{% endif %}
if (encrypted) {
{% if server_crypto %}
$.extend(post_data, {
'passwd': passwd,
'passwd_again': passwd_again
});
{% else %}
$.extend(post_data, {
'uuid': uu_id,
'magic_str': magic_str,
'encrypted_file_key': encrypted_file_key
});
{% endif %}
}
$.ajax({

View File

@ -1116,20 +1116,17 @@ def public_repo_create(request):
permission = form.cleaned_data['permission']
encryption = int(form.cleaned_data['encryption'])
passwd = form.cleaned_data['passwd']
uuid = form.cleaned_data['uuid']
magic_str = form.cleaned_data['magic_str']
encrypted_file_key = form.cleaned_data['encrypted_file_key']
user = request.user.username
try:
if not encryption:
repo_id = seafile_api.create_repo(repo_name, repo_desc, user, None)
else:
if SERVER_CRYPTO:
repo_id = seafile_api.create_repo(repo_name, repo_desc, user, passwd)
else:
repo_id = seafile_api.create_enc_repo(uuid, repo_name, repo_desc, user, magic_str, encrypted_file_key, enc_version=2)
repo_id = seafile_api.create_enc_repo(uuid, repo_name, repo_desc, user, magic_str, encrypted_file_key, enc_version=2)
# set this repo as inner pub
seafile_api.add_inner_pub_repo(repo_id, permission)
@ -1393,19 +1390,17 @@ def repo_create(request):
repo_desc = form.cleaned_data['repo_desc']
encryption = int(form.cleaned_data['encryption'])
passwd = form.cleaned_data['passwd']
uuid = form.cleaned_data['uuid']
magic_str = form.cleaned_data['magic_str']
encrypted_file_key = form.cleaned_data['encrypted_file_key']
user = request.user.username
try:
if not encryption:
repo_id = seafile_api.create_repo(repo_name, repo_desc, user, None)
else:
if SERVER_CRYPTO:
repo_id = seafile_api.create_repo(repo_name, repo_desc, user, passwd)
else:
repo_id = seafile_api.create_enc_repo(uuid, repo_name, repo_desc, user, magic_str, encrypted_file_key, enc_version=2)
repo_id = seafile_api.create_enc_repo(uuid, repo_name, repo_desc, user, magic_str, encrypted_file_key, enc_version=2)
except SearpcError, e:
repo_id = None