Add check for username in import user
This commit is contained in:
parent
32fbdb4530
commit
7e4784ea0e
1 changed files with 10 additions and 3 deletions
|
@ -1,5 +1,6 @@
|
||||||
import csv
|
import csv
|
||||||
from tempfile import mktemp
|
from tempfile import mktemp
|
||||||
|
import re
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
@ -41,6 +42,11 @@ def csv_to_dict(csv_file):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def is_valid_username(username):
|
||||||
|
match = re.match(r"\w+", username)
|
||||||
|
return match is not None and match.group() == username
|
||||||
|
|
||||||
|
|
||||||
# return result log
|
# return result log
|
||||||
def import_users(users):
|
def import_users(users):
|
||||||
log = ""
|
log = ""
|
||||||
|
@ -48,17 +54,18 @@ def import_users(users):
|
||||||
cur_log = str(i + 1) + ". "
|
cur_log = str(i + 1) + ". "
|
||||||
|
|
||||||
username = row["username"]
|
username = row["username"]
|
||||||
|
if not is_valid_username(username):
|
||||||
|
log += username + ": Invalid username\n"
|
||||||
|
continue
|
||||||
|
|
||||||
cur_log += username + ": "
|
cur_log += username + ": "
|
||||||
|
|
||||||
pwd = row["password"]
|
pwd = row["password"]
|
||||||
|
|
||||||
user, created = User.objects.get_or_create(
|
user, created = User.objects.get_or_create(
|
||||||
username=username,
|
username=username,
|
||||||
defaults={
|
defaults={
|
||||||
"is_active": True,
|
"is_active": True,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
profile, _ = Profile.objects.get_or_create(
|
profile, _ = Profile.objects.get_or_create(
|
||||||
user=user,
|
user=user,
|
||||||
defaults={
|
defaults={
|
||||||
|
|
Loading…
Add table
Reference in a new issue