1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-15 05:33:38 +00:00

[org] Add org member quota option

This commit is contained in:
zhengxie 2014-12-04 10:47:22 +08:00
parent 07414cbb1c
commit f338324f9b
2 changed files with 26 additions and 12 deletions

View File

@ -19,6 +19,8 @@
<input type="text" name="new_name" class="input" value="{{ org.org_name }}"/></br>
<input type="submit" value="{% trans "Submit" %}" class="submit" />
</form>
{% if org_member_quota %}
<h3>{% trans "Limit Organization User Number" %}</h3>
<form id="org_member_quota" action="" method="post" class="form">{% csrf_token %}
<label>{% trans "Max User Number" %}</label></br>
@ -26,6 +28,7 @@
<p class="error hide"></p>
<input type="submit" value="{% trans "Submit" %}" class="submit" />
</form>
{% endif %}
</div>
{% endblock %}
@ -33,6 +36,8 @@
{% block extra_script %}
<script type="text/javascript">
{% include 'sysadmin/sys_org_set_quota_js.html' %}
{% if org_member_quota %}
$('#org_member_quota').submit(function() {
var form = $(this),
form_id = form.attr('id'),
@ -47,7 +52,7 @@ $('#org_member_quota').submit(function() {
apply_form_error(form_id, "{% trans "Input should be a number" %}");
return false;
} else if (member_quota <= 0) {
apply_form_error(form_id, "{% trans "Input number should be greater than 1" %}");
apply_form_error(form_id, "{% trans "Input number should be greater than 0" %}");
return false;
}
@ -69,5 +74,6 @@ $('#org_member_quota').submit(function() {
});
return false;
});
{% endif %}
</script>
{% endblock %}

View File

@ -36,7 +36,7 @@ from seahub.settings import INIT_PASSWD, SITE_NAME, \
ENABLE_GUEST
from seahub.utils import send_html_email, get_user_traffic_list, get_server_id
from seahub.utils.sysinfo import get_platform_name
from seahub_extra.organizations.models import OrgMemberQuota
logger = logging.getLogger(__name__)
@login_required
@ -886,18 +886,20 @@ def sys_org_set_member_quota(request, org_id):
try:
member_quota = int(request.POST.get('member_quota', '0'))
if member_quota > 0:
OrgMemberQuota.objects.set_quota(org_id, member_quota)
messages.success(request, _(u'Success'))
return HttpResponse(json.dumps({'success': True}), status=200,
content_type=content_type)
else:
return HttpResponse(json.dumps({ 'error': _('Input number should be greater than 1')}),
status=400, content_type=content_type)
except ValueError:
return HttpResponse(json.dumps({ 'error': _('Input should be a number')}),
status=400, content_type=content_type)
if member_quota > 0:
from seahub_extra.organizations.models import OrgMemberQuota
OrgMemberQuota.objects.set_quota(org_id, member_quota)
messages.success(request, _(u'Success'))
return HttpResponse(json.dumps({'success': True}), status=200,
content_type=content_type)
else:
return HttpResponse(json.dumps({ 'error': _('Input number should be greater than 0')}),
status=400, content_type=content_type)
def sys_get_org_base_info(org_id):
org = ccnet_threaded_rpc.get_org_by_id(org_id)
@ -994,10 +996,16 @@ def sys_org_info_setting(request, org_id):
org_id = int(org_id)
org_basic_info = sys_get_org_base_info(org_id)
org_basic_info['org_member_quota'] = OrgMemberQuota.objects.get_quota(org_id)
if getattr(settings, 'ORG_MEMBER_QUOTA_ENABLED', False):
from seahub_extra.organizations.models import OrgMemberQuota
org_basic_info['org_member_quota'] = OrgMemberQuota.objects.get_quota(org_id)
else:
org_basic_info['org_member_quota'] = None
return render_to_response('sysadmin/sys_org_info_setting.html',
org_basic_info, context_instance=RequestContext(request))
org_basic_info,
context_instance=RequestContext(request))
@login_required
@sys_staff_required