delete orphaned labels when jt or j deleted

This commit is contained in:
Chris Meyers
2016-04-26 17:48:23 -04:00
parent 2f18a9f2c1
commit 1925742da1
6 changed files with 73 additions and 9 deletions

View File

@@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _
# AWX
from awx.main.models.base import CommonModelNameNotUnique
from awx.main.models.unified_jobs import UnifiedJobTemplate, UnifiedJob
__all__ = ('Label', )
@@ -39,13 +40,19 @@ class Label(CommonModelNameNotUnique):
jobtemplate_labels__isnull=True
)
@staticmethod
def is_detached(id):
def is_detached(self):
return bool(
Label.objects.filter(
id=id,
id=self.id,
unifiedjob_labels__isnull=True,
unifiedjobtemplate_labels__isnull=True
).count())
def is_candidate_for_detach(self):
c1 = UnifiedJob.objects.filter(labels__in=[self.id]).count()
c2 = UnifiedJobTemplate.objects.filter(labels__in=[self.id]).count()
if (c1 + c2 - 1) == 0:
return True
else:
return False