def index():
	materias_dto = []
	materias = db().select(db.materia.ALL)
	regulares = db().select(db.estado_academico.ALL).first().regulares
	aprobadas = db().select(db.estado_academico.ALL).first().aprobadas

	for materia in materias:
		materia_dto = MateriaDTO(materia.id, materia.nombre, materia.anio, False, False)
		if materia.id in regulares:
			materia_dto.setRegular(True)

		if materia.id in aprobadas:
			materia_dto.setAprobada(True)

		materias_dto.append(materia_dto.getJSON())
	return dict(materias_dto = materias_dto)
def index():
	estado_academico = db(db['estado_academico'].usuario==auth.user.id).select().first()
	
	if estado_academico is None:
		db['estado_academico'].validate_and_insert(usuario = auth.user.id, regulares = [], aprobadas = [])
	
	materias_dto = []
	materias = db().select(db.materia.ALL)
	regulares = db(db['estado_academico'].usuario==auth.user.id).select(db.estado_academico.ALL).first().regulares
	aprobadas = db(db['estado_academico'].usuario==auth.user.id).select(db.estado_academico.ALL).first().aprobadas

	for materia in materias:
		materia_dto = MateriaDTO(materia.id, materia.nombre, materia.anio, False, False)
		if materia.id in regulares:
			materia_dto.setRegular(True)

		if materia.id in aprobadas:
			materia_dto.setAprobada(True)

		materias_dto.append(materia_dto.getJSON())
	return dict(materias_dto = materias_dto)