diff options
| -rw-r--r-- | pydis_site/apps/redirect/urls.py | 3 | ||||
| -rw-r--r-- | pydis_site/apps/redirect/views.py | 8 | 
2 files changed, 8 insertions, 3 deletions
diff --git a/pydis_site/apps/redirect/urls.py b/pydis_site/apps/redirect/urls.py index d94a1ab7..6187af17 100644 --- a/pydis_site/apps/redirect/urls.py +++ b/pydis_site/apps/redirect/urls.py @@ -10,7 +10,8 @@ urlpatterns = [          data["original_path"],          CustomRedirectView.as_view(              pattern_name=data["redirect_route"], -            static_args=tuple(data.get("redirect_arguments", ())) +            static_args=tuple(data.get("redirect_arguments", ())), +            prefix_redirect=data.get("prefix_redirect", False)          ),          name=name      ) diff --git a/pydis_site/apps/redirect/views.py b/pydis_site/apps/redirect/views.py index f0dc6825..21180cdf 100644 --- a/pydis_site/apps/redirect/views.py +++ b/pydis_site/apps/redirect/views.py @@ -8,6 +8,7 @@ class CustomRedirectView(RedirectView):      permanent = True      static_args = () +    prefix_redirect = False      @classmethod      def as_view(cls, **initkwargs): @@ -16,5 +17,8 @@ class CustomRedirectView(RedirectView):      def get_redirect_url(self, *args, **kwargs) -> t.Optional[str]:          """Extends default behaviour to use static args.""" -        args = args + self.static_args -        return super().get_redirect_url(*args, **kwargs) +        args = self.static_args + args + tuple(kwargs.values()) +        if self.prefix_redirect: +            args = ("".join(args),) + +        return super().get_redirect_url(*args)  |