diff --git a/seahub/templates/snippets/space_and_traffic.html b/seahub/templates/snippets/space_and_traffic.html index 297473728d..a739b474ac 100644 --- a/seahub/templates/snippets/space_and_traffic.html +++ b/seahub/templates/snippets/space_and_traffic.html @@ -21,7 +21,7 @@ {% endif %} {% if user.trialing %} -

Trial expires at {{user.trial_expire_date|date:"Y-m-d"}}

+

Trial expires at {{user.trial_info.expire_date|date:"Y-m-d"}}

{% endif %} diff --git a/seahub/templates/sysadmin/sys_org_admin.html b/seahub/templates/sysadmin/sys_org_admin.html index fe4326302d..73b626bb61 100644 --- a/seahub/templates/sysadmin/sys_org_admin.html +++ b/seahub/templates/sysadmin/sys_org_admin.html @@ -39,7 +39,12 @@ {% for org in orgs %} - {{ org.org_name }} + + {{ org.org_name }} + {% if org.trial_info %} +

(Trial  X)

+ {% endif %} + {{ org.url_prefix }} {{ org.creator }} @@ -132,5 +137,11 @@ $('#add-org-form').submit(function() { return false; }); + +addConfirmTo($('.unset-trial'), { + 'title':"{% trans "Remove Trial" %}", + 'con':"{% trans "Are you sure you want to remove trial for %s ?" %}" +}); + {% endblock %} diff --git a/seahub/templates/sysadmin/useradmin_table.html b/seahub/templates/sysadmin/useradmin_table.html index 0610c354e0..886ad1167c 100644 --- a/seahub/templates/sysadmin/useradmin_table.html +++ b/seahub/templates/sysadmin/useradmin_table.html @@ -16,7 +16,7 @@

({{user.org.org_name}})

{% endif %} {% if user.trial_info %} -

(Trial  X)

+

(Trial  X)

{% endif %} diff --git a/seahub/urls.py b/seahub/urls.py index 2ec4a4e457..43c4ff405a 100644 --- a/seahub/urls.py +++ b/seahub/urls.py @@ -199,7 +199,7 @@ urlpatterns = patterns('', url(r'^sys/notificationadmin/', notification_list, name='notification_list'), url(r'^useradmin/add/$', user_add, name="user_add"), url(r'^useradmin/remove/(?P[^/]+)/$', user_remove, name="user_remove"), - url(r'^useradmin/removetrial/(?P[^/]+)/$', user_remove_trial, name="user_remove_trial"), + url(r'^useradmin/removetrial/(?P[^/]+)/$', remove_trial, name="remove_trial"), url(r'^useradmin/search/$', user_search, name="user_search"), url(r'^useradmin/makeadmin/(?P[^/]+)/$', user_make_admin, name='user_make_admin'), url(r'^useradmin/removeadmin/(?P[^/]+)/$', user_remove_admin, name='user_remove_admin'), diff --git a/seahub/views/sysadmin.py b/seahub/views/sysadmin.py index 3531390e98..2792f8cf06 100644 --- a/seahub/views/sysadmin.py +++ b/seahub/views/sysadmin.py @@ -37,10 +37,10 @@ from seahub.settings import INIT_PASSWD, SITE_NAME, \ from seahub.utils import send_html_email, get_user_traffic_list, get_server_id from seahub.utils.sysinfo import get_platform_name try: - from seahub_extra.trialuser.models import TrialUser - enable_trial_user = True + from seahub_extra.trialaccount.models import TrialAccount + enable_trial_account = True except: - enable_trial_user = False + enable_trial_account = False logger = logging.getLogger(__name__) @@ -202,8 +202,8 @@ def sys_user_admin(request): users = users_plus_one[:per_page] last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users]) - if enable_trial_user: - trial_users = TrialUser.objects.filter(username__in=[x.email for x in users]) + if enable_trial_account: + trial_users = TrialAccount.objects.filter(user_or_org__in=[x.email for x in users]) else: trial_users = [] for user in users: @@ -226,7 +226,7 @@ def sys_user_admin(request): user.trial_info = None for trial_user in trial_users: - if trial_user.username == user.email: + if trial_user.user_or_org == user.email: user.trial_info = {'expire_date': trial_user.expire_date} have_ldap = True if len(get_emailusers('LDAP', 0, 1)) > 0 else False @@ -545,8 +545,8 @@ def user_remove(request, user_id): @login_required @sys_staff_required -def user_remove_trial(request, username): - """ +def remove_trial(request, user_or_org): + """Remove trial account. Arguments: - `request`: @@ -554,9 +554,9 @@ def user_remove_trial(request, username): referer = request.META.get('HTTP_REFERER', None) next = reverse('sys_useradmin') if referer is None else referer - TrialUser.objects.filter(username=username).delete() + TrialAccount.objects.filter(user_or_org=user_or_org).delete() - messages.success(request, _('Successfully remove trial for user: %s') % username) + messages.success(request, _('Successfully remove trial for: %s') % user_or_org) return HttpResponseRedirect(next) @login_required @@ -873,10 +873,20 @@ def sys_org_admin(request): orgs_plus_one = ccnet_threaded_rpc.get_all_orgs(per_page * (current_page - 1), per_page + 1) orgs = orgs_plus_one[:per_page] + + if enable_trial_account: + trial_orgs = TrialAccount.objects.filter(user_or_org__in=[x.org_id for x in orgs]) + else: + trial_orgs = [] for org in orgs: org.quota_usage = seafserv_threaded_rpc.get_org_quota_usage(org.org_id) org.total_quota = seafserv_threaded_rpc.get_org_quota(org.org_id) + org.trial_info = None + for trial_org in trial_orgs: + if trial_org.user_or_org == str(org.org_id): + org.trial_info = {'expire_date': trial_org.expire_date} + if len(orgs_plus_one) == per_page + 1: page_next = True else: @@ -1090,8 +1100,8 @@ def user_search(request): users = ccnet_threaded_rpc.search_emailusers(email, -1, -1) last_logins = UserLastLogin.objects.filter(username__in=[x.email for x in users]) - if enable_trial_user: - trial_users = TrialUser.objects.filter(username__in=[x.email for x in users]) + if enable_trial_account: + trial_users = TrialAccount.objects.filter(user_or_org__in=[x.email for x in users]) else: trial_users = [] for user in users: @@ -1111,7 +1121,7 @@ def user_search(request): user.trial_info = None for trial_user in trial_users: - if trial_user.username == user.email: + if trial_user.user_or_org == user.email: user.trial_info = {'expire_date': trial_user.expire_date} return render_to_response('sysadmin/user_search.html', {