Example #1
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 #2
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 #3
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 #4
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 #5
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 #6
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 #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 post(self, request):
		form = RegistrarUsuarioForm(request.POST)
		if form.is_valid():
			dados_form = form.data
			
			usuario = User.objects.create_user(dados_form['usuario'], dados_form['email'], dados_form['senha'])
			cliente = Cliente(nome=dados_form['nome'],
									endereco= dados_form['endereco'], #
									cidade= dados_form['cidade'],#
									cep=dados_form['cep'],
									telefone=dados_form['telefone'],																
									#email=dados_form['email'],
									usuario=usuario)
			cliente.save()
			return render(request, 'sucesso.html')

		return render(request, self.template_name, {'form' : form  }) 
Example #9
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 #10
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 #11
0
def insertCliente(nombre_comp, direccion, telf, ruc):
    try:
        tokens = nombre_comp.strip().split()
        apellidos = " ".join(tokens[:2]).decode("latin_1")
        nombres = " ".join(tokens[2:]).decode("latin_1")
    except UnicodeEncodeError:
        print (
            (
                str(apellidos)
                + "; "
                + str(nombres)
                + "; "
                + str(ruc)
                + "; "
                + str(telf)
                + "; "
                + str(direccion.decode("latin_1"))
                + "\n"
            )
        )
    try:
        cliente = Cliente(
            codigo=ruc.strip(),
            apellidos=apellidos,
            nombres=nombres,
            direccion=direccion.decode("latin_1"),
            telefono=telf.strip(),
            tipo="B",
            cliente_desde=datetime.today(),
        )
        cliente.save()
    except Warning:
        name = nombres.replace("\xD1", "N")
        name = name.replace("\xC8", "A")
        print nombre_comp, direccion
        app = apellidos.replace("\xD1", "N")
        app = app.replace("\xC8", "A")
        dire = direccion.replace("\xD1", "N")
        dire = dire.replace("\xC8", "A")
        dire = dire.replace("\xBA", "o")
        dire = dire.replace("\xA6", "")
        dire = dire.replace("\xAA", "")
        dire = dire.replace("\xB7", "")
        cliente = Cliente(
            codigo=ruc,
            apellidos=app,
            nombres=name,
            direccion=dire,
            telefono=telf,
            tipo="A",
            cliente_desde=datetime.today(),
        )
        cliente.save()
Example #12
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 #13
0
def save(request):
	# recupera informacoes do POST
	nome = request.POST["nome"]
	email = request.POST["email"]
	cliente = Cliente()

	# testa se ja existe cliente cadastrado com o email fornecido
	try:
		tcliente = Cliente.objects.get(email=email)
		cliente = tcliente
	except:
		# caso contrario cria um novo e salva
		cliente = Cliente()
		cliente.nome = nome
		cliente.email = email
		cliente.save()

	# cria uma nova expressao e salva associada ao cliente acima
	valor = request.POST["expressao"]
	try:
		expressoes = cliente.expressao_set.all()
	
		# se nao expressoes cadastradas
		if expressoes:
			# testa se o cliente ainda nao cadastrou a string
			for expr in expressoes:
				if expr.valor == valor:
					raise Exception

		# cria uma expressao caso contrario
		expressao = Expressao()
		expressao.valor = valor
		expressao.cliente = cliente
		expressao.save()
		result = "Expressao \"%s\" cadastrada com sucesso" % valor

	except:
		result = "Expressao \"%s\" ja cadastrada" % valor
	
	# redireciona para pagina de sucesso
	return render_to_response('clientes/success.html', {'cliente': cliente.email, 'result': result})
 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 #16
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
Example #17
0
 def test_crearcliente(self):
     cliente1 = Cliente()
     self.assertIsNotNone(cliente1)
Example #18
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