Scott Baker | 2c3cb64 | 2014-05-19 17:55:56 -0700 | [diff] [blame] | 1 | import os |
| 2 | from django.db import models |
Scott Baker | ecc55ac | 2015-02-17 13:34:32 -0800 | [diff] [blame] | 3 | from core.models import PlCoreBase, Controller, Deployment |
Tony Mack | d84b1ff | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 4 | from core.models.plcorebase import StrippedCharField |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame] | 5 | from core.models.site import ControllerLinkManager, ControllerLinkDeletionManager |
Scott Baker | 2c3cb64 | 2014-05-19 17:55:56 -0700 | [diff] [blame] | 6 | from django.contrib.contenttypes import generic |
| 7 | |
| 8 | class DashboardView(PlCoreBase): |
Tony Mack | d84b1ff | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 9 | name = StrippedCharField(max_length=200, unique=True, help_text="Name of the View") |
| 10 | url = StrippedCharField(max_length=1024, help_text="URL of Dashboard") |
Scott Baker | 75930d8 | 2014-12-22 17:43:25 -0800 | [diff] [blame] | 11 | controllers = models.ManyToManyField(Controller, blank=True, related_name="dashboardviews", through='ControllerDashboardView') |
Scott Baker | b8f3cab | 2015-01-18 16:33:30 -0800 | [diff] [blame] | 12 | enabled = models.BooleanField(default=True) |
Scott Baker | ecc55ac | 2015-02-17 13:34:32 -0800 | [diff] [blame] | 13 | deployments = models.ManyToManyField(Deployment, blank=True, null=True, related_name="dashboardviews", help_text="Deployments that should be included in this view") |
Scott Baker | 2c3cb64 | 2014-05-19 17:55:56 -0700 | [diff] [blame] | 14 | |
| 15 | def __unicode__(self): return u'%s' % (self.name) |
| 16 | |
Scott Baker | a6a0c77 | 2014-12-22 17:35:34 -0800 | [diff] [blame] | 17 | class ControllerDashboardView(PlCoreBase): |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame] | 18 | objects = ControllerLinkManager() |
| 19 | deleted_objects = ControllerLinkDeletionManager() |
Scott Baker | f0f5073 | 2014-12-23 09:39:06 -0800 | [diff] [blame] | 20 | controller = models.ForeignKey(Controller, related_name='controllerdashboardviews') |
| 21 | dashboardView = models.ForeignKey(DashboardView, related_name='controllerdashboardviews') |
Scott Baker | b8f3cab | 2015-01-18 16:33:30 -0800 | [diff] [blame] | 22 | enabled = models.BooleanField(default=True) |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame] | 23 | |
Tony Mack | d84b1ff | 2015-03-09 13:03:56 -0400 | [diff] [blame] | 24 | url = StrippedCharField(max_length=1024, help_text="URL of Dashboard") |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame] | 25 | |
| 26 | |
| 27 | |