class Order(db.Model): __tablename__ = "orders" id = db.Column(db.Integer(), ORDER_ID_SEQ, primary_key=True, server_default=ORDER_ID_SEQ.next_value()) user_id = db.Column(db.Integer(), unique=False, nullable=False) item_id = db.Column(db.Integer(), unique=False, nullable=False) number_of_items = db.Column(db.Integer(), unique=False, nullable=False) date = db.Column(db.Date(), unique=False, nullable=False) status = db.Column(db.String(), unique=False, nullable=False, default='new') def __init__(self, user_id, item_id, number_of_items, date, status): self.user_id = user_id self.item_id = item_id self.number_of_items = number_of_items self.date = date self.status = status def __repr__(self): return "Order(%s, %s, %d, %d, %s)" % (self.user_id, self.item_id, self.number_of_items, self.date, self.status)
class Classroom(db.Model): __tablename__ = "classroom" id = db.Column(db.Integer, primary_key=True) student_name = db.Column(db.String(256), nullable=False) student_id = db.Column(db.Integer(), nullable=False) classcode = db.Column(db.String(256), nullable=False) classname = db.Column(db.String(256), nullable=False) date = db.Column(db.Date(), nullable=False) presence = db.Column(db.Enum(PresenceEnum), nullable=False, default=PresenceEnum.unknown)
class Events(db.Model): __tablename__ = "events" organizer = db.Column('organizer_id', db.Integer) venue = db.Column('venue_id', db.Integer) id = db.Column('event_id', db.Integer, primary_key=True) title = db.Column('event_name', db.String()) description = db.Column('event_desc', db.String()) tags = db.Column('event_tags', db.String()) date_s = db.Column('event_date_start', db.Date()) start = db.Column('event_time_start', db.Time()) date_e = db.Column('event_date_end', db.Date()) end = db.Column('event_time_end', db.Time()) status = db.Column('event_status', db.String()) comment = db.Column('event_comment', db.String()) requestdate = db.Column('event_request_date', db.Date()) image_file = db.Column('event_img', db.String(), nullable=False, default='defaultevents.jpg') def __init__(self, organizer, venue, title, description, tags, date_s, start, date_e, end, status, comment, image_file, requestdate): self.organizer = organizer self.title = title self.description = description self.venue = venue self.tags = tags self.start = start self.end = end self.date_s = date_s self.date_e = date_e self.status = status self.comment = comment self.image_file = image_file self.requestdate = requestdate def participant_count(self): return Participant.query.filter_by(event=self.id).count
class Requirements(db.Model): id = db.Column(db.Integer, primary_key=True) # primary keys are required by SQLAlchemy friendly_id = db.Column(db.String(100), unique=True) title = db.Column(db.String(500)) owner = db.Column(db.String(100)) priority = db.Column(db.String(100)) summary = db.Column(db.String(10000)) gaps = db.Column(db.String(10000)) collection_requirements = db.Column(db.String(10000)) deliverables = db.Column(db.String(10000)) time_requirement = db.Column(db.Date()) created_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) updated_at = db.Column(db.DateTime(timezone=True), server_default=db.func.now(), onupdate=db.func.now()) creator = db.Column(db.String(100)) is_archived = db.Column(db.Boolean, default=False)
class StudentAttendance(db.Model): __bind_key__ = "student" __tablename__ = "student_attendance" id = db.Column(db.Integer(), primary_key=True) date = db.Column(db.Date(), default=datetime.date) time = db.Column(db.Time(), default=datetime.time) presents = db.Column(db.Integer(), nullable=True) absents = db.Column(db.Integer(), nullable=True) student_id = db.Column(db.Integer(), db.ForeignKey('student.id')) def __init__(self, date, time, presents, absents, student_id): self.date = date self.time = time self.presents = presents self.absents = absents self.student_id = student_id