class ExerciseStatus(Table): _name = 'exercise_status' _schema = [ Column('exercise', ForeignKey('exercise')), Column('users', ForeignKey('users')), Column('status', String(20)), ]
class EventSponsor(Table): _name = 'event_sponsor' _schema = [ Column('order_number', Integer()), Column('event', ForeignKey('event')), Column('sponsor', ForeignKey('sponsor')), Column('rank', String(255)), ]
class EventMeetings(Table): _name = 'event_meetings' _schema = [ Column('order_number', Integer()), Column('event', ForeignKey('event')), Column('lesson', ForeignKey('lesson')), Column('date', DateTime(), default=datetime.utcnow), Column('lesson_active', Boolean(), default=False), ]
class Sponsor(Table): _name = 'sponsor' _schema = [ Column('id', Integer(), primary_key=True), Column('name', String(255)), Column('description', String(5000)), Column('logo', String(255), required=False, default=''), Column('webpage', String(255), required=False, default=''), Column('linkedin', String(255), required=False), Column('twitter', String(255), required=False), Column('facebook', String(255), required=False), Column('city', String(255), required=False), Column('country', String(255), required=False), ]
class EventUsers(Table): _name = 'event_users' _soft_restricted_keys = ['score', 'notes'] _schema = [ Column('event', ForeignKey('event')), Column('users', ForeignKey('users')), Column('confirmation', String(10), default='noans'), Column('accepted', Boolean(), default=False), Column('bring_power_cord', Boolean(), default=False), Column('attend_weekly', Boolean(), default=False), Column('notes', String(5000), default=''), Column('score', Float(), default=0, required=False), Column('i_helped', Boolean(), default=False), Column('helped', String(5000), required=False), ]
class Quiz(Table): _name = 'quiz' _schema = [ Column('id', Integer, primary_key=True), Column('title', String(255)), Column('description', String(10000)), Column('users', ForeignKey('users'), default=1), Column('time_created', DateTime(), default=datetime.utcnow), ] async def get_question(self, question_order=0): if question_order + 1 >= await self.get_question_amount(): return {'last': True, 'msg': 'That was last question in the quiz.'} qq = await QuizQuestions.get_first_by_many_field_value( quiz=self.id, question_order=question_order) return await Question.get_by_id(qq.question) async def get_question_amount(self): return len(await QuizQuestions.get_by_field_value('quiz', self.id))
class Exercise(Table): _name = 'exercise' _schema = [ Column('id', Integer, primary_key=True), Column('title', String(255)), Column('task', CodeString(10000)), Column('possible_answare', CodeString(1000), required=False), Column('author', ForeignKey('users'), default=1), Column('time_created', DateTime(), default=datetime.utcnow), Column('lesson', ForeignKey('lesson')), ]