change superuser to user with all perms

This commit is contained in:
2023-08-01 23:17:06 +00:00
parent 7abc6f1d0d
commit 59c546a035
9 changed files with 61 additions and 5 deletions

View File

@@ -1,5 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
class BlackboardConfig(AppConfig): class BlackboardConfig(AppConfig):
name = "blackboard" name = "blackboard"
def ready(self):
post_migrate.connect(create_perms, sender=self)

View File

@@ -2,6 +2,8 @@ from django.apps import AppConfig
from django.conf import settings from django.conf import settings
from django.db.models.signals import post_migrate from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
def update_default_site(sender, **kwargs): def update_default_site(sender, **kwargs):
from django.contrib.sites.models import Site from django.contrib.sites.models import Site
@@ -17,3 +19,4 @@ class CoreConfig(AppConfig):
def ready(self): def ready(self):
post_migrate.connect(update_default_site, sender=self) post_migrate.connect(update_default_site, sender=self)
post_migrate.connect(create_perms, sender=self)

View File

@@ -12,6 +12,10 @@ class FETHeaderMiddleware(RemoteUserMiddleware):
super().process_request(request) super().process_request(request)
if request.user.is_authenticated: if request.user.is_authenticated:
request.user.is_admin = True from django.contrib.auth.models import Group
request.user.is_superuser = True
groups = Group.objects.all()
[request.user.groups.add(group.pk) for group in groups]
# request.user.is_superuser = True
request.user.is_staff = True request.user.is_staff = True

View File

@@ -1,12 +1,13 @@
# util functions for all apps # util functions for all apps
import uuid import uuid
from django.contrib.admin.models import ADDITION, CHANGE, LogEntry
from django.contrib.admin.utils import construct_change_message from django.contrib.admin.utils import construct_change_message
from django.contrib.contenttypes.models import ContentType
def add_log_action(request, form, app_label, model, add=True): def add_log_action(request, form, app_label, model, add=True):
from django.contrib.admin.models import ADDITION, CHANGE, LogEntry
from django.contrib.contenttypes.models import ContentType
obj = form.save() obj = form.save()
content_type = ContentType.objects.get(app_label=app_label, model=model) content_type = ContentType.objects.get(app_label=app_label, model=model)
change_message = construct_change_message(form, None, add) change_message = construct_change_message(form, None, add)
@@ -26,5 +27,17 @@ def add_log_action(request, form, app_label, model, add=True):
) )
def create_perms(sender, **kwargs):
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
group, created = Group.objects.get_or_create(name=sender.label)
content_types = ContentType.objects.filter(app_label=sender.label)
for content_type in content_types:
permissions = Permission.objects.filter(content_type=content_type)
[group.permissions.add(permission) for permission in permissions]
def create_random_id(): def create_random_id():
return str(uuid.uuid4())[:8] return str(uuid.uuid4())[:8]

View File

@@ -1,5 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
class GalleryConfig(AppConfig): class GalleryConfig(AppConfig):
name = "gallery" name = "gallery"
def ready(self):
post_migrate.connect(create_perms, sender=self)

View File

@@ -1,5 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
class InternConfig(AppConfig): class InternConfig(AppConfig):
name = "intern" name = "intern"
def ready(self):
post_migrate.connect(create_perms, sender=self)

View File

@@ -1,5 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig, apps
from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
class MembersConfig(AppConfig): class MembersConfig(AppConfig):
name = "members" name = "members"
def ready(self):
post_migrate.connect(create_perms, sender=self)

View File

@@ -1,5 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
class PostsConfig(AppConfig): class PostsConfig(AppConfig):
name = "posts" name = "posts"
def ready(self):
post_migrate.connect(create_perms, sender=self)

View File

@@ -1,5 +1,11 @@
from django.apps import AppConfig from django.apps import AppConfig
from django.db.models.signals import post_migrate
from fet2020.utils import create_perms
class TasksConfig(AppConfig): class TasksConfig(AppConfig):
name = "tasks" name = "tasks"
def ready(self):
post_migrate.connect(create_perms, sender=self)