def post(self): oldpass = self.get_argument("oldpass", "") newpass = self.get_argument("newpass", "") confirmpass = self.get_argument("confirmpass", "") if self.current_user: user_id = self.current_user["id"] user = User() usuario = user.InitById(user_id) # codificar la contrasena ingresada m = hashlib.md5() m.update(oldpass) password = m.hexdigest() # compara la clave del usuario con la clave almacenada if password == usuario["password"]: # si la clave esta ingresada correctamente if newpass == confirmpass: m = hashlib.md5() m.update(newpass) password = m.hexdigest() user.ChangePassword(user_id, password) self.write("El cambio fue exitoso") else: self.write("Claves ingresadas no coinciden") else: self.write("Clave incorrecta")
def post(self): username = '' TBK_RESPUESTA = self.get_argument("TBK_RESPUESTA") TBK_ORDEN_COMPRA = self.get_argument("TBK_ORDEN_COMPRA") TBK_MONTO = self.get_argument("TBK_MONTO") TBK_ID_SESION = self.get_argument("TBK_ID_SESION") myPath = "{}webpay/dato{}.log".format(project_path, TBK_ID_SESION) filename_txt = "{}webpay/MAC01Normal{}.txt".format( project_path, TBK_ID_SESION) cmdline = "{}cgi-bin/tbk_check_mac.cgi {}".format( cgi_path, filename_txt) acepta = False if TBK_RESPUESTA == "0": acepta = True else: order = Order() init_by_id = order.InitById(TBK_ORDEN_COMPRA) if "success" in init_by_id: order.state = Order.ESTADO_RECHAZADO_WP save_order = order.Edit() try: f = open(myPath, "r") linea = "" for l in f: if l.strip() != "": linea = l f.close() detalle = linea.split(";") # print "linea:{}".format(linea) if len(detalle) > 0: monto = detalle[0] ordenCompra = detalle[1] f = open(filename_txt, "wt") f.write("{}={}&".format("TBK_ORDEN_COMPRA", self.get_argument("TBK_ORDEN_COMPRA"))) f.write("{}={}&".format("TBK_TIPO_TRANSACCION", self.get_argument("TBK_TIPO_TRANSACCION"))) f.write("{}={}&".format("TBK_RESPUESTA", self.get_argument("TBK_RESPUESTA"))) f.write("{}={}&".format("TBK_MONTO", self.get_argument("TBK_MONTO"))) f.write("{}={}&".format( "TBK_CODIGO_AUTORIZACION", self.get_argument("TBK_CODIGO_AUTORIZACION"))) f.write("{}={}&".format( "TBK_FINAL_NUMERO_TARJETA", self.get_argument("TBK_FINAL_NUMERO_TARJETA"))) f.write("{}={}&".format("TBK_FECHA_CONTABLE", self.get_argument("TBK_FECHA_CONTABLE"))) f.write("{}={}&".format( "TBK_FECHA_TRANSACCION", self.get_argument("TBK_FECHA_TRANSACCION"))) f.write("{}={}&".format("TBK_HORA_TRANSACCION", self.get_argument("TBK_HORA_TRANSACCION"))) f.write("{}={}&".format("TBK_ID_SESION", self.get_argument("TBK_ID_SESION"))) f.write("{}={}&".format("TBK_ID_TRANSACCION", self.get_argument("TBK_ID_TRANSACCION"))) f.write("{}={}&".format("TBK_TIPO_PAGO", self.get_argument("TBK_TIPO_PAGO"))) f.write("{}={}&".format("TBK_NUMERO_CUOTAS", self.get_argument("TBK_NUMERO_CUOTAS"))) f.write("{}={}&".format("TBK_VCI", self.get_argument("TBK_VCI"))) f.write("{}={}&".format("TBK_MAC", self.get_argument("TBK_MAC"))) f.close() if (TBK_MONTO == monto and TBK_ORDEN_COMPRA == ordenCompra and acepta): acepta = True else: acepta = False except: self.write("RECHAZADO") return if acepta: resultado = os.popen(cmdline).read() # print "RESULTADO:-----{}----".format(resultado.strip()) if resultado.strip() == "CORRECTO": acepta = True else: acepta = False if acepta: order = Order() init_by_id = order.InitById(TBK_ORDEN_COMPRA) detail = OrderDetail() lista = detail.ListByOrderId(TBK_ORDEN_COMPRA) if "success" in init_by_id: user = User() usuario = user.InitById(order.user_id) user_email = '' if "error" not in usuario: username = usuario['name'] user_email = usuario["email"] # rechaza si orden no esta pendiente if order.state != Order.ESTADO_PENDIENTE: acepta = False # si esta pendiente actualizar a pagado elif order.state == Order.ESTADO_PENDIENTE: order.state = Order.ESTADO_CONFIRMADO save_order = order.Edit() # rechaza si no puede actualizar la orden if "error" in save_order: acepta = False webpay = Webpay() webpay.order_id = order.id webpay.tbk_orden_compra = self.get_argument( "TBK_ORDEN_COMPRA") webpay.tbk_tipo_transaccion = self.get_argument( "TBK_TIPO_TRANSACCION") webpay.tbk_monto = self.get_argument("TBK_MONTO") webpay.tbk_codigo_autorizacion = self.get_argument( "TBK_CODIGO_AUTORIZACION") webpay.tbk_final_numero_tarjeta = self.get_argument( "TBK_FINAL_NUMERO_TARJETA") webpay.tbk_fecha_contable = self.get_argument( "TBK_FECHA_CONTABLE") webpay.tbk_fecha_transaccion = self.get_argument( "TBK_FECHA_TRANSACCION") webpay.tbk_hora_transaccion = self.get_argument( "TBK_HORA_TRANSACCION") webpay.tbk_id_sesion = self.get_argument("TBK_ID_SESION") webpay.tbk_id_transaccion = self.get_argument( "TBK_ID_TRANSACCION") webpay.tbk_tipo_pago = self.get_argument("TBK_TIPO_PAGO") webpay.tbk_numero_cuotas = self.get_argument( "TBK_NUMERO_CUOTAS") res = webpay.Save() if "error" in res: print res["error"] else: try: self.moveStock(lista, order.user_id) except Exception, e: ExitoHandler.sendError( 'error moviendo stock, {}'.format( TBK_ORDEN_COMPRA)) if username != '': try: subject = "Giani Da Firenze - Procesando Compra Nº {}".format( TBK_ORDEN_COMPRA) mandrill_client = mandrill.Mandrill( mailchimp_api_key) mandrill_client.templates.update( processing_order_template, subject=subject) info = mandrill_client.templates.info( processing_order_template) template_content = [{ "name": "", "content": info["code"] }] merge_vars = [{ "name": "name", "content": username }, { "name": "order_id", "content": TBK_ORDEN_COMPRA }, { "name": "company", "content": "Giani Da Firenze" }, { "name": "current_year", "content": 2015 }, { "name": "list_address_html", "content": '*****@*****.**' }, { "name": "user_email", "content": user_email }] html = mandrill_client.templates.render( processing_order_template, template_content, merge_vars) sg = sendgrid.SendGridClient( sendgrid_user, sendgrid_pass) mensaje = sendgrid.Mail() mensaje.set_from("{nombre} <{mail}>".format( nombre=info["from_name"], mail=info["from_email"])) mensaje.add_to([ '*****@*****.**', '*****@*****.**' ]) mensaje.set_subject(info["subject"]) mensaje.set_html(html["html"]) status, msg = sg.send(mensaje) except Exception, e: print 'enviando correo procesamiento, {}'.format( str(e)) ExitoHandler.sendError( 'enviando correo procesamiento, {}'.format( str(e)))