Beispiel #1
0
 def test_create_form_invalid(self):
     usuario = Usuario(username='******', password='******')
     cliente = Cliente(nombre='client1',
                       direccion='Azara',
                       email='*****@*****.**')
     cliente.save()
     usuario.save()
     form = ProyectoForm({
         'nombre':
         'proyecto',
         'fecha_creacion':
         timezone.now(),
         'fecha_fin': (timezone.now() - timezone.timedelta(days=1)),
         'fecha_inicio':
         timezone.now(),
         'lider_proyecto':
         str(usuario.pk),
         'cliente':
         str(cliente.pk),
         'descripcion':
         'Descripcion',
         'estado':
         'PEN',
         'observaciones':
         'No hay observaciones'
     })
     self.assertFalse(form.is_valid())
Beispiel #2
0
def create_cliente(request):
    """
        Funcion para crear cliente utilizando el form ClienteForm.
        Recibe en el request el form completado, o displaya uno vacio en caso de que no se llame a
        post. Controla la validez del form antes de guardarlo como un cliente nuevo en la base de datos.
        Parametros: Recibe el request.
        Retorna:
        -El render del template cliente_create.html en caso de form vacio o invalido.
        -Redireccion a lista de clientes si el form es valido

    """
    if request.method == 'POST':
        form = ClienteForm(request.POST)
        if form.is_valid():
            nombreC = form.cleaned_data['nombre']
            direccionC = form.cleaned_data['direccion']
            emailC = form.cleaned_data['email']
            p = Cliente(nombre=nombreC, direccion=direccionC, email=emailC)
            p.save()
            return HttpResponseRedirect('/cliente/' + str(p.id))
    else:
        form = ClienteForm()
    return render(request,
                  'cliente_create.html', {'form': form},
                  context_instance=RequestContext(request))
Beispiel #3
0
def save(request):
    '''Graba los datos'''
    c = {}
    c.update(csrf(request))
    if request.method == 'POST':
        nombre = request.POST['nombre']
        apellido = request.POST['apellido']
        provincia = request.POST['provincia']
        pais = request.POST['pais']
        fechaNacimiento = request.POST['fechaNacimiento']
        if request.POST['id'] != "":
            clienteSave = Cliente.objects.get(pk=request.POST['id'])
            clienteSave.nombre = nombre
            clienteSave.apellido = apellido
            clienteSave.provincia = provincia
            clienteSave.pais = pais
            clienteSave.fechaNacimiento = fechaNacimiento
        else:
            clienteSave = Cliente(nombre=nombre, apellido=apellido,
                                  provincia=provincia, pais=pais,
                                  fechaNacimiento=fechaNacimiento)
        try:
            clienteSave.save()
            return render(request, 'cliente/save_cliente.html')
        except:
            print 'error_message'
Beispiel #4
0
    def apropriar_dados_http_chave(cls, request):
        m_cliente = Cliente()

        d_dados_app = request.data['dados_app']
        d_cliente = d_dados_app['cliente']
        m_cliente.cpf = d_cliente['cpf']
        m_cliente.email = d_cliente['email']

        return m_cliente
Beispiel #5
0
    def extrair_cliente_dados_http(cls, request):
        m_cliente = Cliente()

        d_dados_app = request.data['dados_app']

        d_cliente = d_dados_app['cliente']
        m_cliente.cpf = d_cliente['cpf']

        return m_cliente
Beispiel #6
0
def cadastro_cliente(request):
	form = FormularioCadastroCliente(request.POST)
	if form.is_valid():
		dados = form.data
		usuario = User.objects.create_user(username= dados['login'] , password= dados['senha'] , email= dados['email'])
		cliente = Cliente(nome= dados['nome'] , telefone= dados['telefone'] , usuario= usuario)
		cliente.save()
		carrinho = Carrinho(cliente= cliente)
		carrinho.save()
		return render(request , 'pagina_incial.html')
	return render(request , 'pagina_incial.html' , {'erro_cadastro' : True , 'formulario' : form})
Beispiel #7
0
    def apropriar_dados_http(cls, request):
        m_produto = ProdutoViewSet.apropriar_dados_http_chave(request)

        m_produto.nome = request.data['nome']
        m_produto.tipo = request.data['tipo']
        m_produto.valor = request.data['valor']

        m_cliente = Cliente()
        m_cliente.cpf = request.data['cpf']
        m_produto.cliente = m_cliente

        return m_produto
Beispiel #8
0
    def post(self, request):
       
#verificando se eu tenho algo no request
        
        cliente = Cliente()
        cliente.nome = 'João'


        cliente.save()

        
        return Response({"Sucesso": True})
Beispiel #9
0
    def apropriar_dados_http(cls, request):
        m_contrato = Contrato()
        m_cliente = Cliente()
        m_contrato.cliente = m_cliente

        d_dados_app = request.data
        d_contrato = d_dados_app['contrato']
        d_cliente = d_dados_app['cliente']

        m_cliente.cpf = d_cliente['cpf']
        m_contrato.id_contrato = d_contrato['id_contrato']

        return m_contrato
Beispiel #10
0
    def obter_ultimo(self, request):
        try:
            m_cliente = Cliente()
            retorno_cliente = m_cliente.obter_ultimo()

            return Response(retorno_cliente.json())
        except Exception as e:
            print(traceback.format_exception(None, e, e.__traceback__),
                  file=sys.stderr,
                  flush=True)

            retorno = Retorno(
                False, 'Falha de comunicação. Em breve será normalizado.', '')
            return Response(retorno.json())
Beispiel #11
0
    def inicializar_contexto(self, request):
        super().inicializar_contexto(request)

        self.m_veiculo = Veiculo()
        self.m_cliente = Cliente()
        self.definir_contexto(self.m_veiculo)
        self.definir_contexto(self.m_cliente)
Beispiel #12
0
def solicitudPrestamo(request):
    if request.method == 'GET':
        solicitudForm = SolicitudForm()
        formCliente = ClienteForm()

        return render(request, 'solicitud.html', {
            'solicitudForm': solicitudForm,
            'formCliente': formCliente
        })
    elif request.method == 'POST':
        solicitudForm = SolicitudForm(request.POST, request.FILES)
        formCliente = ClienteForm(request.POST, request.FILES)

        if solicitudForm.is_valid() and formCliente.is_valid():
            try:
                cliente_obj = Cliente.objects.get(
                    identificacion=formCliente['identificacion'].value())
            except Cliente.DoesNotExist:
                cliente_obj = formCliente.save()

            prestamo = solicitudForm.save(commit=False)
            prestamo.cliente = cliente_obj

            emails = []
            curadores = Usuario.objects.filter(rol='curador')
            for curador in curadores:
                emails.append(curador.email)

            directores = Usuario.objects.filter(rol='director')
            for director in directores:
                emails.append(director.email)

            emails.append(cliente_obj.correo)

            email_subject = 'Solicitud prestamo'
            email_body = "Buen día, \n Se ha realizado la solicitud de prestamo exitosamente"
            # send_mail(email_subject, email_body, '*****@*****.**', emails, fail_silently=False)

            prestamo.save()
            messages.success(
                request,
                "Se ha realizado la solicitud de prestamo exitosamente")
            return HttpResponseRedirect(
                reverse_lazy('prestamo:solicitar_prestamo'))
        else:
            prestamo = Prestamo()
            cliente = Cliente()
            solicitudForm = SolicitudForm(request.POST,
                                          request.FILES,
                                          instance=prestamo)
            formCliente = ClienteForm(request.POST,
                                      request.FILES,
                                      instance=cliente)
            messages.error(request,
                           'Por favor verifique los campos del formulario')
            return render(request, 'solicitud.html', {
                'solicitudForm': solicitudForm,
                'formCliente': formCliente
            })
Beispiel #13
0
    def setUp(self):
        usuario = Usuario.objects.create_user(username='******',
                                              email='*****@*****.**',
                                              password='******',
                                              is_staff=True,
                                              is_superuser=True)
        cliente = Cliente(nombre='client1',
                          direccion='Azara',
                          email='*****@*****.**')
        cliente.save()
        usuario.save()
        self.client.login(username='******', password='******')
        proyecto = Proyecto(
            id=1,
            nombre='proyecto',
            fecha_fin=timezone.now(),
            fecha_inicio=timezone.now(),
            lider_proyecto=usuario,
            cliente=cliente,
            descripcion='Descripcion',
        )
        proyecto.save()
        equipo = Equipo(proyecto=proyecto, nombre='equipo1')
        equipo.save()
        equipo.permisos = {'1'}
        equipo.usuarios = {'1'}
        equipo.save()

        tipo = TipoUS(pk=1, nombre='tipo')
        tipo.save()
        actividad = Actividades(pk=3,
                                nombre='actividad',
                                tipoUS=TipoUS.objects.get(pk=1))
        actividad.save()
        us = US(descripcion_corta='a',
                descripcion_larga='a',
                tiempo_planificado=3,
                valor_negocio=1,
                urgencia=1,
                tipoUS=tipo,
                usuario_asignado=Usuario.objects.get(pk=1),
                proyecto=proyecto)

        us.save()
Beispiel #14
0
    def apropriar_cliente_dados_http(self, d_contrato):
        m_cliente = self.definir_contexto(Cliente())

        d_cliente = d_contrato['cliente']
        m_cliente.nome = d_cliente['nome']
        m_cliente.cpf = d_cliente['cpf']
        m_cliente.email = d_cliente['email']
        m_cliente.telefone = d_cliente['telefone']

        return m_cliente
    def test_puede_buscar_cliente(self):
        cliente = Cliente()
        cliente.nombre = 'ali'
        cliente.apellido = 'almandoz'
        cliente.telefono = 123456
        cliente.direccion = 'ali'
        cliente.slug = 'ali-ali'
        cliente.mail = '*****@*****.**'
        cliente.save()

        self.browser.get(self.live_server_url)
        # ivan ingresa a la pagina.
        #  nota que el titulo es: Bienvenido:
        self.assertIn('ArchivoImprimir.com.ar', self.browser.title)
        # Ivan hace una búsqueda en el sistema para averiguar si el cliente esta registrado en la base de datos.
        inputbox = self.browser.find_element_by_id('id_buscador')
        self.assertEqual(inputbox.get_attribute('placeholder'),
                         'Buscar Cliente')
        inputbox.send_keys('ali')
        inputbox.send_keys(Keys.ENTER)
        self.wait_for_row_in_list_table('ali')
Beispiel #16
0
def cliente_new(request):
    if request.method == 'POST':
        form = ClienteForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()

            return HttpResponse(
                '<h1>Cliente cadastrado com sucesso</h1><p><a href="/clientes/">Voltar</a></p>'
            )
    else:
        c = Cliente()
        form = ClienteForm(instance=c)
    return render_to_response('cliente_new.html', {'form': form},
                              context_instance=RequestContext(request))
    def _crear_cliente(self, num_clientes):
        """
        arguments: num_clientes int

        load a num_clientes numbrer of Clientes instances in to the database

        the data is collected from a xlsx file in the pdf static folder through
        openpyxl library.

        """
        help = 'load a num_clientes number of clients instances in to the data base'
        print('cargando {0} clientes en la base de datos'.format(num_clientes))
        db_cli = []
        for cliente in Cliente.objects.all():
            db_cli.append(cliente.slug)

        for __ in range(num_clientes):
            row = random.randrange(1, 119)
            lista = load_workbook(filename='cliente/static/pdf/contactos.xlsx',
                                  read_only=True)

            cliente = Cliente(
                nombre=lista['contactos']['a' + str(row)].value,
                apellido=lista['contactos']['b' + str(row)].value,
                mail=lista['contactos']['e' + str(row)].value,
                telefono=lista['contactos']['d' + str(row)].value,
                direccion=lista['contactos']['c' + str(row)].value,
                slug=slugify(lista['contactos']['a' + str(row)].value + '-' +
                             lista['contactos']['b' + str(row)].value),
            )
            if cliente.slug in db_cli:
                print(cliente.slug + ': cliente en lista')

            else:
                cliente.save()
                print(cliente.nombre, cliente.apellido, cliente.slug,
                      " agregado")
Beispiel #18
0
 def test_log(self):
     usuario = Usuario.objects.create_user(username='******',
                                           email='*****@*****.**',
                                           password='******',
                                           is_staff=True,
                                           is_superuser=True)
     cliente = Cliente(nombre='client1',
                       direccion='Azara',
                       email='*****@*****.**')
     cliente.save()
     usuario.save()
     self.client.login(username='******', password='******')
     proyecto = Proyecto(
         id=1,
         nombre='proyecto',
         fecha_fin=timezone.now(),
         fecha_inicio=timezone.now(),
         lider_proyecto=usuario,
         cliente=cliente,
         descripcion='Descripcion',
     )
     proyecto.save()
     resp = self.client.get('/proyecto/log_proyecto/1')
     self.assertEqual(resp.status_code, 301)
Beispiel #19
0
def crearUsuario(datos):
    id = int(datos['lugarNacimiento'])
    entidad = Entidad.objects.get(pk=id)
    nombres = datos['nombres']
    apellidoPaterno = datos['apellidoPaterno']
    apellidoMaterno = datos['apellidoMaterno']
    nss = datos['nss']
    email = datos['email']
    servicios = datos['servicios']
    fechaNacimiento = datos['fechaNacimiento']
    fechaNacimiento = datetime.strptime(fechaNacimiento, '%Y-%m-%d')
    telefono = datos['telefono']
    comentariosCliente = datos['comentariosCliente']
    if nss != "":
        cl = Cliente(nombres=nombres,
                     apellidoPaterno=apellidoPaterno,
                     apellidoMaterno=apellidoMaterno,
                     nss=nss,
                     fechaNacimiento=fechaNacimiento,
                     telefono=telefono,
                     email=email,
                     lugarNacimiento=entidad,
                     comentariosCliente=comentariosCliente)
    else:
        cl = Cliente(nombres=nombres,
                     apellidoPaterno=apellidoPaterno,
                     apellidoMaterno=apellidoMaterno,
                     fechaNacimiento=fechaNacimiento,
                     telefono=telefono,
                     email=email,
                     lugarNacimiento=entidad,
                     comentariosCliente=comentariosCliente)

    cl.save()
    cl.servicios.add(servicios)
    return cl
Beispiel #20
0
def RegistrarServicio(request, pk=None):

    if pk:
        try:
            servicio = Servicios.objects.get(pk=pk)
            cliente = Cliente.objects.get(pk=servicio.cliente.pk)
            mensaje_exito = "Se edito exitosamente"
        except Servicios.DoesNotExist:
            messages.error(request, 'No existe el servicio en consulta')
            return HttpResponseRedirect(
                reverse_lazy('servicios:crear_servicio'))
    else:
        servicio = Servicios()
        cliente = Cliente()
        mensaje_exito = 'Se ha guardado exitosamente'
        # viewsRedirect='especimen:crear_especimen'

    if request.method == 'POST':
        print("solicitud post")

        formServicio = ServiciosForm(request.POST,
                                     request.FILES,
                                     instance=servicio)
        formCliente = ClienteForm(request.POST,
                                  request.FILES,
                                  instance=cliente)

        if formServicio.is_valid() and formCliente.is_valid():
            print("valido")
            try:
                cliente_obj = Cliente.objects.get(
                    identificacion=formCliente['identificacion'].value())
            except Cliente.DoesNotExist:
                cliente_obj = formCliente.save()

            servicio = formServicio.save(commit=False)
            servicio.cliente = cliente_obj
            if pk == None:
                servicio.encargado = request.user
                servicio.ticket = genTicket()
            servicio.save()
            messages.success(request, mensaje_exito)
            print("se envio")
            return HttpResponseRedirect(
                reverse_lazy('servicios:listar_servicio'))

        else:
            print('algun formulario esta invalido')
            print(formServicio.errors)
            print(formCliente.errors)
        contexto = {
            'formServicio': formServicio,
            'formCliente': formCliente,
            'submit': True
        }

    else:
        formServicio = ServiciosForm(instance=servicio)
        formCliente = ClienteForm(instance=cliente)
        contexto = {
            'formServicio': formServicio,
            'formCliente': formCliente,
            'submit': True
        }
        return render(request, 'registrar_servicio.html', contexto)
Beispiel #21
0
class ClienteViewSet(AutenticacaoTriSafeViewSet, viewsets.ModelViewSet,
                     permissions.BasePermission):
    queryset = Cliente.objects.all()
    serializer_class = ClienteSerializer

    def inicializar_contexto(self, request):
        super().inicializar_contexto(request)

        self.m_cliente = Cliente()
        self.definir_contexto(self.m_cliente)

    @action(detail=False, methods=['post'])
    def obter(self, request):
        try:
            self.apropriar_dados_http_chave(request.data)

            retorno_cliente = self.m_cliente.obter()
            return retorno_cliente.gerar_resposta_http()

        except Exception as e:

            retorno = Retorno(False, self,
                              'A consulta dos dados cadastrais falhou.', None,
                              None, e)
            return retorno.gerar_resposta_http()

    @action(detail=False, methods=['post'])
    def obter_ultimo(self, request):
        try:
            self.apropriar_dados_http(request.data)

            retorno_cliente = self.m_cliente.obter_ultimo()

            return retorno_cliente.gerar_resposta_http()

        except Exception as e:

            retorno = Retorno(False, self,
                              'A consulta dos dados cadastrais falhou.', None,
                              None, e)
            return retorno.gerar_resposta_http()

    @action(detail=False, methods=['post'])
    def incluir(self, request):
        try:
            self.apropriar_dados_http(request.data)

            retorno = self.m_cliente.incluir()

            return retorno.gerar_resposta_http()

        except Exception as e:

            retorno = Retorno(False, self,
                              'A inclusão dos dados cadastrais falhou.', None,
                              None, e)
            return retorno.gerar_resposta_http()

    @action(detail=False, methods=['post'])
    def alterar(self, request):
        try:
            self.apropriar_dados_http(request.data)

            retorno = self.m_cliente.alterar()

            return retorno.gerar_resposta_http()

        except Exception as e:

            retorno = Retorno(False, self,
                              'A atualização dos dados cadastrais falhou.',
                              None, None, e)
            return retorno.gerar_resposta_http()

    @action(detail=False, methods=['post'])
    def salvar_foto_cnh(self, request):
        try:
            self.apropriar_dados_http_chave(request.data)

            foto_cnh_base64 = self.apropriar_dados_http_foto_cnh(request.data)
            retorno_cliente = self.m_cliente.salvar_foto_cnh(foto_cnh_base64)

            return retorno_cliente.gerar_resposta_http()
        except Exception as e:

            retorno = Retorno(False, self, 'A inclusão da foto CNH falhou.',
                              None, None, e)
            return retorno.gerar_resposta_http()

    def apropriar_dados_http_chave(self, d_dados_requisicao):

        d_cliente = d_dados_requisicao['cliente']

        self.m_cliente.cpf = d_cliente['cpf']
        self.m_cliente.email = d_cliente['email']

    def apropriar_dados_http(self, d_dados_requisicao):

        self.apropriar_dados_http_chave(d_dados_requisicao)

        d_cliente = d_dados_requisicao['cliente']
        self.m_cliente.nome = d_cliente['nome']
        self.m_cliente.nome_usuario = d_cliente['nome_usuario']
        self.m_cliente.rua = d_cliente['rua']
        self.m_cliente.telefone = d_cliente['telefone']
        self.m_cliente.numero = d_cliente['numero']
        self.m_cliente.bairro = d_cliente['bairro']
        self.m_cliente.cidade = d_cliente['cidade']
        self.m_cliente.complemento = d_cliente['complemento']
        self.m_cliente.cep = d_cliente['cep']
        self.m_cliente.uf = d_cliente['uf']

    def apropriar_dados_http_foto_cnh(self, d_dados_requisicao):
        d_veiculo = d_dados_requisicao['cliente']
        d_foto_cnh = d_veiculo['foto_cnh']

        return d_foto_cnh['foto_base64']
Beispiel #22
0
def realizarPrestamo(request, pk):
    if request.method == 'GET':
        prestamo = Prestamo()
        cliente = Cliente()
        try:
            prestamo = Prestamo.objects.get(pk=pk)
            cliente = prestamo.cliente
            prestamoForm = PrestamoForm(instance=prestamo)
            formCliente = ClienteForm(instance=cliente)

            for field in formCliente.fields.items():
                if field[0] != 'correo' and field[0] != 'num_contacto':
                    field[1].widget.attrs['readonly'] = True

            return render(request, 'prestamo.html', {
                'prestamoForm': prestamoForm,
                'formCliente': formCliente
            })

        except Prestamo.DoesNotExist:
            messages.error(request, 'No existe la solicitud en consulta')
            return HttpResponseRedirect(
                reverse_lazy('prestamo:listar_solicitud'))

    elif request.method == 'POST':
        prestamoForm = PrestamoForm(request.POST, request.FILES)
        formCliente = ClienteForm(request.POST, request.FILES)

        try:
            prestamo = Prestamo.objects.get(pk=pk)
            cliente = prestamo.cliente
        except Prestamo.DoesNotExist:
            messages.error(request, 'No existe la solicitud en consulta')
            return HttpResponseRedirect(
                reverse_lazy('prestamo:listar_solicitud'))

        if prestamoForm.is_valid() and formCliente.is_valid():
            prestamo.solicitud = prestamoForm['solicitud'].value()
            prestamo.num_registro = prestamoForm['num_registro'].value()
            prestamo.fecha_entrega = datetime.now()
            prestamo.fecha_devolucion = prestamoForm['fecha_devolucion'].value(
            )
            prestamo.observaciones_entrega = prestamoForm[
                'observaciones_entrega'].value()
            prestamo.encargado = request.user

            cliente.nombre_completo = formCliente['nombre_completo'].value()
            cliente.tipo_identificacion = formCliente[
                'tipo_identificacion'].value()
            cliente.identificacion = formCliente['identificacion'].value()
            cliente.correo = formCliente['correo'].value()
            cliente.num_contacto = formCliente['num_contacto'].value()

            prestamo.cliente = cliente
            prestamo.estado = 'prestamo'
            cliente.save()
            prestamo.save()

            messages.success(request, 'Se ha realizado el prestamo con éxito')
            return HttpResponseRedirect(
                reverse_lazy('prestamo:listar_solicitud'))

        else:
            messages.error(request,
                           'Por favor verifique los datos del formulario')
            prestamoForm = PrestamoForm(request.POST,
                                        request.FILES,
                                        instance=prestamo)
            formCliente = ClienteForm(request.POST,
                                      request.FILES,
                                      instance=cliente)
            return render(request, 'prestamo.html', {
                'prestamoForm': prestamoForm,
                'formCliente': formCliente
            })