def index(request): # Get documents documents = Document.objects.all() # Ordering if 'ordering' in request.GET and request.GET['ordering'] in ['title', '-created_at']: ordering = request.GET['ordering'] else: ordering = '-created_at' documents = documents.order_by(ordering) # Permissions if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = documents.filter(uploaded_by_user=request.user) # Search query_string = None if 'q' in request.GET: form = SearchForm(request.GET, placeholder_suffix='documents') if form.is_valid(): query_string = form.cleaned_data['q'] if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = Document.search(query_string, filters={'uploaded_by_user_id': request.user.id}) else: documents = Document.search(query_string) else: form = SearchForm(placeholder_suffix='documents') # Pagination p = request.GET.get('p', 1) paginator = Paginator(documents, 20) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) # Create response if request.is_ajax(): return render(request, 'wagtaildocs/documents/results.html', { 'ordering': ordering, 'documents': documents, 'query_string': query_string, 'is_searching': bool(query_string), }) else: return render(request, 'wagtaildocs/documents/index.html', { 'ordering': ordering, 'documents': documents, 'query_string': query_string, 'is_searching': bool(query_string), 'search_form': form, 'popular_tags': Document.popular_tags(), })
def index(request): # Get documents documents = Document.objects.all() # Ordering if 'ordering' in request.GET and request.GET['ordering'] in ['title', '-created_at']: ordering = request.GET['ordering'] else: ordering = '-created_at' documents = documents.order_by(ordering) # Permissions if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = documents.filter(uploaded_by_user=request.user) # Search query_string = None if 'q' in request.GET: form = SearchForm(request.GET, placeholder=_("Search documents")) if form.is_valid(): query_string = form.cleaned_data['q'] if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = Document.search(query_string, filters={'uploaded_by_user_id': request.user.id}) else: documents = Document.search(query_string) else: form = SearchForm(placeholder=_("Search documents")) # Pagination p = request.GET.get('p', 1) paginator = Paginator(documents, 20) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) # Create response if request.is_ajax(): return render(request, 'wagtaildocs/documents/results.html', { 'ordering': ordering, 'documents': documents, 'query_string': query_string, 'is_searching': bool(query_string), }) else: return render(request, 'wagtaildocs/documents/index.html', { 'ordering': ordering, 'documents': documents, 'query_string': query_string, 'is_searching': bool(query_string), 'search_form': form, 'popular_tags': Document.popular_tags(), })
def search(request): documents = [] q = None is_searching = False if 'q' in request.GET: form = SearchForm(request.GET) if form.is_valid(): q = form.cleaned_data['q'] is_searching = True documents = Document.search(q, results_per_page=20, prefetch_tags=True) else: form = SearchForm() if request.is_ajax(): return render(request, "wagtaildocs/documents/results.html", { 'documents': documents, 'is_searching': is_searching, 'search_query': q }) else: return render(request, "wagtaildocs/documents/index.html", { 'form': form, 'documents': documents, 'is_searching': True, 'search_query': q, 'popular_tags': Document.popular_tags(), })
def chooser(request): if request.user.has_perm('wagtaildocs.add_document'): uploadform = DocumentForm() else: uploadform = None documents = [] q = None is_searching = False if 'q' in request.GET or 'p' in request.GET: searchform = SearchForm(request.GET) if searchform.is_valid(): q = searchform.cleaned_data['q'] # page number p = request.GET.get("p", 1) documents = Document.search(q, results_per_page=10, prefetch_tags=True) is_searching = True else: documents = Document.objects.order_by('-created_at') p = request.GET.get("p", 1) paginator = Paginator(documents, 10) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) is_searching = False return render( request, "wagtaildocs/chooser/results.html", { 'documents': documents, 'search_query': q, 'is_searching': is_searching, }) else: searchform = SearchForm() documents = Document.objects.order_by('-created_at') p = request.GET.get("p", 1) paginator = Paginator(documents, 10) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) return render_modal_workflow( request, 'wagtaildocs/chooser/chooser.html', 'wagtaildocs/chooser/chooser.js', { 'documents': documents, 'uploadform': uploadform, 'searchform': searchform, 'is_searching': False, })
def chooser(request): if request.user.has_perm('wagtaildocs.add_document'): uploadform = DocumentForm() else: uploadform = None documents = [] q = None is_searching = False if 'q' in request.GET or 'p' in request.GET: searchform = SearchForm(request.GET) if searchform.is_valid(): q = searchform.cleaned_data['q'] # page number p = request.GET.get("p", 1) documents = Document.search(q, results_per_page=10, prefetch_tags=True) is_searching = True else: documents = Document.objects.order_by('-created_at') p = request.GET.get("p", 1) paginator = Paginator(documents, 10) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) is_searching = False return render(request, "wagtaildocs/chooser/results.html", { 'documents': documents, 'query_string': q, 'is_searching': is_searching, }) else: searchform = SearchForm() documents = Document.objects.order_by('-created_at') p = request.GET.get("p", 1) paginator = Paginator(documents, 10) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) return render_modal_workflow(request, 'wagtaildocs/chooser/chooser.html', 'wagtaildocs/chooser/chooser.js', { 'documents': documents, 'uploadform': uploadform, 'searchform': searchform, 'is_searching': False, })
def chooser(request): if request.user.has_perm("wagtaildocs.add_document"): uploadform = DocumentForm() else: uploadform = None documents = [] q = None is_searching = False if "q" in request.GET or "p" in request.GET: searchform = SearchForm(request.GET) if searchform.is_valid(): q = searchform.cleaned_data["q"] # page number p = request.GET.get("p", 1) documents = Document.search(q, results_per_page=10, prefetch_tags=True) is_searching = True else: documents = Document.objects.order_by("-created_at") p = request.GET.get("p", 1) paginator = Paginator(documents, 10) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) is_searching = False return render( request, "wagtaildocs/chooser/results.html", {"documents": documents, "query_string": q, "is_searching": is_searching}, ) else: searchform = SearchForm() documents = Document.objects.order_by("-created_at") p = request.GET.get("p", 1) paginator = Paginator(documents, 10) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) return render_modal_workflow( request, "wagtaildocs/chooser/chooser.html", "wagtaildocs/chooser/chooser.js", {"documents": documents, "uploadform": uploadform, "searchform": searchform, "is_searching": False}, )
def index(request): # Get documents documents = Document.objects.all() # Ordering if "ordering" in request.GET and request.GET["ordering"] in ["title", "-created_at"]: ordering = request.GET["ordering"] else: ordering = "-created_at" documents = documents.order_by(ordering) # Permissions if not request.user.has_perm("wagtaildocs.change_document"): # restrict to the user's own documents documents = documents.filter(uploaded_by_user=request.user) # Search query_string = None if "q" in request.GET: form = SearchForm(request.GET, placeholder=_("Search documents")) if form.is_valid(): query_string = form.cleaned_data["q"] if not request.user.has_perm("wagtaildocs.change_document"): # restrict to the user's own documents documents = Document.search(query_string, filters={"uploaded_by_user_id": request.user.id}) else: documents = Document.search(query_string) else: form = SearchForm(placeholder=_("Search documents")) # Pagination p = request.GET.get("p", 1) paginator = Paginator(documents, 20) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) # Create response if request.is_ajax(): return render( request, "wagtaildocs/documents/results.html", { "ordering": ordering, "documents": documents, "query_string": query_string, "is_searching": bool(query_string), }, ) else: return render( request, "wagtaildocs/documents/index.html", { "ordering": ordering, "documents": documents, "query_string": query_string, "is_searching": bool(query_string), "search_form": form, "popular_tags": Document.popular_tags(), }, )
def index(request): q = None p = request.GET.get("p", 1) is_searching = False if 'q' in request.GET: form = SearchForm(request.GET, placeholder_suffix="documents") if form.is_valid(): q = form.cleaned_data['q'] is_searching = True if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = Document.search(q, results_per_page=20, page=p, filters={'uploaded_by_user_id': request.user.id}) else: documents = Document.search(q, results_per_page=20, page=p) else: documents = Document.objects.order_by('-created_at') if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = documents.filter(uploaded_by_user=request.user) else: documents = Document.objects.order_by('-created_at') if not request.user.has_perm('wagtaildocs.change_document'): # restrict to the user's own documents documents = documents.filter(uploaded_by_user=request.user) form = SearchForm(placeholder_suffix="documents") if 'ordering' in request.GET: ordering = request.GET['ordering'] if ordering in ['title', '-created_at']: if ordering != '-created_at': documents = documents.order_by(ordering) else: ordering = '-created_at' if not is_searching: paginator = Paginator(documents, 20) try: documents = paginator.page(p) except PageNotAnInteger: documents = paginator.page(1) except EmptyPage: documents = paginator.page(paginator.num_pages) if request.is_ajax(): return render(request, "wagtaildocs/documents/results.html", { 'ordering': ordering, 'documents': documents, 'is_searching': is_searching, 'search_query': q, }) else: return render(request, "wagtaildocs/documents/index.html", { 'ordering': ordering, 'search_form': form, 'documents': documents, 'popular_tags': Document.popular_tags(), 'is_searching': is_searching, 'search_query': q, })