예제 #1
0
class Venue(db.Model):
    __tablename__ = 'venue'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), nullable=False)
    description = db.Column(db.Text)
    homepage = db.Column(db.String(64))

    locations = db.relationship("Location", backref="venue")
    vouchers = db.relationship("Voucher", backref="venue")

    def __init__(self, data=None):
        if data is None:
            return

        self.name = data['name']
        self.description = data['description']
        self.homepage = data['homepage']

        self.vouchers = data['vouchers']
        self.locations = data['locations']

    def add_voucher(self, voucher):
        self.vouchers.append(voucher)

    def add_location(self, location):
        self.locations.append(location)

    def __repr__(self):
        return '<VENUE "{}">'.format(self.name)
예제 #2
0
class VoucherTag(db.Model):
    __tablename__ = 'voucher_tag'

    id_voucher = db.Column(db.Integer, db.ForeignKey('voucher.id'), primary_key=True, nullable=False)
    tag = db.Column(db.Enum(Tag), nullable=False, primary_key=True)

    def __init__(self, tag):
        self.tag = tag

    def __repr__(self):
        return '<VOUCHERTAG "{}: {}">'.format(self.id_voucher, self.tag)
예제 #3
0
class VoucherType(db.Model):
    __tablename__ = 'voucher_type'

    id_voucher = db.Column(db.Integer, db.ForeignKey('voucher.id'), primary_key=True, nullable=False)
    type = db.Column(db.Enum(Type), primary_key=True, nullable=False)

    def __init__(self, voucher_type):
        self.type = voucher_type

    def __repr__(self):
        return '<VOUCHERTYPE "{}: {}">'.format(self.id_voucher, self.type)
예제 #4
0
class Voucher(db.Model):
    __tablename__ = 'voucher'

    id = db.Column(db.Integer, primary_key=True)
    id_venue = db.Column(db.Integer, db.ForeignKey('venue.id'), nullable=False)
    description = db.Column(db.Text, nullable=False)
    limitations = db.Column(db.Text)

    voucher_types = db.relationship("VoucherType")
    voucher_tags = db.relationship("VoucherTag")

    def __init__(self, data):
        self.venue = data['venue']
        self.description = data['description']
        self.limitations = data['limitations']
        self.voucher_types = data['voucher_types']
        self.voucher_tags = data['voucher_tags']

    def __repr__(self):
        return '<VOUCHER "{}">'.format(self.id)
예제 #5
0
class Location(db.Model):
    __tablename__ = 'location'

    id = db.Column(db.Integer, primary_key=True)
    id_venue = db.Column(db.Integer, db.ForeignKey('venue.id'), nullable=False)
    address = db.Column(db.String(256), nullable=False)
    email = db.Column(db.String(64))
    phone = db.Column(db.String(32))
    opening_hours = db.Column(db.Text)
    latitude = db.Column(db.Float, nullable=False)
    longitude = db.Column(db.Float, nullable=False)

    def __init__(self, data):
        self.address = data['address']
        self.email = data['email']
        self.phone = data['phone']
        self.opening_hours = data['opening_hours']
        self.latitude = data['latitude']
        self.longitude = data['longitude']
        self.venue = data['venue']

    def __repr__(self):
        return '<LOCATION "{}">'.format(self.address)
예제 #6
0
class Interval(db.Model):
    __tablename__ = 'interval'

    id = db.Column(db.Integer, primary_key=True)
    id_venue = db.Column(db.Integer, db.ForeignKey('venue.id'), nullable=False)
    start_hour = db.Column(db.Time, nullable=False)
    end_hour = db.Column(db.Time, nullable=False)
    start_day = db.Column(db.Integer, nullable=False)
    end_day = db.Column(db.Integer, nullable=False)
    start_month = db.Column(db.Integer, nullable=False)
    end_month = db.Column(db.Integer, nullable=False)

    def __init__(self, data):
        self.venue = data['venue']
        self.start_hour = data['start_hour']
        self.end_hour = data['end_hour']
        self.start_day = data['start_day']
        self.end_day = data['end_day']
        self.start_month = data['start_month']
        self.end_month = data['end_month']

    def __repr__(self):
        return '<INTERVAL "{}">'.format(self.id)