summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Reports/reports
diff options
context:
space:
mode:
authorTim Laszlo <tim.laszlo@gmail.com>2012-06-06 09:18:40 -0500
committerTim Laszlo <tim.laszlo@gmail.com>2012-06-06 14:35:28 -0500
commit54f46a42ceb443528d54dd5734449dfeb5e79df4 (patch)
tree308a6d99333cde9d8fa199111de19f43488430c4 /src/lib/Bcfg2/Server/Reports/reports
parent6a968b1468fff08e0aeebae04dd7cf0888a4014e (diff)
downloadbcfg2-54f46a42ceb443528d54dd5734449dfeb5e79df4.tar.gz
bcfg2-54f46a42ceb443528d54dd5734449dfeb5e79df4.tar.bz2
bcfg2-54f46a42ceb443528d54dd5734449dfeb5e79df4.zip
DBStats: Save interaction metadata
Start saving group and bundle membership for interactions
Diffstat (limited to 'src/lib/Bcfg2/Server/Reports/reports')
-rw-r--r--src/lib/Bcfg2/Server/Reports/reports/models.py48
1 files changed, 48 insertions, 0 deletions
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)
+
+