Ejemplo n.º 1
0
    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)}
Ejemplo n.º 2
0
 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)}
Ejemplo n.º 3
0
 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)}
Ejemplo n.º 4
0
 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'}
Ejemplo n.º 5
0
    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"
Ejemplo n.º 6
0
 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)}
Ejemplo n.º 7
0
 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"
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
    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"