Initial implicit role / resource field additions into models

"Completes" #731 until we find out what I missed
This commit is contained in:
Akita Noek
2016-01-28 16:58:19 -05:00
parent 68d8299689
commit 6dad0406b8
7 changed files with 213 additions and 17 deletions

View File

@@ -22,6 +22,7 @@ from awx.main.models.base import * # noqa
from awx.main.models.jobs import Job
from awx.main.models.unified_jobs import * # noqa
from awx.main.utils import update_scm_url
from awx.main.fields import ImplicitResourceField, ImplicitRoleField
__all__ = ['Project', 'ProjectUpdate']
@@ -194,6 +195,14 @@ class Project(UnifiedJobTemplate, ProjectOptions):
app_label = 'main'
ordering = ('id',)
organization = models.ForeignKey(
'Organization',
blank=False,
null=True,
on_delete=models.SET_NULL,
related_name='project_list', # TODO: this should eventually be refactored
# back to 'projects' - anoek 2016-01-28
)
scm_delete_on_next_update = models.BooleanField(
default=False,
editable=False,
@@ -205,6 +214,31 @@ class Project(UnifiedJobTemplate, ProjectOptions):
default=0,
blank=True,
)
resource = ImplicitResourceField()
admin_role = ImplicitRoleField(
role_name='Project Administrator',
parent_role='organization.admin_role',
resource_field='resource',
permissions = { 'all': True }
)
auditor_role = ImplicitRoleField(
role_name='Project Auditor',
parent_role='organization.auditor_role',
resource_field='resource',
permissions = { 'read': True }
)
member_role = ImplicitRoleField(
role_name='Project Member',
parent_role='admin',
resource_field='resource',
permissions = { 'usage': True }
)
scm_update_role = ImplicitRoleField(
role_name='Project Updater',
parent_role='admin',
resource_field='resource',
permissions = { 'scm_update': True }
)
@classmethod
def _get_unified_job_class(cls):