From 54f46a42ceb443528d54dd5734449dfeb5e79df4 Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Wed, 6 Jun 2012 09:18:40 -0500 Subject: DBStats: Save interaction metadata Start saving group and bundle membership for interactions --- src/lib/Bcfg2/Server/Reports/reports/models.py | 48 ++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'src/lib/Bcfg2/Server/Reports/reports') diff --git a/src/lib/Bcfg2/Server/Reports/reports/models.py b/src/lib/Bcfg2/Server/Reports/reports/models.py index 4983bad20..a9374bb7f 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/models.py +++ b/src/lib/Bcfg2/Server/Reports/reports/models.py @@ -345,3 +345,51 @@ class InternalDatabaseVersion(models.Model): class Meta: get_latest_by = "version" + + +class Group(models.Model): + """ + Groups extracted from interactions + + name - The group name + + TODO - Most of this is for future use + TODO - set a default group + """ + + name = models.CharField(max_length=255, unique=True) + profile = models.BooleanField(default=False) + public = models.BooleanField(default=False) + category = models.CharField(max_length=1024, blank=True) + comment = models.TextField(blank=True) + + def __unicode__(self): + return self.name + + +class Bundle(models.Model): + """ + Bundles extracted from interactions + + name - The bundle name + """ + + name = models.CharField(max_length=255, unique=True) + + def __unicode__(self): + return self.name + + +class InteractionMetadata(models.Model): + """ + InteractionMetadata + + Hold extra data associated with the client and interaction + """ + + interaction = models.OneToOneField(Interaction, primary_key=True, related_name='metadata') + profile = models.ForeignKey(Group, related_name="+") + groups = models.ManyToManyField(Group) + bundles = models.ManyToManyField(Bundle) + + -- cgit v1.2.3-1-g7c22