示例#1
0
def ValidarExisteBracelet(bracelet, baliza, request):
    bracelet = ExtractMac(bracelet)

    braceletsExistentes = Bracelet.objects.all()
    for brac in braceletsExistentes:
        if bracelet == brac.macDispositivo:
            return True

    diccionarioDatos = dict()
    diccionarioDatos['ADMIN'] = str('Admin Server')
    diccionarioDatos['BALIZA'] = str(baliza)
    diccionarioDatos['MAC'] = str(bracelet)
    diccionarioDatos['PROJECT'] = str('Hospital Smart Bracelet')
    diccionarioDatos['FIRMA'] = str('WISROVI')
    html_message = render_to_string('email/bracelet_report_bad_sensors.html',
                                    diccionarioDatos)
    asunto = "Nuevo Bracelet por registrar (" + bracelet + ")"
    firmaResumenRemitente = "Hospital Smart Bracelet"

    listaDestinatarios = getDestinatariosCorreos()
    if len(listaDestinatarios) > 0:
        Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                           listaDestinatarios, request)
        print("Nuevo Bracelet encontrado")
    return False
示例#2
0
def ValidarPPM(macPulsera, ppmActual, request):
    umbrales = getUmbrales(macPulsera)

    diccionarioDatos = dict()
    diccionarioDatos['ADMIN'] = str('Admin Server')
    diccionarioDatos['MAC'] = str(macPulsera)
    diccionarioDatos['PROJECT'] = str('Hospital Smart Bracelet')
    diccionarioDatos['FIRMA'] = str('WISROVI')
    html_message = render_to_string(
        'email/bracelet_alerta_persona_seQuitoPulsera.html', diccionarioDatos)
    asunto = None

    hayAlarma = False

    if ppmActual > umbrales.maximaPulsoCardiaco:
        asunto = "Alerta, persona (" + macPulsera + ")" + " tiene PPM alta (" + str(
            ppmActual) + ")"
        hayAlarma = True

    if ppmActual < umbrales.minimoPulsoCardiaco:
        asunto = "Alerta, persona (" + macPulsera + ")" + " tiene PPM baja (" + str(
            ppmActual) + ")"
        hayAlarma = True

    firmaResumenRemitente = "Hospital Smart Bracelet"

    listaCorreosDestinatarios = getDestinatariosCorreos()
    if len(listaCorreosDestinatarios) > 0 and hayAlarma:
        Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                           listaCorreosDestinatarios, request)
        print("Bracelet alerta temperatura")
示例#3
0
def ValidarExisteBaliza(baliza, request):
    baliza = ExtractMac(baliza[0])

    balizasExistentes = Baliza.objects.all()
    for baliz in balizasExistentes:
        valor_comparar_1 = baliz.macDispositivoBaliza
        valor_comparar_2 = baliza
        if valor_comparar_1 == valor_comparar_2:
            return True

    diccionarioDatos = dict()
    diccionarioDatos['ADMIN'] = str('Admin Server')
    diccionarioDatos['BALIZA'] = str(baliza)
    diccionarioDatos['PROJECT'] = str('Hospital Smart Bracelet')
    diccionarioDatos['FIRMA'] = str('WISROVI')
    html_message = render_to_string('email/nuevo_baliza_encontrada.html',
                                    diccionarioDatos)
    asunto = "Nueva Baliza por registrar (" + baliza + ")"
    firmaResumenRemitente = "Hospital Smart Bracelet"

    listaDestinatarios = getDestinatariosCorreos()
    if len(listaDestinatarios) > 0:
        Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                           listaDestinatarios, request)
        print("Nueva Baliza encontrada")
    return False
示例#4
0
def ValidarCaida(baliza, macPulsera, caida, request):
    if caida:
        diccionarioDatos = dict()
        diccionarioDatos['ADMIN'] = str('Admin Server')
        diccionarioDatos['BALIZA'] = str(baliza)
        diccionarioDatos['MAC'] = str(ExtractMac(macPulsera))
        diccionarioDatos['PROJECT'] = str('Hospital Smart Bracelet')
        diccionarioDatos['FIRMA'] = str('WISROVI')
        html_message = render_to_string(
            'email/bracelet_alerta_persona_caida.html', diccionarioDatos)
        asunto = "Alerta, persona caida (" + ExtractMac(macPulsera) + ")"
        firmaResumenRemitente = "Hospital Smart Bracelet"

        listaCorreosDestinatarios = getDestinatariosCorreos()
        if len(listaCorreosDestinatarios) > 0:
            Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                               listaCorreosDestinatarios, request)
            print("Bracelet alerta caida")
示例#5
0
def ValidarNivelBateria(nivelBateria, baliza, macPulsera, request):
    if nivelBateria < 30:
        diccionarioDatos = dict()
        diccionarioDatos['ADMIN'] = str('Admin Server')
        diccionarioDatos['BALIZA'] = str(baliza)
        diccionarioDatos['MAC'] = str(macPulsera)
        diccionarioDatos['PROJECT'] = str('Hospital Smart Bracelet')
        diccionarioDatos['FIRMA'] = str('WISROVI')
        html_message = render_to_string(
            'email/bracelet_alerta_persona_seQuitoPulsera.html',
            diccionarioDatos)
        asunto = "Alerta, bracelet (" + macPulsera + ") con bateria baja."
        firmaResumenRemitente = "Hospital Smart Bracelet"

        listaCorreosDestinatarios = getDestinatariosCorreos()
        if len(listaCorreosDestinatarios) > 0:
            Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                               listaCorreosDestinatarios, request)
            print("Bracelet alerta bateria baja")
示例#6
0
def ValidadProximidad(baliza, macPulsera, proximidad, request):
    if proximidad == False:
        diccionarioDatos = dict()
        diccionarioDatos['ADMIN'] = str('Admin Server')
        diccionarioDatos['BALIZA'] = str(baliza)
        diccionarioDatos['MAC'] = str(macPulsera)
        diccionarioDatos['PROJECT'] = str('Hospital Smart Bracelet')
        diccionarioDatos['FIRMA'] = str('WISROVI')
        html_message = render_to_string(
            'email/bracelet_alerta_persona_seQuitoPulsera.html',
            diccionarioDatos)
        asunto = "Alerta, persona se quitó el bracelet (" + macPulsera + ")"
        firmaResumenRemitente = "Hospital Smart Bracelet"

        listaCorreosDestinatarios = getDestinatariosCorreos()
        if len(listaCorreosDestinatarios) > 0:
            Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                               listaCorreosDestinatarios, request)
            print("Bracelet alerta proximidad")
示例#7
0
def signin(request):
    forms = LoginForm()
    if request.method == 'POST':
        forms = LoginForm(request.POST)
        data = dict()
        if forms.is_valid():
            username = forms.cleaned_data['username']
            password = forms.cleaned_data['password']
            user = authenticate(username=username, password=password)
            if user:
                login(request, user)

                diccionarioDatos = dict()
                diccionarioDatos['NAME'] = username
                diccionarioDatos['NAME'] = request.user.email

                listaCorreosDestinatarios = list()
                listaCorreosDestinatarios.append(request.user.email)
                html_message = render_to_string('email_user_create.html',
                                                diccionarioDatos)
                asunto = "Bienvenido, has iniciado sesion en tu cuenta"
                firmaResumenRemitente = Preferences.NAME_APP

                Utilities.sendMail(asunto, html_message, firmaResumenRemitente,
                                   request.user.email, request)

                data['redirec'] = 'ok'
            else:
                data['error'] = "Usuario o contraseña no son correctos."
        else:
            data[
                'error'] = "Ha ocurrido un error, por favor revise los datos ingresados e intente nuevamente."
        return JsonResponse(data, safe=False)

    context = dict()
    context['form'] = forms
    context['TITLE'] = Preferences.NAME_APP
    return render(request, 'signin.html', context)
from apps.Util_apps.LogProject import logging
import apps.Util_apps.Util as Util


def funcion_si_respuesta_es_correcta(response_json):
    logging.info(response_json)


def funcion_si_respuesta_no_es_correcta(url):
    logging.error(
        "No se ha podido realizar la peticion a la url {}".format(url))


if __name__ == "__main__":
    Util.generate_request_get(
        url="https://randomuser.me/api",
        success_callback=funcion_si_respuesta_es_correcta,
        error_callback=funcion_si_respuesta_no_es_correcta)
示例#9
0
def signup_confirm_email(request):
    forms = RegistrationForm()
    code_verification = ""
    if request.method == 'POST':
        parametros = request.POST
        if len(parametros) == 7:
            data = dict()
            if len(parametros['code_verification']) > 0 \
                    and len(parametros['code']) > 0:
                if parametros['code_verification'] == parametros['code']:
                    print('OK')

                    paquete = dict()
                    paquete['firstname'] = parametros['firstname']
                    paquete['lastname'] = parametros['lastname']
                    paquete['email'] = parametros['email']

                    import base64
                    import json
                    # paquete = gzip.compress(bytes(json.dumps(paquete), 'utf-8'))
                    paquete = base64.urlsafe_b64encode(
                        bytes(json.dumps(paquete), 'utf-8')).decode('utf-8')

                    data = dict()
                    data['redirec'] = paquete
                    return JsonResponse(data, safe=False)
                else:
                    data['Value_button'] = 'VALIDAR CODIGO'
                    print('hola mundo')
            else:
                if len(parametros['code_verification']) < 1 \
                        or len(parametros['code_verification']) > 0:
                    if str(parametros['email']).find(
                            Preferences.CORREO_PERMITIDO) >= 0:
                        from random import randint
                        code_verification = str(randint(10000000, 99999999))
                        data['code_verification'] = code_verification

                        diccionarioDatos = dict()
                        diccionarioDatos['NAME'] = parametros['firstname']
                        diccionarioDatos['LASTNAME'] = parametros['lastname']
                        diccionarioDatos['EMAIL'] = parametros['email']
                        diccionarioDatos['TOKEN'] = code_verification

                        listaCorreosDestinatarios = list()
                        listaCorreosDestinatarios.append(parametros['email'])
                        html_message = render_to_string(
                            'email_user_create.html', diccionarioDatos)
                        asunto = "Bienvenido, falta confirmar correo"
                        firmaResumenRemitente = Preferences.NAME_APP

                        Utilities.sendMail(asunto, html_message,
                                           firmaResumenRemitente,
                                           parametros['email'], request)

                    else:
                        data[
                            'error'] = 'Por favor digite un correo institucional con extensión: ' + Preferences.CORREO_PERMITIDO + "."
                else:
                    data['code_verification'] = parametros['code_verification']
                if len(parametros['code_verification']) > 0:
                    data['Value_button'] = 'VALIDAR NUEVO CODIGO'
                else:
                    data['Value_button'] = 'VALIDAR CODIGO'
            return JsonResponse(data, safe=False)
        else:
            data = dict()
            data['error'] = 'Datos invalidos'
            return JsonResponse(data, safe=False)
    context = dict()
    context['form'] = forms
    context['Value_button'] = 'VALIDAR EMAIL'
    context['code_verification'] = code_verification
    context['TITLE'] = Preferences.NAME_APP
    return render(request, 'signup_confim_email.html', context)
示例#10
0
def signup(request):
    forms = RegistrationForm()
    value_button = 'Guardar'
    context = dict()
    if request.method == 'GET':
        parametros = request.GET
        datosRecibidos = parametros['D']
        import base64
        import json
        datosRecibidos = base64.urlsafe_b64decode(datosRecibidos)
        # datosRecibidos = gzip.decompress(datosRecibidos).decode('utf-8')
        datosRecibidos = json.loads(datosRecibidos)
        context['firstname'] = datosRecibidos['firstname']
        context['lastname'] = datosRecibidos['lastname']
        context['email'] = datosRecibidos['email']

    if request.method == 'POST':
        parametros = request.POST
        forms = RegistrationForm(parametros)
        if forms.is_valid():
            firstname = forms.cleaned_data['firstname']
            lastname = forms.cleaned_data['lastname']
            email = forms.cleaned_data['email']
            username = email
            password = forms.cleaned_data['password']
            confirm_password = forms.cleaned_data['confirm_password']
            if password == confirm_password:
                try:
                    diccionarioDatos = dict()
                    diccionarioDatos['USERNAME'] = username
                    diccionarioDatos['NAME'] = firstname
                    diccionarioDatos['LASTNAME'] = lastname
                    diccionarioDatos['EMAIL'] = email

                    listaCorreosDestinatarios = list()
                    listaCorreosDestinatarios.append(email)
                    html_message = render_to_string('email_user_create.html',
                                                    diccionarioDatos)
                    asunto = "Bienvenido, su cuenta ha sido creada correctamente"
                    firmaResumenRemitente = Preferences.NAME_APP

                    Utilities.sendMail(asunto, html_message,
                                       firmaResumenRemitente, email, request)

                    User.objects.create_user(username=username,
                                             password=password,
                                             email=email,
                                             first_name=firstname,
                                             last_name=lastname)

                    data = dict()
                    data['redirec'] = 'ok'
                    return JsonResponse(data, safe=False)
                except:
                    context = {
                        'form': forms,
                        'error': 'This Username Already exists!'
                    }
                    return render(request, 'signup.html', context)

    context['form'] = forms
    context['Value_button'] = value_button
    context['TITLE'] = Preferences.NAME_APP

    return render(request, 'signup.html', context)