mirror of
https://github.com/Dispatcharr/Dispatcharr.git
synced 2026-01-23 02:35:14 +00:00
Fixed bug in deleting stream profiles
This commit is contained in:
parent
656c9e9e14
commit
c4f470e8f7
3 changed files with 13 additions and 6 deletions
|
|
@ -5,3 +5,7 @@ import os, logging
|
||||||
class CoreConfig(AppConfig):
|
class CoreConfig(AppConfig):
|
||||||
default_auto_field = 'django.db.models.BigAutoField'
|
default_auto_field = 'django.db.models.BigAutoField'
|
||||||
name = 'core'
|
name = 'core'
|
||||||
|
|
||||||
|
def ready(self):
|
||||||
|
# Import signals to ensure they get registered
|
||||||
|
import core.signals
|
||||||
|
|
|
||||||
|
|
@ -58,12 +58,6 @@ class StreamProfile(models.Model):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def delete(self):
|
|
||||||
if self.locked():
|
|
||||||
raise ValueError("This profile is locked and cannot be deleted.")
|
|
||||||
|
|
||||||
self.delete()
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if self.pk: # Only check existing records
|
if self.pk: # Only check existing records
|
||||||
orig = StreamProfile.objects.get(pk=self.pk)
|
orig = StreamProfile.objects.get(pk=self.pk)
|
||||||
|
|
|
||||||
9
core/signals.py
Normal file
9
core/signals.py
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
from django.db.models.signals import pre_delete
|
||||||
|
from django.dispatch import receiver
|
||||||
|
from django.core.exceptions import ValidationError
|
||||||
|
from .models import StreamProfile
|
||||||
|
|
||||||
|
@receiver(pre_delete, sender=StreamProfile)
|
||||||
|
def prevent_deletion_if_locked(sender, instance, **kwargs):
|
||||||
|
if instance.locked:
|
||||||
|
raise ValidationError("This profile is locked and cannot be deleted.")
|
||||||
Loading…
Add table
Add a link
Reference in a new issue