Beispiel #1
0
class Schedule(VistaApiDocument):
    employee = fl.ReferenceField(Employee)
    shift_start_time = fl.IntField(max_value=1000,
                                   choices=SHIFT_START_TIME,
                                   required=True)
    work_day = fl.DateField()  # indexed
    vacation_day = fl.DateField()
Beispiel #2
0
class Task(Document):
    """"""
    name = fields.StringField(required=True)
    description = fields.StringField()
    start_date = fields.DateField()
    end_date = fields.DateField()
    phase = fields.StringField(choices=PHASES_CHOICE, required=True)
    project = fields.ReferenceField('Project',
                                    required=True,
                                    reverse_delete_rule=mongoengine.CASCADE)
    assignee = fields.ReferenceField('User',
                                     required=True,
                                     reverse_delete_rule=mongoengine.CASCADE)
    reporter = fields.ReferenceField('User',
                                     reverse_delete_rule=mongoengine.NULLIFY)
    comments = fields.StringField(null=True)
    created_on = fields.DateTimeField()
    modified_on = fields.DateTimeField(default=datetime.datetime.now())
    parent_task = fields.ReferenceField(
        'self',
        required=False,
        blank=True,
        null=True,
        reverse_delete_rule=mongoengine.CASCADE)

    def save(self, *args, **kwargs):
        if not self.created_on:
            self.created_on = datetime.datetime.now()
        self.modified_on = datetime.datetime.now()
        return super(Task, self).save(*args, **kwargs)
Beispiel #3
0
class People(Document):
    _id = fields.ObjectIdField()
    name = fields.StringField()
    born = fields.DateField()
    sexuality = fields.StringField()
    school = fields.ReferenceField(School)
    group = fields.ListField(fields.ReferenceField(Group))
    year = fields.DateField()
    types = fields.StringField()
    email = fields.EmailField()
    password = fields.StringField()
    favorites = fields.ReferenceField(Folder)

    meta = {'allow_inheritance': True}
Beispiel #4
0
class Employee(VistaApiDocument):
    class VacationDates(EmbeddedDocument):
        vacation_start_date = fl.DateField()
        vacation_end_date = fl.DateField()

    first_name = fl.StringField(max_length=30, required=True)
    last_name = fl.StringField(max_length=30, required=True)  # indexed
    patronymic = fl.StringField(max_length=30)
    active = fl.BooleanField(default=True)
    preffered_time = fl.IntField(max_value=1000, choices=SHIFT_START_TIME)
    start_work_date = fl.DateField(default=(datetime.utcnow()).date())
    date_of_dismissal = fl.DateField()
    vacation_days = fl.IntField(default=0)
    vacation_dates = fl.EmbeddedDocumentListField(VacationDates)
Beispiel #5
0
class User(Document):
    """Defines a user model for the database

    Attributes:
        email: The unique email used to register the user
        hashed_password: The string representation of the user's hashed password
        date_registered: The date the user registered for an account
        email_verified: A flag to track whether the user has verified their email
    """
    email = fields.EmailField(unique=True, required=True)
    hashed_password = fields.StringField(required=True)
    date_registered = fields.DateField(
        default=datetime.now().strftime("%Y-%m-%d"))
    email_verified = fields.BooleanField(default=False)

    def check_user_provided_password(self, user_provided_password) -> bool:
        """Checks the validity of the user provided password

        Parameters:
            user_provided_password: password entered by the user

        Returns:
            Boolean value associated with validity of user provided password
        """
        return check_password_hash(self.hashed_password,
                                   user_provided_password)
Beispiel #6
0
class Graffiti(EmbeddedDocument):
    _id = fields.ObjectIdField(required=True,
                               default=lambda: fields.ObjectId())
    imagen = fields.URLField(required=True)
    estado = fields.StringField(required=True)  #poner enumerado
    fechaCaptura = fields.DateField(required=True)
    autor = fields.ReferenceField(Usuario, required=True)
Beispiel #7
0
class FundHistoryNetWorth(MongoModel):
    """基金历史净值"""

    meta = {'collection': 'fund_history_net_worth', 'indexes': ['code']}

    code = fields.StringField(max_length=6, verbose_name='基金代码')
    fund_name = fields.StringField(verbose_name='基金代码')
    net_worth = fields.IntField(verbose_name='净值, x1000')
    date = fields.DateField(verbose_name='日期')
    daily_growth_rate = fields.FloatField(verbose_name='日增长率')

    @classmethod
    def create(cls, code, fund_name, net_worth, date, daily_growth_rate,
               **kwargs):
        """注意使用同步需要保证有connection"""
        obj = cls(code=code,
                  fund_name=fund_name,
                  net_worth=net_worth,
                  date=date,
                  daily_growth_rate=daily_growth_rate,
                  **kwargs)
        return obj.save()

    async def normal_info(self):
        return {
            'code': self.code,
            'fund_name': self.fund_name,
            'net_worth': self.net_worth,
            'date': self.date,
            'daily_growth_rate': self.daily_growth_rate
        }
class TaskCard(BaseDocument):
    task_due_date = fl.DateField(default=datetime.utcnow)
    task_type = fl.StringField(max_length=10,
                               choices=['Reminder', 'Call', 'Event'])
    task_status = fl.StringField(max_length=10,
                                 choices=['Active', 'Completed', 'Ended'])
    # TODO: set max_length
    task_body = fl.StringField()
    assigned_by_user = fl.ReferenceField(User, reverse_delete_rule=DENY)
Beispiel #9
0
class Project(Document):
    """"""
    name = fields.StringField(required=True)
    description = fields.StringField()
    maintainer = fields.ReferenceField('User',
                                       required=True,
                                       reverse_delete_rule=mongoengine.CASCADE)
    organization = fields.ReferenceField(
        'Organization', required=True, reverse_delete_rule=mongoengine.CASCADE)
    start_date = fields.DateField()
    end_date = fields.DateField()
    created_on = fields.DateTimeField()
    modified_on = fields.DateTimeField(default=datetime.datetime.now())
    time = fields.DateTimeField()

    def save(self, *args, **kwargs):
        if not self.created_on:
            self.created_on = datetime.datetime.now()
        self.modified_on = datetime.datetime.now()
        return super(Project, self).save(*args, **kwargs)
Beispiel #10
0
class CovidPersonalUser(Document):

    user = fields.LongField(required=True)
    date_birth = fields.DateField(required=True)
    last_send_geo = fields.DateTimeField()
    last_update_status = fields.DateTimeField(default=datetime.now)
    created_at = fields.DateTimeField(default=datetime.now)
    status = fields.StringField(required=True)
    observation = fields.StringField()
    coordinates = fields.PointField()

    class Meta:
        verbose_name = 'CovidPersonalUser'
        verbose_name_plural = 'CovidPersonalUsers'

    def __str__(self):
        return User.objects.get(pk=self.user).name
Beispiel #11
0
class CustomerDetails(Document):
    id = fields.IntField(db_field='id', primary_key=True, name='Customer ID')
    first_name = fields.StringField(required=True, name="First Name")
    last_name = fields.StringField(required=True, name="Last Name")
    full_name = fields.StringField(name="Customer Name")
    dob = fields.DateField(name="Date Of Birth", blank=False)
    phone_no = fields.IntField(name='Phone Number')
    pan_no = fields.DynamicField(name='PAN No')
    adhaar_no = fields.IntField(name='Adhaar No')
    # Seperate entity Address
    address = fields.ListField(fields.EmbeddedDocumentField(CustomerAddress))

    def save(self, *args, **kw):
        if self.full_name == '':
            self.full_name = '{0} {1}'.format(self.first_name, self.last_name)
        id_count = CustomerDetails.objects.count() + 1
        self.id = id_count
        super(CustomerDetails, self).save(*args, **kw)
Beispiel #12
0
class Rollcall(mongoengine.Document):
    """A rollcall object."""

    bill_number = fields.StringField()
    clerk_rollnumber = fields.IntField()
    congress = fields.IntField()
    session = fields.IntField()
    vote_desc = fields.StringField()
    vote_question = fields.StringField()
    rollnumber = fields.IntField()
    rollcall_id = fields.StringField(db_field="id")
    vote_type = fields.StringField()
    nominate = fields.EmbeddedDocumentField(RollcallNominate)
    vote_result = fields.StringField()
    date = fields.DateField()
    legis_num = fields.StringField()
    percent_support = fields.FloatField()
    chamber = fields.StringField()
    last_updated = fields.DateTimeField()
    votes = fields.ListField(fields.EmbeddedDocumentField(Vote))

    meta = {"collection": "voteview_rollcalls", "strict": False}
class Deal(BaseDocument):
    deal_date = fl.DateField()
    amount = fl.IntField()
    client = fl.StringField()
Beispiel #14
0
class Patient(Document):
    pid = fields.StringField(required=True)
    name = fields.StringField(required=True)
    phone = fields.StringField(required=True)
    dob = fields.DateField(required=True)
    tests = fields.ListField(fields.EmbeddedDocumentField(Test))
Beispiel #15
0
class Todo(DynamicDocument):
    date = fields.DateField()
    event = fields.StringField()
Beispiel #16
0
class Lote(EmbeddedDocument):
    existencia = fields.IntField()
    fecha_vencimiento = fields.DateField()
Beispiel #17
0
 class VacationDates(EmbeddedDocument):
     vacation_start_date = fl.DateField()
     vacation_end_date = fl.DateField()
Beispiel #18
0
class Noticia(Document):
    titulo_noticia = fields.StringField(required=True)
    texto_noticia = fields.StringField(required=True)
    data_noticia = fields.DateField(required=False, null=True)
    autor_noticia = fields.StringField(required=True)
Beispiel #19
0
class DefecturaCard(VistaApiDocument):
    drug_name = fl.StringField(max_length=60, required=True)
    comment = fl.StringField(max_length=200)
    employee_name = fl.StringField(max_length=30, required=True)
    in_zd = fl.BooleanField(default=False)  # indexed
    date = fl.DateField(default=(datetime.utcnow()).date())  # indexed
Beispiel #20
0
class Autor(Document):
    nome_autor = fields.StringField(required=True)
    email_autor = fields.StringField(required=True)
    data_cadastro_autor = fields.DateField(required=False,null=True)
Beispiel #21
0
class Project(EmbeddedDocument):
    projectId = fields.StringField(max_length=10, required=True, null=False)
    projectName = fields.StringField(max_length=100, required=True)
    startDate = fields.DateField()
    endDate = fields.DateField()
Beispiel #22
0
class Group(Document):
    _id = fields.ObjectIdField()
    name = fields.StringField()
    rank = fields.IntField()
    year = fields.DateField()
    school = fields.ReferenceField(School)