Update participants, add staff group
This commit is contained in:
parent
37fbae8b98
commit
18c21e00e7
|
|
@ -1,5 +1,5 @@
|
||||||
from django.contrib.auth.hashers import make_password
|
from django.contrib.auth.hashers import make_password
|
||||||
from django.contrib.auth.models import Group
|
from django.contrib.auth.models import Group, Permission
|
||||||
from environs import Env
|
from environs import Env
|
||||||
|
|
||||||
env = Env()
|
env = Env()
|
||||||
|
|
@ -13,6 +13,8 @@ from vbv_lernwelt.core.constants import (
|
||||||
)
|
)
|
||||||
from vbv_lernwelt.core.models import User
|
from vbv_lernwelt.core.models import User
|
||||||
|
|
||||||
|
VBV_STAFF_GROUP = "VBV Staff"
|
||||||
|
|
||||||
default_users = [
|
default_users = [
|
||||||
{
|
{
|
||||||
"email": "student",
|
"email": "student",
|
||||||
|
|
@ -109,6 +111,18 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
|
||||||
admin_user.groups.add(admin_group)
|
admin_user.groups.add(admin_group)
|
||||||
admin_user.save()
|
admin_user.save()
|
||||||
|
|
||||||
|
def _create_staff_user(
|
||||||
|
email, first_name, last_name, id=None, password=default_password
|
||||||
|
):
|
||||||
|
staff_user, created = _get_or_create_user(
|
||||||
|
user_model=user_model, username=email, password=password, id=id
|
||||||
|
)
|
||||||
|
staff_user.is_staff = True
|
||||||
|
staff_user.first_name = first_name
|
||||||
|
staff_user.last_name = last_name
|
||||||
|
staff_user.groups.add(_get_or_create_vbv_staff_group())
|
||||||
|
staff_user.save()
|
||||||
|
|
||||||
_create_admin_user(
|
_create_admin_user(
|
||||||
email="info@iterativ.ch",
|
email="info@iterativ.ch",
|
||||||
first_name="Info",
|
first_name="Info",
|
||||||
|
|
@ -270,6 +284,11 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
|
||||||
last_name="Student2",
|
last_name="Student2",
|
||||||
avatar_url="/static/avatars/uk1.lina.egger.jpg",
|
avatar_url="/static/avatars/uk1.lina.egger.jpg",
|
||||||
)
|
)
|
||||||
|
_create_staff_user(
|
||||||
|
email="matthias.wirth@vbv-afa.ch",
|
||||||
|
first_name="Matthias",
|
||||||
|
last_name="Wirth",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _get_or_create_user(user_model, *args, **kwargs):
|
def _get_or_create_user(user_model, *args, **kwargs):
|
||||||
|
|
@ -291,3 +310,35 @@ def _get_or_create_user(user_model, *args, **kwargs):
|
||||||
)
|
)
|
||||||
created = True
|
created = True
|
||||||
return user, created
|
return user, created
|
||||||
|
|
||||||
|
|
||||||
|
def _get_or_create_vbv_staff_group():
|
||||||
|
group, created = Group.objects.get_or_create(name=VBV_STAFF_GROUP)
|
||||||
|
if not created:
|
||||||
|
return group
|
||||||
|
|
||||||
|
permission_codenames = [
|
||||||
|
"add_user",
|
||||||
|
"change_user",
|
||||||
|
"delete_user",
|
||||||
|
"view_user",
|
||||||
|
"add_coursesession",
|
||||||
|
"change_coursesession",
|
||||||
|
"delete_coursesession",
|
||||||
|
"view_coursesession",
|
||||||
|
"add_coursesessionuser",
|
||||||
|
"change_coursesessionuser",
|
||||||
|
"delete_coursesessionuser",
|
||||||
|
"view_coursesessionuser",
|
||||||
|
]
|
||||||
|
|
||||||
|
for codename in permission_codenames:
|
||||||
|
try:
|
||||||
|
permission = Permission.objects.get(codename=codename)
|
||||||
|
except Permission.DoesNotExist:
|
||||||
|
print(f"Permission with codename '{codename}' does not exist.")
|
||||||
|
continue
|
||||||
|
|
||||||
|
group.permissions.add(permission)
|
||||||
|
|
||||||
|
return group
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -31,7 +31,7 @@ class ImportStudentsTestCase(TestCase):
|
||||||
print(row)
|
print(row)
|
||||||
create_or_update_student(dict(row))
|
create_or_update_student(dict(row))
|
||||||
|
|
||||||
self.assertEqual(CourseSessionUser.objects.count(), 14)
|
self.assertEqual(CourseSessionUser.objects.count(), 15)
|
||||||
|
|
||||||
|
|
||||||
class CreateOrUpdateStudentTestCase(TestCase):
|
class CreateOrUpdateStudentTestCase(TestCase):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue