From 873adb290722219b336e6250f594c10a9084f215 Mon Sep 17 00:00:00 2001 From: Qian Qian Lim Date: Wed, 4 Feb 2026 15:14:47 +0800 Subject: [PATCH 1/4] [twgit] Init feature 'feature-PRESIDECMS-3236_export_redirect_to_url'. From 9e6f7cad0b6f7b6308002dce9fc5567f116e5edf Mon Sep 17 00:00:00 2001 From: Qian Qian Lim Date: Wed, 4 Feb 2026 15:15:49 +0800 Subject: [PATCH 2/4] PRESIDECMS-3236 ability to export redirect to URL --- system/handlers/renderers/content/Link.cfc | 11 +++++++++++ .../i18n/preside-objects/url_redirect_rule.properties | 4 +++- system/preside-objects/url_redirect_rule.cfc | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/system/handlers/renderers/content/Link.cfc b/system/handlers/renderers/content/Link.cfc index 176bdcc4ca..101ddc4f71 100644 --- a/system/handlers/renderers/content/Link.cfc +++ b/system/handlers/renderers/content/Link.cfc @@ -2,6 +2,7 @@ * @feature cms */ component { + property name="linksService" inject="LinksService"; public string function default( event, rc, prc, args={} ){ var linkId = args.data ?: ""; @@ -13,4 +14,14 @@ component { return ""; } + private string function dataExport( event, rc, prc, args={} ) { + var link = getPresideObject( "link" ).selectData( id=args.data ?: "" ); + + if ( !link.recordCount ) { + return "Link not found"; + } + + return linksService.getLinkUrl( link.id ); + } + } \ No newline at end of file diff --git a/system/i18n/preside-objects/url_redirect_rule.properties b/system/i18n/preside-objects/url_redirect_rule.properties index d478a73fc4..7e8d8fff1c 100644 --- a/system/i18n/preside-objects/url_redirect_rule.properties +++ b/system/i18n/preside-objects/url_redirect_rule.properties @@ -20,4 +20,6 @@ field.redirect_type.title=Redirect type field.redirect_type.help=Whether the redirect is a permanent or temporary redirect. If in doubt, choose the default 'permanent' redirect. field.keep_query_string.title=Preserve URL parameters -field.keep_query_string.help=If true, any URL parameters found at the incoming URL will be added to the target URL. \ No newline at end of file +field.keep_query_string.help=If true, any URL parameters found at the incoming URL will be added to the target URL. + +field.rendered_redirect_link.title=Redirect to link \ No newline at end of file diff --git a/system/preside-objects/url_redirect_rule.cfc b/system/preside-objects/url_redirect_rule.cfc index a6165fbf3f..c96bd1429c 100644 --- a/system/preside-objects/url_redirect_rule.cfc +++ b/system/preside-objects/url_redirect_rule.cfc @@ -15,4 +15,5 @@ component extends="preside.system.base.SystemPresideObject" displayName="URL Red property name="keep_query_string" type="boolean" dbtype="boolean" required=false default=false; property name="redirect_to_link" relationship="many-to-one" relatedto="link" required=true; + property name="rendered_redirect_link" type="string" dbtype="text" formula="${prefix}redirect_to_link" adminRenderer="none" dataExportRenderer="Link" searchSearchable=false autofilter=false; } \ No newline at end of file From ec43afaa5c49123746cf63c9957ddcf27fb66d07 Mon Sep 17 00:00:00 2001 From: Qian Qian Lim Date: Wed, 4 Feb 2026 18:41:20 +0800 Subject: [PATCH 3/4] PRESIDECMS-3236 export redirect url --- system/handlers/renderers/content/Link.cfc | 9 +-------- system/i18n/preside-objects/url_redirect_rule.properties | 2 +- system/preside-objects/url_redirect_rule.cfc | 4 ++-- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/system/handlers/renderers/content/Link.cfc b/system/handlers/renderers/content/Link.cfc index 101ddc4f71..df2c8d8fc0 100644 --- a/system/handlers/renderers/content/Link.cfc +++ b/system/handlers/renderers/content/Link.cfc @@ -15,13 +15,6 @@ component { } private string function dataExport( event, rc, prc, args={} ) { - var link = getPresideObject( "link" ).selectData( id=args.data ?: "" ); - - if ( !link.recordCount ) { - return "Link not found"; - } - - return linksService.getLinkUrl( link.id ); + return getLinkUrl( args.data ?: "" ); } - } \ No newline at end of file diff --git a/system/i18n/preside-objects/url_redirect_rule.properties b/system/i18n/preside-objects/url_redirect_rule.properties index 7e8d8fff1c..a2682f60aa 100644 --- a/system/i18n/preside-objects/url_redirect_rule.properties +++ b/system/i18n/preside-objects/url_redirect_rule.properties @@ -22,4 +22,4 @@ field.redirect_type.help=Whether the redirect is a permanent or temporary redire field.keep_query_string.title=Preserve URL parameters field.keep_query_string.help=If true, any URL parameters found at the incoming URL will be added to the target URL. -field.rendered_redirect_link.title=Redirect to link \ No newline at end of file +field.redirect_to_url.title=Redirect to URL \ No newline at end of file diff --git a/system/preside-objects/url_redirect_rule.cfc b/system/preside-objects/url_redirect_rule.cfc index c96bd1429c..73dc1b1770 100644 --- a/system/preside-objects/url_redirect_rule.cfc +++ b/system/preside-objects/url_redirect_rule.cfc @@ -2,7 +2,7 @@ * The URL Redirect rule object is used to store individual URL redirect rules. These rules * can use regex, etc. and are used to setup dynamic and editorial redirects. * - * @dataExportFields id,label,source_url_pattern,redirect_type,exact_match_only,keep_query_string,redirect_to_link,datecreated,datemodified + * @dataExportFields id,label,source_url_pattern,redirect_type,exact_match_only,keep_query_string,redirect_to_link,redirect_to_url,datecreated,datemodified * @datamanagerEnabled true * @feature urlRedirects */ @@ -15,5 +15,5 @@ component extends="preside.system.base.SystemPresideObject" displayName="URL Red property name="keep_query_string" type="boolean" dbtype="boolean" required=false default=false; property name="redirect_to_link" relationship="many-to-one" relatedto="link" required=true; - property name="rendered_redirect_link" type="string" dbtype="text" formula="${prefix}redirect_to_link" adminRenderer="none" dataExportRenderer="Link" searchSearchable=false autofilter=false; + property name="redirect_to_url" type="string" formula="${prefix}redirect_to_link" adminRenderer="none" dataExportRenderer="Link" autofilter=false; } \ No newline at end of file From fe39de29bc1bb6a2c8c0abd049e0d463371a56a3 Mon Sep 17 00:00:00 2001 From: Qian Qian Lim Date: Thu, 5 Feb 2026 11:53:50 +0800 Subject: [PATCH 4/4] PRESIDECMS-3236 remove unused injected service --- system/handlers/renderers/content/Link.cfc | 2 -- 1 file changed, 2 deletions(-) diff --git a/system/handlers/renderers/content/Link.cfc b/system/handlers/renderers/content/Link.cfc index df2c8d8fc0..609fd57cac 100644 --- a/system/handlers/renderers/content/Link.cfc +++ b/system/handlers/renderers/content/Link.cfc @@ -2,8 +2,6 @@ * @feature cms */ component { - property name="linksService" inject="LinksService"; - public string function default( event, rc, prc, args={} ){ var linkId = args.data ?: "";