def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') apoderado = Apoderado.objects(id=id).first() administrador = Administrador.load_from_token(token) if apoderado == None and administrador == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) apoderado.nombres = data['nombres'] apoderado.apellido_paterno = data['apellido_paterno'] apoderado.apellido_materno = data['apellido_materno'] apoderado.telefono = data['telefono'] apoderado.email = data['email'] apoderado.rut = data['rut'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) apoderado.direccion = direccion #Asignar alumno alumno = Alumno.objects(rut=data['rut_alumno']).first() if alumno == None: return {'Response': 'not_alumno'} else: apoderado.alumno = alumno apoderado.save() return {'Response': 'exito', 'id': str(apoderado.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) profesor = Profesor() profesor.nombres = data['nombres'] profesor.apellido_paterno = data['apellido_paterno'] profesor.apellido_materno = data['apellido_materno'] profesor.telefono = data['telefono'] profesor.email = data['email'] profesor.encrypt_password(data['rut']) profesor.rut = data['rut'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) profesor.direccion = direccion asignatura = Asignatura.objects(id=data['asignatura']).first() profesor.asignatura = asignatura.id profesor.save() return {'Response': 'exito', 'id': str(profesor.id)}
def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') alumno = Alumno.objects(id=id).first() administrador = Administrador.load_from_token(token) if alumno == None and administrador == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) 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.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 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) colegio = Colegio() colegio.nombre = data['nombre'] direccion = Direccion() direccion.calle = data['calle'] direccion.numero = data['numero'] direccion.comuna = data['comuna'] colegio.direccion = direccion colegio.save() return {'Response':'exito'}
def create_from_excel(cls, list_rows): error_list = [["RUT", "Nombres", "Apellido Paterno", "Apellido Materno", "Email", "Telefono", "Calle", "Numero", "Comuna", "Villa/Depto", "RUN Alumno", "Error"]] for apoderado in list_rows: apoderado = list(apoderado) print(apoderado) rut = str(apoderado[0]) if(rut != "None" and validar_rut(rut)): rut_alumno = str(apoderado[10]) if(rut_alumno != "None" and validar_rut(rut_alumno)): alumno = Alumno.objects(rut=str(rut_alumno)).first() if(alumno == None): apoderado.append("Alumno no existe") error_list.append(apoderado) continue else: apoderado.append("RUT del alumno no es valido") error_list.append(apoderado) continue if(apoderado[4] == "None" or not(es_correo_valido(apoderado[4]))): apoderado.append("Correo ingresado no es valido") error_list.append(apoderado) continue direccion = Direccion(calle=apoderado[6], numero=str( apoderado[7]), comuna=apoderado[8], cas_dep_of=apoderado[9]) apoderadoNuevo = Apoderado(rut=str(apoderado[0]), nombres=apoderado[1], apellido_paterno=apoderado[2], apellido_materno=apoderado[3], email=apoderado[4], telefono=str(apoderado[5]), direccion=direccion, alumno=alumno, imagen="default") apoderadoNuevo.encrypt_password(str(apoderado[0])) apoderadoNuevo.save() else: apoderado.append("RUT invalido") error_list.append(apoderado) if(len(error_list) > 1): return write_error(error_list, "errores") return "hecho"
def put(self, id): args = self.reqparse.parse_args() token = args.get('auth-token') administrador = Administrador.load_from_token(token) administrador_editar = Administrador.objects(id=id).first() if administrador == None and administrador_editar == None: return {'response': 'user_invalid'}, 401 data = request.data.decode() data = json.loads(data) administrador_editar.nombres = data['nombres'] administrador_editar.apellido_paterno = data['apellido_paterno'] administrador_editar.apellido_materno = data['apellido_materno'] administrador_editar.telefono = data['telefono'] administrador_editar.email = data['email'] administrador_editar.rut = data['rut'] direccion = Direccion(calle=data['calle'], numero=data['numero'], comuna=data['comuna'], cas_dep_of=data['cas_dep_of']) administrador_editar.direccion = direccion administrador_editar.save() return {'Response': 'exito', 'id': str(administrador_editar.id)}
def create_from_excel(cls, list_rows): for colegio in list_rows: direccion = Direccion(calle = colegio[1], numero = str(colegio[2]), comuna = colegio[3]) colegio = Colegio(direccion = direccion, nombre= colegio[0]) colegio.save() return "hecho"
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
def create_from_excel(cls, list_rows): error_list = [[ "RUN", "Nombres", "Apellido Paterno", "Apellido Materno", "Puntaje Ingreso", "Sexo", "Email", "Telefono", "Calle", "Numero", "Comuna", "Villa/Depto", "Id. Curso", "Id. Colegio", "Error" ]] for alumno in list_rows: alumno = list(alumno) rut = str(alumno[0]) if (rut != "None" and validar_rut(rut)): try: curso = Curso.objects(id=alumno[12]).first() if (curso == None): alumno.append("Curso no existe") error_list.append(alumno) continue except: alumno.append("Id de curso no es valido") error_list.append(alumno) continue try: colegio = Colegio.objects(id=alumno[13]).first() if (colegio == None): alumno.append("Colegio no existe") error_list.append(alumno) continue except: alumno.append("Id de colegio no es valido") error_list.append(alumno) continue if (alumno[5] == "None" or not (alumno[5] in TIPOS_SEXOS_ARRAY)): alumno.append("Sexo ingresado no es valido") error_list.append(alumno) continue if (alumno[6] == "None" or not (es_correo_valido(alumno[6]))): alumno.append("Correo ingresado no es valido") error_list.append(alumno) continue direccion = Direccion(calle=alumno[8], numero=str(alumno[9]), comuna=alumno[10], cas_dep_of=alumno[11]) alumnoNuevo = Alumno(rut=str(alumno[0]), nombres=alumno[1], apellido_paterno=alumno[2], apellido_materno=alumno[3], sexo=alumno[5], email=alumno[6], telefono=str(alumno[7]), direccion=direccion, colegio=colegio, curso=curso, imagen="default") alumnoNuevo.encrypt_password(str(alumno[0])) if (alumno[4] != None and alumno[4] != ""): alumnoNuevo.puntaje_ingreso = alumno[4] else: alumnoNuevo.puntaje_ingreso = 0 alumnoNuevo.save() else: alumno.append("RUT invalido") error_list.append(alumno) if (len(error_list) > 1): return write_error(error_list, "errores") return "hecho"