def get_current_semester(self): query: str = f"SELECT SEMESTER, YEAR FROM SEMESTER WHERE " \ f"SEMESTER = "\ f"(SELECT SEMESTER FROM SEMESTER ORDER BY YEAR DESC, SEMESTER DESC LIMIT 1)" \ f"AND YEAR = (SELECT YEAR FROM SEMESTER ORDER BY YEAR DESC LIMIT 1)" response = self.db_manager.execute_query(query) [semester] = response current_semester = Semester(semester=semester[0], year=semester[1]) if type(response) == Exception: return None else: return current_semester
def add_semester_submission(): try: grade_id=request.form['grade_id'] new_semester = Semester( num=request.form['num'], grade_id=grade_id ) Semester.insert(new_semester) flash('Semester ' + request.form['num'] + ' was successfully listed!') except: db.session.rollback() print(sys.exc_info()) flash('An error occurred. Semester ' + request.form['num'] + ' could not be listed.') finally: db.session.close() query = Semester.query.filter_by(grade_id=grade_id).all() return render_template('pages/semesters.html', data=query, userinfo=session['profile'])
def semesters(): if request.method == 'POST': data = request.get_json() year = data.get('year') semester = data.get('semester') new_semester = Semester(semester=semester, year=year) is_successful = query_factory.add_semester(new_semester) if is_successful: msg = 'Semester created successfully.' else: msg = 'Semester could not be created.' response = {'is_successful': is_successful, 'message': msg} return jsonify(response) if request.method == 'GET': current_semester = query_factory.get_current_semester() semester = { 'semester': current_semester.semester, 'year': current_semester.year } return jsonify(semester)