Ejemplo n.º 1
0
    def teacher_status(self, command, id):
        teacher = meta.Session.query(Teacher).filter(Teacher.id == id).filter(Teacher.teacher_verified==False).one()
        if command == 'confirm':
            teacher.confirm()
            meta.Session.commit()
            teacher_confirmed_email(teacher, True)
            h.flash('Teacher confirmed.')
        else:
            teacher.revert_to_user()
            teacher_confirmed_email(teacher, False)
            h.flash('Teacher rejected.')

        redirect(url(controller="admin", action="teachers"))
Ejemplo n.º 2
0
    def teacher_status(self, location):
        command, id = request.urlvars['command'], request.urlvars['id']
        teacher = meta.Session.query(Teacher).filter(Teacher.id == id).filter(Teacher.teacher_verified==False).one()
        if command == 'confirm':
            teacher.confirm()
            meta.Session.commit()
            teacher_confirmed_email(teacher, True)
            h.flash('Teacher confirmed.')
        else:
            teacher.revert_to_user()
            teacher_confirmed_email(teacher, False)
            h.flash('Teacher rejected.')

        redirect(location.url(action="unverified_teachers"))
Ejemplo n.º 3
0
    def teacher_convert(self, id):
        teacher = meta.Session.query(User).filter(User.id == id).one()

        authors_table = meta.metadata.tables['authors']
        teachers_table = meta.metadata.tables['teachers']
        # a hack: cannot update a polymorphic descriptor column using the orm (rejecting a teacher is basically converting him into a user)
        conn = meta.engine.connect()
        upd = authors_table.update().where(authors_table.c.id==id).values(type='teacher')
        ins = teachers_table.insert().values(id=id, teacher_verified=True, teacher_position=None)

        teacher_confirmed_email(teacher, True)
        conn.execute(upd)
        conn.execute(ins)
        h.flash('User is now a teacher.')

        redirect(url(controller="admin", action="teachers"))