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 %}
-
- {{ 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', {
|