mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 16:31:08 -05:00
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
from django.apps import AppConfig
|
|
from django.db.models.signals import post_migrate
|
|
|
|
|
|
def create_photo_permissions(sender, **kwargs):
|
|
"""Create custom permissions for domain-specific photo models"""
|
|
from django.contrib.auth.models import Permission
|
|
from django.contrib.contenttypes.models import ContentType
|
|
from apps.parks.models import ParkPhoto
|
|
from apps.rides.models import RidePhoto
|
|
|
|
# Create permissions for ParkPhoto
|
|
park_photo_content_type = ContentType.objects.get_for_model(ParkPhoto)
|
|
Permission.objects.get_or_create(
|
|
codename="add_parkphoto",
|
|
name="Can add park photo",
|
|
content_type=park_photo_content_type,
|
|
)
|
|
Permission.objects.get_or_create(
|
|
codename="change_parkphoto",
|
|
name="Can change park photo",
|
|
content_type=park_photo_content_type,
|
|
)
|
|
Permission.objects.get_or_create(
|
|
codename="delete_parkphoto",
|
|
name="Can delete park photo",
|
|
content_type=park_photo_content_type,
|
|
)
|
|
|
|
# Create permissions for RidePhoto
|
|
ride_photo_content_type = ContentType.objects.get_for_model(RidePhoto)
|
|
Permission.objects.get_or_create(
|
|
codename="add_ridephoto",
|
|
name="Can add ride photo",
|
|
content_type=ride_photo_content_type,
|
|
)
|
|
Permission.objects.get_or_create(
|
|
codename="change_ridephoto",
|
|
name="Can change ride photo",
|
|
content_type=ride_photo_content_type,
|
|
)
|
|
Permission.objects.get_or_create(
|
|
codename="delete_ridephoto",
|
|
name="Can delete ride photo",
|
|
content_type=ride_photo_content_type,
|
|
)
|
|
|
|
|
|
class MediaConfig(AppConfig):
|
|
default_auto_field = "django.db.models.BigAutoField"
|
|
name = "apps.media"
|
|
|
|
def ready(self):
|
|
post_migrate.connect(create_photo_permissions, sender=self)
|