def get(self): user_id = int(self.get_argument("user_id", 0)) user = User() if self.current_user: self.write(json_util.dumps({"success": self.current_user["id"]})) elif user_id != 0: exists_response = user.Exist('', user_id) if "success" in exists_response: existe = exists_response["success"] if not existe: user.user_type = UserType.VISITA user.status = User.ACEPTADO response_obj = user.Save() self.write(json_util.dumps(response_obj)) else: self.write(json_util.dumps({"success": user_id})) else: self.write(json_util.dumps(exists_response)) else: user.user_type = UserType.VISITA response_obj = user.Save() self.write(json_util.dumps(response_obj))
def test_register_user(self): # create a new user instance user = User() user.name = "foo" user.email = "foo@foo" user.password = "******" user.user_type = UserType.CLIENTE user.permissions = [] user.rut = '' # save user on database message = user.Save() assert "success" in message # init just created user other_instance = (User()).InitById(1) assert "error" not in other_instance assert other_instance["name"] == "foo" # try to loin after creating user response_obj = user.Login(user.email, user.password) # must contains a success message assert "success" in response_obj
def test_insert_order(self): user = User() user.name = 'Yi Chun' user.email = '*****@*****.**' user.user_type = 'Visita' user.Save() contact = Contact() contact.user_id = user.id contact.name = 'Casa' contact.telephone = '123456' contact.email = '*****@*****.**' contact.user_id = user.id contact.address = 'some address' contact.lastname = 'lin' contact.city = 1 contact.zip_code = '734628347632' contact.additional_info = 'skjahjdahk' contact.town = 'sadjahsdkjah' contact.rut = '35172617356' contact.Save() # create a new user instance order = Order() order.date = datetime.now(pytz.timezone('Chile/Continental')).isoformat() order.type = Order.TIPO_WEB order.subtotal = 20000 order.shipping = 2000 order.tax = 0 order.total = 22000 order.items_quantity = 1 order.products_quantity = 1 order.user_id = user.id order.billing_id = contact.id order.shipping_id = contact.id order.payment_type = 1 order.voucher = "image.png" order.state = Order.ESTADO_PENDIENTE res = order.Save() print order.date self.assertTrue('success' in res)
def post(self): nombre = self.get_argument("name", "") giro = self.get_argument("bussiness", "") rut = self.get_argument("rut", "") email = self.get_argument("email", "") direccion = self.get_argument("address", "") region = self.get_argument("state", "") provincia = self.get_argument("city", "") comuna = self.get_argument("town", "") clave = self.get_argument("password", "") rep_clave = self.get_argument("re-password", "") rut = re.sub(r'\.+|-+', "", rut).lower() if nombre.strip() == "": self.write( json_util.dumps({ "state": 0, "message": "Debe ingresar nombre" })) return elif giro.strip() == "": self.write( json_util.dumps({ "state": 0, "message": "Debe ingresar giro" })) return elif rut.strip() == "": self.write( json_util.dumps({ "state": 0, "message": "Debe ingresar rut" })) return elif not valida(rut): self.write( json_util.dumps({ "state": 0, "message": "Rut ingresado no es válido" })) return elif email.strip() == "": self.write( json_util.dumps({ "state": 0, "message": "Debe ingresar email" })) return elif not isEmailValid(email): self.write( json_util.dumps({ "state": 0, "message": "Email ingresado no es válido" })) return elif direccion.strip( ) == "" or region == "" or provincia == "" or comuna == "": self.write( json_util.dumps({ "state": 0, "message": "Debe ingresar su dirección completa" })) return elif clave.strip() == "": self.write( json_util.dumps({ "state": 0, "message": "Debe ingresar clave" })) return elif rep_clave.strip() != clave.strip(): self.write( json_util.dumps({ "state": 0, "message": "Las claves ingresadas no coinciden" })) return user = User() user.name = nombre user.password = clave user.email = email user.user_type = UserType.EMPRESA user.bussiness = giro user.rut = rut user.status = User.PENDIENTE res_save = user.Save() user_id = None if "error" in res_save: # self.write(json_util.dumps(res_save)) # return self.write( json_util.dumps({ "state": 0, "message": "error de registro {}".format(res_save["error"]) })) return else: user_id = res_save["success"] city_id = None city = City() res_city = city.getIdByName(comuna) if "success" in res_city: city_id = res_city["success"] contact = Contact() contact.town = "{}, {}".format(comuna.encode("utf-8"), region.encode("utf-8")) contact.address = direccion contact.user_id = user_id contact.city = city_id try: html = self.generateMail("registro_mayorista.html", name=nombre.encode('utf-8'), bussiness=giro.encode('utf-8'), email=email.encode('utf-8'), address=direccion.encode('utf-8'), state=region.encode('utf-8'), city=provincia.encode('utf-8'), town=comuna.encode('utf-8'), rut=rut, url_local=url_local) sg = sendgrid.SendGridClient(sendgrid_user, sendgrid_pass) mensaje = sendgrid.Mail() mensaje.set_from("{nombre} <{mail}>".format(nombre=nombre, mail=email)) mensaje.add_to(to_giani) mensaje.set_subject("Registro Mayorista GDF") mensaje.set_html(html) status, msg = sg.send(mensaje) # print status except Exception, e: print str(e) try: html = self.generateMail("registro_mayorista_cliente.html", name=nombre.encode('utf-8')) sg = sendgrid.SendGridClient(sendgrid_user, sendgrid_pass) mensaje = sendgrid.Mail() mensaje.set_from("{nombre} <{mail}>".format( nombre='Giani Da Firenze', mail=email_giani)) mensaje.add_to(email) mensaje.set_subject("Registro Mayorista GDF") mensaje.set_html(html) status, msg = sg.send(mensaje) # print msg except Exception, e: print str(e)
def post(self): name = self.get_argument("name", "") email = self.get_argument("email", "") password = self.get_argument("password", "") re_password = self.get_argument("re-password", "") tos = self.get_argument("tos", "") ajax = self.get_argument("ajax", "false") user_id = int(self.get_argument("user_id", 0)) # print tos if name == "": self.write(json_util.dumps({"error": "debe ingresar su nombre"})) return elif email == "": self.write(json_util.dumps({"error": "debe ingresar el email"})) return elif password == "": self.write( json_util.dumps({"error": "debe ingresar la contraseña"})) return elif password != re_password: self.write( json_util.dumps({"error": "las contraseñas no coinciden"})) return elif tos != "on": self.write( json_util.dumps( {"error": "debe aceptar las condiciones de uso"})) return else: response = User().Exist(email) if "success" in response: if response["success"]: self.write( json_util.dumps({ "error": "ya existe un usuario registrado con este email" })) return else: self.write( json_util.dumps({ "error": "se ha producido un error {}".format(response['error']) })) return # perform login user = User() user.name = name user.email = email user.password = password user.user_type = UserType.CLIENTE user.status = User.ACEPTADO if user_id != 0: existe = User().Exist('', user_id) if "success" in existe: if existe["success"]: user.id = user_id user.Save() RegistrationEmail(user.name, user.email) response_obj = user.Login(user.email, user.password) if "success" in response_obj: self.set_secure_cookie("user_giani", response_obj["success"], expires_days=None) current_user_id = json_util.loads( response_obj["success"])["id"] if user_id != current_user_id: cart = Cart() response = cart.MoveTempToLoggedUser( user_id, current_user_id) self.write(json_util.dumps({"success": self.next})) return else: self.write(json_util.dumps({"error": str(response_obj)})) return # redirect is the request isn't aajx if ajax == "false": self.set_secure_cookie("user_giani", response_obj["success"], expires_days=None) self.write(json_util.dumps({"success": self.next}))
def _save_user_profile(self, user): if not user: raise tornado.web.HTTPError(500, "Facebook authentication failed.") user_id = self.get_argument("user_id", "") usr = User() usr.name = user["name"] usr.email = user["email"] usr.user_type = UserType.VISITA if user_id != "": usr.id = user_id response = usr.Exist(user["email"]) if "success" in response: if not response["success"]: res = usr.Save() RegistrationEmail(usr.name, usr.email) if "error" in res: print res["error"] else: self.render("auth/fail.html", message=response["error"]) response_obj = usr.InitByEmail(user["email"]) # print response_obj if "success" in response_obj: current_user_id = json_util.loads(response_obj["success"])["id"] # print "user_id: {} current_user_id: {}".format(str(user_id),str(current_user_id)) if user_id != "": if str(user_id) != str(current_user_id): cart = Cart() response = cart.MoveTempToLoggedUser( user_id, current_user_id) # if "error" in response: # print "Error moving cart detail: {}".format(response["error"]) self.set_secure_cookie("user_giani", response_obj["success"], expires_days=0.02) _u = User() _u.updateLastView( current_user_id, datetime.now(pytz.timezone('Chile/Continental')).isoformat()) self.redirect(self.next) else: self.render("auth/fail.html", message=response_obj["error"]) # else: # self.write(response_obj["error"]) # conn = psycopg2.connect(conn_string) # cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) # # self.write(user) # # return # cursor.execute("select * from \"user\" where email = %(email)s",{"email":user["email"]}) # data = cursor.fetchone() # _user = {} # if data: # _user["id"] = data["id"] # _user["name"] = data["name"] # _user["email"] = data["email"] # _user["type"] = data["type"] # _user["profile"] = data["profile"] # print "ya existe" # self.write("el usuario con el email ya existe") # else: # parameters = {"email":user["email"],"name":user["name"],"type":"facebook"} # try: # cursor.execute("insert into \"user\" (email, name, type) values (%(email)s,%(name)s,%(type)s)",parameters) # conn.commit() # try: # cursor.execute("select * from \"user\" where email = %(email)s",{"email":user["email"]}) # data = cursor.fetchone() # if data: # _user["id"] = data["id"] # _user["name"] = data["name"] # _user["email"] = data["email"] # _user["type"] = data["type"] # self.write("usuario creado correctamente") # except Exception, e: # self.write(str(e)) # except Exception,e: # self.write(str(e)) # self.set_secure_cookie("user_giani", json_util.dumps(_user, sort_keys=True, indent=4, default=json_util.default)) # self.redirect("/") pass