def edit(request, redirect_id): theredirect = get_object_or_404(models.Redirect, id=redirect_id) if not permission_policy.user_has_permission_for_instance( request.user, 'change', theredirect ): return permission_denied(request) if request.method == 'POST': form = RedirectForm(request.POST, request.FILES, instance=theredirect) if form.is_valid(): form.save() messages.success(request, _("Redirect '{0}' updated.").format(theredirect.title), buttons=[ messages.button(reverse('wagtailredirects:edit', args=(theredirect.id,)), _('Edit')) ]) return redirect('wagtailredirects:index') else: messages.error(request, _("The redirect could not be saved due to errors.")) else: form = RedirectForm(instance=theredirect) return render(request, "wagtailredirects/edit.html", { 'redirect': theredirect, 'form': form, 'user_can_delete': permission_policy.user_has_permission(request.user, 'delete'), })
def edit(request, redirect_id): theredirect = get_object_or_404(models.Redirect, id=redirect_id) if not permission_policy.user_has_permission_for_instance( request.user, 'change', theredirect): return permission_denied(request) if request.method == 'POST': form = RedirectForm(request.POST, request.FILES, instance=theredirect) if form.is_valid(): form.save() messages.success( request, _("Redirect '{0}' updated.").format(theredirect.title), buttons=[ messages.button( reverse('wagtailredirects:edit', args=(theredirect.id, )), _('Edit')) ]) return redirect('wagtailredirects:index') else: messages.error(request, _("The redirect could not be saved due to errors.")) else: form = RedirectForm(instance=theredirect) return render( request, "wagtailredirects/edit.html", { 'redirect': theredirect, 'form': form, 'user_can_delete': permission_policy.user_has_permission(request.user, 'delete'), })
def index(request): query_string = request.GET.get("q", "") ordering = request.GET.get("ordering", "old_path") redirects = models.Redirect.objects.prefetch_related( "redirect_page", "site") # Search if query_string: redirects = redirects.filter( Q(old_path__icontains=query_string) | Q(redirect_page__url_path__icontains=query_string) | Q(redirect_link__icontains=query_string)) # Ordering (A bit useless at the moment as only 'old_path' is allowed) if ordering not in ["old_path"]: ordering = "old_path" redirects = redirects.order_by(ordering) # Pagination paginator = Paginator(redirects, per_page=20) redirects = paginator.get_page(request.GET.get("p")) # Render template if request.headers.get("x-requested-with") == "XMLHttpRequest": return TemplateResponse( request, "wagtailredirects/results.html", { "ordering": ordering, "redirects": redirects, "query_string": query_string, }, ) else: return TemplateResponse( request, "wagtailredirects/index.html", { "ordering": ordering, "redirects": redirects, "query_string": query_string, "search_form": SearchForm( data={"q": query_string} if query_string else None, placeholder=_("Search redirects"), ), "user_can_add": permission_policy.user_has_permission(request.user, "add"), }, )
def index(request): query_string = request.GET.get('q', "") ordering = request.GET.get('ordering', 'old_path') redirects = models.Redirect.objects.prefetch_related( 'redirect_page', 'site') # Search if query_string: redirects = redirects.filter( Q(old_path__icontains=query_string) | Q(redirect_page__url_path__icontains=query_string) | Q(redirect_link__icontains=query_string)) # Ordering (A bit useless at the moment as only 'old_path' is allowed) if ordering not in ['old_path']: ordering = 'old_path' redirects = redirects.order_by(ordering) # Pagination paginator = Paginator(redirects, per_page=20) redirects = paginator.get_page(request.GET.get('p')) # Render template if request.is_ajax(): return render( request, "wagtailredirects/results.html", { 'ordering': ordering, 'redirects': redirects, 'query_string': query_string, }) else: return render( request, "wagtailredirects/index.html", { 'ordering': ordering, 'redirects': redirects, 'query_string': query_string, 'search_form': SearchForm(data=dict(q=query_string) if query_string else None, placeholder=_("Search redirects")), 'user_can_add': permission_policy.user_has_permission(request.user, 'add'), })
def edit(request, redirect_id): theredirect = get_object_or_404(models.Redirect, id=redirect_id) if not permission_policy.user_has_permission_for_instance( request.user, "change", theredirect): raise PermissionDenied if request.method == "POST": form = RedirectForm(request.POST, request.FILES, instance=theredirect) if form.is_valid(): with transaction.atomic(): form.save() log(instance=theredirect, action="wagtail.edit") messages.success( request, _("Redirect '{0}' updated.").format(theredirect.title), buttons=[ messages.button( reverse("wagtailredirects:edit", args=(theredirect.id, )), _("Edit"), ) ], ) return redirect("wagtailredirects:index") else: messages.error(request, _("The redirect could not be saved due to errors.")) else: form = RedirectForm(instance=theredirect) return TemplateResponse( request, "wagtailredirects/edit.html", { "redirect": theredirect, "form": form, "user_can_delete": permission_policy.user_has_permission(request.user, "delete"), }, )
def index(request): query_string = request.GET.get('q', "") ordering = request.GET.get('ordering', 'old_path') redirects = models.Redirect.objects.prefetch_related('redirect_page', 'site') # Search if query_string: redirects = redirects.filter(Q(old_path__icontains=query_string) | Q(redirect_page__url_path__icontains=query_string) | Q(redirect_link__icontains=query_string)) # Ordering (A bit useless at the moment as only 'old_path' is allowed) if ordering not in ['old_path']: ordering = 'old_path' redirects = redirects.order_by(ordering) # Pagination paginator = Paginator(redirects, per_page=20) redirects = paginator.get_page(request.GET.get('p')) # Render template if request.is_ajax(): return render(request, "wagtailredirects/results.html", { 'ordering': ordering, 'redirects': redirects, 'query_string': query_string, }) else: return render(request, "wagtailredirects/index.html", { 'ordering': ordering, 'redirects': redirects, 'query_string': query_string, 'search_form': SearchForm( data=dict(q=query_string) if query_string else None, placeholder=_("Search redirects") ), 'user_can_add': permission_policy.user_has_permission(request.user, 'add'), })
def is_shown(self, request): return permission_policy.user_has_permission(request.user, "add")