From f338324f9b88249c20d505969e3f64d26d6f988a Mon Sep 17 00:00:00 2001 From: zhengxie Date: Thu, 4 Dec 2014 10:47:22 +0800 Subject: [PATCH] [org] Add org member quota option --- .../sysadmin/sys_org_info_setting.html | 8 ++++- seahub/views/sysadmin.py | 30 ++++++++++++------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/seahub/templates/sysadmin/sys_org_info_setting.html b/seahub/templates/sysadmin/sys_org_info_setting.html index 8bb24dd36f..b138c7e14d 100644 --- a/seahub/templates/sysadmin/sys_org_info_setting.html +++ b/seahub/templates/sysadmin/sys_org_info_setting.html @@ -19,6 +19,8 @@
+ + {% if org_member_quota %}

{% trans "Limit Organization User Number" %}

{% csrf_token %}
@@ -26,6 +28,7 @@

+ {% endif %} {% endblock %} @@ -33,6 +36,8 @@ {% block extra_script %} {% endblock %} diff --git a/seahub/views/sysadmin.py b/seahub/views/sysadmin.py index 1c0f3dbe14..0e5c7e0e68 100644 --- a/seahub/views/sysadmin.py +++ b/seahub/views/sysadmin.py @@ -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