Fix imports, __all__ definition, organization/team sublists under projects.

This commit is contained in:
Chris Church
2013-07-20 19:59:53 -04:00
parent a6c767907e
commit 6fda31e790
8 changed files with 36 additions and 34 deletions

View File

@@ -18,6 +18,29 @@ from awx.main.licenses import LicenseReader
__all__ = ['get_user_queryset', 'check_user_access'] __all__ = ['get_user_queryset', 'check_user_access']
PERMISSION_TYPES = [
PERM_INVENTORY_ADMIN,
PERM_INVENTORY_READ,
PERM_INVENTORY_WRITE,
PERM_INVENTORY_DEPLOY,
PERM_INVENTORY_CHECK,
]
PERMISSION_TYPES_ALLOWING_INVENTORY_READ = [
PERM_INVENTORY_ADMIN,
PERM_INVENTORY_WRITE,
PERM_INVENTORY_READ,
]
PERMISSION_TYPES_ALLOWING_INVENTORY_WRITE = [
PERM_INVENTORY_ADMIN,
PERM_INVENTORY_WRITE,
]
PERMISSION_TYPES_ALLOWING_INVENTORY_ADMIN = [
PERM_INVENTORY_ADMIN,
]
logger = logging.getLogger('awx.main.access') logger = logging.getLogger('awx.main.access')
access_registry = { access_registry = {

View File

@@ -33,9 +33,11 @@ from djcelery.models import TaskMeta
# Django-REST-Framework # Django-REST-Framework
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
__all__ = ['Organization', 'Team', 'Project', 'Credential', 'Inventory', __all__ = ['PrimordialModel', 'Organization', 'Team', 'Project', 'Credential',
'Host', 'Group', 'Permission', 'JobTemplate', 'Job', 'Inventory', 'Host', 'Group', 'Permission', 'JobTemplate', 'Job',
'JobHostSummary', 'JobEvent'] 'JobHostSummary', 'JobEvent', 'PERM_INVENTORY_ADMIN',
'PERM_INVENTORY_READ', 'PERM_INVENTORY_WRITE',
'PERM_INVENTORY_DEPLOY', 'PERM_INVENTORY_CHECK']
# TODO: reporting model TBD # TODO: reporting model TBD
@@ -50,29 +52,6 @@ JOB_TYPE_CHOICES = [
(PERM_INVENTORY_CHECK, _('Check')), (PERM_INVENTORY_CHECK, _('Check')),
] ]
PERMISSION_TYPES = [
PERM_INVENTORY_ADMIN,
PERM_INVENTORY_READ,
PERM_INVENTORY_WRITE,
PERM_INVENTORY_DEPLOY,
PERM_INVENTORY_CHECK,
]
PERMISSION_TYPES_ALLOWING_INVENTORY_READ = [
PERM_INVENTORY_ADMIN,
PERM_INVENTORY_WRITE,
PERM_INVENTORY_READ,
]
PERMISSION_TYPES_ALLOWING_INVENTORY_WRITE = [
PERM_INVENTORY_ADMIN,
PERM_INVENTORY_WRITE,
]
PERMISSION_TYPES_ALLOWING_INVENTORY_ADMIN = [
PERM_INVENTORY_ADMIN,
]
# FIXME: TODO: make sure all of these are used and consistent # FIXME: TODO: make sure all of these are used and consistent
PERMISSION_TYPE_CHOICES = [ PERMISSION_TYPE_CHOICES = [
(PERM_INVENTORY_READ, _('Read Inventory')), (PERM_INVENTORY_READ, _('Read Inventory')),

View File

@@ -10,6 +10,7 @@ import tempfile
# Django # Django
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User
from django.core.management import call_command from django.core.management import call_command
from django.core.management.base import CommandError from django.core.management.base import CommandError
from django.utils.timezone import now from django.utils.timezone import now

View File

@@ -4,7 +4,7 @@
import datetime import datetime
import json import json
from django.contrib.auth.models import User as DjangoUser from django.contrib.auth.models import User
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from awx.main.models import * from awx.main.models import *
from awx.main.tests.base import BaseTest from awx.main.tests.base import BaseTest

View File

@@ -10,6 +10,7 @@ import uuid
# Django # Django
from django.contrib.auth.models import User as DjangoUser from django.contrib.auth.models import User as DjangoUser
from django.conf import settings
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db import transaction from django.db import transaction
import django.test import django.test

View File

@@ -7,7 +7,7 @@ import os
import tempfile import tempfile
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User as DjangoUser from django.contrib.auth.models import User
import django.test import django.test
from django.test.client import Client from django.test.client import Client
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
@@ -254,10 +254,8 @@ class ProjectsTest(BaseTest):
got = self.get(proj_orgs, expect=200, auth=self.get_super_credentials()) got = self.get(proj_orgs, expect=200, auth=self.get_super_credentials())
self.assertEquals(got['count'], 1) self.assertEquals(got['count'], 1)
self.assertEquals(got['results'][0]['url'], reverse('main:organization_detail', args=(self.organizations[0].pk,))) self.assertEquals(got['results'][0]['url'], reverse('main:organization_detail', args=(self.organizations[0].pk,)))
# you can't add organizations to projects here, verify that this is true (405)
#self.post(proj_orgs, data={}, expect=405, auth=self.get_super_credentials())
# yes you can post now. # post to create new org associated with this project.
self.post(proj_orgs, data={'name': 'New Org'}, expect=201, auth=self.get_super_credentials()) self.post(proj_orgs, data={'name': 'New Org'}, expect=201, auth=self.get_super_credentials())
got = self.get(proj_orgs, expect=200, auth=self.get_super_credentials()) got = self.get(proj_orgs, expect=200, auth=self.get_super_credentials())
self.assertEquals(got['count'], 2) self.assertEquals(got['count'], 2)

View File

@@ -3,7 +3,7 @@
import json import json
from django.contrib.auth.models import User as DjangoUser from django.contrib.auth.models import User
import django.test import django.test
from django.test.client import Client from django.test.client import Client
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse

View File

@@ -287,7 +287,7 @@ class ProjectDetailPlaybooks(RetrieveAPIView):
model = Project model = Project
serializer_class = ProjectPlaybooksSerializer serializer_class = ProjectPlaybooksSerializer
class ProjectOrganizationsList(SubListAPIView): class ProjectOrganizationsList(SubListCreateAPIView):
model = Organization model = Organization
serializer_class = OrganizationSerializer serializer_class = OrganizationSerializer
@@ -302,7 +302,7 @@ class ProjectOrganizationsList(SubListAPIView):
raise PermissionDenied() raise PermissionDenied()
return Organization.objects.filter(projects__in = [ project ]) return Organization.objects.filter(projects__in = [ project ])
class ProjectTeamsList(BaseSubList): class ProjectTeamsList(SubListCreateAPIView):
model = Team model = Team
serializer_class = TeamSerializer serializer_class = TeamSerializer