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
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)
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})
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)