Beispiel #1
0
    def index(self, year_level: int):
        if not session.get('logged_in'):
            return redirect(url_for('LoginView:get'))

        if year_level == 0:
            sm = utils.StudentManager()
        else:
            sm = utils.StudentManager(year_levels=[year_level])

        rows = []

        for student in sm:
            name = '{} {}'.format(student.first_name, student.last_name)
            awards = []
            for award in [
                    award.award_name
                    for award in utils.get_awards(student.student_id)
            ]:
                awards.append(dict(award=award))

            awards_table = AwardsSubTable(awards)
            rows.append(dict(name=name, awards=awards))

        table = AttendanceTable(rows)

        return render_template('attendance/print.html',
                               year_level=year_level,
                               table=table)
Beispiel #2
0
    def get(self):
        if not session.get('logged_in'):
            return redirect(url_for('LoginView:get'))

        sm = utils.StudentManager()
        current_app.config['NAVBAR_BRAND'] = 'BSC Awards'

        student_id = request.args.get('studentID')

        valid = False
        student = models.Student(student_id='',
                                 first_name='',
                                 last_name='',
                                 form_group='')

        if student_id is not None:
            student = sm.get(student_id)
            valid = True
            if student is None:
                student = models.Student(student_id='',
                                         first_name='',
                                         last_name='',
                                         form_group='')
                valid = False

        return render_template('attendance/index.html',
                               valid=valid,
                               student=student)
Beispiel #3
0
    def post(self, student_id):
        if not session.get('logged_in'):
            return redirect(url_for('LoginView:get'), code=302)

        sm = utils.StudentManager()
        student = sm.get(student_id)
        if student is None:
            return redirect(url_for('AttendanceView:get'), code=302)

        if request.form.get('attending') == 'checked':
            student.attending = True
        else:
            student.attending = False

        db.session.commit()

        return redirect(url_for('AttendanceView:get'), code=302)
Beispiel #4
0
 def setUp(self):
     self.mock_db = MockDB()
     self.mock_db.setUp()
     self.sm = utils.StudentManager(allow_no_award=True)
Beispiel #5
0
 def setUp(self):
     self.app = create_app()
     self.md = MockDB()
     self.md.setUp()
     self.sm = utils.StudentManager()