Exemplo n.º 1
0
    class OrganizationGroup(models.Model):
        name = models.CharField(_t('name'), max_length=80, unique=False)
        organization = models.ForeignKey(Organization)

        permissions = models.ManyToManyField(
            'HuePermission',
            verbose_name=_t('permissions'),
            blank=True,
        )
        # Could also have a set of Roles at some point.

        objects = OrganizationGroupManager()

        def __init__(self, *args, **kwargs):
            if not kwargs.get('organization'):
                kwargs['organization'] = get_user_request_organization()

            super(OrganizationGroup, self).__init__(*args, **kwargs)

        class Meta:
            verbose_name = _t('organization group')
            verbose_name_plural = _t('organization groups')
            unique_together = (
                'name',
                'organization',
            )

        def __str__(self):
            return '%s @ %s' % (self.name, self.organization)
Exemplo n.º 2
0
class OrganizationUser(AbstractUser):
    """User model in a multi tenant setup."""

    username = None
    email = models.EmailField(_t('Email address'), unique=True)
    token = models.CharField(_t('Token'), max_length=128, default=None, null=True)
    customer_id = models.CharField(_t('Customer id'), max_length=128, default=None, null=True)
    organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
    is_admin = models.BooleanField(default=False)
    # settings are in UserProfile

    groups = models.ManyToManyField(
        OrganizationGroup,
        verbose_name=_t('groups'),
        blank=True,
        help_text=_t(
            'The groups this user belongs to. A user will get all permissions '
            'granted to each of their groups.'
        ),
        related_name="user_set",
        related_query_name="user",
    )

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    objects = UserManager()

    @property
    def username(self):
      return self.email

    @username.setter
    def username(self, value):
      pass
Exemplo n.º 3
0
class FriendsGroup(models.Model):
    name = models.CharField(max_length=255, blank=True, null=True)
    host = models.ForeignKey(User,
                             related_name='hosts',
                             on_delete=models.CASCADE)
    users = models.ManyToManyField(User, null=True, blank=True)

    def __str__(self):
        return self.name
Exemplo n.º 4
0
class OrganizationGroup(models.Model):
  name = models.CharField(_t('name'), max_length=80, unique=False)
  organization = models.ForeignKey(Organization)

  permissions = models.ManyToManyField(
      'HuePermission',
      verbose_name=_t('permissions'),
      blank=True,
  )

  objects = OrganizationGroupManager()

  class Meta:
    verbose_name = _t('organization group')
    verbose_name_plural = _t('organization groups')
    unique_together = ('name', 'organization',)

  def __str__(self):
    return '%s %s' % (self.organization, self.name)