diff --git a/awx/main/fields.py b/awx/main/fields.py index 7785cf1f72..27cd08d2af 100644 --- a/awx/main/fields.py +++ b/awx/main/fields.py @@ -126,7 +126,8 @@ class ImplicitRoleDescriptor(ReverseSingleRelatedObjectDescriptor): if self.permissions is not None: permissions = RolePermission( role=role, - resource=instance + resource=instance, + auto_generated=True ) if 'all' in self.permissions and self.permissions['all']: diff --git a/awx/main/migrations/0006_v300_rbac_changes.py b/awx/main/migrations/0006_v300_rbac_changes.py index d9313fe8aa..968135feba 100644 --- a/awx/main/migrations/0006_v300_rbac_changes.py +++ b/awx/main/migrations/0006_v300_rbac_changes.py @@ -63,6 +63,7 @@ class Migration(migrations.Migration): ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('created', models.DateTimeField(default=None, editable=False)), ('modified', models.DateTimeField(default=None, editable=False)), + ('auto_generated', models.BooleanField(default=False)), ('object_id', models.PositiveIntegerField(default=None)), ('create', models.IntegerField(default=0)), ('read', models.IntegerField(default=0)), diff --git a/awx/main/models/rbac.py b/awx/main/models/rbac.py index 0475a4b166..21207bbc27 100644 --- a/awx/main/models/rbac.py +++ b/awx/main/models/rbac.py @@ -160,6 +160,7 @@ class RolePermission(CreatedModifiedModel): content_type = models.ForeignKey(ContentType, null=False, default=None) object_id = models.PositiveIntegerField(null=False, default=None) resource = GenericForeignKey('content_type', 'object_id') + auto_generated = models.BooleanField(default=False) create = models.IntegerField(default = 0) read = models.IntegerField(default = 0) diff --git a/awx/main/signals.py b/awx/main/signals.py index ddfc792f2a..a8eefe2839 100644 --- a/awx/main/signals.py +++ b/awx/main/signals.py @@ -133,6 +133,7 @@ def create_user_role(instance, **kwargs): RolePermission.objects.create( role = role, resource = instance, + auto_generated = True, create=1, read=1, write=1, delete=1, update=1, execute=1, scm_update=1, use=1, )