mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-21 03:18:23 +00:00
@@ -54,6 +54,7 @@ from seahub.views.ajax import (get_related_users_by_org_repo,
|
||||
get_related_users_by_repo)
|
||||
from seahub.forms import SetUserQuotaForm, AddUserForm, BatchAddUserForm, \
|
||||
TermsAndConditionsForm
|
||||
from seahub.profile.forms import ProfileForm, DetailedProfileForm
|
||||
from seahub.options.models import UserOptions
|
||||
from seahub.profile.models import Profile, DetailedProfile
|
||||
from seahub.signals import repo_deleted
|
||||
@@ -645,7 +646,6 @@ def user_set_quota(request, email):
|
||||
|
||||
f = SetUserQuotaForm(request.POST)
|
||||
if f.is_valid():
|
||||
email = f.cleaned_data['email']
|
||||
space_quota_mb = f.cleaned_data['space_quota']
|
||||
space_quota = space_quota_mb * get_file_size_unit('MB')
|
||||
|
||||
@@ -980,6 +980,8 @@ def user_add(request):
|
||||
form = AddUserForm(post_values)
|
||||
if form.is_valid():
|
||||
email = form.cleaned_data['email']
|
||||
name = form.cleaned_data['name']
|
||||
department = form.cleaned_data['department']
|
||||
role = form.cleaned_data['role']
|
||||
password = form.cleaned_data['password1']
|
||||
|
||||
@@ -995,6 +997,10 @@ def user_add(request):
|
||||
User.objects.update_role(email, role)
|
||||
if config.FORCE_PASSWORD_CHANGE:
|
||||
UserOptions.objects.set_force_passwd_change(email)
|
||||
if name:
|
||||
Profile.objects.add_or_update(email, name, '')
|
||||
if department:
|
||||
DetailedProfile.objects.add_or_update(email, department, '')
|
||||
|
||||
if request.user.org:
|
||||
org_id = request.user.org.org_id
|
||||
@@ -1834,12 +1840,31 @@ def batch_add_user(request):
|
||||
username = row[0].strip()
|
||||
password = row[1].strip()
|
||||
|
||||
# nickname & department are optional
|
||||
try:
|
||||
nickname = row[2].strip()
|
||||
except IndexError:
|
||||
nickname = ''
|
||||
|
||||
try:
|
||||
department = row[3].strip()
|
||||
except IndexError:
|
||||
department = ''
|
||||
|
||||
if not is_valid_username(username):
|
||||
continue
|
||||
|
||||
if password == '':
|
||||
continue
|
||||
|
||||
if nickname:
|
||||
if len(nickname) > 64 or '/' in nickname:
|
||||
continue
|
||||
|
||||
if department:
|
||||
if len(department) > 512:
|
||||
continue
|
||||
|
||||
try:
|
||||
User.objects.get(email=username)
|
||||
continue
|
||||
@@ -1847,6 +1872,11 @@ def batch_add_user(request):
|
||||
User.objects.create_user(username, password, is_staff=False,
|
||||
is_active=True)
|
||||
|
||||
if nickname:
|
||||
Profile.objects.add_or_update(username, nickname, '')
|
||||
if department:
|
||||
DetailedProfile.objects.add_or_update(username, department, '')
|
||||
|
||||
send_html_email_with_dj_template(
|
||||
username, dj_template='sysadmin/user_batch_add_email.html',
|
||||
subject=_(u'You are invited to join %s') % SITE_NAME,
|
||||
|
Reference in New Issue
Block a user