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.models import Group
|
||||
from django.contrib.auth.models import Group, Permission
|
||||
from environs import Env
|
||||
|
||||
env = Env()
|
||||
|
|
@ -13,6 +13,8 @@ from vbv_lernwelt.core.constants import (
|
|||
)
|
||||
from vbv_lernwelt.core.models import User
|
||||
|
||||
VBV_STAFF_GROUP = "VBV Staff"
|
||||
|
||||
default_users = [
|
||||
{
|
||||
"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.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(
|
||||
email="info@iterativ.ch",
|
||||
first_name="Info",
|
||||
|
|
@ -270,6 +284,11 @@ def create_default_users(user_model=User, group_model=Group, default_password=No
|
|||
last_name="Student2",
|
||||
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):
|
||||
|
|
@ -291,3 +310,35 @@ def _get_or_create_user(user_model, *args, **kwargs):
|
|||
)
|
||||
created = True
|
||||
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)
|
||||
create_or_update_student(dict(row))
|
||||
|
||||
self.assertEqual(CourseSessionUser.objects.count(), 14)
|
||||
self.assertEqual(CourseSessionUser.objects.count(), 15)
|
||||
|
||||
|
||||
class CreateOrUpdateStudentTestCase(TestCase):
|
||||
|
|
|
|||
Loading…
Reference in New Issue