def post(self): data = request.data.decode() data = json.loads(data) args = self.reqparse.parse_args() token = args.get('auth-token') user = Administrador.load_from_token(token) if user == None: return {'response': 'user_invalid'}, 401 institucion = Institucion.objects(id=user.institucion.id).first() if institucion == None: return {'response': 'colegio_invalid'}, 404 alumno = Alumno() alumno.nombres = data['nombres'] alumno.apellido_paterno = data['apellido_paterno'] alumno.apellido_materno = data['apellido_materno'] alumno.telefono = data['telefono'] alumno.email = data['email'] alumno.nombre_usuario = data['nombre_usuario'] alumno.encrypt_password(data['nombre_usuario']) alumno.matricula = data['matricula'] alumno.institucion = institucion.id grado = Grado.objects(id=data['grado']).first() alumno.grado = grado alumno.save() return {'Response': 'exito', 'id': str(alumno.id)}
def post(self): data = request.data.decode() data = json.loads(data) alumno = Alumno() alumno.nombres = data['data_personal']['nombres'] alumno.apellido_paterno = data['data_personal']['apellido_paterno'] alumno.apellido_materno = data['data_personal']['apellido_materno'] alumno.telefono = data['data_personal']['telefono'] alumno.email = data['data_personal']['email'] alumno.nombre_usuario = data['data_academico']['nombre_usuario'] alumno.encrypt_password(data['data_academico']['nombre_usuario']) alumno.matricula = data['data_academico']['matricula'] alumno.institucion = None alumno.grado = Grado.objects(id=data['data_personal']['grado']).first() alumno.save() return {'Response': 'exito', 'id': str(alumno.id)}
def post(self): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.load_from_token(token) apoderado = Apoderado.load_from_token(token) administrador = Administrador.load_from_token(token) profesor = Profesor.load_from_token(token) if alumno == None and apoderado == None and administrador == None and profesor == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) alumno = Alumno() alumno.nombres = data['nombres'] alumno.apellido_paterno = data['apellido_paterno'] alumno.apellido_materno = data['apellido_materno'] alumno.telefono = data['telefono'] alumno.email = data['email'] alumno.encrypt_password(data['rut']) alumno.sexo = data['sexo'] alumno.rut = data['rut'] alumno.puntaje_ingreso = data['puntaje_ingreso'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) alumno.direccion = direccion colegio = Colegio.objects(id=data['colegio']).first() curso = Curso.objects(id=data['curso']).first() alumno.colegio = colegio alumno.curso = curso alumno.save() colegio.updateCantEstudiantes() curso.updateCantEstudiantes() colegio.save() curso.save() return {'Response': 'exito', 'id': str(alumno.id)}
def process_file(self, filename): from xlrd import open_workbook, xldate_as_tuple filas = 0 filepath = os.path.join('/tmp', filename) wb = open_workbook(filepath) sheet = wb.sheets()[0] filas_importadas = 0 for row in range(1, sheet.nrows): rut = str(sheet.cell(row, 0).value) if Alumno.objects(rut=rut).first() == None: nombres = str(sheet.cell(row, 1).value) apel_pa = str(sheet.cell(row, 2).value) apel_ma = str(sheet.cell(row, 3).value) sexo = str(sheet.cell(row, 4).value) email = str(sheet.cell(row, 5).value) telefono = str(sheet.cell(row, 6).value) calle = str(sheet.cell(row, 7).value) numero = str(sheet.cell(row, 8).value) comuna = str(sheet.cell(row, 9).value) curso = str(sheet.cell(row, 10).value) colegio = str(sheet.cell(row, 11).value) colegio_calle = str(sheet.cell(row, 12).value) colegio_numero = str(sheet.cell(row, 13).value) colegio_comuna = str(sheet.cell(row, 14).value) alumno = Alumno() alumno.rut = rut alumno.encrypt_password(rut) alumno.nombres = nombres alumno.apellido_paterno = apel_pa alumno.apellido_materno = apel_ma if sexo == 'M': alumno.sexo = 'MASCULINO' if sexo == 'F': alumno.sexo = 'FEMENINO' if curso == 'C': ciencias = Curso.objects(nombre="Ciencias 2019").first() if ciencias != None: alumno.curso = ciencias.id if curso == 'H': historia = Curso.objects(nombre="Historia 2019").first() if historia != None: alumno.curso = historia.id alumno.email = email alumno.telefono = telefono direccion = Direccion() direccion.calle = calle direccion.numero = numero direccion.comuna = comuna alumno.direccion = direccion colegio_alumno = Colegio.objects(nombre=colegio).first() if colegio_alumno != None: alumno.colegio = colegio_alumno.id else: colegio_alumno = Colegio() colegio_alumno.nombre = colegio direccion = Direccion() direccion.calle = colegio_calle direccion.numero = colegio_numero direccion.comuna = colegio_comuna colegio_alumno.direccion = direccion colegio_alumno.save() alumno.colegio = colegio_alumno.id alumno.imagen = "default" alumno.puntaje_ingreso = 500 alumno.save() filas_importadas += 1 for colegio in Colegio.objects().all(): colegio.updateCantEstudiantes() for curso in Curso.objects().all(): curso.updateCantEstudiantes() return "%d Fila importadas" % filas_importadas