update migrations; management command that creates default group with default perms; add new users to default group
This commit is contained in:
parent
369bbf042c
commit
020393c48b
|
@ -0,0 +1,10 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
class CoreConfig(AppConfig):
|
||||
name = 'core'
|
||||
|
||||
def ready(self):
|
||||
from django.contrib.auth.models import User
|
||||
from django.db.models.signals import post_save
|
||||
from portier.common import handlers
|
||||
post_save.connect(handlers.add_to_default_group, sender=User)
|
|
@ -0,0 +1,24 @@
|
|||
from django.core.management.base import BaseCommand
|
||||
from django.contrib.auth.models import Group
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.conf import settings
|
||||
|
||||
PERMISSIONS = [
|
||||
'add_stream',
|
||||
'add_restreamconfig'
|
||||
]
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = 'Creates default user group with default permissions available to all users'
|
||||
|
||||
def handle(self, *args, **options):
|
||||
default_group, _ = Group.objects.get_or_create(name=settings.DEFAULT_GROUP)
|
||||
for permission in PERMISSIONS:
|
||||
try:
|
||||
perm = Permission.objects.get(codename=permission)
|
||||
except Permission.DoesNotExist:
|
||||
print("permission '%s' does not exist" % permission)
|
||||
continue
|
||||
|
||||
default_group.permissions.add(perm)
|
|
@ -2,6 +2,15 @@ from django.contrib.contenttypes.models import ContentType
|
|||
from django.db.models import Q
|
||||
from guardian.models import UserObjectPermission
|
||||
from guardian.models import GroupObjectPermission
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
def add_to_default_group(sender, **kwargs):
|
||||
user = kwargs["instance"]
|
||||
if kwargs["created"]:
|
||||
group = Group.objects.get(name=settings.DEFAULT_GROUP)
|
||||
user.groups.add(group)
|
||||
|
||||
|
||||
def remove_obj_perms_connected_with_user(sender, instance, **kwargs):
|
||||
|
|
|
@ -27,6 +27,8 @@ DEBUG = int(os.environ.get("DEBUG", default=0))
|
|||
ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS", default="*").split(" ")
|
||||
|
||||
|
||||
DEFAULT_GROUP = 'default'
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = [
|
||||
|
@ -40,6 +42,7 @@ INSTALLED_APPS = [
|
|||
'django_registration',
|
||||
'bootstrap4',
|
||||
'fa',
|
||||
'core.apps.CoreConfig',
|
||||
'portal.apps.PortalConfig',
|
||||
'rtmp.apps.RtmpConfig',
|
||||
'concierge.apps.ConciergeConfig',
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
# Generated by Django 3.0.5 on 2020-05-01 13:02
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rtmp', '0004_auto_20200501_1302'),
|
||||
('restream', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='restreamconfig',
|
||||
options={'verbose_name': 'restreamconfig_verbose_name', 'verbose_name_plural': 'restreamconfig_verbose_name_plural'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='restreamconfig',
|
||||
name='active',
|
||||
field=models.BooleanField(help_text='restreamconfig_activate_help'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='restreamconfig',
|
||||
name='name',
|
||||
field=models.CharField(help_text='restreamconfig_name_help', max_length=100),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='restreamconfig',
|
||||
name='stream',
|
||||
field=models.ForeignKey(help_text='restreamconfig_stream_help', on_delete=django.db.models.deletion.CASCADE, to='rtmp.Stream'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='restreamconfig',
|
||||
name='target',
|
||||
field=models.CharField(help_text='restreamconfig_target_help', max_length=500),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,34 @@
|
|||
# Generated by Django 3.0.5 on 2020-05-01 13:02
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import uuid
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rtmp', '0003_auto_20200426_1834'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='application',
|
||||
options={'verbose_name': 'application_verbose_name', 'verbose_name_plural': 'application_verbose_name_plural'},
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='stream',
|
||||
name='application',
|
||||
field=models.ForeignKey(help_text='stream_application_help', on_delete=django.db.models.deletion.CASCADE, to='rtmp.Application'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='stream',
|
||||
name='name',
|
||||
field=models.CharField(help_text='stream_name_help', max_length=100),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='stream',
|
||||
name='stream',
|
||||
field=models.UUIDField(default=uuid.uuid4, help_text='stream_stream_help', unique=True),
|
||||
),
|
||||
]
|
Loading…
Reference in New Issue