From 76caab622fb2014957b19acbd3e40d7288e56430 Mon Sep 17 00:00:00 2001 From: saint Date: Sat, 7 Sep 2024 16:59:48 +1000 Subject: [PATCH] v0.16 So close, but it doesn't work still... --- plugin.rb | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/plugin.rb b/plugin.rb index 09406f9..75fcb68 100644 --- a/plugin.rb +++ b/plugin.rb @@ -4,7 +4,7 @@ # name: discourse-legacy_links # about: A plugin to handle legacy Gossamer Forums URLs -# version: 0.15 +# version: 0.16 # authors: saint@federated.computer # url: https://gitea.federated.computer/saint/discourse-legacy_links.git @@ -21,14 +21,20 @@ after_initialize do end # Define the custom controller - class CustomPostController < ::ApplicationController - # Match URLs that include a post_id at the end or query parameter - # Main action triggered when the route is matched. + class DiscourseLegacyLinks::CustomPostController < ::ApplicationController + skip_before_action :verify_authenticity_token + skip_before_action :ensure_logged_in + skip_before_action :redirect_to_login_if_required + skip_before_action :check_xhr + skip_before_action :ensure_staff + def test Rails.logger.warn "[WARN WARN WARN WARN WARN WARN WARN WARN WARN WARN AMDG JMJ PAX WARN WARN WARN WARN]" render plain: 'Test route' end + # Match URLs that include a post_id at the end or query parameter + # Main action triggered when the route is matched. def index Rails.logger.warn "[DEBUG] Reached the index action" @@ -128,11 +134,18 @@ after_initialize do # Register custom routes to handle legacy URLs Rails.logger.warn "[DEBUG DEBUG DEBUG DEBUG DEBUG WOW WOW WOW]" + Rails.application.routes.routes.each do |route| + Rails.logger.warn "[ROUTE] #{route.path.spec}" + end # Discourse::Application.routes.append do Discourse::Application.routes.prepend do - get '/test_route' => 'discourse_legacy_links/custom_post#test' - get '/forum/*path' => 'discourse_legacy_links/custom_post#index' - get '/forum' => 'discourse_legacy_links/custom_post#index' +# get '/forum/*path', to: 'discourse_legacy_links/custom_post#index', constraints: lambda { |req| !Permalink.exists?(url: req.path) } + get '/forum/*path', to: 'discourse_legacy_links/custom_post#index', constraints: lambda { |request| Rails.logger.warn("[DEBUG] StarForum Route matched: #{request.path}") } + get '/forum', to: 'discourse_legacy_links/custom_post#index', constraints: lambda { |request| Rails.logger.warn("[DEBUG] NoStarForum Route matched: #{request.path}") } + get '/testroute2', to: 'discourse_legacy_links/custom_post#test', constraints: lambda { |request| Rails.logger.warn("[DEBUG] TestRoute Route matched: #{request.path}") } +# get '/testroute2' => 'discourse_legacy_links/custom_post#test' +# get '/forum/*path' => 'discourse_legacy_links/custom_post#index' +# get '/forum' => 'discourse_legacy_links/custom_post#index' end end end