Beispiel #1
0
class Event(models.Model):
    # reits = models.IntegerField(_('Рейтинг'),max_length=1)
    title = models.CharField(_('Название'), max_length=100)
    # slug = AutoSlugField(populate_from='title', unique_with='date_start__month')
    type = models.CharField(_('Какое мероприятие'),
                            max_length=100,
                            choices=EVENT_TYPE,
                            default='hak')
    date_start = models.DateTimeField(_('Дата начала'))
    date_end = models.DateTimeField(_('Дата окончания'))
    img = StdImageField(_("Аватар"),
                        upload_to=avatar_path,
                        variations={
                            'thumb': (150, 150, True),
                            'small': (50, 50, True)
                        },
                        validators=[MaxSizeValidator(1028, 768)],
                        null=True)
    city = models.CharField(_('Город'),
                            max_length=100,
                            choices=CITIES,
                            default='msk')
    specialty = models.ManyToManyField(Specialty,
                                       verbose_name=_('Специальность'))
    about = models.TextField(_('Описание'), max_length=2000)
    facebook = models.CharField(max_length=100, blank=True)
    instagram = models.CharField(max_length=100, blank=True)
    twitter = models.CharField(max_length=100, blank=True)
    vk = models.CharField(max_length=100, blank=True)
    create_by = models.ForeignKey(ItUser,
                                  verbose_name=_('Создатель'),
                                  related_name='my_events')
    members = models.ManyToManyField(ItUser,
                                     verbose_name=_('Участники'),
                                     blank=True,
                                     related_name='events')

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = 'Event'
        verbose_name_plural = 'Events'

    def get_small_img_url(self):
        try:
            return self.img.small.url
        except AttributeError:
            return default_avatars.DEFAULT_EVENT_AVATAR_SMALL

    def get_thumb_img_url(self):
        try:
            return self.img.thumb.url
        except AttributeError:
            return default_avatars.DEFAULT_EVENT_AVATAR_THUMB
Beispiel #2
0
class Items(models.Model):
    title = models.CharField(max_length=255,
                             verbose_name=_('Item Title'),
                             null=False)
    description = models.CharField(max_length=3000,
                                   verbose_name=_('Item Description'),
                                   blank=True,
                                   null=True)
    photo = StdImageField(blank=True,
                          verbose_name=_('Item Photo'),
                          null=True,
                          upload_to=get_file_path,
                          variations={
                              'large': (600, 400),
                              'thumbnail': {
                                  "width": 100,
                                  "height": 100,
                                  "crop": True
                              }
                          })

    user_ref = models.ForeignKey(User,
                                 on_delete=models.CASCADE,
                                 verbose_name=_('user'),
                                 related_name="problems_user_ref")
    condominium_ref = models.ForeignKey(Condominium,
                                        verbose_name=_('Condominium'),
                                        related_name="problems_condominium",
                                        on_delete=models.CASCADE)
    create = models.DateTimeField(auto_now_add=True, verbose_name=_('create'))
    last_update = models.DateTimeField(auto_now_add=True,
                                       verbose_name=_('last_update'))
    public = models.BooleanField(
        verbose_name=_('Public'),
        default=True,
        help_text=_(
            'Allows to view problem for users from other condominiums'))

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = _("Item")
        verbose_name_plural = _("Items")

    @property
    def status(self):
        return Statuses.objects.all().filter(item_ref_id=self.id).status

    @property
    def days_left(self):
        return (self.create +
                datetime.timedelta(days=self.condominium_ref.problem_days) -
                datetime.datetime.now()).days
Beispiel #3
0
class User(AbstractUser):
    objects = AccountUserManager()
    stripe_id = models.CharField(max_length=40, default='')
    subscription_end = models.DateTimeField(default=timezone.now)
    public_name = models.CharField(max_length=20)
    location = models.CharField(max_length=20, blank=True, null=True)
    profile_image = StdImageField(upload_to="images/user_profiles",
                                  variations={
                                      'small': {'width': 96, 'height': 96, "crop": True}
                                  },
                                  blank=True, null=True)
Beispiel #4
0
class Servico(models.Model):
    nome = models.CharField(max_length=20)
    exemplos = models.CharField(max_length=100)
    imagem = StdImageField(null=True,
                           blank=True,
                           upload_to=UploadToUUID(path='servicos/'),
                           variations={'normal': (1900, 550, True)})
    descricao = models.TextField()

    def __str__(self):
        return self.nome
Beispiel #5
0
class Diet(models.Model):
    name = models.CharField(max_length=32)
    description = models.TextField()
    picture = StdImageField(upload_to='media/images/diet', blank=True, null=True)

    ingredients = models.ManyToManyField('Ingredient')
    ingredients_family = models.ManyToManyField('IngredientFamily')
    active = False

    def __str__(self):
        return self.name
Beispiel #6
0
class Curso(Base):
    nome = models.CharField('CURSO', max_length=100)
    preco = models.DecimalField('PREÇO', max_digits=8, decimal_places=2)
    vagas = models.IntegerField('VAGAS')
    imagem = StdImageField('Imagem',
                           upload_to='curso',
                           variations={'thumb': (124, 124)})
    slug = models.SlugField('Slug', max_length=100, blank=True, editable=False)

    def __str__(self):
        return self.nome
Beispiel #7
0
class Rom(models.Model):
    name = models.CharField("name", max_length=128, unique=True)
    description = models.TextField("Beschreibung", max_length=1024)
    cover = StdImageField("cover-Bild",
                          upload_to=upload_cover_to,
                          validators=[MinSizeValidator(300, 300)],
                          variations={
                              'large': {
                                  'width': 600,
                                  'height': 600,
                                  'crop': True
                              },
                              'small': {
                                  'width': 300,
                                  'height': 300,
                                  'crop': True
                              }
                          })
    low_binary = models.FileField("low binary", upload_to=upload_binary_to)
    high_binary = models.FileField("high binary", upload_to=upload_binary_to)
    approved = models.BooleanField("approved", default=False)
    tags = TaggableManager(blank=True)
    user = models.ForeignKey(User,
                             blank=True,
                             null=True,
                             on_delete=models.PROTECT)
    download_count = models.IntegerField(default=0)
    creation_time = models.DateTimeField("creation time", auto_now_add=True)
    edit_time = models.DateTimeField("edit time", auto_now=True)

    def get_absolute_url(self):
        return reverse('romdetails', kwargs={'id': self.pk})

    def tag_list(self):
        return [t.name for t in self.tags.all()]

    def to_json(self):
        json = {
            'id': self.pk,
            'name': self.name,
            'user': self.user.username,
            'description': self.description,
            'tags': self.tag_list(),
            'low_binary': self.low_binary.url,
            'high_binary': self.high_binary.url,
            'download_count': self.download_count,
            'creation_time': self.creation_time,
            'edit_time': self.edit_time
        }

        return json

    def __str__(self):
        return self.name
Beispiel #8
0
class Product(Base):
    name = models.CharField('Name', max_length=100)
    price = models.DecimalField('price', max_digits=8, decimal_places=2)
    stock = models.IntegerField('stock')
    img = StdImageField("Img",
                        upload_to='products',
                        variations={'thumb': (124, 124)})
    slug = models.SlugField('Slug', max_length=100, blank=True, editable=False)

    def __str__(self):
        return self.name
Beispiel #9
0
class OtherImage(Base):
    name = models.CharField('Name', max_length=50)
    image = StdImageField('Image', upload_to=get_file_path, variations={'thumb': {'width': 600, 'height': 670,
                                                                                  'crop': True}})

    class Meta:
        verbose_name = 'Other Image'
        verbose_name_plural = 'Other Images'

    def __str__(self):
        return self.name
Beispiel #10
0
class Produto(Base):
    nome = models.CharField('Nome', max_length=100)
    preco = models.DecimalField('Preço', max_digits=8, decimal_places=2)
    estoque = models.IntegerField('Estoque')
    imagem = StdImageField('Imagem',
                           upload_to='produtos',
                           variations={'thumb': (124, 124)})
    slug = models.SlugField('Slug', max_length=100, blank=True, editable=False)

    def __str__(self):
        return self.nome
Beispiel #11
0
class Livros(Base):
    nome = models.CharField("Nome", max_length=20)
    preco = models.DecimalField("Preço", max_digits=8, decimal_places=2)
    estoque = models.IntegerField("Estoque")
    solicitado = models.BooleanField("Solicitado?", default=False)
    imagem = StdImageField("Imagem",
                           upload_to='livros',
                           variations={'thumb': (124, 124)})
    slug = models.SlugField("Slug", max_length=100, blank=True, editable=False)

    def __str__(self):
        return self.nome
Beispiel #12
0
class Hero(Base):
    name = models.CharField('Name', max_length=20)
    description = models.CharField('Description', max_length=150)
    image = StdImageField('Image', upload_to='heroes', variations={'thumb': {'width': 300, 'height': 300,
                                                                             'crop': True}})

    class Meta:
        verbose_name = 'Hero'
        verbose_name_plural = 'Heroes'

    def __str__(self):
        return self.name
Beispiel #13
0
class User(models.Model):
    name = models.CharField(max_length = 100, null=False)
    timestamp = models.DateTimeField(auto_now_add=True)
    picture = StdImageField(blank=True, null=True,
                            upload_to = 'profilepictures/', 
                            variations={
                                        'detailthumbnail':(200,200, True),
                                        'listthumbnail':(100,100,True)
                                        })

    def __str__(self):
        return self.name
Beispiel #14
0
class Game(models.Model):
    """Game object."""

    name = models.CharField(max_length=50)
    image = StdImageField(
        upload_to='game_images',
        null=True,
        blank=True,
        variations={'thumbnail': {
            'width': 200,
            'height': 200
        }})
    game_file = models.ManyToManyField(MyFile, blank=True)
    description = models.TextField(max_length=5000)
    date_published = models.DateField(auto_now_add=True)
    group = models.ForeignKey(Group, null=False)
    event_name = models.CharField(max_length=75, blank=True, default='')
    tags = models.ManyToManyField(GameTag, null=True, blank=True)
    featured = models.BooleanField(default=False)
    objects = GameManager()

    @property
    def small_description(self):
        if len(self.description) > 300:
            return self.description[:300] + '...'
        else:
            return self.description

    @property
    def average_rating(self):
        ratings = zip(*self.gamerating_set.all().values_list('value'))
        if ratings:
            ratings = ratings[0]
            return sum(ratings) / len(ratings)
        else:
            return 0

    @property
    def total_ratings(self):
        ratings = zip(*self.gamerating_set.all().values_list('value'))
        if len(ratings) != 0:
            return len(ratings[0])
        return 0

    def push_notification(self):
        if self.group:
            return self.group.push_notification(
                description='Somebody commented on a game of yours!',
                url=reverse('core:games:specific', kwargs={'game_id':
                                                           self.pk}))

    def __unicode__(self):
        return self.name
Beispiel #15
0
class Image(Base):
  image = StdImageField('Imagem', upload_to=get_file_path, delete_orphans=True)
  predict_covid = models.FloatField('Previsão Covid', null=True, blank=True)
  predict_no_findings = models.FloatField('Previsão Sem Doença', null=True, blank=True)
  predict_pneumonia = models.FloatField('Previsão Pneumonia', null=True, blank=True)

  class Meta:
    verbose_name = 'Imagem'
    verbose_name_plural = 'Imagens'
  
  def __str__(self):
    return f'{self.image}'
Beispiel #16
0
class Employee(Base):
    name = models.CharField('Name', max_length=100)
    occupation = models.ForeignKey('core.Occupation', verbose_name='Occupation', on_delete=models.CASCADE)
    bio = models.TextField('Bio', max_length=255)
    photo = StdImageField('Photo', upload_to=get_file_path,
                          variations={'thumb': {'width': 480, 'height': 480, 'crop': True}})
    facebook = models.CharField('Facebook', max_length=100, default='#')
    twitter = models.CharField('Twitter', max_length=100, default='#')
    instagram = models.CharField('Instagram', max_length=100, default='#')

    def __str__(self):
        return self.name
class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    imagem = StdImageField('Imagem', upload_to='imagemUserProfile',
                           variations={'thumb': 
                                            {'width': 60, 'height': 60, 'crop': True}
                                      },
                           default="imagemUserProfile/padrao.png", delete_orphans=True)
    reputacao = models.IntegerField('Reputação', default=0)
    experiencia = models.IntegerField('Experiência', default=0)
    role = models.OneToOneField(UserRole, on_delete=models.CASCADE)
    def __str__(self):
        return self.user.get_full_name()
Beispiel #18
0
class Equipe(models.Model):
    nome = models.CharField('Nome', max_length=100)
    cargo = models.CharField('Cargo', max_length=100)
    imagem = StdImageField('Imagem', upload_to='Equipe')
    linkedin = models.CharField('Linkedin', max_length=100, default='#')

    class Meta:
        verbose_name = 'Equipe'
        verbose_name_plural = 'Equipes'

    def __str__(self):
        return self.nome
Beispiel #19
0
class NyaayaApp(models.Model):
    WOLF = 'DN'
    CHEETAH = 'DU'
    BLOG = 'BL'
    STATIC = 'ST'
    DEFAULT = 'AA'
    THEME_CHOICES = ((WOLF, 'Explainers : Dummy-parent Doc without right Nav'),
                     (CHEETAH, '---- : Dummy-parent Doc without Nav'),
                     (BLOG, 'Blog : Theme with published date'),
                     (STATIC, 'Static : Theme for static pages'),
                     (DEFAULT, 'Guides : Default Theme for Readbility'))
    ENG = 'EN'
    HINDI = 'HIN'
    LANG_DEFAULT = 'EN'
    LANG_CHOICES = (
        (ENG, 'English'),
        (HINDI, 'Hindi'),
    )
    title = models.CharField(max_length=225, unique=False)
    theme = models.CharField(max_length=2,
                             choices=THEME_CHOICES,
                             default=DEFAULT,
                             db_index=True)
    lang = models.CharField(max_length=5,
                            choices=LANG_CHOICES,
                            default=LANG_DEFAULT)
    illustration = StdImageField(upload_to=upload_to_config_illustrations,
                                 blank=True,
                                 null=True,
                                 variations={
                                     'desktop': {
                                         "width": 700,
                                         "height": 500,
                                         "crop": True
                                     },
                                     'mobile': {
                                         "width": 280,
                                         "height": 200,
                                         "crop": True
                                     },
                                 })

    is_deleted = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return u'%s (%s)' % (self.title, self.lang)

    class Meta(object):
        db_table = 'pyramid_nyaayaapp'
        verbose_name = 'App Config'
        verbose_name_plural = 'App Configs'
Beispiel #20
0
class Atleta(models.Model):
    # Atleta é ...
    #
    # UC01 - Manter Atletas
    #     FA01 - Incluir Atleta
    #         2. O sistema apresenta os campos para entrada dos dados:
    #             - Nome (Obrigatório)
    #             - Foto
    #             - CPF (Obrigatório / Não se repete)
    #             - RG (Obrigatório / Não se repete)
    #             - Matrícula (Obrigatório / Não se repete)
    #             - Gênero (Obrigatório)
    #             - Masculino;
    #             - Feminino.
    #             - Data de Nascimento
    #             - Tipo Sanguíneo
    #             - Plano de Saúde
    #             - Nº Carteira SUS
    #             - Medicamento Controlado
    #             - Alergia

    nome = models.CharField(max_length=100)
    foto = StdImageField(upload_to='atletas',
                         variations={'thumb': (124, 124)},
                         blank=True)
    cpf = models.CharField('CPF', max_length=11, unique=True)
    rg = models.CharField('RG', max_length=50, unique=True)
    matricula = models.CharField('Matrícula', max_length=20, unique=True)
    genero = models.CharField('Gênero',
                              max_length=1,
                              choices=[['M', 'Masculino'], ['F', 'Femenino']])
    data_nascimento = models.DateField('Data de Nascimento',
                                       blank=True,
                                       null=True)
    tipo_sanguineo = models.CharField('Tipo Sanguíneo',
                                      max_length=3,
                                      blank=True)
    plano_saude = models.CharField('Plano de Saúde',
                                   max_length=200,
                                   blank=True)
    numero_carteira_sus = models.CharField('Nº Carteira do SUS',
                                           max_length=20,
                                           blank=True)
    medicamento_controlado = models.TextField('Medicamento Controlado',
                                              blank=True)
    alergia = models.TextField('Alergia', blank=True)

    class Meta:
        verbose_name = 'Atleta'
        verbose_name_plural = 'Atletas'

    def __str__(self):
        return self.nome
Beispiel #21
0
class User(models.Model):
    username = models.CharField(max_length=50)
    password = models.CharField(max_length=55)
    profile_pic = StdImageField(upload_to='images/', null=True, blank=True, variations={
        'large': (400, 400),
        'thumbnail': (100, 100, True),
        'medium': (250, 250),
        'icon': (40, 40, True)
    })
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = UserManager()
Beispiel #22
0
class Curso(Base):
    nome = models.CharField('Nome', max_length=100)
    preco = models.DecimalField('Preço', decimal_places=2, max_digits=8)
    vagas = models.IntegerField('Vagas')
    imagem = StdImageField('Imagem',
                           upload_to='cursos',
                           variations={'thumb': (124, 124)})
    doc = models.FileField('Documentação', upload_to='cursospdf', default="")
    slug = models.SlugField('Slug', max_length=100, blank=True, editable=False)

    def __str__(self):
        return self.nome
Beispiel #23
0
class PersonDocument(models.Model):
    person = models.ForeignKey(Person, on_delete=models.DO_NOTHING, related_name='my_documents', null=True)
    document_name = models.CharField(max_length=255)
    issue_date = models.DateField(null=True)
    expiration_date = models.DateField(null=True)
    scan_image = StdImageField(
        variations={
            'thumbnail': (100, 70, True),
        },
        delete_orphans=True)
    is_active = models.BooleanField(default=True)
    comment = models.TextField(null=True)
class Page(models.Model):
    name = models.CharField(max_length=255, db_index=True)
    content = models.TextField(null=True, blank=True)
    content_html = models.TextField(null=True,
                                    blank=True,
                                    help_text="Auto-generated - do NOT edit")
    image = StdImageField(upload_to="pages",
                          variations={
                              "thumbnail": (350, 350),
                              "medium": (800, 600),
                              "large": (1280, 1024)
                          },
                          null=True,
                          blank=True)
    position = models.PositiveSmallIntegerField(db_index=True)
    slug = models.SlugField(max_length=255)
    FORMATS = (
        ("HTML", "HTML"),
        ("MARK", "Markdown"),
        ("MARK_HTML", "Markdown and HTML"),
    )
    format = models.CharField(max_length=9, choices=FORMATS)

    def __str__(self):
        return self.name

    def get_content(self):
        # The content field is already sanitized, according to the settings (see the save() function below)
        # So when we retrieve the html content we can trust this is safe, and will mark it as such
        # We avoid using |safe in templates -- to centralize the effort to sanitize input
        if self.content:
            return mark_safe(self.content_html)
        else:
            return ""

    class Meta:
        ordering = ["position"]

    def save(self, *args, **kwargs):
        if not self.content:
            self.content_html = None
        elif self.format == "HTML":
            # Here it wouldn't hurt to apply bleach and take out unnecessary tags
            self.content_html = self.content
        elif self.format == "MARK_HTML":
            # Here it wouldn't hurt to apply bleach and take out unnecessary tags
            self.content_html = markdown(self.content)
        elif self.format == "MARK":
            self.content_html = markdown(bleach.clean(self.content))
        if not self.slug:
            self.slug = slugify(unidecode(self.name))
        super().save(*args, **kwargs)
Beispiel #25
0
class Producto(models.Model):
    PRODUCTS_CHOICE = (
        ("Calca", "Calça"),
        ("Camisa", "Camisa"),
        ("Bermuda", "Bermuda"),
        ("Saia", "Saia"),
        ("Vestido", "Vestido"),
    )
    pro_inst = models.CharField('Tipo:', max_length=9, choices=PRODUCTS_CHOICE)
    pro_name = models.CharField('Nome', max_length=255)
    pro_description = models.TextField('Descrição', max_length=255)
    pro_price = models.DecimalField('Preço', max_digits=6, decimal_places=2)
    pro_img = StdImageField('Foto', upload_to='Producto')
Beispiel #26
0
class ImgGallery(models.Model):
    img = StdImageField(verbose_name='图片',
                        upload_to='gallery',
                        variations={'thumbnail': {
                            'width': 75,
                            'height': 75
                        }})
    update = models.DateTimeField('上传时间', False, auto_now_add=True)
    url = models.URLField(verbose_name="图片指向链接")

    class Meta:
        verbose_name = "图集"
        verbose_name_plural = verbose_name
Beispiel #27
0
class Post(models.Model):
    title = models.CharField(max_length=150)
    text = models.TextField(blank=True)
    image = StdImageField(upload_to='picture/news', blank=True, variations={
        'large': (600, 400),
        'thumbnail': (100, 100, True),
        'medium': (300, 200),
    })
    created_datetime = models.DateTimeField(auto_now_add=True)
    updated_datetime = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title
Beispiel #28
0
class Testimonial(Base):
    name = models.CharField('Name', max_length=15)
    status = models.CharField('Status', max_length=30)
    description = models.CharField('Description', max_length=100)
    image = StdImageField('Image', upload_to='testimonials', variations={'thumb': {'width': 100, 'height': 100,
                                                                                   'crop': True}})

    class Meta:
        verbose_name = 'Testimonial'
        verbose_name_plural = 'Testimonials'

    def __str__(self):
        return self.name
Beispiel #29
0
class Time(models.Model):
    nome = models.CharField(_('Nome'), max_length=100)
    sigla = models.CharField(_('Sigla'), max_length=5)
    bandeira = StdImageField(_('Foto'), null=True, blank=True, upload_to=get_file_path, variations={'thumb': {'width': 480,
                                                                                                       'height': 331,
                                                                                                       'crop': True}})

    class Meta:
        verbose_name = _("Time")
        verbose_name_plural = _("Times")

    def __str__(self):
        return self.nome
Beispiel #30
0
class Profile(models.Model):
    '''個人情報'''
    user = models.OneToOneField(settings.AUTH_USER_MODEL,
                                on_delete=models.PROTECT)
    user_name = models.CharField('氏名', max_length=15, blank=True)
    user_nickname = models.CharField('ユーザーネーム', max_length=15, blank=True)
    image_profile = StdImageField('プロフィール画像',
                                  upload_to='img/',
                                  blank=True,
                                  variations={
                                      'thumbnail': {
                                          "width": 150,
                                          "height": 150,
                                          "crop": True
                                      },
                                      'medium': {
                                          "width": 400,
                                          "height": 400,
                                          "crop": True
                                      },
                                  })
    image_cover = StdImageField('カバー画像',
                                upload_to='img/',
                                blank=True,
                                variations={
                                    'cover': {
                                        "width": 1920,
                                        "height": 720,
                                        "crop": True
                                    },
                                })
    user_from = models.CharField('都道府県', max_length=15, choices=FROM_CHOICE)
    user_address = models.CharField('住所', max_length=300, blank=True)
    user_text = models.TextField('自己紹介(160文字以内)', blank=True, max_length=160)
    user_cleate_date = models.DateTimeField('作成日', default=timezone.now)
    user_update_date = models.DateTimeField('更新日', auto_now=True)

    def __str__(self):
        return '{0}{1}'.format(self.user_address, self.user_update_date)