from django.db import models
from django.db.models import F, Q
from core.models import PlCoreBase,Site, DashboardView, DiffModelMixIn
-from core.models.site import Deployment
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
from timezones.fields import TimeZoneField
from operator import itemgetter, attrgetter
user.save(using=self._db)
return user
+ def get_queryset(self):
+ parent=super(UserManager, self)
+ if hasattr(parent, "get_queryset"):
+ return parent.get_queryset().filter(deleted=False)
+ else:
+ return parent.get_query_set().filter(deleted=False)
+
+ # deprecated in django 1.7 in favor of get_queryset().
+ def get_query_set(self):
+ return self.get_queryset()
+
class DeletedUserManager(UserManager):
def get_queryset(self):
return super(UserManager, self).get_query_set().filter(deleted=True)
def delete(self, *args, **kwds):
# so we have something to give the observer
purge = kwds.get('purge',False)
+ if purge:
+ del kwds['purge']
try:
purge = purge or observer_disabled
except NameError:
def get_dashboards(self):
DEFAULT_DASHBOARDS=["Tenant"]
- dashboards = sorted(list(self.dashboardViews.all()), key=attrgetter('order'))
+ dashboards = sorted(list(self.userdashboardviews.all()), key=attrgetter('order'))
dashboards = [x.dashboardView for x in dashboards]
if not dashboards:
self.delete(*args, **kwds)
class UserDashboardView(PlCoreBase):
- user = models.ForeignKey(User, related_name="dashboardViews")
- dashboardView = models.ForeignKey(DashboardView, related_name="dashboardViews")
+ user = models.ForeignKey(User, related_name='userdashboardviews')
+ dashboardView = models.ForeignKey(DashboardView, related_name='userdashboardviews')
order = models.IntegerField(default=0)