add ability to disable dashboards
[plstackapi.git] / planetstack / core / models / dashboard.py
1 import os
2 from django.db import models
3 from core.models import PlCoreBase, Controller
4 from core.models.site import ControllerLinkManager, ControllerLinkDeletionManager
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")
10     controllers = models.ManyToManyField(Controller, blank=True, related_name="dashboardviews", through='ControllerDashboardView')
11     enabled = models.BooleanField(default=True)
12
13     def __unicode__(self):  return u'%s' % (self.name)
14
15 class ControllerDashboardView(PlCoreBase):
16     objects = ControllerLinkManager()
17     deleted_objects = ControllerLinkDeletionManager()
18     controller = models.ForeignKey(Controller, related_name='controllerdashboardviews')
19     dashboardView = models.ForeignKey(DashboardView, related_name='controllerdashboardviews')
20     enabled = models.BooleanField(default=True)
21
22     url = models.CharField(max_length=1024, help_text="URL of Dashboard")
23
24
25