Exemple #1
0
def registrar_empresa(request):
    """ Vista para registrar una empresa.
    """
    if request.method == 'POST':
        form = EmpresaForm(request.POST)
        formDireccion = DireccionForm(request.POST)
        formNumeroTelefonico = NumeroTelefonicoForm(request.POST)
        if not formNumeroTelefonico.has_changed():
            formNumeroTelefonico = NumeroTelefonicoForm()
        formRedSocial = RedSocialForm(request.POST)
        if not formRedSocial.has_changed():
            formRedSocial = RedSocialForm()
        es_vendedor = no_es_vendedor(request.user)
        forms = {'form':form, 'formDireccion':formDireccion, 'formNumeroTelefonico':formNumeroTelefonico, \
        'formRedSocial':formRedSocial, 'no_es_vendedor':es_vendedor}

        if form.is_valid() and formDireccion.is_valid():
            es_valido = True
            if formNumeroTelefonico.has_changed():
                if not formNumeroTelefonico.is_valid():
                    es_valido = False
            else:
                formNumeroTelefonico = NumeroTelefonicoForm()
                forms['formNumeroTelefonico'] = formNumeroTelefonico
            if formRedSocial.has_changed():
                if not formRedSocial.is_valid():
                    es_valido = False
            else:
                formRedSocial = RedSocialForm()
                forms['formRedSocial'] = formRedSocial
            if es_valido:
                empresa = form.instance
                empresa = form.save(commit=True)
                direccion = formDireccion.save(commit=True)

                EmpresaTieneDireccion(empresa=empresa, direccion=direccion).save()

                if formNumeroTelefonico.has_changed() and formNumeroTelefonico.is_valid():
                    numero_telefonico = formNumeroTelefonico.instance
                    numero_telefonico.empresa = empresa
                    numero_telefonico.save()
                if formRedSocial.has_changed() and formRedSocial.is_valid():
                    red_social = formRedSocial.instance
                    red_social.empresa = empresa
                    red_social.save()
                return render(request, 'principal/exito.html')
    else:
        form = EmpresaForm()
        formDireccion = DireccionForm()
        formNumeroTelefonico = NumeroTelefonicoForm()
        formRedSocial = RedSocialForm()
        es_vendedor = no_es_vendedor(request.user)
        forms = {'form':form, 'formDireccion':formDireccion, \
        'formNumeroTelefonico':formNumeroTelefonico, \
        'formRedSocial':formRedSocial, 'no_es_vendedor':es_vendedor}

    return render(request, 'empresas/registrar_empresa.html', forms)
Exemple #2
0
 def test_registrar_direccion_valida(self):
     """ registrar una dirección con datos válidos
     """
     estado = Estado.objects.get(nombre="Oaxaca")
     direccion = "calle 5000 a lado del piso derretido"
     municipio = Municipio.objects.get(nombre="Abejones")
     data = {'estado':estado.id, 'direccion':direccion, 'municipio':municipio.id}
     form_direccion = DireccionForm(data=data)
     self.assertTrue(form_direccion.is_valid())
Exemple #3
0
def registrar_empresa(request):
    """ Vista para registrar una cliente.
    """
    if request.method == 'POST':
        form = ClienteForm(request.POST)
        formDireccion = DireccionForm(request.POST)
        es_vendedor = no_es_vendedor(request.user)
        forms = {
            'form': form,
            'formDireccion': formDireccion,
            'no_es_vendedor': es_vendedor
        }

        if form.is_valid() and formDireccion.is_valid():
            es_valido = True
            if es_valido:
                cliente = form.instance
                cliente = form.save(commit=True)
                direccion = formDireccion.save(commit=True)
                ClienteTieneDireccion(cliente=cliente,
                                      direccion=direccion).save()
                return render(request, 'principal/exito.html')
    else:
        form = ClienteForm()
        formDireccion = DireccionForm()
        es_vendedor = no_es_vendedor(request.user)
        forms = {
            'form': form,
            'formDireccion': formDireccion,
            'no_es_vendedor': es_vendedor
        }

    return render(request, 'empresas/registrar_empresa.html', forms)
Exemple #4
0
    def test_registrar_direccion_invalida(self):
        """ registrar una dirección con datos inválidos:
        - estado inexistente
        - direccion inexistente
        - municipio inexistente
        """
        direccion = "calle 5000 a lado del piso derretido"
        data = {'estado':-1, 'direccion':direccion, 'municipio':1}
        form_direccion = DireccionForm(data=data)
        self.assertFalse(form_direccion.is_valid())

        direccion = ""
        data = {'estado':1, 'direccion':direccion, 'municipio':1}
        form_direccion = DireccionForm(data=data)
        self.assertFalse(form_direccion.is_valid())

        direccion = "calle 5000 a lado del piso derretido"
        data = {'estado':1, 'direccion':direccion, 'municipio':-1}
        form_direccion = DireccionForm(data=data)
        self.assertFalse(form_direccion.is_valid())
Exemple #5
0
def registrar_empresa(request):
    """ Vista para registrar una cliente.
    """
    if request.method == "POST":
        form = ClienteForm(request.POST)
        formDireccion = DireccionForm(request.POST)
        es_vendedor = no_es_vendedor(request.user)
        forms = {"form": form, "formDireccion": formDireccion, "no_es_vendedor": es_vendedor}

        if form.is_valid() and formDireccion.is_valid():
            es_valido = True
            if es_valido:
                cliente = form.instance
                cliente = form.save(commit=True)
                direccion = formDireccion.save(commit=True)
                ClienteTieneDireccion(cliente=cliente, direccion=direccion).save()
                return render(request, "principal/exito.html")
    else:
        form = ClienteForm()
        formDireccion = DireccionForm()
        es_vendedor = no_es_vendedor(request.user)
        forms = {"form": form, "formDireccion": formDireccion, "no_es_vendedor": es_vendedor}

    return render(request, "empresas/registrar_empresa.html", forms)