From c5c7b0911aa7b82e8bc72ea641eb42e7d130e775 Mon Sep 17 00:00:00 2001
From: Tanner Prestegard <tanner.prestegard@ligo.org>
Date: Mon, 19 Dec 2016 11:51:29 -0600
Subject: [PATCH] migration to give hwinj robot permission to create events

---
 .../migrations/0011_add_O2_hwinj_logger_account.py    | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py b/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py
index 479eb869d..ef9876180 100644
--- a/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py
+++ b/ligoauth/migrations/0011_add_O2_hwinj_logger_account.py
@@ -19,14 +19,23 @@ def create_robot(apps, schema_editor):
     LocalUser = apps.get_model('ligoauth','LocalUser')
     X509Cert = apps.get_model('ligoauth','X509Cert')
     Group = apps.get_model('auth','Group')
+    Permission = apps.get_model('auth','Permission')
+
     lvc_group = Group.objects.get(name=settings.LVC_GROUP)
+    add_event_perm = Permission.objects.get(codename='add_event')
 
     # get or create user
     user, created = LocalUser.objects.get_or_create(username=ROBOT['username'])
     if created:
         for key in ROBOT.keys():
             setattr(user, key, ROBOT[key])
-        user.save()
+
+    # Give user permission to add events
+    if add_event_perm not in user.user_permissions.all():
+        user.user_permissions.add(add_event_perm)
+
+    # Save user
+    user.save()
 
     # Add user to LVC group.
     if not lvc_group in user.groups.all():
-- 
GitLab