Exemplo n.º 1
0
class Preferences(models.Model):
    singleton = SingletonManager()

    class Meta:
        abstract = True

    def __unicode__(self):
        return self._meta.verbose_name_plural.capitalize()
Exemplo n.º 2
0
def preferences_class_prepared(sender, *args, **kwargs):
    cls = sender

    if issubclass(cls, Preferences):
        # add singleton manager to subclasses
        cls.add_to_class('singleton', SingletonManager())
        # add property for preferences object to preferences.preferences
        setattr(preferences.Preferences, cls._meta.object_name,
                property(lambda x: cls.singleton.get()))
Exemplo n.º 3
0
def preferences_class_prepared(sender, *args, **kwargs):
    """
    Adds various preferences members to preferences.preferences,
    thus enabling easy access from code.
    """
    cls = sender
    if issubclass(cls, Preferences):
        # Add singleton manager to subclasses.
        cls.add_to_class('singleton', SingletonManager())
        # Add property for preferences object to preferences.preferences.
        setattr(preferences.Preferences, cls._meta.object_name, property(lambda x: cls.singleton.get()))
Exemplo n.º 4
0
class Preferences(models.Model):
    singleton = SingletonManager()
    sites = models.ManyToManyField('sites.Site', null=True, blank=True)

    def __unicode__(self):
        """
        Include site names.
        """
        site_names = [site.name for site in self.sites.all()]
        prefix = self._meta.verbose_name_plural.capitalize()

        if len(site_names) > 1:
            return '%s for sites %s and %s.' % (prefix, ', '.\
                    join(site_names[:-1]), site_names[-1])
        elif len(site_names) == 1:
            return '%s for site %s.' % (prefix, site_names[0])
        return '%s without assigned site.' % prefix
Exemplo n.º 5
0
class Preferences(models.Model):
    singleton = SingletonManager()