Added a ResourceMixin to be added to any model that is a "Resource"

Also added initial permissions checking and accessible object methods to
the mixin
This commit is contained in:
Akita Noek
2016-01-29 13:18:32 -05:00
parent 6dad0406b8
commit 5b50ebb8da
6 changed files with 155 additions and 35 deletions

View File

@@ -21,8 +21,9 @@ from awx.lib.compat import slugify
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.models.mixins import ResourceMixin
from awx.main.utils import update_scm_url
from awx.main.fields import ImplicitResourceField, ImplicitRoleField
from awx.main.fields import ImplicitRoleField
__all__ = ['Project', 'ProjectUpdate']
@@ -186,7 +187,7 @@ class ProjectOptions(models.Model):
return sorted(results, key=lambda x: smart_str(x).lower())
class Project(UnifiedJobTemplate, ProjectOptions):
class Project(UnifiedJobTemplate, ProjectOptions, ResourceMixin):
'''
A project represents a playbook git repo that can access a set of inventories
'''
@@ -214,7 +215,6 @@ class Project(UnifiedJobTemplate, ProjectOptions):
default=0,
blank=True,
)
resource = ImplicitResourceField()
admin_role = ImplicitRoleField(
role_name='Project Administrator',
parent_role='organization.admin_role',