Exemple #1
0
class distributionfigures_gfd(db.Model):
    __tablename__ = 'distributionfigures_gfd'  # To do: rename the table distributionfigures_monthly
    id = db.Column(db.Integer, primary_key=True)
    month = db.Column(db.Integer,
                      unique=False,
                      nullable=True,
                      primary_key=False)
    year = db.Column(db.Integer,
                     unique=False,
                     nullable=True,
                     primary_key=False)
    hh_reached = db.Column(db.Integer,
                           unique=False,
                           nullable=True,
                           primary_key=False)
    hh_planned = db.Column(db.Integer,
                           unique=False,
                           nullable=True,
                           primary_key=False)
    distribution_point = db.Column(db.Integer,
                                   db.ForeignKey('distribution_points2.id'),
                                   nullable=False,
                                   primary_key=False)
    moomken = db.Column(db.Boolean())
    wfp = db.Column(db.Boolean())
class Attendance(db.Model):
    __tablename__ = 'event_attendance'

    id = db.Column(db.Integer, primary_key=True)
    meetup_user_id = db.Column(db.String())
    event_id = db.Column(db.Integer,
                         db.ForeignKey('events.id'),
                         nullable=False)
    did_attend = db.Column(db.Boolean())
    did_rsvp = db.Column(db.Boolean())
    title = db.Column(db.String())
    event_host = db.Column(db.String())
    rsvp_date = db.Column(db.DateTime())
    date_joined_group = db.Column(db.DateTime())

    def __init__(self, meetup_user_id, event_id, did_attend, did_rsvp, title,
                 event_host, rsvp_date, date_joined_group):
        self.meetup_user_id = meetup_user_id
        self.event_id = event_id
        self.did_attend = did_attend
        self.did_rsvp = did_rsvp
        self.title = title
        self.event_host = event_host
        self.rsvp_date = rsvp_date
        self.date_joined_group = date_joined_group

    def __repr__(self):
        return '<meetup_user_id {}>'.format(self.meetup_user_id)
Exemple #3
0
class User(db.Model):
    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    email = db.Column(db.String(200), nullable=False, unique=True)
    password = db.Column(db.String(200), nullable=False)
    is_turkuamk = db.Column(db.Boolean(), default=False)
    is_admin = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    reservations = db.relationship('Reservation', backref='user')
    timeframes = db.relationship('Timeframes', backref='user')

    @classmethod
    def get_by_username(cls, username):
        return cls.query.filter_by(username=username).first()

    @classmethod
    def get_by_email(cls, email):
        return cls.query.filter_by(email=email).first()

    @classmethod
    def get_by_id(cls, user_id):
        return cls.query.filter_by(id=user_id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Exemple #4
0
class distributionfigures_rrm(db.Model):
    __tablename__ = 'distributionfigures_rrm'
    id = db.Column(db.Integer, primary_key=True)
    hh_reached = db.Column(db.Integer,
                           unique=False,
                           nullable=True,
                           primary_key=False)
    distribution_point = db.Column(db.Integer,
                                   db.ForeignKey('distribution_points2.id'),
                                   nullable=False,
                                   primary_key=False)
    moomken = db.Column(db.Boolean())
    wfp = db.Column(db.Boolean())
Exemple #5
0
class distribution_points2(db.Model):
    __tablename__ = 'distribution_points2'
    id = db.Column(db.Integer, primary_key=True)
    distributionpoint = db.Column(db.String(100))
    partner = db.Column(db.String(80))
    activity = db.Column(db.String(80))
    idps = db.Column(db.Boolean())
    returnees = db.Column(db.Boolean())
    nondisplaced = db.Column(db.Boolean())
    migrants = db.Column(db.Boolean())
    comments = db.Column(db.String(100))
    geom = db.Column(Geometry('POINT'))  # PostGIS data type
    mantika = db.Column(db.String(80))
    baladiya = db.Column(db.String(80))
    muhalla = db.Column(db.String(80))
Exemple #6
0
class User(db.Model):
    __tablename__ = "user"

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(100), nullable=False, unique=True)
    email = db.Column(db.String(100), nullable=False, unique=True)
    password = db.Column(db.String(200), nullable=False)
    items = db.relationship("Item", backref="user")
    rating = db.Column(db.Float())
    profile_picture = db.Column(db.String(300), default=None)
    is_admin = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(), nullable=False,
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(), nullable=False,
                           server_default=db.func.now(),
                           onupdate=db.func.now())

#Funktio joka hakee käyttäjänimen mukaan
    @classmethod
    def get_by_username(cls, username):
        return cls.query.filter_by(username=username).first()
#Funktio joka hakee sähköpostin mukaan
    @classmethod
    def get_by_email(cls, email):
        return cls.query.filter_by(email=email).first()

# Funktio joka hakee käyttäjän id.n mukaan
    @classmethod
    def get_by_id(cls, id):
        return cls.query.filter_by(id=id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()
Exemple #7
0
class Workspace(db.Model):

    __tablename__ = 'workspace'
    id = db.Column(db.Integer, primary_key=True)
    workspace_number = db.Column(db.String(30), nullable=False, unique=True)
    turkuamk_only = db.Column(db.Boolean(), default=False)
    available_space = db.Column(db.Integer)

    def info(self):
        return {
            'id': self.id,
            'workspace_number': self.workspace_number,
            'turkuamk_only': self.turkuamk_only,
            'available_space': self.available_space
        }

    @classmethod
    def get_all(cls):
        return cls.query.all()

    @classmethod
    def get_by_id(cls, workspace_id):
        return cls.query.filter_by(id=workspace_id).first()

    @classmethod
    def get_by_number(cls, workspace_number):
        return cls.query.filter_by(workspace_number=workspace_number).first()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Exemple #8
0
class User(BaseModelMixin):
    """User model to store user details"""

    __tablename__ = 'users'

    username = db.Column(db.String(100), default="")
    email = db.Column(db.String(255), unique=True, nullable=False)
    password_hash = db.Column(db.String(128), default="")
    is_superuser = db.Column(db.Boolean(), default=False)

    profile = db.relationship(
        'Profile', backref="user", uselist=False, lazy=True
    )

    @property
    def password(self):
        raise AttributeError('password: write-only field')

    @password.setter
    def password(self, password):
        self.password_hash = sha256.hash(password)

    def check_password(self, password):
        return sha256.verify(password, self.password_hash)

    def __repr__(self):
        return "<User '{}'>".format(self.email)
Exemple #9
0
class Personel(db.Model):
    __tablename__ = 'personel'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), nullable=False, unique=True)
    firstname = db.Column(db.String(80))
    lastname = db.Column(db.String(80))
    email = db.Column(db.String(200), nullable=False, unique=True)
    phone_number = db.Column(db.String(200))
    role = db.Column(db.String(80))
    password = db.Column(db.String(200))
    is_active = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now(),
                           onupdate=db.func.now())

    facilities = db.relationship('Facility', backref='personel')

    animals = db.relationship('Animal', backref='personel')

    @classmethod
    def get_by_username(cls, username):
        return cls.query.filter_by(username=username).first()

    @classmethod
    def get_by_email(cls, email):
        return cls.query.filter_by(email=email).first()

    def save(self):
        db.session.add(self)
        db.session.commit()
Exemple #10
0
class Equipment(db.Model):
    mac_address = db.Column(db.String(), primary_key=True)
    name = db.Column(db.StringField())
    description = db.Column(db.StringField())
    samppling_frequency = db.Column(db.IntField())
    sensors = db.relationship('Sensor', backref='equipment', lazy=True)
    available = db.Column(db.Boolean(True))
Exemple #11
0
class User(db.Model):
    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), nullable=False, unique=True)
    email = db.Column(db.String(200), nullable=False, unique=True)
    password = db.Column(db.String(200))
    is_active = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now(),
                           onupdate=db.func.now())

    sheets = db.relationship('Sheet', backref='user')

    @classmethod
    def get_by_username(cls, username):
        return cls.query.filter_by(username=username).first()

    @classmethod
    def get_by_email(cls, email):
        return cls.query.filter_by(email=email).first()

    @classmethod
    def get_by_id(cls, id):
        return cls.query.filter_by(id=id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()
Exemple #12
0
class Event(db.Model):
    __table_name__ = "event"

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

    name = db.Column(db.String(100), nullable=False)

    description = db.Column(db.String(200))

    is_publish = db.Column(db.Boolean(), default=False)

    event_date = db.Column(db.String(100))

    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())

    updated_at = db.Column(
        db.DateTime(),
        nullable=False,
        server_default=db.func.now(),
        onupdate=db.func.now(),
    )

    user_id = db.Column(db.Integer(), db.ForeignKey("user.id"))
class Recipe(db.Model):
    __tablename__ = 'recipe'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.String(200))
    num_of_servings = db.Column(db.Integer)
    cook_time = db.Column(db.Integer)
    directions = db.Column(db.String(1000))
    is_publish = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now(),
                           onupdate=db.func.now())

    user_id = db.Column(db.Integer(), db.ForeignKey("user.id"))

    @classmethod
    def get_all_published(cls):
        return cls.query.filter_by(is_publish=True).all()

    @classmethod
    def get_by_id(cls, recipe_id):
        return cls.query.filter_by(id=recipe_id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Exemple #14
0
class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), nullable=False)
    email = db.Column(db.String(200), nullable=False)
    password = db.Column(db.String(200))
    is_active = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(), nullable=False, server_default=db.func.now())
    updated_at = db.Column(
        db.DateTime(),
        nullable=False,
        server_default=db.func.now(),
        onupdate=db.func.now(),
    )
    recipes = db.relationship("Recipe", backref="user")
    avatar_image = db.Column(db.String(100), default=None)

    @classmethod
    def get_by_username(cls, username):
        return cls.query.filter_by(username=username).first()

    @classmethod
    def get_by_email(cls, email):
        return cls.query.filter_by(email=email).first()

    def save(self):
        db.session.add(self)
        db.session.commit()

    @classmethod
    def get_by_id(cls, user_id):
        return cls.query.get_or_404(user_id)
Exemple #15
0
class BoothInfo(db.Model, CRUDMixin):

    __tablename__ = 'corner_booth_info'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    booth_id = db.Column(db.String(255))
    # Basic Info
    booth_name = db.Column(db.String(255))
    loc_text = db.Column(db.Text())
    loc_lo = db.Column(db.String(255))
    loc_la = db.Column(db.String(255))
    city = db.Column(db.String(255))
    district = db.Column(db.String(255))
    business_district = db.Column(db.String(255))
    phone_number = db.Column(db.String(255))
    email = db.Column(db.String(255))
    open_time = db.Column(db.String(255))
    category = db.Column(db.String(255))
    # About the owner
    booth_owner = db.Column(db.String(255))
    booth_story = db.Column(db.Text())
    # Miscs
    check_in_num = db.Column(db.Integer)
    priority = db.Column(db.Integer)
    create_time = db.Column(db.DateTime)
    update_time = db.Column(db.DateTime)
    create_by = db.Column(db.String(255))
    disabled = db.Column(db.Boolean())
Exemple #16
0
class Recipe(db.Model):
    __tablename__ = 'recipe'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.String(200))
    num_of_servings = db.Column(db.Integer)
    cook_time = db.Column(db.String(200))
    directions = db.Column(db.String(100))
    is_publish = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    update_at = db.Column(db.DateTime(),
                          nullable=False,
                          server_default=db.func.now(),
                          onupdate=db.func.now())
    cover_image = db.Column(db.String(100), default=None)
    ingredients = db.Column(db.String(1000))

    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    @classmethod
    def get_all_published(cls, q, page, per_page, sort, order):
        keyword = f'%{q}%'
        if order == 'asc':
            sort_logic = asc(getattr(cls, sort))
        else:
            sort_logic = desc(getattr(cls, sort))
        return cls.query.filter(or_(
            cls.name.ilike(keyword),
            cls.description.ilike(keyword),
            cls.ingredients.ilike(keyword)),
            cls.is_publish.is_(True)). \
            order_by(sort_logic).paginate(page=page, per_page=per_page, max_per_page=20)

    @classmethod
    def get_all_by_user(cls, user_id, page, per_page, visibility='public'):
        query = cls.query.filter_by(user_id=user_id)
        if visibility == 'public':
            query = cls.query.filter_by(user_id=user_id, is_publish=True)
        elif visibility == 'private':
            query = cls.query.filter_by(user_id=user_id, is_publish=False)

        return query.order_by(desc(cls.created_at)).paginate(page=page,
                                                             per_page=per_page,
                                                             max_per_page=20)

    @classmethod
    def get_by_id(cls, recipe_id):
        return cls.query.filter_by(id=recipe_id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Exemple #17
0
class Product(db.Model):
    __tablename__ = 'products'
    productID = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(64), index=True)
    description = db.Column(db.String(120))
    price = db.Column(db.Numeric(scale=2))
    is_available = db.Column(db.Boolean(), default=True)
    supplier_ID = db.Column(db.Integer(), ForeignKey('suppliers.supplierID'))
Exemple #18
0
class Event(db.Model):
    __tablename__ = 'events'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    location = db.Column(db.String(100))
    description = db.Column(db.String(1000), nullable=False)
    start_time = db.Column(db.DateTime(), nullable=False)
    end_time = db.Column(db.DateTime(), nullable=False)
    is_publish = db.Column(db.Boolean(), default=False)
    is_delete = db.Column(db.Boolean(), default=False)
    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now(),
                           onupdate=db.func.now())

    users = db.relationship(
        'User',
        secondary=EventSignup.__tablename__,
        back_populates='events',
    )

    @classmethod
    def active_list(cls, target_dt):
        # TODO stop signup x minutes ahead of end_time
        return cls.query \
            .filter(Event.is_publish == True) \
            .filter(Event.start_time < target_dt) \
            .filter(Event.end_time > target_dt) \
            .all()

    @classmethod
    def get_by_id(cls, event_id):
        return cls.query \
            .filter(Event.id == event_id) \
            .filter(Event.is_delete == False) \
            .filter(Event.is_publish == True) \
            .first()

    def save(self):
        db.session.add(self)
        db.session.commit()
Exemple #19
0
class Order(db.Model):
    __tablename__ = 'orders'
    orderID = db.Column(db.Integer(), primary_key=True)
    wasOrdered = db.Column(db.Boolean(), unique=False, default=False)
    wasAccepted = db.Column(db.Boolean(), default=False)
    dateOrdered = db.Column(db.DateTime(),
                            server_default=func.now(),
                            index=True)
    wasFulfilled = db.Column(db.Boolean(), unique=False, default=False)
    total = db.Column(db.Numeric(scale=2))
    customer_ID = db.Column(db.Integer(),
                            db.ForeignKey('customers.customerID'))
    payment_ID = db.Column(db.Integer(), db.ForeignKey('payments.paymentID'))
    shipper_ID = db.Column(db.Integer(), db.ForeignKey('shippers.shipperID'))
    supplier_ID = db.Column(db.Integer(),
                            db.ForeignKey('suppliers.supplierID'))

    order_details = db.relationship('OrderDetails', backref='order')
class User(UserMixin, db.Model):
    __tablename__ = 'users'
    __searchable__ = ['name']
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(700), unique=True)
    confirmed_email = db.Column(db.Boolean(), default=False)
    join_date = db.Column(db.String(300), default='')
    password = db.Column(db.String(100))
    name = db.Column(db.String(1000))
    admin = db.Column(db.Boolean(), default=False)
    author = db.Column(db.Boolean(), default=False)
    posts = relationship("BlogPost", back_populates="author")
    comments = relationship("Comment", back_populates="author")
    replies = relationship("Reply", back_populates="author")
    api_key = relationship("ApiKey", back_populates="developer")
    deletion_report = relationship('DeletionReport', back_populates='user')
    notifications = relationship("Notification", back_populates='user')
    logs = relationship("Log", back_populates='user')
Exemple #21
0
class Workspace(db.Model):

    __tablename__ = 'workspace'
    id = db.Column(db.Integer, primary_key=True)  # generoitu
    name = db.Column(db.String(100), nullable=False)  # huoneen nimi, esim. Alpha tai B1032
    workspace_type = db.Column(db.String(100), nullable=False)  # esim. luentosali, kaytava, luokka
    size = db.Column(db.Integer)  # työtilan arvioitu kantokyky
    address = db.Column(db.String(100))  # esim. lemminkäisenkatu, ICT-talo, Joukahaisenkatu
    is_publish = db.Column(db.Boolean(), default=False)
Exemple #22
0
class ParkingSpot(db.Model):
    __tablename__ = 'parking_spots'
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String(255), nullable=False)
    city = db.Column(db.String(255), nullable=False)
    address = db.Column(db.String(255), nullable=False)
    available = db.Column(db.Boolean(), nullable=False, default=False)
    idUser = db.Column(db.Integer(),
                       db.ForeignKey('users.id', ondelete='CASCADE'))
Exemple #23
0
class BoothImages(db.Model, CRUDMixin):

    __tablename__ = 'corner_booth_images'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    booth_id = db.Column(db.String(255))
    image_path = db.Column(db.String(255))
    flag = db.Column(db.String(255))
    create_time = db.Column(db.DateTime)
    disabled = db.Column(db.Boolean())
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship(
        'Role',
        secondary=roles_users,
        backref=db.backref('users', lazy='dynamic'))
Exemple #25
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True)
    text = db.Column(db.String(500), nullable=False)
    # created = db.Column(db.DateTime(timezone=True), nullable=False)
    # modified = db.Column(db.DateTime(timezone=True), nullable=False)
    created = db.Column(ArrowType, nullable=False)
    modified = db.Column(ArrowType, nullable=False)
    # http://docs.sqlalchemy.org/en/rel_1_0/orm/basic_relationships.html
    thread_id = db.Column(db.Integer,
                          db.ForeignKey('thread.id'),
                          nullable=False)
    author_id = db.Column(db.Integer,
                          db.ForeignKey('author.id'),
                          nullable=False)
    likes = db.Column(db.Integer, default=0)
    dislikes = db.Column(db.Integer, default=0)
    parent_id = db.Column(db.Integer,
                          db.ForeignKey('comment.id'),
                          nullable=True)
    children = db.relationship('Comment',
                               backref=db.backref('parent', remote_side=[id]))
    hidden = db.Column(db.Boolean(), default=False)

    def set_vote(self, author_id, like):
        vote = db.session.query(Vote).filter_by(comment_id=self.id,
                                                author_id=author_id).first()

        if vote:
            if vote.like == like:
                # Vote exists and is the same
                return True
            else:
                # Vote exists but changed
                vote.like = like
                if like:
                    # changed to a like
                    self.likes += 1
                    self.dislikes -= 1
                else:
                    # changed to a dislike
                    self.likes -= 1
                    self.dislikes += 1
        else:
            # New vote
            vote = Vote(comment_id=self.id, author_id=author_id, like=like)
            db.session.add(vote)
            if like:
                self.likes += 1
            else:
                self.dislikes += 1
        db.session.commit()
Exemple #26
0
class User(db.Model, UserMixin):
    __tablename__ = 'users'
    id = db.Column(db.Integer(), primary_key=True)
    email = db.Column(db.String(255), unique=True)
    password = db.Column(db.String(255))
    active = db.Column(db.Boolean())
    confirmed_at = db.Column(db.DateTime())
    roles = db.relationship('Role',
                            secondary=UsersRoles,
                            backref=db.backref('users', lazy='dynamic'))

    def __str__(self):
        return self.email
class Recipe(db.Model):
    __tablename__ = 'recipe'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    description = db.Column(db.String(200))
    num_of_servings = db.Column(db.Integer)
    cook_time = db.Column(db.Integer)
    directions = db.Column(db.String(1000))
    is_publish = db.Column(db.Boolean(), default=False)
    cover_image = db.Column(db.String(100), default=None)

    created_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now())
    updated_at = db.Column(db.DateTime(),
                           nullable=False,
                           server_default=db.func.now(),
                           onupdate=db.func.now())

    user_id = db.Column(db.Integer(), db.ForeignKey("user.id"))

    @classmethod
    def get_all_published(cls, page, per_page):
        return cls.query.filter_by(is_publish=True).order_by(
            desc(cls.created_at)).paginate(page=page, per_page=per_page)

    @classmethod
    def get_all_by_user(cls, user_id, page, per_page, visibility='public'):

        query = cls.query.filter_by(user_id=user_id)

        if visibility == 'public':
            query = cls.query.filter_by(user_id=user_id, is_publish=True)
        elif visibility == 'private':
            query = cls.query.filter_by(user_id=user_id, is_publish=False)

        return query.order_by(desc(cls.created_at)).paginate(page=page,
                                                             per_page=per_page)

    @classmethod
    def get_by_id(cls, recipe_id):
        return cls.query.filter_by(id=recipe_id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()

    def delete(self):
        db.session.delete(self)
        db.session.commit()
Exemple #28
0
class Reservation_A(db.Model):

    __tablename__ = 'RoomA_Booking'

    Room_A_id = db.Column(db.Integer, primary_key=True)
    Room_A_name = db.Column(db.String(100), default='Room A')
    Room_A_is_reserved = db.Column(db.Boolean(), default=False)

    #Room_A_date = db.Column(db.DateTime(), nullable=False)

    #ToDo : Check the type of the data in the following statement

    Room_A_start_time = db.Column(db.String(20), nullable=False)
    Room_A_end_time = db.Column(db.String(20), nullable=False)
    Room_A_teacher_id = db.Column(db.Integer(), db.ForeignKey("teacher.teacher_id"))
    Room_A_student_id = db.Column(db.Integer(), db.ForeignKey("student.student_id"))


    def data(self):
        return{
            'Room_A_id': self.Room_A_id,
            'Room_A_name': self.Room_A_name,
            'Room_A_is_reserved': self.Room_A_is_reserved,
            ## TODO: CHeck if we can overcome date field serialization
            #'Room_A_date': self.Room_A_date,
            'Room_A_start_time': self.Room_A_start_time,
            'Room_A_end_time': self.Room_A_end_time,
            'Room_A_teacher_id': self.Room_A_teacher_id,
            'Room_A_student_id': self.Room_A_student_id
        }

    @classmethod
    ### checking all the reservations of the rooms A done by the user
    ### checking all the reservations of the rooms A done by the user
    def get_all_reserved(cls):
        return cls.query.filter_by(Room_A_is_reserved=True).all()

    @classmethod
    ##checking all the rooms with no reservation
    def get_all_not_reserved(cls):
        return cls.query.filter_by(Room_A_is_reserved=False).all()

    @classmethod
    ### getting the reservations of the room by id
    def get_by_id(cls, Room_A_id):
        return cls.query.filter_by(Room_A_id=Room_A_id).first()

    def save(self):
        db.session.add(self)
        db.session.commit()
Exemple #29
0
class Vote(db.Model):
    '''Association table for votes.'''
    __tablename__ = 'votes'
    comment_id = db.Column(db.Integer,
                           db.ForeignKey('comment.id'),
                           primary_key=True)
    author_id = db.Column(db.Integer,
                          db.ForeignKey('author.id'),
                          primary_key=True)
    like = db.Column(db.Boolean(), nullable=False)
    author = db.relationship("Author", backref="votes")
    comment = db.relationship("Comment",
                              backref=db.backref("votes",
                                                 single_parent=True,
                                                 cascade="all, delete-orphan"))
class NewsletterSubscription(db.Model):
    __tablename__ = 'newsletter_subscriptions'
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(300), nullable=False)
    last_name = db.Column(db.String(300), nullable=False)
    email = db.Column(db.String(700), nullable=False, unique=True)
    active = db.Column(db.Boolean(), default=False)
    unsubscription_reason = db.Column(db.String(700), default='')
    unsubscription_explanation = db.Column(db.String(3000), default='')
    unsubscription_date = db.Column(db.String(300), default='')
    date = db.Column(db.String(300), nullable=False)

    __mapper_args__ = {
        "order_by": id.desc()
    }