Esempio n. 1
0
 def clean_id_padrao(self):
     data = self.cleaned_data['id_padrao']
     if self.cleaned_data['tipo'] == 'livro':
         isbn = validatedISBN10(data)
         if isbn:
             data = isbn
         else:
             msg = 'For books the id_padrao need be a valid ISBN'
             raise ValidationError(msg)
     return data
Esempio n. 2
0
def search(request):
    errors = []
    pubs = None
    q = ""
    if "q" in request.GET:
        q = request.GET["q"]
        if not q:
            errors.append(u"Enter with a search term.")
        else:
            isbn = validatedISBN10(q)
            if isbn:
                pubs = Publicacao.objects.filter(id_padrao=isbn)
            else:
                pubs = Publicacao.objects.filter(titulo__icontains=q)
    vars_template = {"errors": errors, "querry": q}
    if pubs is not None:
        vars_template["publications"] = pubs
        vars_template["search"] = True
    return render(request, "catalogo/search.html", vars_template)
Esempio n. 3
0
def busca(request):
    erros = []
    pubs = []
    q = ''
    if 'q' in request.GET:
        q = request.GET['q']
        if not q:
            erros.append(u'Digite um termo para a busca.')
            
        #elif len(q) > 80:
        #    erros.append(u'Entre no mínimo com 80 caracteres.')
            
        else:
            isbn = validatedISBN10(q)
            if isbn:
                pubs = Publicacao.objects.filter(id_padrao=isbn)
            else:
                pubs = Publicacao.objects.filter(titulo__icontains=q)
            
    return render(request, 'catalogo/busca.html', 
                  {"erros": erros, "publicacoes": pubs, "q": q})
Esempio n. 4
0
def busca(request):
    # import pdb; pdb.set_trace() # forma de incluir um break point na execucao do codigo
    erros = []
    pubs = []
    q = ''
    if 'q' in request.GET:
        q = request.GET['q']
        if not q:
            erros.append(u'Digite um termo para a busca.')
        #elif len(q) > 80:
        #    erros.append(u'Digite no maximo 20 caracteres.')
        else:
            isbn = validatedISBN10(q) # isbn é igual a variavel q porem a partir de agora somente os digitos
            if isbn:
                pubs = Publicacao.objects.filter(id_padrao=isbn)
            else:
                pubs = Publicacao.objects.filter(titulo__icontains=q) #icontains equivale a um LIKE do sql
    vars_template = {'erros': erros, 'q': q}
    if pubs is not None:
        vars_template['publicacoes'] = pubs
        vars_template['pesquisa'] = True
    return render(request, 'catalogo/busca.html', vars_template)