AC-1040 Update jobs models and migrations (work in progress).

This commit is contained in:
Chris Church
2014-03-19 16:37:01 -04:00
parent b631f24e5b
commit 0ee5c07738
14 changed files with 4602 additions and 645 deletions

View File

@@ -1,7 +1,8 @@
# Copyright (c) 2014 AnsibleWorks, Inc.
# All Rights Reserved.
# Django
from django.conf import settings
from django.db import models
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
@@ -9,12 +10,13 @@ from django.utils.translation import ugettext_lazy as _
__all__ = ['ActivityStream']
class ActivityStream(models.Model):
class ActivityStreamBase(models.Model):
'''
Model used to describe activity stream (audit) events
'''
class Meta:
abstract = True
app_label = 'main'
OPERATION_CHOICES = [
@@ -39,15 +41,15 @@ class ActivityStream(models.Model):
inventory = models.ManyToManyField("Inventory", blank=True)
host = models.ManyToManyField("Host", blank=True)
group = models.ManyToManyField("Group", blank=True)
inventory_source = models.ManyToManyField("InventorySource", blank=True)
inventory_update = models.ManyToManyField("InventoryUpdate", blank=True)
#inventory_source = models.ManyToManyField("InventorySource", blank=True)
#inventory_update = models.ManyToManyField("InventoryUpdate", blank=True)
credential = models.ManyToManyField("Credential", blank=True)
team = models.ManyToManyField("Team", blank=True)
project = models.ManyToManyField("Project", blank=True)
project_update = models.ManyToManyField("ProjectUpdate", blank=True)
#project = models.ManyToManyField("Project", blank=True)
#project_update = models.ManyToManyField("ProjectUpdate", blank=True)
permission = models.ManyToManyField("Permission", blank=True)
job_template = models.ManyToManyField("JobTemplate", blank=True)
job = models.ManyToManyField("Job", blank=True)
#job_template = models.ManyToManyField("JobTemplate", blank=True)
#job = models.ManyToManyField("Job", blank=True)
def get_absolute_url(self):
return reverse('api:activity_stream_detail', args=(self.pk,))
@@ -62,3 +64,62 @@ class ActivityStream(models.Model):
raise
kwargs.pop('update_fields')
super(ActivityStream, self).save(*args, **kwargs)
if getattr(settings, 'UNIFIED_JOBS_STEP') == 0:
class ActivityStream(ActivityStreamBase):
class Meta:
app_label = 'main'
inventory_source = models.ManyToManyField("InventorySource", blank=True)
inventory_update = models.ManyToManyField("InventoryUpdate", blank=True)
project = models.ManyToManyField("Project", blank=True)
project_update = models.ManyToManyField("ProjectUpdate", blank=True)
job_template = models.ManyToManyField("JobTemplate", blank=True)
job = models.ManyToManyField("Job", blank=True)
unified_job_template = models.ManyToManyField("UnifiedJobTemplate", blank=True, related_name='activity_stream_as_unified_job_template+')
unified_job = models.ManyToManyField("UnifiedJob", blank=True, related_name='activity_stream_as_unified_job+')
new_inventory_source = models.ManyToManyField("InventorySourceNew", blank=True)
new_inventory_update = models.ManyToManyField("InventoryUpdateNew", blank=True)
new_project = models.ManyToManyField("ProjectNew", blank=True)
new_project_update = models.ManyToManyField("ProjectUpdateNew", blank=True)
new_job_template = models.ManyToManyField("JobTemplateNew", blank=True)
new_job = models.ManyToManyField("JobNew", blank=True)
if getattr(settings, 'UNIFIED_JOBS_STEP') == 1:
class ActivityStream(ActivityStreamBase):
class Meta:
app_label = 'main'
unified_job_template = models.ManyToManyField("UnifiedJobTemplate", blank=True, related_name='activity_stream_as_unified_job_template+')
unified_job = models.ManyToManyField("UnifiedJob", blank=True, related_name='activity_stream_as_unified_job+')
new_inventory_source = models.ManyToManyField("InventorySourceNew", blank=True)
new_inventory_update = models.ManyToManyField("InventoryUpdateNew", blank=True)
new_project = models.ManyToManyField("ProjectNew", blank=True)
new_project_update = models.ManyToManyField("ProjectUpdateNew", blank=True)
new_job_template = models.ManyToManyField("JobTemplateNew", blank=True)
new_job = models.ManyToManyField("JobNew", blank=True)
if getattr(settings, 'UNIFIED_JOBS_STEP') == 2:
class ActivityStream(ActivityStreamBase):
class Meta:
app_label = 'main'
unified_job_template = models.ManyToManyField("UnifiedJobTemplate", blank=True, related_name='activity_stream_as_unified_job_template+')
unified_job = models.ManyToManyField("UnifiedJob", blank=True, related_name='activity_stream_as_unified_job+')
inventory_source = models.ManyToManyField("InventorySource", blank=True)
inventory_update = models.ManyToManyField("InventoryUpdate", blank=True)
project = models.ManyToManyField("Project", blank=True)
project_update = models.ManyToManyField("ProjectUpdate", blank=True)
job_template = models.ManyToManyField("JobTemplate", blank=True)
job = models.ManyToManyField("Job", blank=True)