Example #1
0
class Assembly(models.Model):
    id = models.CharField(primary_key=True, max_length=100)
    sequences = models.ManyToManyField(to=Sequence,
                                       related_name='assemblies',
                                       blank=True)
    biosample = models.ForeignKey(BioSample,
                                  related_name="assemblies",
                                  on_delete=models.CASCADE,
                                  null=True)

    count = models.IntegerField(null=True, blank=True)
    bp = models.IntegerField(null=True, blank=True)
    Ns = models.IntegerField(null=True, blank=True)
    gaps = models.IntegerField(null=True, blank=True)
    min = models.IntegerField(null=True, blank=True)
    max = models.IntegerField(null=True, blank=True)
    avg = models.IntegerField(null=True, blank=True)
    N50 = models.IntegerField(null=True, blank=True)

    owner = models.ForeignKey(Account,
                              related_name="genomes",
                              on_delete=models.CASCADE)
    DateCreated = models.DateTimeField(verbose_name='date created',
                                       auto_now=True)
    LastUpdate = models.DateTimeField(verbose_name='last update',
                                      auto_now=True)

    description = models.TextField(null=True, blank=True)

    objects = models.DjongoManager()

    def __str__(self):
        return str(self.id)
Example #2
0
class Task(models.Model):
    """ Represents a Tasks assignable to users for project/topic nodes """
    STATUS_CHOICES = [
        ("NEW", "New"),
        ("IN_PROGRESS", "In Progress"),
        ("COMPLETE", "Complete"),
    ]

    _id = models.ObjectIdField()
    # The node can be a Project or a Subclass of Topic
    node = models.ForeignKey("TreeStructure", on_delete=models.CASCADE)

    title = models.CharField(max_length=255, unique=False, blank=False)
    created_by = models.ForeignKey("vpmoauth.MyUser", on_delete=models.CASCADE, related_name="created_task_set")
    created_at = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated_at = models.DateTimeField(auto_now=True)

    # The user the task is assigned to currently (defaults to created_by)
    assignee = models.ForeignKey("vpmoauth.MyUser", on_delete=models.CASCADE, related_name="assigned_task_set")

    status = models.CharField(max_length=11, choices=STATUS_CHOICES, blank=False, unique=False)
    due_date = models.DateField(auto_now=False, auto_now_add=False, null=False)
    closed_at = models.DateTimeField(auto_now=False, auto_now_add=False, null=True)

    def __str__(self):
        return "<{title}>: {due_date}".format(title=self.title, due_date=self.due_date.strftime("%d/%m/%Y"))


    def save(self, *args, **kwargs):
        """ Minor amendments to save for generic conditions """
        if self.status != "COMPLETE":
            self.closed_at = None

        super(Task, self).save(*args, **kwargs)
Example #3
0
class TimestampedModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    last_modified = models.DateTimeField(auto_now=True)

    class Meta:
        abstract = True
        ordering = ['-created_at', '-last_modified']
Example #4
0
class Account(AbstractBaseUser, PermissionsMixin):
    name = models.CharField(verbose_name="Name", max_length=100, null=False)
    email = models.EmailField(verbose_name="Email",
                              max_length=100,
                              unique=True)
    password = models.CharField(verbose_name="Password",
                                max_length=100,
                                null=False)
    date_joined = models.DateTimeField(verbose_name="Join Date",
                                       auto_now_add=True)
    last_login = models.DateTimeField(verbose_name="Last Login Date",
                                      auto_now=True)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)

    objects = MyAccountManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['name']

    def __str__(self):
        return self.name

    def has_perms(self, perm_list, obj=None):
        return self.is_admin

    def has_module_perms(self, app_label):
        return self.is_superuser
Example #5
0
class User(models.Model):
    ACTIVE_STATUS = 'active'
    PENDING_STATUS = 'pending'
    STATUS_CHOICES = (
        (ACTIVE_STATUS, 'active'),
        (PENDING_STATUS, 'pending'),
    )

    NORMAL_ROLE = 'normal'
    ADMIN_ROLE = 'admin'
    ROLE_CHOICES = (
        (NORMAL_ROLE, 'normal'),
        (ADMIN_ROLE, 'admin'),
    )

    _id = models.ObjectIdField()
    account = models.CharField(max_length=128, unique=True)
    password = models.CharField(max_length=128)
    status = models.CharField(max_length=7, choices=STATUS_CHOICES, default=ACTIVE_STATUS)
    role = models.CharField(max_length=6, choices=ROLE_CHOICES, default=NORMAL_ROLE)
    created_time = models.DateTimeField(auto_now_add=True)
    modified_time = models.DateTimeField(auto_now=True)
    last_login_time = models.DateTimeField()

    class Meta:
        db_table = 'users'
Example #6
0
class Comment(models.Model):
    id = models.UUIDField(primary_key=True,
                          default=uuid.uuid4,
                          editable=False,
                          unique=True)
    author = models.ForeignKey('userAuth.User',
                               null=True,
                               on_delete=models.SET_NULL,
                               editable=False,
                               related_name='comment')
    dateTimePosted = models.DateTimeField(auto_now_add=True, editable=False)
    dateTimeEdited = models.DateTimeField(auto_now=True, null=True)
    parentPost = models.ForeignKey('Post',
                                   null=True,
                                   on_delete=models.CASCADE,
                                   editable=True,
                                   related_name='comment')
    content = models.OneToOneField(Content,
                                   on_delete=models.CASCADE,
                                   related_name='comment')
    points = models.IntegerField(default=0)
    likers = models.ArrayReferenceField(to='userAuth.User',
                                        on_delete=models.SET_NULL,
                                        blank=True,
                                        null=True,
                                        related_name='+')
    dislikers = models.ArrayReferenceField(to='userAuth.User',
                                           on_delete=models.SET_NULL,
                                           blank=True,
                                           null=True,
                                           related_name='+')

    def __str__(self):
        return "Reply to: {}".format(self.post.title)
Example #7
0
class order_abs(models.Model):

    order_id = models.IntegerField()
    buyer_id = models.IntegerField()
    product_id = models.IntegerField()

    date_of_order = models.DateTimeField()
    told_date_of_order = models.DateTimeField()
    date_of_delivery = models.DateTimeField()

    order_details = models.EmbeddedField(
        model_container=order_details_abs,
        model_form_class=order_details_abs_form)

    quantity = models.IntegerField(null=False)
    total_price = models.TextField()

    payment_status = models.BooleanField(default=False)
    delivery_status = models.BooleanField(default=False)

    loan_status = models.BooleanField(default=False)
    loan_amount = models.IntegerField(default=None)

    cancel_status = models.BooleanField(default=False)
    cancel_date = models.DateTimeField()

    class Meta:
        abstract = True
Example #8
0
class Reservation(models.Model):
    # reservation_id = str(uuid.uuid1())
    user = models.CharField(max_length=200)
    vin_no = models.CharField(max_length=200)
    reservation_datetime = models.DateTimeField()
    rental_location = models.CharField(max_length=200)
    return_datetime = models.DateTimeField()
    rental_charge = models.CharField(max_length=100)
    actual_returntime = models.DateTimeField(blank=True)

    # class ReservationStatus(models.TextChoices):
    #     BOOKED = 'BKD', _('BOOKED')
    #     RENTED = 'RNT', _('RENTED')
    #     RETURNED = 'RTD', _('RETURNED')

    ReservationStatus = (
        ('BKD', _('BOOKED')),
        ('RNT', _('RENTED')),
        ('RTD', _('RETURNED')),
    )

    reservation_status = models.CharField(
        max_length=3,
        choices=ReservationStatus,
        default='BKD',
    )

    def __str__(self):
        return self.user + self.vin_no + self.reservation_status
Example #9
0
class Postt(models.Model):
    title = models.CharField(max_length=200, verbose_name="titulo")
    content = models.TextField(verbose_name="Contenido")
    published = models.DateTimeField(verbose_name="fecha de publicacion",
                                     default=now)
    image = models.ImageField(verbose_name="imagen",
                              upload_to="blog",
                              null=True,
                              blank=True)
    author = models.ForeignKey(User,
                               verbose_name="Autor",
                               on_delete=models.CASCADE)
    categories = models.ManyToManyField(Category,
                                        verbose_name="Categorias",
                                        related_name="get_posts")
    created = models.DateTimeField(auto_now_add=True,
                                   verbose_name="Fecha de creacion")
    update = models.DateTimeField(auto_now=True,
                                  verbose_name="Fecha de actualizacion")

    class Meta:
        verbose_name = "post"
        verbose_name_plural = "posts"
        ordering = ['-created']

    def __str__(self):
        return self.title
Example #10
0
class Order(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             on_delete=models.CASCADE)
    ref_code = models.CharField(max_length=20, blank=True, null=True)
    products = models.ManyToManyField(OrderItem, blank=True)
    start_date = models.DateTimeField(auto_now_add=True)
    ordered_date = models.DateTimeField()
    ordered = models.BooleanField(default=False)
    shipping_address = models.ForeignKey('Address',
                                         related_name='shipping_address',
                                         on_delete=models.CASCADE,
                                         default=None)
    billing_address = models.ForeignKey('Address',
                                        related_name='billing_address',
                                        on_delete=models.CASCADE,
                                        default=None)
    payment = models.ForeignKey('Payment',
                                on_delete=models.CASCADE,
                                default=None)
    being_delivered = models.BooleanField(default=False)
    received = models.BooleanField(default=False)

    def __str__(self):
        return self.user.username

    def get_total(self):
        total = 0
        for order_item in self.products.all():
            total += order_item.get_final_price()

        return total
Example #11
0
class DogsData(models.Model):  #collection name
    SEX_CHOICES = [("M", "Male"), ("F", "Female")]
    spayed_or_neutered_CHOICE = [("yes", "YES"), ("no", "NO")]

    created_at = models.DateTimeField(auto_now_add=True, auto_now=False)
    updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
    #Documents
    dog_name = models.CharField(max_length=20, null=True)
    gender = models.CharField(choices=SEX_CHOICES, max_length=1, null=True)
    breed = models.CharField(max_length=30, blank=True)
    birth = models.DateTimeField(auto_now_add=False, auto_now=False)
    dominant_color = models.CharField(max_length=20, blank=False)
    secondary_color = models.CharField(max_length=20, blank=True)
    third_color = models.CharField(max_length=20, blank=True)
    spayed_or_neutered = models.CharField(choices=spayed_or_neutered_CHOICE,
                                          max_length=1,
                                          default='yes')
    guard_or_trained = models.CharField(choices=spayed_or_neutered_CHOICE,
                                        max_length=1,
                                        null='no')
    borough = models.CharField(max_length=30, blank=False, null=False)
    zip_code = models.IntegerField(null=False)

    def __str__(self):
        return self.name
Example #12
0
class AnswerBase(models.Model):
    question = models.ForeignKey(
        SubCriteria, on_delete=models.SET_NULL, blank=True, null=True)
    response = models.ForeignKey(
        Response, on_delete=models.SET_NULL, blank=True, null=True)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
Example #13
0
class Mlst(models.Model):
    id = models.CharField(primary_key=True, max_length=100)

    scheme = models.CharField(max_length=100)
    assembly = models.OneToOneField(
        Assembly,
        on_delete=models.CASCADE,
    )
    #st = models.IntegerField(null=True, blank=True)
    st = models.CharField(max_length=10)
    profile = models.ArrayField(model_container=Allele, )
    DateCreated = models.DateTimeField(verbose_name='date created',
                                       auto_now=True)
    LastUpdate = models.DateTimeField(verbose_name='last update',
                                      auto_now=True)

    Description = models.TextField()

    owner = models.ForeignKey(Account,
                              related_name="mlsts",
                              on_delete=models.CASCADE)

    objects = models.DjongoManager()

    def __str__(self):
        return str(self.id)
Example #14
0
class Stats(models.Model):
    id = models.CharField(primary_key=True, max_length=100)
    assembly = models.OneToOneField(
        Assembly,
        on_delete=models.CASCADE,
    )

    CDS = models.IntegerField(null=True, blank=True)
    CRISPR = models.IntegerField(null=True, blank=True)
    ncRNA = models.IntegerField(null=True, blank=True)
    oriC = models.IntegerField(null=True, blank=True)
    rRNA = models.IntegerField(null=True, blank=True)
    region = models.IntegerField(null=True, blank=True)
    regulatory_region = models.IntegerField(null=True, blank=True)
    tRNA = models.IntegerField(null=True, blank=True)
    tmRNA = models.IntegerField(null=True, blank=True)

    owner = models.ForeignKey(Account,
                              related_name="stats",
                              on_delete=models.CASCADE)
    DateCreated = models.DateTimeField(verbose_name='date created',
                                       auto_now=True)
    LastUpdate = models.DateTimeField(verbose_name='last update',
                                      auto_now=True)

    Description = models.TextField()

    objects = models.DjongoManager()

    def __str__(self):
        return str(self.id)
Example #15
0
class LinhaRelatorio(models.Model):
    objects = models.Manager()
    trabalhador = models.ForeignKey(Trabalhador, on_delete=models.SET_NULL, null=True)
    horas_extras = models.FloatField(default=0, validators=[MinValueValidator(0)])
    adicional_noturno = models.FloatField(default=0, validators=[MinValueValidator(0)])
    faltas = models.IntegerField(default=0, validators=[MinValueValidator(0)])
    dias_faltas = []
    criado_em = models.DateTimeField(auto_now_add=True)
    modificado_em = models.DateTimeField(auto_now=True)

    def __str__(self):
        return "%s(%.1f, %.1f, %d)" % (self.trabalhador.nome, self.horas_extras, self.adicional_noturno, self.faltas)

    class Meta:
        ordering = ['trabalhador__nome']
        verbose_name = "Linha de Relatório"
        verbose_name_plural = 'Linhas de Relatório'

    @staticmethod
    def transferencia(relatorio_fonte, relatorio_alvo, linha):
        if relatorio_fonte and relatorio_alvo and linha:
            if linha in relatorio_fonte.linhas.all():
                try:
                    relatorio_fonte.linhas.remove(linha)
                    relatorio_alvo.linhas.add(linha)
                    relatorio_fonte.save()
                    relatorio_alvo.save()
                except Exception as e:
                    print("Erro: %s", e)
Example #16
0
class Variation(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    name = models.CharField(max_length=100)
    creator = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
    composition = models.ForeignKey(Composition, on_delete=models.CASCADE)
    tracks = models.ManyToManyField(
        Track,
        through='TrackInVariation',
    )

    def copy_variation(self, variation):
        self.name = variation.name
        self.creator = variation.creator
        self.composition = variation.composition
        self.tracks.set(variation.tracks)

    def save(self, *args, **kwargs):
        user = kwargs.pop('user')
        composition_id = kwargs.pop('composition_id')
        self.creator = user
        self.composition = Composition.objects.get(id=composition_id)
        super().save(*args, **kwargs)


#    def __str__(self):
#       return self.name + ' (' + str(self.composition) + ') - ' + self.creator.username
Example #17
0
class RelacaoAbono(models.Model):

    objects = models.Manager()
    abonos = models.ManyToManyField(Abono, blank=True)
    data_inicio = models.DateTimeField()
    data_termino = models.DateTimeField()

    class Meta:
        verbose_name = 'Relação de abonos'
        verbose_name_plural = "Relações de abonos"
        ordering = ['-data_inicio']
        

    @staticmethod
    def factory(data_inicio, data_termino):
        abonos = Abono.objects.filter(
            Q(deferido=True)
            & Q(criado_em__gte=data_inicio)
            & Q(criado_em__lte=data_termino)
        )      
        relacao = RelacaoAbono.objects.create(
            data_inicio=data_inicio,
            data_termino=data_termino
        )
        for abono in abonos:
            relacao.abonos.add(abono)

        relacao.save()
        return relacao
Example #18
0
class StateSave(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=200, null=True)
    description = models.CharField(max_length=400, null=True)
    save_time = models.DateTimeField(auto_now=True, db_index=True)
    create_time = models.DateTimeField(auto_now_add=True)
    save_id = models.UUIDField(default=uuid.uuid4)
    data_dump = models.TextField(null=False)
    shared = models.BooleanField(default=False)
    owner = models.ForeignKey(get_user_model(),
                              null=True,
                              on_delete=models.CASCADE)
    base64_image = models.ImageField(upload_to='circuit_images',
                                     storage=file_storage,
                                     null=True)
    version = models.CharField(max_length=20, null=False)
    branch = models.CharField(max_length=20, null=False)
    is_arduino = models.BooleanField(default=False, null=False)
    esim_libraries = models.ManyToManyField(Library)
    project = models.ForeignKey(to=Project,
                                on_delete=models.SET_NULL,
                                null=True)

    def save(self, *args, **kwargs):
        super(StateSave, self).save(*args, **kwargs)

    def __str__(self):
        return self.name
Example #19
0
class order(models.Model):

    buyer = models.ForeignKey(buyers,
                              on_delete=models.CASCADE,
                              related_name='buyer_id_order')
    product = models.ForeignKey(product,
                                on_delete=models.SET_NULL,
                                null=True,
                                related_name='product_id_order')

    date_of_order = models.DateTimeField()
    told_date_of_order = models.DateTimeField()
    date_of_delivery = models.DateTimeField()

    order_details = models.EmbeddedField(
        model_container=order_details_abs,
        model_form_class=order_details_abs_form)

    quantity = models.IntegerField(null=False)
    total_price = models.TextField()

    payment_status = models.BooleanField(default=False)
    delivery_status = models.BooleanField(default=False)

    loan_status = models.BooleanField(default=False)
    loan_amount = models.IntegerField(default=None)

    cancel_status = models.BooleanField(default=False)
    cancel_date = models.DateTimeField()

    objects = models.DjongoManager()
Example #20
0
class Assignment(models.Model):
    assignment_id = models.UUIDField(primary_key=True,
                                     blank=False,
                                     default=uuid.uuid4,
                                     editable=False)
    class_part = models.ForeignKey(to="Classes", on_delete=models.CASCADE)
    assignment_type = models.CharField(choices=assignment_choices,
                                       max_length=50)
    document = models.ForeignKey(to='Documents',
                                 blank=True,
                                 on_delete=models.CASCADE)
    name = models.CharField(max_length=300,
                            blank=False,
                            verbose_name='assignment name')
    available_at = models.DateTimeField(
        verbose_name='assignment available start date', blank=True)
    available_end = models.DateTimeField(
        verbose_name='assignment available end date', blank=False)
    graded = models.BooleanField(verbose_name='graded', blank=False)
    total_points = models.IntegerField(
        blank=False, verbose_name='total points in assignment')
    points_earned = models.IntegerField(
        blank=True, verbose_name='total points earned in assignment')

    def __str__(self):
        return self.name
Example #21
0
class Disaster(models.Model):

    DANGER_LEVELS = (('E', 'Easy'), ('M', 'Medium'), ('D', 'Danger'),
                     ('ED', 'Extra Danger'))

    #required
    diameter = models.FloatField(default=0.5)
    center_point = models.EmbeddedModelField(model_container=GeoJSON)
    level_of_danger = models.CharField(max_length=2,
                                       default='M',
                                       choices=DANGER_LEVELS)
    added = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    owner = models.ForeignKey('auth.User',
                              related_name='posts',
                              on_delete=models.CASCADE)
    lat = models.FloatField()
    lang = models.FloatField()

    #optional
    title = models.CharField(max_length=200, blank=True)
    description = models.CharField(max_length=500, blank=True)


# class Disaster(Document):
#     #required
#     diameter = IntField(default = 0.5)
#     center = PointField()
#     level_of_danger = IntField(default = 0.5, choices = DANGER_LEVELS)
#     date_added = DateTimeField(default=datetime.now)

#     #optional
#     title = StringField()
#     description = StringField()
#     text = StringField(required=True)
Example #22
0
class Contract(models.Model):
    item_id = models.CharField(
        max_length=50, primary_key=True
    )  # Workarround to prevent issues, not really a primary Key
    product_id = models.CharField(max_length=50, blank=True, null=True)

    offering = models.CharField(
        max_length=50
    )  # Offering.pk as Foreing Key is not working for EmbeddedFields
    #offering = models.ForeignKey(Offering, on_delete=models.DO_NOTHING)

    # Parsed version of the pricing model used to calculate charges
    pricing_model = models.JSONField(default={})  # Dict
    # Date of the last charge to the customer
    last_charge = models.DateTimeField(blank=True, null=True)
    # List with the made charges
    charges = models.ArrayField(model_container=Charge, default=[])

    # Usage fields
    correlation_number = models.IntegerField(default=0)
    last_usage = models.DateTimeField(blank=True, null=True)

    # Revenue sharing product class
    revenue_class = models.CharField(max_length=15, blank=True, null=True)

    suspended = models.BooleanField(default=False)
    terminated = models.BooleanField(default=False)

    class Meta:
        managed = False

    def __getitem__(self, name):
        return getattr(self, name)
Example #23
0
class User(AbstractBaseUser, PermissionsMixin):
    """Database model for users in the system"""
    username = models.CharField(max_length=255, unique=True)
    email = models.EmailField(max_length=255, unique=True)
    is_verified = models.BooleanField(default=False)
    is_online = models.BooleanField(default=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    is_staff = models.BooleanField(default=False)
    subscription = models.ForeignKey(Subscription,
                                     on_delete=models.SET_NULL,
                                     null=True)

    objects = UserManager()
    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']

    def __str__(self):
        """Return string representation of the user's username"""
        return self.username

    def tokens(self):
        """ Genreate Access and Refresh Token for current user """
        user_token = RefreshToken.for_user(self)
        return {
            'refresh': str(user_token),
            'access': str(user_token.access_token),
        }
Example #24
0
class Payment(models.Model):
    id = models.AutoField(primary_key=True)
    order = models.ForeignKey(Order, on_delete=models.DO_NOTHING)
    payment_type = models.CharField(max_length=10, choices=PAYMENT_MODE)
    allowed = models.BooleanField(default=False)
    created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True, auto_now_add=False)
Example #25
0
class Match(models.Model):
    slug = models.SlugField(primary_key=True)
    scheduled = models.DateTimeField()
    event = models.CharField(max_length=255, null=True, blank=True)
    group = models.CharField(max_length=2, null=True)
    playoff = models.BooleanField(default=False)
    winner = models.CharField(max_length=255, null=True)
    timestamp = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    objects = models.DjongoManager()

    class Meta:
        ordering = ['event', 'group', 'scheduled']
        unique_together = ['scheduled', 'event', 'group']

    def __str__(self):
        if self.playoff:
            return "{}: playoff match {}".format(self.event,
                                                 self.matchmeta.__str__())
        return "{}, {}: match {}".format(self.event, self.group,
                                         self.matchmeta.__str__())

    @property
    def is_winner(self):
        return True if self.winner else False
Example #26
0
class Audit(models.Model):
    audit_id = models.AutoField(primary_key=True)
    organization = models.ForeignKey(to='organization.Organization',
                                     on_delete=models.CASCADE,
                                     blank=False,
                                     null=False,
                                     default=0)
    inventory_items = models.ManyToManyField(Item, blank=True, default=0)
    assigned_sk = models.ManyToManyField(to='user_account.CustomUser',
                                         blank=True,
                                         default=0)
    initiated_by = models.ForeignKey(to=USER_MODEL,
                                     on_delete=models.CASCADE,
                                     related_name='initiated_by')
    initiated_on = models.DateTimeField(
        auto_now_add=True)  # Auto set when object is first created
    last_modified_on = models.DateTimeField(
        auto_now=True)  # Auto set every time object is saved
    assigned_sk = models.ManyToManyField(to=USER_MODEL, blank=True, default=0)
    template_id = models.ForeignKey(AuditTemplate,
                                    on_delete=models.CASCADE,
                                    blank=True,
                                    null=True)
    accuracy = models.FloatField(default=0.0)

    ACTIVE = 'Active'

    AUDIT_STATUS = [(PENDING, 'Pending'), (COMPLETE, 'Complete'),
                    (ACTIVE, 'Active')]
    status = models.CharField(max_length=12,
                              choices=AUDIT_STATUS,
                              default=PENDING)
Example #27
0
class Account(AbstractBaseUser, PermissionsMixin):
    username = models.CharField(verbose_name="Username", max_length=30, null=False)
    email = models.EmailField(verbose_name="Email Address", max_length=30, unique=True)
    phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$',
                                 message="Phone number must be entered in the format: '+999999999'.Up to 15 digits "
                                         "allowed.")
    number = models.CharField(verbose_name="Phone Number", validators=[phone_regex], max_length=17)
    date_joined = models.DateTimeField(verbose_name="Join Date", auto_now_add=True)
    last_login = models.DateTimeField(verbose_name="Last Login Date", auto_now=True)
    password = models.CharField(verbose_name="Password", max_length=100, null=False)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    hide_email = models.BooleanField(default=True)

    objects = MyAccountManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    def __str__(self):
        return self.username

    def has_perms(self, perm_list, obj=None):
        return self.is_admin

    def has_module_perms(self, app_label):
        return self.is_superuser
Example #28
0
class Post(models.Model):
    id = models.AutoField(primary_key=True)
    category = models.ForeignKey(Category,
                                 on_delete=models.CASCADE,
                                 related_name='posts')
    title = models.CharField(max_length=255)
    # title_vn = models.CharField(max_length=255)
    content = models.TextField()
    # content_vn = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)
    thumbnail = models.TextField(null=True)
    author = models.ForeignKey(get_user_model(),
                               on_delete=models.CASCADE,
                               related_name='posts',
                               default=1)
    author_username = models.CharField(max_length=100, default="admin")
    # publish = models.DateTimeField(auto_now=False, auto_now_add=False)
    likes = models.ManyToManyField(get_user_model())
    objects = models.DjongoManager()
    hidden = models.BooleanField(default=False)
    flag = models.BooleanField(default=False)

    def __str__(self):
        return f'{self.title}'
Example #29
0
class Account(AbstractBaseUser):
    _id = models.ObjectIdField()
    email = models.EmailField(verbose_name="email", max_length=60, unique=True)
    # all required fields when build user model
    username = models.CharField(max_length=30, unique=True)

    date_joined = models.DateTimeField(verbose_name='date joined',
                                       auto_now_add=True)
    last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)

    # set it to the field you want to use for login
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username']

    objects = MyAccountManager()

    def __str__(self):
        return self.email

    # For checking permissions. to keep it simple all admin have ALL permissons
    def has_perm(self, perm, obj=None):
        return self.is_admin

    # Does this user have permission to view this app? (ALWAYS YES FOR SIMPLICITY)
    def has_module_perms(self, app_label):
        return True
Example #30
0
class CurrentAuction(models.Model):
    property_id = models.ForeignKey(PropertyReg, related_name='property', on_delete=models.CASCADE)
    registration_fees =models.IntegerField(default=0)
    auction_start_date = models.DateTimeField(null=True,  default=timezone.now())
    auction_end_date = models.DateTimeField(null=True)
    scheduled_status = models.BooleanField(default=False)
    current_auction_status = models.BooleanField(default=False)
    auction_finished_status= models.BooleanField(default=False)
    increment_ratio = models.FloatField(default=0.05)
    current_amount =models.IntegerField(default=0)
    current_ending_time=models.DateTimeField(null=True)
    next_bid= models.FloatField(default=0)
    # highest_bidder=models.ForeignKey(User,related_name='highest_bid',default=0, on_delete=models.CASCADE, null=True)

    def scheduled(self):
        self.scheduled_status=True
        self.current_ending_time=self.auction_end_date
        self.save()

    def bidding(self):
        self.next_bid= self.current_amount+(self.current_amount*self.increment_ratio)
        if self.current_ending_time.minute-timezone.now().minute<=3:
            self.current_ending_time=self.current_ending_time + timedelta(minutes=3)
        self.save()

    def get_absolute_url(self):
        return reverse_lazy('auctions:auction_detail', kwargs={'pk': self.pk})