Exemple #1
0
class User(UserMixin, database.Model):
    """User account model."""
    __tablename__ = 'flasklogin-users'
    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(100), nullable=False, unique=False)
    email = database.Column(database.String(40), unique=True, nullable=False)
    role = database.Column(database.String(40), unique=True, nullable=False)
    password = database.Column(database.String(200),
                               primary_key=False,
                               unique=False,
                               nullable=False)
    enrolled = database.relationship("EduSchedu",
                                     secondary=student_identifier,
                                     backref=database.backref('enrolled'),
                                     lazy='dynamic')
    approlled = database.relationship("ApptSchedu",
                                      secondary=student_appt,
                                      backref=database.backref('approlled'),
                                      lazy='dynamic')

    def avatar(self, size):
        digest = md5(self.email.lower().encode('utf-8')).hexdigest()
        return 'https://www.gravatar.com/avatar/{}?d=identicon&s={}'.format(
            digest, size)

    def set_password(self, password):
        self.password = generate_password_hash(password, method='sha256')

    def check_password(self, password):
        return self.password

    def __repr__(self):
        return "%s" % (self.name)
Exemple #2
0
class Registration(database.Model):
    def __init__(self, user, tour, date, paid):
        self.user = user
        self.tour = tour
        self.date = date
        self.isPaid = paid

    __tablename__ = 'registrations'

    id = database.Column(database.Integer, primary_key=True)

    tour_id = database.Column(database.Integer,
                              database.ForeignKey('tours.id'),
                              nullable=False)

    tour = database.relationship('Tour',
                                 backref=database.backref('registrations',
                                                          lazy='dynamic'))

    user_id = database.Column(database.Integer,
                              database.ForeignKey('users.id'),
                              nullable=False)

    user = database.relationship('User',
                                 backref=database.backref('registrations',
                                                          lazy='dynamic'))

    date = database.Column(database.DateTime)
    isPaid = database.Column(database.Boolean)

    def __repr__(self):
        return '<Registration \'{}\'>'.format(self.id)
Exemple #3
0
class User(database.Model, UserMixin):
    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(255))
    last_name = database.Column(database.String(255))
    email = database.Column(database.String(255), unique=True)
    password_hash = database.Column(database.String(255))
    active = database.Column(database.Boolean(), default=False)
    roles = database.relationship(
        'Role',
        secondary=roles_users,
    )
    seances_and_users = database.relationship(
        'Seance',
        secondary=seances_and_users,
        cascade="all,delete",
        backref=database.backref('users_on_seance', passive_deletes=True)
    )

    def __str__(self):
        return "{} {}".format(self.name, self.last_name)

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)

    def push_user_to_database_and_set_role(self):
        from app import user_datastore
        user_datastore.create_user(name=self.name, last_name=self.last_name,
                                   email=self.email, password_hash=self.password_hash, active=False)
        user_datastore.add_role_to_user(self.email, 'user')
Exemple #4
0
class Notification(database.Model):
    def __init__(self, to_user, subject_, message, date_):
        self.to_user_id = to_user
        self.subject = subject_
        self.message = message
        self.date = date_
        self.read = 0

    __tablename__ = 'notification'

    id = database.Column(database.Integer, primary_key=True)

    to_user_id = database.Column(database.Integer,
                                 database.ForeignKey('users.id'),
                                 nullable=False)

    to_user = database.relationship('User',
                                    backref=database.backref('notification',
                                                             lazy='dynamic'))

    date = database.Column(database.DateTime, nullable=False)

    message = database.Column(database.Text)

    read = database.Column(database.Integer)

    subject = database.Column(database.Text)

    def __repr__(self):
        return '<Notification \'{}\'>'.format(self.id)
Exemple #5
0
class User(database.Model, UserMixin):
  id = database.Column(database.Integer, primary_key=True)
  email = database.Column(database.String(100), unique=True)
  password = database.Column(database.String(255))
  active = database.Column(database.Boolean)
  roles = database.relationship(
    'Role', secondary=user_role_relation_database, backref=database.backref('users'), lazy='dynamic'
  )
Exemple #6
0
class EduSchedu(database.Model):
    __tablename__ = 'classes'
    id = database.Column(database.Integer, primary_key=True)
    time = database.Column(TIME(), nullable=False)
    dow = database.Column(database.Integer, default='')
    classname = database.Column(database.String(100), default='')
    zoomlink = database.Column(database.String(500), default='')
    students = database.relationship("User",
                                     secondary=student_identifier,
                                     backref=database.backref('students'),
                                     lazy='dynamic')
Exemple #7
0
class Tour(database.Model):
    def __init__(self, data):
        self.name = data['name']
        self.place = data['place']
        self.start_datetime = data['start_date']
        self.end_datetime = data['end_date']
        self.experience_id = data['experience']
        self.tour_guide_id = data['tour_guide']
        self.description = data['description']
        self.price = data['price']

    __tablename__ = 'tours'

    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(64), index=True)
    place = database.Column(database.String(64))
    start_datetime = database.Column(database.DateTime)
    end_datetime = database.Column(database.DateTime)
    images = database.Column(database.Text)

    experience_id = database.Column(database.Integer,
                                    database.ForeignKey('experiences.id'))

    experience = database.relationship('Experience',
                                       backref=database.backref(
                                           'tours', lazy='dynamic'))

    tour_guide_id = database.Column(database.Integer,
                                    database.ForeignKey('users.id'))

    tour_guide = database.relationship('User',
                                       backref=database.backref(
                                           'tours', lazy='dynamic'))

    description = database.Column(database.Text)

    price = database.Column(database.Integer)

    def __repr__(self):
        return '{}'.format(self.name)
Exemple #8
0
class User(UserMixin, database.Model):
    def __init__(self, name, pwd, email_):
        self.username = name
        self.password = pwd
        self.email = email_

    __tablename__ = 'users'

    id = database.Column(database.Integer, primary_key=True)
    username = database.Column(database.String(64), unique=True, index=True)
    password = database.Column(database.String(40), nullable=False)
    fullname = database.Column(database.String(64), nullable=False)
    avatar_src = database.Column(database.String(100))
    birth = database.Column(database.Date)

    experience_id = database.Column(database.Integer,
                                    database.ForeignKey('experiences.id'))

    experience = database.relationship('Experience',
                                       backref=database.backref(
                                           'users', lazy='dynamic'))

    account_type_id = database.Column(database.Integer,
                                      database.ForeignKey('roles.id'))

    account_type = database.relationship('Role',
                                         backref=database.backref(
                                             'users', lazy='dynamic'))

    email = database.Column(database.String(100), nullable=False)
    phone = database.Column(database.String(11))
    allowance = database.Column(database.Integer)
    numoftours = database.Column(database.Integer)
    status = database.Column(database.Integer)

    def __repr__(self):
        return '<User \'{}\'>'.format(self.username)
Exemple #9
0
class Product(database.Model):
    __searchable__ = ["name", "price"]

    id = database.Column(database.Integer, primary_key=True)
    name = database.Column(database.String(50), unique=True, nullable=False)
    price = database.Column(database.Integer, nullable=False, default=0.00)
    rating = database.Column(database.Integer, nullable=True, default=5)
    description = database.Column(database.Text, nullable=False)
    image_file = database.Column(
        database.String(150),
        unique=False,
        nullable=True,
        default="/static/profilePics/default_" +
        str(random.randint(1,
                           len(os.listdir("app/static/profilePics")) + 1)) +
        ".jpg")
    date_posted = database.Column(database.DateTime,
                                  nullable=False,
                                  default=datetime.utcnow)
    company_id = database.Column(database.Unicode(36),
                                 database.ForeignKey("company.id"),
                                 nullable=True)
    reviews = database.relationship("Review",
                                    cascade="all,delete",
                                    backref="product",
                                    lazy="dynamic")
    wishlist = database.relationship("User",
                                     secondary=items,
                                     backref=database.backref("wishlist",
                                                              lazy="dynamic"))

    @staticmethod
    def generate_fake():
        from random import seed
        import forgery_py

        seed()
        company_count = Company.query.count()
        for i in range(company_count):
            company = Company.query.offset(randint(0,
                                                   company_count - 1)).first()
            product = Review(name=forgery_py.lorem_ipsum.words(randint(1, 3)),
                             price=forgery_py.monetary.money(),
                             description=forgery_py.lorem_ipsum.sentences(
                                 randint(1, 3)),
                             company=company)
            database.session.add(product)
        database.session.commit()
Exemple #10
0
class Post(database.Model):
  id = database.Column(database.Integer, primary_key=True)
  title = database.Column(database.String(256))
  slug = database.Column(database.String(256), unique=True)
  body = database.Column(database.Text)
  creation_date = database.Column(database.DateTime, default=datetime.now())

  tags = database.relationship(
    'Tag', secondary=post_tag_relation_database, backref=database.backref('posts'), lazy='dynamic'
  )

  def __init__(self, *args, **kwargs):
    super(Post, self).__init__(*args, **kwargs)
    if self.title:
      self.slug = slugify(self.title, 'Post')
    else:
      self.slug = slugify(str(int(time())), 'Post')

  # Magic method that will return the object name while using print(object)
  def __repr__(self):
    return f'<Post id: {self.id} title: {self.title}>'
Exemple #11
0
class Post(database.Model):
    id = database.Column(database.Integer, primary_key=True)
    title = database.Column(database.String(140))
    slug = database.Column(database.String(140), unique=True)
    body = database.Column(database.Text)
    created = database.Column(database.DateTime, default=datetime.now())
    tags = database.relationship('Tag',
                                 secondary=post_tags,
                                 backref=database.backref('posts'),
                                 lazy='dynamic')

    def __init__(self, *args, **kwargs):
        super(Post, self).__init__(*args, **kwargs)
        self.generate_slug()

    def generate_slug(self):
        if self.title:
            self.slug = slugify(self.title)

    def __repr__(self):
        return '{}'.format(self.title)
Exemple #12
0
class PatientService(database.Model):
    __tablename__ = 'patient_services'
    id = database.Column(database.Integer,
                         autoincrement=True,
                         primary_key=True,
                         info={'label': 'ID'})
    provided_service = database.Column(database.String(255),
                                       nullable=False,
                                       info={'label': 'Service Provided'})
    service_date = database.Column(database.Date,
                                   nullable=False,
                                   info={'label': 'Date'})
    service_name = database.Column(database.String(100),
                                   nullable=False,
                                   info={'label': 'Name of Lab Test'})
    service_type = database.Column(database.Enum('Hematology', 'Microbiology',
                                                 'Chemical Pathology',
                                                 'Histopathology',
                                                 'Immunology'),
                                   nullable=False,
                                   info={'label': 'Service Type'})
    provider_name = database.Column(database.String(100),
                                    nullable=False,
                                    info={'label': 'Doctor Name'})
    provider_source = database.Column(database.String(150),
                                      nullable=False,
                                      info={'label': 'Name of Hospital'})
    cost = database.Column(database.DECIMAL,
                           nullable=False,
                           info={'label': 'Cost of Services'})
    patient_id = database.Column(database.Integer,
                                 database.ForeignKey('patient.id'),
                                 nullable=False,
                                 info={'label': 'Patient ID'})
    patient = database.relationship(Patient,
                                    backref=database.backref("services"),
                                    lazy=True)