diff --git a/seahub/forms.py b/seahub/forms.py index 89775acf92..115a04229a 100644 --- a/seahub/forms.py +++ b/seahub/forms.py @@ -150,7 +150,6 @@ class SetUserQuotaForm(forms.Form): """ Form for setting user quota. """ - email = forms.CharField(error_messages={'required': _('Email is required')}) space_quota = forms.IntegerField(min_value=0, error_messages={'required': _('Space quota can\'t be empty'), 'min_value': _('Space quota is too low (minimum value is 0)')}) diff --git a/seahub/templates/sysadmin/useradmin_js.html b/seahub/templates/sysadmin/useradmin_js.html index 7015e02ba5..be46fe71d1 100644 --- a/seahub/templates/sysadmin/useradmin_js.html +++ b/seahub/templates/sysadmin/useradmin_js.html @@ -80,6 +80,53 @@ $('.user-status-select, .user-role-select').change(function() { } }); }); + +{% if user.source == "DB" %} +// edit quota +$('.quota-edit-icon').click(function() { + var email = $(this).closest('tr').attr('data-userid'); + $('#set-quota-form').data('email', email).modal(); + $('#simplemodal-container').css({'width':'auto', 'height':'auto'}); +}); + +$('#set-quota-form').submit(function() { + var space_quota = $.trim($('[name="space_quota"]', $(this)).val()); + var $error = $('.error', $(this)); + if (!space_quota) { + $error.html("{% trans "It is required." %}").show(); + return false; + } + + var $submitBtn = $('[type="submit"]', $(this)); + disable($submitBtn); + + var email = $(this).data('email'); + $.ajax({ + url: '{{ SITE_ROOT }}useradmin/' + encodeURIComponent(email) + '/set_quota/', + type: 'POST', + dataType: 'json', + cache: false, + beforeSend: prepareCSRFToken, + data: {'space_quota': space_quota}, + success: function() { + location.reload(true); + }, + error: function(xhr, textStatus, errorThrown) { + var err_msg; + if (xhr.responseText) { + err_msg = $.parseJSON(xhr.responseText).error; + } else { + err_msg = "{% trans "Failed. Please check the network." %}"; + } + $error.html(err_msg).show(); + enable($submitBtn); + } + }); + + return false; +}); +{% endif %} + // select shows, but the user doesn't select a value, or doesn't change the permission, click other place to hide the select $(document).click(function(e) { var target = e.target || event.srcElement; diff --git a/seahub/templates/sysadmin/useradmin_table.html b/seahub/templates/sysadmin/useradmin_table.html index 8a4fcae400..ab5c5ce82a 100644 --- a/seahub/templates/sysadmin/useradmin_table.html +++ b/seahub/templates/sysadmin/useradmin_table.html @@ -9,7 +9,7 @@
{{ user.space_usage|seahub_filesizeformat }} {% if user.space_quota > 0 %} / {{ user.space_quota|seahub_filesizeformat }} {% endif %}
+ {{ user.space_usage|seahub_filesizeformat }} / + {% if user.space_quota > 0 %} + {{ user.space_quota|seahub_filesizeformat }} + {% else %} + -- + {% endif %} + {% if user.source == "DB" %} + + {% endif %}