示例#1
0
def imprime(_id):
    from aplicacion.modelos.Orden import Orden
    info = Orden.ordenFullInfo(_id)
    deff = 0
    for tot in info[0]["detalle"]:
        deff = deff + tot["precio_total"]

    info[0]["total_orden"] = deff + info[0]["delivery"]
    info[0][
        "paga"] = info[0]["pago"][0]["monto"] + info[0]["pago"][0]["vuelto"]
    # return info[0]

    return render_template("orden.html", data=info)
示例#2
0
def mailing(_id):
    from aplicacion.modelos.Orden import Orden
    info = Orden.ordenFullInfo(_id)
    deff = 0
    for tot in info[0]["detalle"]:
        deff = deff + tot["precio_total"]

    info[0]["total_orden"] = deff + info[0]["delivery"]
    info[0][
        "paga"] = info[0]["pago"][0]["monto"] + info[0]["pago"][0]["vuelto"]
    # return info[0]
    body = render_template("mail_orden.html", data=info)
    mail = Utilidades.send_mail(info[0]["correo"], 'Orden ' + str(_id), body)
    return info[0]
示例#3
0
def webpay():
    from aplicacion.helpers.transbank import transbank
    from aplicacion.modelos.Orden import Orden
    from aplicacion.modelos.OrdenPago import OrdenPago
    try:

        if request.method == 'GET':

            parser = reqparse.RequestParser()
            parser.add_argument('token',
                                type=str,
                                required=True,
                                help="Debe indicar una atención")
            # parser.add_argument('amount',
            #                     type=str,
            #                     required=True,
            #                     help="Debe indicar una atención"
            #                     )
            # parser.add_argument('order',
            #                     type=str,
            #                     required=True,
            #                     help="Debe indicar una atención"
            #                     )
            data = parser.parse_args()
            token = data["token"]
            data = base64.b64decode(data["token"])
            data = json.loads(data)
            infoOrden = Orden.ordenFullInfo(data["order"])
            if len(infoOrden) == 0:
                return {
                    "estado": 0,
                    "msj": "La orden que desea pagar no esta registrada"
                }
            deff = 0
            for tot in infoOrden[0]["detalle"]:
                deff = deff + tot["precio_total"]

            infoOrden[0]["total_orden"] = deff + infoOrden[0]["delivery"]
            monto = infoOrden[0]["total_orden"]

            body = {
                "order":
                data["order"],
                "session":
                datetime.now().timestamp(),
                "amount":
                monto,
                "url_return":
                "http://rypsystems.cl:5000/webpayresponse?token=" + str(token)
            }

            result = transbank.crearToken(body)
            upOp = {
                "url_redirect": data["url_return"],
                "tb_token": result["token"]
            }
            OrdenPago.update_data_by_orden(data["order"], upOp)
            result["method"] = "POST"
            return render_template('redirect.html', data=result)
        if request.method == 'POST':
            dataJson = request.get_json()
            token = json.dumps(dataJson).encode('utf-8')
            token = base64.b64encode(token)
            token = str(token).replace("b'", "")
            token = token.replace("'", "")
            return {"token": token}
    except Exception as e:
        print("=======================E")
        print(e)
        exc_type, exc_obj, exc_tb = sys.exc_info()
        fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
        msj = 'Error: ' + str(exc_obj) + ' File: ' + fname + ' linea: ' + str(
            exc_tb.tb_lineno)
        return msj
示例#4
0
    def put(self):
        exist = None
        try:            
            first = 'Hola, que orden deseas consultar'
            r = requests.get(
                'https://api.telegram.org/bot1285646573:AAG8TM4f1ghE9rCU8DoP66s-SWVN63NcFYM/getUpdates')
            
            info = r.json()
            for x in info["result"]:
                msj = x["message"]["text"].strip()
                if msj.upper() == 'ENTRAR':
                    entro = Asistencia.entrada()
                    indicador = x["message"]["from"]["id"]
                    respondido = Telegram.get_data(x["update_id"])
                    
                    if not respondido:
                        bot.send_message(indicador, entro)
                        
                        ins = {
                            "id_update" : x["update_id"],
                            "id_chat" : x["message"]["from"]["id"]
                        }
                        Telegram.insert(ins)
                elif msj.upper() == 'SALIR':
                    salgo = Asistencia.salida()
                    indicador = x["message"]["from"]["id"]
                    respondido = Telegram.get_data(x["update_id"])
                    
                    if not respondido:
                        bot.send_message(indicador, salgo)
                        ins = {
                            "id_update" : x["update_id"],
                            "id_chat" : x["message"]["from"]["id"]
                        }
                        Telegram.insert(ins)
                else:
                    orden = x["message"]["text"].split(" ")
                    if len(orden) > 1:
                        if orden[1]:
                            try:
                                exist = Orden.ordenFullInfo(orden[1])
            
                            except Exception as e:
                                exc_type, exc_obj, exc_tb = sys.exc_info()
                                fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
                                msj = 'Error: '+ str(exc_obj) + ' File: ' + fname +' linea: '+ str(exc_tb.tb_lineno)
                                return {'mensaje': str(msj) }, 500

                            if exist:
                                first ="Nombre= " + str(exist[0]["nombre"]) +" \n"
                                first +="Teléfono= " + str(exist[0]["telefono"]) +" \n"
                                first +="Dirección= " + str(exist[0]["direccion"]) +" \n"
                                llamar = exist[0]["telefono"]
                            if orden[0] == 'o' or orden[0] == 'O' and exist:
                                indicador = x["message"]["from"]["id"]
                                respondido = Telegram.get_data(x["update_id"])
                                
                                if not respondido:
                                    bot.send_message(indicador, first)
                                    bot.send_message(indicador, llamar)
                                    ins = {
                                        "id_update" : x["update_id"],
                                        "id_chat" : x["message"]["from"]["id"]
                                    }
                                    Telegram.insert(ins)

            return r.json()
        except Exception as e:
            exc_type, exc_obj, exc_tb = sys.exc_info()
            fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
            msj = 'Error: '+ str(exc_obj) + ' File: ' + fname +' linea: '+ str(exc_tb.tb_lineno)
            return {'mensaje': str(msj) }, 500