コード例 #1
0
    class Organization(models.Model):
        """
    Organizations handle contained sets of setups (user, group, connectors...).

    An external user create an account and gets attached to its single user organization and becomes its admin. The organization can
    be later converted to a multi user organization (if the domain name is owned by the first user).

    An organization admin is not a Hue admin. The later is the true super user and has access to the server logs and metrics.
    """
        name = models.CharField(max_length=200,
                                help_text=_t("The name of the organization"),
                                unique=True)
        uuid = models.CharField(default=uuid_default,
                                max_length=36,
                                unique=True)
        domain = models.CharField(
            max_length=200,
            help_text=_t(
                "The domain name of the organization, e.g. gethue.com"),
            unique=True)
        customer_id = models.CharField(_t('Customer id'),
                                       max_length=128,
                                       default=None,
                                       null=True)
        is_active = models.BooleanField(default=True)
        is_multi_user = models.BooleanField(default=True)

        objects = OrganizationManager()

        def __str__(self):
            return self.name or self.domain

        def natural_key(self):
            return (self.name, )
コード例 #2
0
ファイル: models2.py プロジェクト: xuejunshuang/hue
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
コード例 #3
0
ファイル: models2.py プロジェクト: xuejunshuang/hue
class Organization(models.Model):
  name = models.CharField(max_length=200, help_text=_t("The name of the organization"))
  uuid = models.CharField(default=uuid_default, max_length=36, db_index=True)
  domain = models.CharField(max_length=200, help_text=_t("The domain name of the organization, e.g. gethue.com"))
  is_active = models.BooleanField(default=True)

  objects = OrganizationManager()

  def __str__(self):
    return self.name
コード例 #4
0
class Profile(models.Model):
    user = models.OneToOneField(User, related_name='profile')
    location = models.CharField(max_length=20, blank=True, null=True)
    contact = models.CharField(max_length=12, blank=True, null=True)
    picture = models.ImageField(upload_to='profile-pictures/',
                                blank=True,
                                null=True)

    def __str__(self):
        return '%s' % (self.user)
コード例 #5
0
class Person(models.Model):
    first_name = models.CharField(max_length=100)
    second_name = models.CharField(max_length=100, null=True, blank=True)
    last_name = models.CharField(max_length=100)
    second_last_name = models.CharField(max_length=100, null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True, null=True)
    updated_at = models.DateTimeField(auto_now=True, null=True)

    class Meta:
        default_permissions = ()
        db_table = "users_person"
        verbose_name = 'Persona'
        verbose_name_plural = 'Personas'
コード例 #6
0
ファイル: models.py プロジェクト: Parkyes90/pystagram
class Image(TimeStampedModel):
    file = models.ImageField()
    location = models.CharField(max_length=140)
    caption = models.TextField()
    creator = models.ForeignKey(
        user_model.User,
        on_delete=models.CASCADE,
        null=True,
        related_name='images'
    )
    tags = TaggableManager()

    @property
    def like_count(self):
        return self.likes.all().count()

    @property
    def comment_count(self):
        return self.comments.all().count()

    @property
    def natural_time(self):
        return naturaltime(self.created_at)

    def __str__(self):
        return "{location} - {caption}".format(
            location=self.location, caption=self.caption
        )

    class Meta:
        ordering = ['-created_at']
コード例 #7
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)
コード例 #8
0
ファイル: models.py プロジェクト: swadhikar/django
class Post(models.Model):
    title = models.CharField(max_length=100, default='sample title')
    content = models.TextField()
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    date_posted = models.DateTimeField(default=datetime.now)

    def __str__(self):
        return self.title
コード例 #9
0
ファイル: models.py プロジェクト: vicmalkovich/SOE
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
コード例 #10
0
class UserAddress(AnonymizerModel):
    street = models.TextField(max_length=128, null=True, blank=True)
    city = models.CharField(max_length=64, null=True, blank=True)

    class AnonymizerMeta:
        anonymizer_fields = ['street']

    def __str__(self):
        return f'<UserAddress PK:{self.pk} | Street: {self.street} | City: {self.city}>'
コード例 #11
0
class Category(models.Model):
    title = models.CharField(max_length=100, blank=True, default='')

    class Meta:
        verbose_name_plural = "categories"
        ordering = ('title',)

    def __str__(self):
        return self.title
コード例 #12
0
class Professor(AbstractBaseUser):
    nome = models.CharField(max_length=120)
    ra = models.IntegerField(unique=True)
    password = models.TextField()
    status = models.BooleanField(default=True)
    email = models.CharField(max_length=80, blank=True, null=True)
    perfil = models.CharField(max_length=1, blank=True, default='P')
    celular = models.CharField(max_length=11, blank=True, null=True)

    USERNAME_FIELD = 'ra'
    REQUIRED_FIELDS = ['nome', 'email']

    def __str__(self):
        return self.nome + '(' + str(self.ra) + ')'

    class Meta:
        managed = False
        db_table = 'professor'
コード例 #13
0
class Organization(models.Model):
    name = models.CharField(max_length=200,
                            help_text=_t("The name of the organization"),
                            unique=True)
    uuid = models.CharField(default=uuid_default, max_length=36, unique=True)
    domain = models.CharField(
        max_length=200,
        help_text=_t("The domain name of the organization, e.g. gethue.com"),
        unique=True)
    customer_id = models.CharField(_t('Customer id'),
                                   max_length=128,
                                   default=None,
                                   null=True)
    is_active = models.BooleanField(default=True)
    is_multi_user = models.BooleanField(default=True)

    objects = OrganizationManager()

    def __str__(self):
        return self.name
コード例 #14
0
ファイル: forms.py プロジェクト: sakalbd/Online-Voting
 class Meta:
     model = User
     nid = models.CharField(unique=True)
     fields = [
         'username',
         'email',
         'nid',
         'phone',
         'password1',
         'password2',
     ]
コード例 #15
0
class Usuario(AbstractBaseUser):
    ra = models.IntegerField('RA', unique=True)
    nome = models.CharField(max_length=120)
    email = models.CharField(max_length=80)
    password = models.TextField()
    status = models.BooleanField('Status', default=True)
    perfil = models.CharField('Perfil', max_length=1, default='C')

    # criando qual o campo de identificação do 'USUARIO'
    USERNAME_FIELD = 'ra'

    #colocando com campo de inserção obrigatorio no 'BANCO'
    REQUIRED_FIELDS = [
        'nome',
        'email',
    ]

    objects = UsuarioManager()

    # criando a função de apresentação do 'USUARIO'
    def __str__(self):
        return self.nome

    # criando as funcoes de como ira mostra o nome do 'USUARIO' nos Templates

    #  Funções 'OBRIGATORIAS pelo DJANGO
    def get_full_name(self):
        return self.nome

    def get_short_name(self):
        return self.nome

    def has_perm(self, perm, obj=None):
        return True

    def has_module_perms(self, app_label):
        return True

    @property
    def is_staff(self):
        return self.perfil == 'C'
コード例 #16
0
class Customer(models.Model):
    first_name = models.CharField(max_length=32)
    last_name = models.CharField(max_length=32)
    email = models.EmailField(null=True, blank=True)
    phone = models.CharField(max_length=32, null=True, blank=True)
    profile_key = models.CharField(max_length=32, null=True, blank=True)
    address = models.CharField(max_length=32, null=True, blank=True)
    rewards_points = models.IntegerField(null=True, blank=True)
    account_number = models.CharField(max_length=64, blank=True)
    notes = models.TextField(null=True, blank=True)
    archived = models.BooleanField(default=False)
    created = models.DateTimeField(editable=False)
    city = models.CharField(verbose_name=_('City'),
                            max_length=58,
                            null=True,
                            blank=True)
    state = models.CharField(verbose_name=_('State'),
                             max_length=2,
                             choices=STATE_CHOICES,
                             null=True,
                             blank=True)
    zipcode = models.CharField(verbose_name=_('Zip code'),
                               max_length=8,
                               null=True,
                               blank=True)
    group = models.ForeignKey(CustomerGroup,
                              blank=True,
                              null=True,
                              related_name='taskin_group')

    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)

    def save(self, *args, **kwargs):
        """
        On save, update timestamps
        """
        if not self.id:
            self.created = datetime.today()
        return super(Customer, self).save(*args, **kwargs)

    def get_full_name(self):
        return self.first_name + ' ' + self.last_name
コード例 #17
0
class Article(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    title = models.CharField(max_length=100, blank=False, default='')
    content = models.TextField()

    category_id = models.ForeignKey(Category, related_name='article_cat', on_delete=models.CASCADE)
    created_by_user_id = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='created_by_user_id',
                                           on_delete=models.SET_NULL, blank=True, null=True)

    class Meta:
        ordering = ('-updated_at', )

    def __str__(self):
        return self.title
コード例 #18
0
class Doctor(
        CreatedDateMixin,
        UpdatedDateMixin,
        models.Model,
):
    GENDER_CHOICES = (
        (1, "Male"),
        (2, "Female"),
    )

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    surname = models.CharField(max_length=50)
    gender = models.PositiveSmallIntegerField(choices=GENDER_CHOICES)

    def __str__(self):
        return f'Doctor(id={self.id}, surname={self.surname}, email={self.user.email})'
コード例 #19
0
class Patient(models.Model):
    GENDER_CHOICES = (
        (1, "Male"),
        (2, "Female"),
    )

    user = models.OneToOneField(User, on_delete=models.CASCADE)
    surname = models.CharField(max_length=50)
    age = models.PositiveIntegerField(
        validators=[MinValueValidator(0), MaxValueValidator(100)]
    )
    gender = models.PositiveSmallIntegerField(choices=GENDER_CHOICES)
    number_of_teeth = models.PositiveIntegerField(
        validators=[MinValueValidator(0), MaxValueValidator(32)]
    )
    number_of_surgeries = models.PositiveIntegerField()

    def __str__(self):
        return f'Patient(id={self.id}, email={self.email})'
コード例 #20
0
ファイル: models2.py プロジェクト: xuejunshuang/hue
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)
コード例 #21
0
class PersonalInformation(models.Model):
    user = models.OneToOneField(User,
                                related_name='personal_information',
                                on_delete=models.CASCADE)
    place_birth = models.CharField(max_length=255, null=True, blank=True)
    birth_date = models.DateField(null=True, blank=True)
    has_children = models.BooleanField(null=True, blank=True, default=None)
    number_of_children = models.IntegerField(null=True,
                                             blank=True,
                                             default=None)
    gender = models.ForeignKey(Gender,
                               related_name='gender',
                               null=True,
                               blank=True,
                               on_delete=models.CASCADE)
    marital_status = models.ForeignKey(MaritalStatus, on_delete=models.CASCADE)
    marital_status_description = models.TextField(null=True, blank=True)
    height = models.FloatField(null=True, blank=True)
    weight = models.FloatField(null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True, null=True)
    updated_at = models.DateTimeField(auto_now=True, null=True)
コード例 #22
0
class Supplier(models.Model):
    supplier = models.CharField(verbose_name=_('Supplier Name'), max_length=32)
    default_markup = models.PositiveIntegerField(
        verbose_name=_('Default Markup'), default=0, max_length=255)
    description = models.TextField(blank=True, verbose_name=_('Description'))
    company = models.CharField(verbose_name=_('Company'), max_length=32)
    first_name = models.CharField(verbose_name=_('First Name'), max_length=32)
    last_name = models.CharField(verbose_name=_('Last Name'), max_length=32)
    archived = models.BooleanField(default=False)
    created = models.DateTimeField(editable=False)
    phone = models.CharField(verbose_name=_('Phone'),
                             max_length=60,
                             null=True,
                             blank=True)
    mobile = models.CharField(verbose_name=_('Mobile Phone'),
                              max_length=60,
                              null=True,
                              blank=True)
    fax = models.CharField(verbose_name=_('Fax'),
                           max_length=60,
                           null=True,
                           blank=True)
    email = models.EmailField(unique=True,
                              verbose_name=_('Email'),
                              null=False,
                              blank=False)
    website = models.URLField(verbose_name=_('Website'), null=True, blank=True)
    street = models.CharField(verbose_name=_('Street'),
                              max_length=32,
                              null=True,
                              blank=True)
    suburb = models.CharField(verbose_name=_('Suburb'),
                              max_length=32,
                              null=True,
                              blank=True)
    city = models.CharField(verbose_name=_('City'),
                            max_length=32,
                            null=True,
                            blank=True)
    postcode = models.CharField(verbose_name=_('Post Code'),
                                max_length=8,
                                null=True,
                                blank=True)
    state = models.CharField(verbose_name=_('State'),
                             max_length=2,
                             choices=STATE_CHOICES,
                             null=True,
                             blank=True)
    country = CountryField(blank_label='(select a country)')

    def __unicode__(self):
        return u'%s %s' % (self.first_name, self.last_name)

    def save(self, *args, **kwargs):
        """
        On save, update timestamps
        """
        if not self.id:
            self.created = datetime.today()
        return super(Supplier, self).save(*args, **kwargs)
コード例 #23
0
class Employee(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(unique=True,
                              verbose_name=_('Email'),
                              null=False,
                              blank=False)
    photo = models.ImageField(upload_to='employee_photo/',
                              verbose_name=_('P'),
                              blank=True,
                              default='employee_photo/def.jpg')
    name = models.CharField(verbose_name=_('Name'), max_length=32)
    address = models.CharField(verbose_name=_('Address'),
                               max_length=32,
                               null=True,
                               blank=True)
    address2 = models.CharField(verbose_name=_("Address2"),
                                null=True,
                                blank=True,
                                max_length=32)
    city = models.CharField(verbose_name=_('City'),
                            max_length=32,
                            null=True,
                            blank=True)
    state = models.CharField(verbose_name=_('State'),
                             max_length=2,
                             choices=STATE_CHOICES,
                             null=True,
                             blank=True)
    zipcode = models.CharField(verbose_name=_('Zip code'),
                               max_length=8,
                               null=True,
                               blank=True)
    phone = models.CharField(verbose_name=_('Phone'),
                             max_length=60,
                             null=True,
                             blank=True)
    pin = models.IntegerField(verbose_name=_('Pin'), unique=True, null=True)
    role = models.IntegerField(verbose_name=_('Role'), choices=ROLES)
    vein_string = models.TextField(blank=True, verbose_name=_('Vein String'))
    hourly_rate = models.DecimalField(blank=True,
                                      null=True,
                                      verbose_name=_('Hourly Rate'),
                                      decimal_places=2,
                                      max_digits=5)
    archived = models.BooleanField(default=False)
    store = models.ForeignKey(Store,
                              verbose_name='Store',
                              blank=True,
                              null=True)

    USERNAME_FIELD = 'email'

    is_staff = models.BooleanField(default=False)
    is_active = models.BooleanField(default=False)
    created = models.DateTimeField(editable=False)

    objects = EmployeeManager()

    def __unicode__(self):
        return u"%s" % self.name

    def get_full_name(self):
        return self.name

    def get_short_name(self):
        return self.name

    def check_is_owner(self):
        return self.role == ROLES[0][0]

    def return_id(self):
        return self.id

    def save(self, *args, **kwargs):
        ''' On save, update timestamps '''
        if self.photo:
            try:
                self.photo = resize_image(self.photo,
                                          newsize=EMPLOYEE_PHOTO_SIZE)
            except:
                logger.exception("Error resizing image for product %s" %
                                 self.pk)
                pass
        if not self.id:
            self.created = datetime.today()
        return super(Employee, self).save(*args, **kwargs)
コード例 #24
0
ファイル: models.py プロジェクト: vicmalkovich/SOE
class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    sms = models.CharField(max_length=100)
コード例 #25
0
ファイル: models2.py プロジェクト: Scharfsinnig/hue
class Organization(models.Model):
    name = models.CharField(max_length=200,
                            help_text=_t("The name of the organization"))
    is_active = models.BooleanField(default=True)

    objects = OrganizationManager()
コード例 #26
0
ファイル: support.py プロジェクト: DFilyushin/lighthouse
from django.contrib.auth.models import Group, models

Group.add_to_class(
    'description',
    models.CharField(max_length=180,
                     null=True,
                     blank=True,
                     verbose_name='Описание'))