示例#1
0
class Volunteer(User):
	__tablename__ = 'volunteers'

	id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True)

	def hours(start_time, end_time):
		''' Calculate hours spent volunteering between time arguments '''
		pass
	__mapper_args__ = { 'polymorphic_identity':'volunteer' }
示例#2
0
class Admin(User):
	__tablename__ = 'admins'

	id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True)
	password = db.Column(db.VARCHAR(255))

	__mapper_args__ = { 'polymorphic_identity':'admin' }

	def is_authenticated(self):
		return True

	def is_active(self):
		return True

	def is_anonymous(self):
		return False

	def get_id(self):
		return self.id
示例#3
0
class Event(db.Model):
    __tablename__ = 'events'

    id = db.Column(db.Integer, primary_key=True)
    event_type = db.Column(db.Text,
                           mysql.ENUM('shop_hours', 'shop_class',
                                      'shop_special', 'remote_event'),
                           default="shop_hours")
    event_name = db.Column(db.VARCHAR(255))
    time_start = db.Column(db.DateTime, default=datetime.datetime.utcnow())
    time_end = db.Column(db.DateTime)

    @staticmethod
    def get_current_event():
        current = db.session.query(Event).order_by(Event.id.desc()).first()
        if not current:
            current = Event()
            current.event_name = "Default shop hours"
            db.session.add(current)
            db.session.commit()
        return current
示例#4
0
class User(db.Model):
	__tablename__ = 'users'

	id = db.Column(db.Integer, primary_key=True)
	uname = db.Column(db.VARCHAR(255), nullable = False)
	fullname = db.Column(db.VARCHAR(255), default="")
	email = db.Column(db.VARCHAR(255), default = "")
	uzip = db.Column(db.VARCHAR(5), default = "")
	utype = db.Column(db.VARCHAR(255), mysql.ENUM('admin','volunteer','guest', 'base_user'),
			default='base_user')
	__table_args__ = (UniqueConstraint('utype', 'uname', name='_uname_utype_uc'),)

	__mapper_args__ = {
		'polymorphic_on':utype,
		'polymorphic_identity':'base_user'
	}
示例#5
0
class Signin(db.Model):
    __tablename__ = 'signins'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('users.id'),
                        primary_key=True,
                        nullable=False)
    event_id = db.Column(db.Integer,
                         db.ForeignKey('events.id'),
                         primary_key=True,
                         nullable=False)
    time_in = db.Column(db.DateTime,
                        default=datetime.datetime.utcnow(),
                        nullable=False)
    time_out = db.Column(db.DateTime,
                         default=datetime.datetime.min,
                         nullable=False)
    feedback = db.Column(db.TEXT, default='', nullable=False)
    notes = db.Column(db.VARCHAR(255), default="", nullable=True)
    user = db.relationship("User", backref="Signin")
    event = db.relationship("Event", backref="Signin")
示例#6
0
class Guest(User):
	__tablename__ = 'guests'

	id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True)

	__mapper_args__ = { 'polymorphic_identity':'guest' }