Scott Baker | 2c3cb64 | 2014-05-19 17:55:56 -0700 | [diff] [blame] | 1 | import os |
| 2 | from django.db import models |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame^] | 3 | from core.models import PlCoreBase, Controller |
| 4 | from core.models.site import ControllerLinkManager, ControllerLinkDeletionManager |
Scott Baker | 2c3cb64 | 2014-05-19 17:55:56 -0700 | [diff] [blame] | 5 | from django.contrib.contenttypes import generic |
| 6 | |
| 7 | class DashboardView(PlCoreBase): |
| 8 | name = models.CharField(max_length=200, unique=True, help_text="Name of the View") |
| 9 | url = models.CharField(max_length=1024, help_text="URL of Dashboard") |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame^] | 10 | controllers = models.ManyToManyField(Controller, blank=True, related_name="dashboards", through='ControllerDashboard') |
Scott Baker | 2c3cb64 | 2014-05-19 17:55:56 -0700 | [diff] [blame] | 11 | |
| 12 | def __unicode__(self): return u'%s' % (self.name) |
| 13 | |
Scott Baker | eef5a6b | 2014-12-19 16:41:12 -0800 | [diff] [blame^] | 14 | class ControllerDashboard(PlCoreBase): |
| 15 | objects = ControllerLinkManager() |
| 16 | deleted_objects = ControllerLinkDeletionManager() |
| 17 | controller = models.ForeignKey(Controller, related_name='controllerdashboards') |
| 18 | dashboardView = models.ForeignKey(DashboardView, related_name='controllerdashboards') |
| 19 | |
| 20 | url = models.CharField(max_length=1024, help_text="URL of Dashboard") |
| 21 | |
| 22 | |
| 23 | |