1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-21 11:27:18 +00:00

Add trialuser

This commit is contained in:
zhengxie
2015-01-08 16:23:18 +08:00
parent 9139b71e36
commit 8ec8d7d424
5 changed files with 52 additions and 1 deletions

View File

@@ -30,13 +30,17 @@ from seahub.views import get_system_default_repo_id
from seahub.forms import SetUserQuotaForm, AddUserForm, BatchAddUserForm
from seahub.profile.models import Profile, DetailedProfile
from seahub.share.models import FileShare, UploadLinkShare
import seahub.settings as settings
from seahub.settings import INIT_PASSWD, SITE_NAME, \
SEND_EMAIL_ON_ADDING_SYSTEM_MEMBER, SEND_EMAIL_ON_RESETTING_USER_PASSWD, \
ENABLE_GUEST
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
except:
enable_trial_user = False
logger = logging.getLogger(__name__)
@@ -198,6 +202,10 @@ 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])
else:
trial_users = []
for user in users:
if user.props.id == request.user.id:
user.is_self = True
@@ -209,12 +217,18 @@ def sys_user_admin(request):
user.is_guest = True
else:
user.is_guest = False
# populate user last login time
user.last_login = None
for last_login in last_logins:
if last_login.username == user.email:
user.last_login = last_login.last_login
user.trial_info = None
for trial_user in trial_users:
if trial_user.username == user.email:
user.trial_info = {'expire_date': trial_user.expire_date}
have_ldap = True if len(get_emailusers('LDAP', 0, 1)) > 0 else False
platform = get_platform_name()
@@ -529,6 +543,22 @@ def user_remove(request, user_id):
return HttpResponseRedirect(next)
@login_required
@sys_staff_required
def user_remove_trial(request, username):
"""
Arguments:
- `request`:
"""
referer = request.META.get('HTTP_REFERER', None)
next = reverse('sys_useradmin') if referer is None else referer
TrialUser.objects.filter(username=username).delete()
messages.success(request, _('Successfully remove trial for user: %s') % username)
return HttpResponseRedirect(next)
@login_required
@sys_staff_required
def user_make_admin(request, user_id):
@@ -1060,6 +1090,10 @@ 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])
else:
trial_users = []
for user in users:
_populate_user_quota_usage(user)
@@ -1075,6 +1109,11 @@ def user_search(request):
if last_login.username == user.email:
user.last_login = last_login.last_login
user.trial_info = None
for trial_user in trial_users:
if trial_user.username == user.email:
user.trial_info = {'expire_date': trial_user.expire_date}
return render_to_response('sysadmin/user_search.html', {
'users': users,
'email': email,