Example #1
0
class AgentUser(auth.models.User, auth.models.PermissionsMixin):
    user_type =models.CharField(max_length=10,default="agent")
    address = models.TextField(max_length=255)
    pincode = models.CharField(max_length=6, default='000000')
    city = models.ForeignKey(City,on_delete=models.CASCADE)
    state= models.ForeignKey(State,on_delete=models.CASCADE)
    mobile = models.CharField(max_length=255)
    birth_date= models.DateField(blank=True)
    proof_document= models.FileField(blank=True, upload_to='agent_proof_document')
    resume_document =models.FileField(blank=True, upload_to='agent_resume_document')
    image = models.ImageField(blank=True, upload_to='agent_image')
    interview_date =models.DateTimeField(blank=True, null=True)
    interviewed = models.BooleanField(default=False, blank=True)
    contacted = models.BooleanField(default=True)
    approved =models.BooleanField(default=False)

    def agent_approved(self):
        self.approved = True
        self.save()

    def __str__(self):
        return '@{}'.format(self.username)


    def get_absolute_url(self):
        return reverse_lazy('auctions:agent_profile', kwargs={'pk': self.pk})  # This represent after doing Comment Where user should redirect


    class Meta:
        verbose_name=('AgentUser')
        verbose_name_plural =('AgentUsers')
Example #2
0
class Classes(models.Model):
    class_id = models.UUIDField(primary_key=True,
                                blank=False,
                                default=uuid.uuid4,
                                editable=False)
    credit = models.IntegerField(blank=False, verbose_name='credit')
    section_id = models.PositiveSmallIntegerField(
        verbose_name="class section ID", blank=False)
    start_time = models.TimeField(auto_now=False,
                                  blank=False,
                                  verbose_name="class start time")
    end_time = models.TimeField(auto_now=False,
                                blank=False,
                                verbose_name="class end time")
    course_part = models.ForeignKey(to='Courses',
                                    on_delete=models.CASCADE,
                                    verbose_name='Course part')
    grade_scale = models.ForeignKey(to='GpaScale',
                                    on_delete=models.CASCADE,
                                    verbose_name='Grade Scale',
                                    blank=False)
    weights = models.ForeignKey(to='Weights',
                                on_delete=models.CASCADE,
                                verbose_name='Grade weights',
                                blank=False)
    students = models.ArrayReferenceField(to=Student, on_delete=models.CASCADE)
    teachers = models.ArrayReferenceField(to=Teacher, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.course_part) + '_' + str(self.section_id)
Example #3
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 #4
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 #5
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 #6
0
class Declaracao(models.Model):
    id = models.ObjectIdField()
    numero = models.CharField(max_length=10)
    id_uasg = models.ForeignKey(Uasg, on_delete=models.CASCADE)
    id_fornecedor = models.ForeignKey(Fornecedor, on_delete=models.CASCADE)

    def filter_fornecedor_mesmo_pregao(self):
        # Essa funcao retorna uma lista de declaracoes do mesmo pregao ao qual
        # self se refere (aonde "numero" e o codigo do pregao [Ex.:132017] e o
        # id_uasg define o uasg)
        declaracoes_concorrentes = list(
            Declaracao.objects.filter(numero=self.numero,
                                      id_uasg=self.id_uasg_id))
        fornecedores_concorrente = [
            Fornecedor.objects.get(id=d.id_fornecedor_id)
            for d in declaracoes_concorrentes
        ]
        return fornecedores_concorrente

    def filter_contrato(self):
        # Essa func�o retorna uma lista de objetos "Contrato" com todos os contratos relacionados ao pregao dessa declara��o

        contratos_pregao = list(
            Contrato.objects.filter(numero_aviso_licitacao=self.numero,
                                    uasg=self.id_uasg_id))
        return contratos_pregao
Example #7
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
class Rating(models.Model):
    user = models.ForeignKey('auth.User', related_name='ratings', on_delete=models.CASCADE)
    movie = models.ForeignKey(Movie, related_name='ratings', on_delete=models.CASCADE)
    rating = models.IntegerField()

    class Meta:
        unique_together = ('user', 'movie')
Example #9
0
class DarwinBuffering(models.Model):

    interval = models.PositiveIntegerField(
        default=300,
        help_text=_(
            "Number of seconds to cache data before analysing the batch"),
        null=False)

    required_log_lines = models.PositiveIntegerField(
        default=10,
        help_text=_(
            "Minimal number of entries to require before launching analysis"),
        null=False)

    buffer_filter = models.ForeignKey("darwin.FilterPolicy",
                                      related_name="buffers",
                                      on_delete=models.CASCADE,
                                      null=True)

    destination_filter = models.ForeignKey("darwin.FilterPolicy",
                                           related_name="buffering",
                                           on_delete=models.CASCADE)

    def to_dict(self):
        return {
            "interval": self.interval,
            "required_log_lines": self.required_log_lines
        }
Example #10
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 #11
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 #12
0
class Bid(models.Model):
    """
    Bid object. The criteria a buyer specifies for a swipe such that he/she is willing to purchase the swipe.
    """
    BID_STATES = [
        (
            '0', 'Pending'
        ),  # Doesn't meet minimum, sits in the queue until an eligible listing pops up
        (
            '1', 'Accepted'
        ),  # Pairing between buyer and seller has been made (either at the time of bid or after a swipe was created)
        (
            '2', 'Confirmed'
        ),  # Transaction has occured between buyer and seller, whether successful or refund-based
    ]
    bid_id = models.AutoField(primary_key=True)
    status = models.CharField(max_length=1, choices=BID_STATES, default=0)
    swipe = models.ForeignKey(Swipe, on_delete=models.CASCADE, null=True)
    buyer = models.ForeignKey(User, on_delete=models.DO_NOTHING)
    hall_id = models.ForeignKey(DiningHall, on_delete=models.DO_NOTHING)
    bid_price = models.DecimalField(max_digits=5, decimal_places=2)
    desired_time = models.TimeField(null=True)
    visibility = models.ListField(
        blank=True, null=True, default=[]
    )  # An array of JSON objects that contains intervals when this buyer wants the swipe
Example #13
0
class Ride(TimeModel):
    _id = models.ObjectIdField(primary_key=True)
    id = models.CharField(max_length=200)
    driver = models.ForeignKey(User,
                               on_delete=models.DO_NOTHING,
                               related_name='driver')
    customer = models.ForeignKey(User,
                                 on_delete=models.DO_NOTHING,
                                 related_name='customer',
                                 blank=True,
                                 null=True)
    departure = models.CharField(max_length=100)
    destination = models.CharField(max_length=100)
    departure_time = models.DateTimeField()
    cost = models.FloatField()

    class Meta:
        db_table = 'rides'

    def save(self, *args, **kwargs):
        if not self.pk:
            self.id = generate_recovery_code()
        super(Ride, self).save(*args, **kwargs)

    def __str__(self):
        return str(self._id)
Example #14
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)
class Event(models.Model):
    user = models.ForeignKey(User,
                             default=1,
                             null=True,
                             on_delete=models.CASCADE)
    event_time = models.DateTimeField(default=dt.utcnow)
    event_type = models.CharField(max_length=32)
    event_name = models.CharField(max_length=32)
    count = models.IntegerField(default=0)
    media_type = models.CharField(default="image",
                                  max_length=32)  # video or image
    media_path = models.CharField(
        default=root_path + "/media",
        max_length=64)  # link to location of media associated to the event
    heatmap = models.CharField(
        default=root_path + "/media", max_length=64
    )  # link to location of media heatmap associated to the event
    camera = models.ForeignKey(to=Camera, on_delete=models.PROTECT)

    def __str__(self):
        return f"{self.event_name}: {self.event_type}, count: {self.count}"

    def as_json(self):
        doc = {
            "event_time": self.event_time,
            "event_type": self.event_type,
            "event_name": self.event_name,
            "count": self.count,
            "media_type": self.media_type,
            "media_path": self.media_path,
            "heatmap": self.heatmap,
            "camera": self.camera.__str__()
        }
        return doc
Example #16
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 #17
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 #18
0
class RoomReservation(models.Model):
    reservation_id = models.AutoField(primary_key=True)
    hotel_id = models.ForeignKey(Hotel,
                                 on_delete=models.CASCADE,
                                 related_name='reservation_hotel')
    customer_id = models.ForeignKey(Customer,
                                    on_delete=models.CASCADE,
                                    related_name='reservation_customer',
                                    default='')
    room_id = models.ForeignKey(Room,
                                on_delete=models.CASCADE,
                                related_name='reservation_room')
    reservation_description = models.CharField(max_length=60, default='')
    from_date = models.DateField()
    to_date = models.DateField()
    number_of_adults = models.IntegerField()
    number_of_children = models.IntegerField()
    payment_no = models.CharField(max_length=120, blank=True, null=True)

    def get_absolute_url(self):
        return reverse('HotelsAppCRUD:rooms_reservation_index')

    def __str__(self):
        return "(%s) %s (%s) (%s)" % (self.reservation_id,
                                      self.reservation_description,
                                      self.from_date, self.to_date)
Example #19
0
class PropertyReg(models.Model):
    user = models.ForeignKey(User,related_name='owner',on_delete=models.CASCADE)
    property_type = models.ForeignKey(Property,related_name='property',on_delete=models.CASCADE)
    property_address = models.CharField(max_length=255)
    pincode = models.CharField(max_length=6, default='000000')
    city = models.ForeignKey(City,on_delete=models.CASCADE)
    state = models.ForeignKey(State,on_delete=models.CASCADE)
    #Thia for map implimentation using some api url
    # property_location = models.URLField()
    #property_description will be only edited by agentUser
    property_description = models.CharField(max_length=2000, default='')
    agent_id = models.ForeignKey(AgentUser,related_name='who_approves',on_delete=models.CASCADE, null=True)
    approved_date = models.DateTimeField(null=True)
    approved = models.BooleanField(default=False)
    pre_set_amount = models.IntegerField(default=0)
    viewinghours = models.CharField(max_length=20, default="None2")
    submitted = models.BooleanField(default=False)

    def submit(self):
        self.submitted = True
        self.save()

    def approved_auction(self):
        self.approved=True


    def get_absolute_url(self):
        return reverse_lazy('auctions:agent_property_details', kwargs={'pk': self.pk})
Example #20
0
class RoomBilling(models.Model):
    reservation_id = models.AutoField(primary_key=True)
    customer_id = models.ForeignKey(Customer,
                                    on_delete=models.CASCADE,
                                    related_name='billing_customer')
    room_charge_id = models.ForeignKey(RoomCharges,
                                       on_delete=models.CASCADE,
                                       related_name='billing_charge')
    invoice_no = models.CharField(max_length=120, default='')
    billing_address1 = models.CharField(max_length=120)
    billing_address2 = models.CharField(max_length=120, blank=True, null=True)
    county = models.CharField(max_length=120)
    postal_code = models.CharField(max_length=20)
    country = models.CharField(max_length=120)
    total_discounts = models.DecimalField(max_digits=5,
                                          decimal_places=2,
                                          default='')
    total_invoice = models.DecimalField(max_digits=5,
                                        decimal_places=2,
                                        default='')

    def get_absolute_url(self):
        return reverse('HotelsAppCRUD:rooms_billing_index')

    def __str__(self):
        return "(%s) %s" % (self.reservation_id, self.invoice_no)
Example #21
0
class RoomReservationView(models.Model):
    reservation_id = models.AutoField(primary_key=True)
    hotel_id = models.ForeignKey(Hotel, on_delete=models.CASCADE)
    customer_id = models.ForeignKey(Customer, on_delete=models.CASCADE)
    room_id = models.ForeignKey(Room, on_delete=models.CASCADE)
    reservation_description = models.CharField(max_length=60)
    from_date = models.DateField()
    to_date = models.DateField()
    number_of_adults = models.IntegerField()
    number_of_children = models.IntegerField()
    payment_no = models.CharField(max_length=120, blank=True, null=True)

    hotel = models.ArrayModelField(model_container=Hotel, )

    customer = models.ArrayModelField(model_container=Customer, )

    room = models.ArrayModelField(model_container=Room, )

    def get_absolute_url(self):
        return reverse('HotelsAppCRUD:rooms_reservation_index')

    def __str__(self):
        return "(%s) %s (%s) (%s)" % (self.reservation_id,
                                      self.reservation_description,
                                      self.from_date, self.to_date)

    class Meta:
        managed = False
        db_table = 'HotelsAppCRUD_roomreservation_view'
Example #22
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 #23
0
class RunningTestsAnswers(models.Model):
    _id = models.ObjectIdField()
    test_duration = models.IntegerField('Длительность теста')
    start_date = models.DateTimeField('Время запуска теста',
                                      default=timezone.now)
    test = models.ForeignKey(Test,
                             null=True,
                             verbose_name='Запущенный тест',
                             related_name='right_answers',
                             on_delete=models.SET_NULL,
                             default=DEFAULT_TEST_ID)
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             null=True,
                             verbose_name='Пользователь, проходящий тест',
                             related_name='right_answers',
                             on_delete=models.SET_NULL,
                             default=DEFAULT_AUTHOR_ID)
    right_answers = models.ArrayField(model_container=QuestionRightAnswer)
    objects = models.DjongoManager()

    @property
    def time_left(self) -> float:
        delta = timezone.now() - self.start_date
        return self.test_duration - delta.total_seconds()

    class Meta:
        db_table = 'main_running_tests_answers'
        verbose_name = 'Ответы за запущенные тесты'
        verbose_name_plural = 'Ответы за запущенные тесты'
Example #24
0
class TestResult(models.Model):
    _id = models.ObjectIdField()
    is_running = models.BooleanField('Тест еще запущен')
    comment = models.TextField('Комментарий преподавателя', default='')
    date = models.DateTimeField('Время запуска тестирования',
                                default=timezone.now)
    launched_lecturer = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        null=True,
        verbose_name='Пользователь, запустивный тест',
        related_name='testing_results',
        on_delete=models.SET_NULL)
    test = models.ForeignKey(Test,
                             null=True,
                             verbose_name='Тест',
                             related_name='testing_results',
                             on_delete=models.SET_NULL)
    subject = models.ForeignKey(Subject,
                                null=True,
                                verbose_name='Предмет',
                                related_name='testing_results',
                                on_delete=models.SET_NULL)
    objects = models.DjongoManager()

    @property
    def object_id(self):
        return self._id

    class Meta:
        db_table = 'main_tests_results'
        verbose_name = 'Результат тестирования'
        verbose_name_plural = 'Результаты тестирований'
Example #25
0
class History(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    series = models.ForeignKey(Series, on_delete=models.CASCADE)
    movies = models.ForeignKey(Movie, on_delete=models.CASCADE)

    def __str__(self):
        return self.user
Example #26
0
class UserHistory(models.Model):
    user_email = models.ForeignKey(UserData, on_delete=models.CASCADE, related_name="u_user_email")
    payment_modes = (
        ('1', 'Debit/Credit card'),
        ('2', 'UPI'),
        ('3', 'Cash'),
        ('4', 'Net banking'),
    )
    mode_of_payment = models.CharField(choices=payment_modes, default='2', max_length=1)
    timestamp = models.ForeignKey(Booking, on_delete=models.CASCADE, related_name="u_timestamp")
    modes = (
        (1, 'Bus'),
        (2, 'Flight'),
        (3, 'Train'),
        (4, 'Cab'),
        (5, 'Ship'),
    )
    mode_of_travel = models.IntegerField(choices=modes, default=1)
    travel_amount = models.IntegerField()
    restaurant = models.CharField(max_length=100)
    food_amount = models.IntegerField()
    lodge = models.CharField(max_length=100)
    stay_amount = models.IntegerField()

    def __str__(self):
        return f'{self.user_email}\'s history {self.pk}'
Example #27
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 #28
0
class Task(djongo_models.Model):
    """Unit of work to be done for the sprint."""

    STATUS_TODO = 1
    STATUS_IN_PROGRESS = 2
    STATUS_TESTING = 3
    STATUS_DONE = 4

    STATUS_CHOICES = (
        (STATUS_TODO, _('Not Started')),
        (STATUS_IN_PROGRESS, _('In Progress')),
        (STATUS_TESTING, _('Testing')),
        (STATUS_DONE, _('Done')),
    )

    name = djongo_models.CharField(max_length=100)
    description = djongo_models.TextField(blank=True, default='')
    sprint = djongo_models.ForeignKey(Sprint, blank=True, null=True, on_delete=djongo_models.CASCADE)
    status = djongo_models.SmallIntegerField(choices=STATUS_CHOICES, default=STATUS_TODO)
    order = djongo_models.SmallIntegerField(default=0)
    assigned = djongo_models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=djongo_models.SET_NULL)
    started = djongo_models.DateField(blank=True, null=True)
    due = djongo_models.DateField(blank=True, null=True)
    completed = djongo_models.DateField(blank=True, null=True)

    def __str__(self):
        return self.name
Example #29
0
class TOTPProfile(models.Model):
    """ Class for Learning Profiles

    Encryption is done via AES256
    """
    auth_repository = models.ForeignKey(
        to="authentication.BaseRepository",
        verbose_name=_("Authentication repository"),
        default=None,
        on_delete=models.CASCADE)
    totp_repository = models.ForeignKey(
        to="authentication.OTPRepository",
        verbose_name=_("TOTP authentication repository"),
        default=None,
        on_delete=models.CASCADE,
        related_name="totp_profiles_of")
    login = models.TextField(verbose_name=_("User's login"), default="")
    encrypted_value = models.TextField(default="")

    class meta:
        unique_together = ("auth_repository", "totp_repository", "login")

    def decrypt(self):
        """
        :return: Return the password in cleartext
        """
        aes = AESCipher(str(settings.SECRET_KEY) + str(self.login))
        data = aes.decrypt(self.encrypted_value)
        if str(data) == '':
            return None
        return data

    def set_data(self, value):
        """
        :return: Return the encrypted value
        """
        aes = AESCipher(str(settings.SECRET_KEY) + str(self.login))
        self.encrypted_value = aes.encrypt(str(value)).decode('utf8')
        return self.encrypted_value

    def store(self):
        self.save()

    def to_dict(self):
        return {
            'id': str(self.id),
            "auth_repository": str(self.auth_repository.id),
            "totp_repository": str(self.totp_repository.id),
            "login": str(self.login)
        }

    def to_template(self):
        """  returns the attributes of the class """
        return {
            'id': str(self.id),
            'auth_repository': str(self.auth_repository),
            'totp_repository': str(self.totp_repository),
            'login': self.login
        }
Example #30
0
class Ferias(models.Model):
    OPCOES = (
        (15, "Quinze dias"),
        (30, "Trinta dias"),
    )

    objects = models.Manager()

    class FeriasFruidas(models.Manager):
        def all(self):
            return super().get_queryset().filter(
                Q(tipo='f') & Q(data_termino__lt=timezone.now().date()) & Q(deferida=True))

    class FeriasIndeferidas(models.Manager):
        def all(self):
            return super().get_queryset().filter(Q(tipo='f') & Q(deferida=False))

    class FeriasEmAndamento(models.Manager):
        def all(self):
            return super().get_queryset().filter(Q(tipo='f') & Q(data_inicio__lte=timezone.now().date()) & Q(
                data_termino__gte=timezone.now().date()) & Q(deferida=True))

    fruidas = FeriasFruidas()
    indeferidas = FeriasIndeferidas()
    em_andamento = FeriasEmAndamento()

    trabalhador = models.ForeignKey(Trabalhador, on_delete=models.CASCADE)
    qtd_dias = models.IntegerField(choices=OPCOES)
    data_inicio = models.DateField()
    data_termino = models.DateField(editable=False)
    criado_em = models.DateTimeField(auto_now_add=True)
    modificado_em = models.DateTimeField(auto_now=True)
    deferida = models.BooleanField(editable=False, default=False)
    observacoes = models.TextField(blank=True, editable=False)
    tipo = models.CharField(max_length=2, default='f', editable=False)
    fruida = models.BooleanField(editable=False, default=False)
    criado_por = models.ForeignKey(User, on_delete=models.SET_NULL, editable=False, null=True, blank=True)

    def save(self, validacao=True, *args, **kwargs):

        self.data_termino = self.data_inicio + timedelta(days=self.qtd_dias - 1)

        if not validacao:
            self.deferida = False
        else:
            self.deferida = valida_ferias(self)

        super(Ferias, self).save(*args, **kwargs)

    def __str__(self):
        return '%d dias - %s -saindo %s' % (self.qtd_dias, self.trabalhador.nome, self.data_inicio.strftime("%d/%m/%Y"))

    def get_absolute_url(self):
        return reverse('ferias')

    class Meta:
        verbose_name_plural = "Férias"
        verbose_name = "Férias"
        ordering = ['data_inicio']