Skip to content
Snippets Groups Projects
Commit 120c0617 authored by Tanner Prestegard's avatar Tanner Prestegard Committed by GraceDB
Browse files

ligoauth: create authgroup for grb managers

Users in this group have permission to "T90", or update certain
parameters of GrbEvents in GraceDB
parent 695d3d25
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.11.23 on 2019-08-09 18:21
from __future__ import unicode_literals
from django.db import migrations
AUTHGROUP_INFO = {
'name': 'grb_managers',
'description': ('LIGO/Virgo members in the GRB subgroup who have '
'permission to update external GRB events in GraceDB'),
}
def create_authgroup(apps, schema_editor):
AuthGroup = apps.get_model('ligoauth', 'AuthGroup')
Permission = apps.get_model('auth', 'Permission')
# Create AuthGroup
ag = AuthGroup.objects.create(**AUTHGROUP_INFO)
# Get permissions for "T90"-ing a grbevent
perm = Permission.objects.get(
content_type__app_label='events',
codename='t90_grbevent'
)
# *IMPORTANT*: clear all current users who have this
# permission. It should only be assigned to groups
# going forward.
perm.user_set.clear()
# Add this permission to the new AuthGroup
ag.permissions.add(perm)
def delete_authgroup(apps, schema_editor):
AuthGroup = apps.get_model('ligoauth', 'AuthGroup')
# Delete AuthGroup
ag = AuthGroup.objects.get(name=AUTHGROUP_INFO['name'])
ag.delete()
class Migration(migrations.Migration):
dependencies = [
('ligoauth', '0049_update_access_managers_membership'),
]
operations = [
migrations.RunPython(create_authgroup, delete_authgroup),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-08-08 18:27
from __future__ import unicode_literals
from django.db import migrations
GROUP_NAME = 'grb_managers'
USERS = [
'robert.coyne@LIGO.ORG',
'ryan.fisher@LIGO.ORG',
'francesco.pannarale@LIGO.ORG',
'jordan.palamos@LIGO.ORG',
'ronaldas.macas@LIGO.ORG',
'andrew.williamson@LIGO.ORG',
'iain.dorrington@LIGO.ORG',
]
def add_users(apps, schema_editor):
AuthGroup = apps.get_model('ligoauth', 'AuthGroup')
User = apps.get_model('auth', 'User')
group = AuthGroup.objects.get(name=GROUP_NAME)
for username in USERS:
user, _ = User.objects.get_or_create(username=username)
group.user_set.add(user)
class Migration(migrations.Migration):
dependencies = [
('ligoauth', '0050_create_grb_managers_authgroup'),
]
operations = [
migrations.RunPython(add_users, migrations.RunPython.noop),
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment