Beispiel #1
0
    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))
Beispiel #2
0
    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
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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}))
Beispiel #6
0
    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