Example #1
0
def criando_pessoas(quantidade_de_pessoas):
    fake = Faker('pt-BR')
    Faker.seed(10)
    for _ in range(quantidade_de_pessoas):
        cpf = CPF()
        nome = fake.name()
        email = '{}@{}'.format(nome.lower(), fake.free_email_domain())
        email = email.replace(' ', '')
        cpf = cpf.generate()
        rg = "{}{}{}{}".format(random.randrange(10, 99),
                               random.randrange(100, 999),
                               random.randrange(100, 999),
                               random.randrange(0, 9))
        celular = "{} 9{}-{}".format(
            random.randrange(10, 21),
            random.randrange(4000, 9999),
            random.randrange(4000, 9999),
        )
        ativo = random.choice([True, False])
        p = Cliente(nome=nome,
                    email=email,
                    cpf=cpf,
                    rg=rg,
                    celular=celular,
                    ativo=ativo)
        p.save()
Example #2
0
def guardarC(request):
    n = request.POST["nombre"]
    a = request.POST["apellido"]
    ce = request.POST["cedula"]
    c = request.POST["correo"]
    cl = Cliente(cedula=ce, nombre=n, apellido=a, correo=c)
    cl.save()
    return render(request, 'principal.html', {'mensaje': 'cliente guardado'})
Example #3
0
def salvar(request):
    form = (request.POST)
    perfil = Cliente(id=form['id'],
                     cpf_cnpj=form['cpf_cnpj'],
                     nm_costume=form['nm_costume'],
                     is_active=form['is_active'],
                     vl_total=form['valor'])
    perfil.save()
    return redirect('/')
Example #4
0
def clienteAdicionar(request):
  if request.method == 'POST':
    try:
      cliente = Cliente.objects.get(email=request.POST['email'])
      raise PermissionDenied
    except (Cliente.DoesNotExist):
      cliente = Cliente(email=request.POST['email'], telefone=request.POST['telefone'], senha="123")
      cliente.save()
      return redirect('/clientes/%d' % cliente.id)
  else:
    raise PermissionDenied
Example #5
0
def agregar(request):
    if request.method == 'POST':
        documento = request.POST['documento']
        tipo_doc = request.POST['tipo_doc']
        nombres = request.POST['nombres']
        apellidos = request.POST['apellidos']
        genero = int(request.POST['genero'])
        fecha_nacimiento = request.POST['fecha_nacimiento']
        estado_civil = request.POST['estado_civil']
        correo = request.POST['correo']
        direccion = request.POST['direccion']
        telefono = request.POST['telefono']
        ciudad = request.POST['ciudad']
        observaciones = request.POST['observaciones']
        var = fecha_nacimiento.split('/')
        fecha_nacimiento = var[2] + "-" + var[0] + '-' + var[1]
        departamentos = Departamento.objects.all()

        try:
            persona_reg = Cliente.objects.get(pk=documento)
            return render(
                request, 'clientes/agregar.html', {
                    'mensaje_error': 'El documento ' + documento +
                    ' ya se encuentra registrado',
                    'departamentos': departamentos
                })
        except Exception, e:
            try:
                cliente = Cliente(documento=documento,
                                  tipo_documento=tipo_doc,
                                  nombres=nombres,
                                  apellidos=apellidos,
                                  genero=genero,
                                  fecha_nacimiento=fecha_nacimiento,
                                  estado_civil=estado_civil,
                                  telefono=telefono,
                                  correo=correo,
                                  direccion=direccion,
                                  ciudad=Municipio.objects.get(pk=ciudad),
                                  observaciones=observaciones)
                cliente.save()
                return render(
                    request, 'clientes/agregar.html', {
                        'mensaje_exito': 'Se agrego el cliente exitosamente',
                        'departamentos': departamentos
                    })
            except Exception, e:
                raise e
                return render(
                    request, 'clientes/agregar.html', {
                        'mensaje_error': 'No se logro completar la operacion',
                        'departamentos': departamentos
                    })
Example #6
0
def importarArchivoCsv(request):
    if request.method == 'POST':
        delimitador = ";"
        linea = 1
        contenido = request.FILES['file'].read().split("\r\n")
        nuevos_clientes = []
        mensaje_exito = ""
        mensaje_error = ""
        for c in contenido[1:]:
            linea = linea + 1
            row = c.split(delimitador)
            if len(row[0]) == 0:
                break
            else:
                genero = True
                if row[4] == "0":
                    genero = False
                try:
                    cliente = Cliente(documento=row[0],
                                      tipo_documento=row[1],
                                      nombres=row[2],
                                      apellidos=row[3],
                                      genero=genero,
                                      fecha_nacimiento=date(
                                          randint(1930, 2003), randint(1, 12),
                                          randint(1, 28)),
                                      estado_civil=row[6],
                                      telefono=row[7],
                                      correo=row[8],
                                      direccion=row[9],
                                      ciudad=Municipio.objects.get(
                                          nombre__icontains=row[10]),
                                      observaciones="")
                    nuevos_clientes.append(cliente)
                    mensaje_exito = "Base de datos almacenada"
                except Exception, e:
                    mensaje_error = "Error al leer el archivo en la linea " + str(
                        linea
                    ) + ". Favor verifique sus datos y vuelva a intentarlo."
        # Una vez que se leyo el archivo y no genero problemas se inicia con el almacenamiento
        if mensaje_error:
            mensaje_exito = None
        else:
            for nc in nuevos_clientes:
                try:
                    nc.save()
                except Exception, e:
                    mensaje_warning = "No se pudieron almacenar algunos registros. Es posible que ya se encuentren almacenados en la base de datos"
Example #7
0
def registroCliente(request):
	if request.method =='POST':
		documento= request.POST['documento']
		#obtenemos ahora la campania a la que se va a registrar la factura
		#independientemente del registro del cliente
		campania_id= request.POST['campania']
		#Ahora buscamos los almacenes que hacer parte de la campania seleccionada
		campania= Campania.objects.get(pk=campania_id)
		campania_almacen= CampaniaAlmacen.objects.filter(campania_id=campania_id,participa=1)
		almacen= Almacen.objects.get(pk=request.POST['almacen'])
		#ahora se busca en la base de datos si se encuentra registrado o no
		try:
			#Esto en caso de la opcion de que al verificar el documento si se 
			#encuentre el cliente
			cliente= Cliente.objects.get(documento=documento)
			#Si todo marcha a la perfeccion procedemos a agregar la factura como paso final
			return render(request, 'boletas/agregarFactura.html',{'campania':campania,'cliente':cliente,'almacen':almacen,'campania_almacen':campania_almacen})
		except Exception, e:
			#si no se encuentra, entonces quiere decir que se va a agregar
			#Por tanto recolectamos todos los datos
			documento= request.POST['documento']
			tipo_doc= request.POST['tipo_doc']
			nombres= request.POST['nombres']
			apellidos= request.POST['apellidos']
			genero= int(request.POST['genero'])
			fecha_nacimiento= request.POST['fecha_nacimiento']
			estado_civil= request.POST['estado_civil']
			correo= request.POST['correo']
			direccion= request.POST['direccion']
			telefono= request.POST['telefono']
			ciudad= request.POST['ciudad']
			observaciones= request.POST['observaciones']
			if observaciones == "":
				observaciones = "Ninguna"
			var= fecha_nacimiento.split('/')
			#para la fecha, tenemos que trasformarla en el formato que mysql recibe
			fecha_nacimiento= var[2]+"-"+var[0]+'-'+var[1]
			departamentos= Departamento.objects.all()
			nombre_usuario = request.user.username.capitalize()
			try:
				cliente= Cliente(documento,tipo_doc,nombres,apellidos,genero,fecha_nacimiento,estado_civil,telefono,correo,direccion,ciudad,observaciones)
				cliente.save()
				#Si todo marcha a la perfeccion procedemos a agregar la factura como paso final
				return render(request, 'boletas/agregarFactura.html',{'campania':campania,'cliente':cliente,'campania_almacen':campania_almacen})				
			except Exception, e:
				raise e
				return render(request,'boletas/registroCliente.html',{'mensaje_error':'No se logro completar la operacion. Favor verifique sus datos','campania':campania,'departamentos':departamentos})
Example #8
0
def registroCurso(request):
    dic = {'Error': True}
    if request.is_ajax():
        if request.POST:
            from clientes.models import Cliente, ClientesTiendas, Contrato
            try:
                Cliente.objects.get(mail=request.POST['mail'])
            except ObjectDoesNotExist:
                cliente = Cliente()
                cliente.nombre = request.POST['nombreCliente']
                cliente.telefono = 'Desconocido'
                cliente.mail = request.POST['mail']
                cliente.sexo = 'N'
                cliente.fecha = date.today()
                cliente.activo = 0
                cliente.save()

            dic['Error'] = False
            return HttpResponse(json.dumps(dic),
                                content_type='application/json;charset=utf8')
    else:
        raise Http404
Example #9
0
 def test_crearcliente(self):
     cliente1 = Cliente()
     self.assertIsNotNone(cliente1)
 def create(self, request):
     cliente = Cliente(**request.data)
     cliente.usuario_creacion = request.user
     cliente.save()
     return Response(status=status.HTTP_200_OK)
#   TODO 0: python manage.py shell
#   TODO 1: import django
#   TODO 2: django.setup()

# TODO 3. Importar o modelo que vai ser criado
from clientes.models import Cliente

# TODO 4. Criar o tenant public
tenant = Cliente(
                # don't add your port or www here! on a local server you'll want to use localhost here
                domain_url='usesoft-saas.com',
                schema_name='public',
                nome='Usesoft do Brasil',
                pago_ate='3000-12-31',
                em_teste=False).save()

# TODO 4.1: >>> from django.contrib.sites.models import Site
# TODO 4.2: >>> Site.objects.create(name='usesoft-saas.com', domain='usesoft-saas.com.com')

# TODO 5. Criar o tenant sem ser public
tenant1 = Cliente(domain_url='comercialtoes-saas.com',
                  schema_name='comercial_toes',
                  nome='Comercial Toes',
                  pago_ate='2018-12-31',
                  em_teste=False).save()

# TODO 5.1: >>> from django.contrib.sites.models import Site
# TODO 5.2: >>> Site.objects.create(name='comercialtoes-saas.com', domain='comercialtoes-saas.com')


# TODO 6. Criar o outro tenant ser public
Example #12
0
def crearTienda(request):
    datos = {}
    if request.is_ajax():
        if request.POST:
            from clientes.models import Cliente, ClientesTiendas, Contrato, Privilegios
            import re

            if re.match('^[(a-z0-9\_\-\.)]+@[(a-z0-9\_\-\.)]+\.[(a-z)]{2,4}$',
                        request.POST['mail'].lower()) and re.match(
                            '|^[a-zA-Z]*$|',
                            request.POST['subdominio'].lower()):
                try:
                    site = Site.objects.get(domain=request.POST['subdominio'] +
                                            '.mindoncloud.com')
                    datos['Error'] = True
                    datos[
                        'letras'] = 'La tienda ya existe intena con otro Nombre'
                except ObjectDoesNotExist:
                    try:
                        cliente = Cliente.objects.get(
                            mail__exact=request.POST['mail'])
                        print('test')
                        datos['Error'] = True
                        datos['letras'] = 'Correo no válido1'
                    except ObjectDoesNotExist:
                        try:
                            Tienda.objects.get(
                                nombre=request.POST['nombreTienda'], activo=1)
                            datos['Error'] = True
                            datos['letras'] = 'Nombre de tienda en uso'
                        except ObjectDoesNotExist:
                            try:
                                Site.objects.get(
                                    domain=request.POST['subdominio'] +
                                    '.wido.mx')
                                datos['Error'] = True
                                datos['letras'] = 'Direccion de tienda en uso'
                            except ObjectDoesNotExist:
                                datos['Error'] = False

                    if datos['Error'] == False:
                        from datetime import date, timedelta

                        url = urllib.urlopen(
                            "https://api.digitalocean.com/v1/domains/new?client_id=30c316cd106ea8d3aec887283db8dd24&api_key=972292751ed197d894365b2df49c771e&name="
                            + request.POST['subdominio'] +
                            ".wido.com.mx&ip_address=104.236.24.225")

                        url = urllib.urlopen(
                            "https://api.digitalocean.com/v1/domains/new?client_id=30c316cd106ea8d3aec887283db8dd24&api_key=972292751ed197d894365b2df49c771e&name=www."
                            + request.POST['subdominio'] +
                            ".wido.com.mx&ip_address=104.236.24.225")

                        site = Site()
                        site.domain = request.POST[
                            'subdominio'] + '.wido.com.mx'
                        site.name = request.POST['subdominio']
                        site.save()

                        cliente = Cliente()
                        cliente.nombre = request.POST['nombreCliente']
                        cliente.telefono = 'Desconocido'
                        cliente.mail = request.POST['mail']
                        cliente.sexo = 'N'
                        cliente.fecha = date.today()
                        cliente.usuario = 0
                        cliente.activo = 1
                        cliente.save()

                        admin = Administrador()
                        admin.nombre = request.POST['nombreCliente']
                        admin.login = request.POST['subdominio'] + str(
                            uuid.uuid4().hex)[:3]
                        admin.password = str(uuid.uuid4().hex)[:8]
                        admin.cliente = str(cliente.idclientes)
                        admin.activo = 1
                        admin.save()

                        tienda = Tienda()
                        tienda.nombre = request.POST['nombreTienda']
                        tienda.rfc = 'RFC Desconocido'
                        tienda.logo = 'Subir logo'
                        tienda.ubicacion = 'Domicilio Desconocido'
                        tienda.direccion = 'Domicilio Desconocido'
                        tienda.mail = 'mail Desconocido'
                        tienda.telefono = 'telefono desconocido'
                        tienda.descripcion = 'Desconocido'
                        tienda.activo = 0
                        tienda.administrador = admin
                        tienda.site_id = int(site.id)
                        tienda.save()

                        parametros = {
                            'mailreceptor':
                            request.POST['mail'],
                            'mailemisor':
                            '*****@*****.**',
                            'asunto':
                            'Bienvenido a WIDO',
                            'texto':
                            '<h1>Nuevo cliente</h1> <p>Nuevo Cliente con plan simple</p><p>Nombre '
                            + str(cliente.nombre) +
                            '<br>Datos de acceso:<br> usuario:' + admin.login +
                            '<br>clave: ' + admin.password
                        }

                        setMensaje(parametros)

                        stock = Stock()
                        stock.fecha = date.today()
                        stock.descripcion = 'Stock de la tienda ' + request.POST[
                            'nombreTienda']
                        stock.tienda = tienda
                        stock.save()

                        tp = Tipocliente()
                        tp.nombre = 'Casual'
                        tp.descripcion = 'Cliente Casual de tienda ' + unicode(
                            request.POST['subdominio'])
                        tp.prioridad = 1
                        tp.stock_idstock = stock
                        tp.save()

                        contrato = Contrato()
                        contrato.inicio = date.today()
                        current_date = date.today()
                        """new_month=divmod(current_date.month-1+1, 12)
						new_month+=1
						current_date=current_date.replace(year=current_date.year+carry, month=new_month)"""

                        contrato.fin = date.today() + timedelta(days=7)
                        contrato.fecha = date.today()
                        contrato.tienda = str(tienda.idtienda)
                        contrato.clientes_idclientes = cliente
                        contrato.activo = 1
                        contrato.save()

                        privilegio = Privilegios()
                        #privilegio.nivel=request.POST['planes']
                        privilegio.nivel = 'Bronce'
                        privilegio.descripcion = 'Conocida'
                        privilegio.activo = 1
                        privilegio.contrato = contrato
                        privilegio.save()

                        ct = ClientesTiendas()
                        ct.clientes = cliente
                        ct.tiendas = str(tienda.idtienda)
                        ct.activo = 1
                        ct.save()

                        conjunto = Conjunto()
                        conjunto.tienda = int(tienda.idtienda)
                        conjunto.fecha = date.today()
                        conjunto.activo = 1
                        conjunto.cms = Cms.objects.get(idcms=1)
                        conjunto.save()

                        secciones = Secciones()
                        secciones.nombre = 'Pie'
                        secciones.titulo = 'Pie de Pagina'
                        secciones.contenido = 'plantilla1/footer.html'
                        secciones.activo = 1
                        secciones.conjunto = conjunto
                        secciones.save()

                        secciones = Secciones()
                        secciones.nombre = 'Cabecera'
                        secciones.titulo = 'Cabecera de Pagina'
                        secciones.contenido = 'plantilla1/header.html'
                        secciones.activo = 1
                        secciones.conjunto = conjunto
                        secciones.save()

                        secciones = Secciones()
                        secciones.nombre = 'Cuerpo'
                        secciones.titulo = 'Cuerpo de Pagina'
                        secciones.contenido = 'Conocido'
                        secciones.activo = 1
                        secciones.conjunto = conjunto
                        secciones.save()

                        os.mkdir(
                            '/opt/wido/Plataforma/storeapp/static/imagenes/tiendas/'
                            + unicode(request.POST['nombreTienda']).replace(
                                ' ', '-'))

                        #parametros={
                        #    'mailreceptor':'*****@*****.**',
                        #    'mailemisor':request.POST['mail'],
                        #    'asunto':'Nuevo Cliente',
                        #    'texto':'<h1>Nuevo cliente</h1> <p>Nuevo Cliente con plan simple</p><p>Nombre '+str(cliente.nombre)+'</p><p>Referencia '+str(cliente.idclientes)+'</p>',
                        #    }
                        #setMensaje(parametros)
                        #plan=request.POST['planes']
                        #total=0
                        #if plan == 'Bronce':
                        #	total=200
                        #elif plan=='Plata':
                        #	total=300
                        #else:
                        #	total=400

                        #parametros={
                        #        'mailreceptor':request.POST['mail'],
                        #        'mailemisor':'*****@*****.**',
                        #        'asunto':'Nuevo Cliente',
                        #        'texto':'<!DOCTYPE html> <html lang="es"> <style type="text/css"> h1 {font-size: 2.7em; margin: 0; } h2 {font-size: 2em; } ul {list-style: none; width: 80%; margin-left: 25px; } #todo {padding: 40px; width: 800px; } #logo {width: 25%; height: 300px; display: inline-block; margin-right: 32px; } #logo img {width: 100%; } #derecha {width: 70%; height: auto; display: inline-block; vertical-align: top; } #derecha img {width: 60%; } #total {font-size:2em; font-weight: bold; } #nota {font-size: 18px; } #contenedor-total {margin-left: 40px; margin-bottom: 30px; margin-top: 20px; } .etiqueta {font-size: 18px; } </style> <head> <meta charset="utf-8" /> <title>Pago bancario</title> </head> <body> <header> </header> <div id="todo"> <div id="logo"> <img src="http://subdominios.wido.mx/wido.png"> </div> <div id="derecha"> <h1>Agradecemos tu preferencia</h1> <h2>Informaci&oacute;n de pago</h2> <img src="http://proyectopuente.com.mx/Content/images/posts/banamex.gif"> <ul> <li> <label class="etiqueta" >Beneficiario: Juan Perez</label> </li> <li> <label class="etiqueta" >Sucursal: 0706</label> </li> <li> <label class="etiqueta" >Cuenta: 2331512</label> </li> <li> <label class="etiqueta" >Clabe Interbancaria: 002357070623315125</label> </li> <li> <label class="etiqueta" >Referencia: '+str(cliente.idclientes)+'</label> </li> </ul> </div> <div id="contenedor-total"> <label id="total">Total a pagar: $'+str(total)+'.00</label> </div> <p id="nota"> Nota: Para poder identificar tu pago es importante coloques el numero de referencia a tu deposito. <br> Los pagos salvo buen cobro demoran 72 horas h&aacute;biles. </p> </div> <footer> </footer> </body> </html>',
                        #        }

                        #setMensaje(parametros)"""

                        #params = urllib.urlencode({'user':'******','clave':'30UmjCz90m','subdominio':request.POST['subdominio']})
                        #url=urllib.urlopen("http://subdominios.wido.mx/crear.php",params)

            else:
                datos['Error'] = True
                datos['letras'] = 'Correo inválido'

            return HttpResponse(json.dumps(datos),
                                content_type='application/json;charset=utf8')
    else:
        raise Http404