Skip to content

Commit 7760f9d

Browse files
committed
Redmine:16027 ([NetKit] Enhancement of authenticationPage and authenticationErrorPage: enhance error response page with customizable close button and localization support)
1 parent 5fa4288 commit 7760f9d

File tree

5 files changed

+30
-4
lines changed

5 files changed

+30
-4
lines changed

Project/Sources/Classes/Tools.4dm

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -581,12 +581,20 @@ Function makeError($inCode : Integer; $inParameters : Object) : Object
581581
// ----------------------------------------------------
582582

583583

584-
Function buildPageFromTemplate($inTitle : Text; $inMessage : Text; $inDetails : Text) : Text
585-
584+
Function buildPageFromTemplate($inTitle : Text; $inMessage : Text; $inDetails : Text; $inButtonText : Text) : Text
585+
/*
586+
Builds a response page from the template file.
587+
Parameters:
588+
- $inTitle: Title of the page
589+
- $inMessage: Main message to display
590+
- $inDetails: Additional details to display
591+
- $inButtonText: Text for the close button (optional)
592+
*/
586593
var $responseTemplateFile : 4D.File:=Folder(fk resources folder).file("responseTemplate.html")
587594
var $responseTemplateContent : Text:=$responseTemplateFile.getText()
588595
var $responseBody : Text:=""
596+
var $closeButtonText : Text:=(Length($inButtonText)>0) ? $inButtonText : Localized string("OAuth2_Response_Close")
589597

590-
PROCESS 4D TAGS($responseTemplateContent; $responseBody; $inTitle; $inMessage; $inDetails)
598+
PROCESS 4D TAGS($responseTemplateContent; $responseBody; $inTitle; $inMessage; $inDetails; $closeButtonText)
591599

592600
return $responseBody

Project/Sources/Methods/_authorize.4dm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,9 @@ If ($URL=$redirectURI)
8585

8686
var $responseFileContent : Text:=$responseFile.getText()
8787
var $outResponseBody : Text:=""
88+
var $closeButtonText : Text:=Localized string("OAuth2_Response_Close")
8889

89-
PROCESS 4D TAGS($responseFileContent; $outResponseBody; $pageTitle; $pageMessage; $pageDetails)
90+
PROCESS 4D TAGS($responseFileContent; $outResponseBody; $pageTitle; $pageMessage; $pageDetails; $closeButtonText)
9091

9192
$outResponse.status:=200
9293
$outResponse.body:=$outResponseBody

Resources/en.lproj/NetKitEN.xlf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@
8989
<source>You may now close this window</source>
9090
<target>You may now close this window</target>
9191
</trans-unit>
92+
<trans-unit resname="OAuth2_Response_Close">
93+
<source>Close</source>
94+
<target>Close</target>
95+
</trans-unit>
9296
<trans-unit resname="List_No_Next_Page">
9397
<source>No next page.</source>
9498
<target>No next page.</target>

Resources/fr.lproj/NetKitFR.xlf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@
8989
<source>You may now close this window</source>
9090
<target>Vous pouvez maintenant fermer la fenêtre</target>
9191
</trans-unit>
92+
<trans-unit resname="OAuth2_Response_Close">
93+
<source>Close</source>
94+
<target>Fermer</target>
95+
</trans-unit>
9296
<trans-unit resname="List_No_Next_Page">
9397
<source>No next page.</source>
9498
<target>Pas de page suivante.</target>

Resources/responseTemplate.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@
9595
<div id="title"><h2><!--#4DTEXT $1--></h2></div>
9696
<div id="message"><p><!--#4DHTML $2--></p></div>
9797
<div id="details"><code><p><!--#4DTEXT $3--></p></code></div>
98+
<button id="closeBtn" onclick="window.close();" style="margin-top:22px;padding:10px 28px 10px 18px;font-size:1em;border-radius:6px;border:none;background:#4e7ad2;color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(44,75,121,0.10);transition:background 0.2s;display:inline-flex;align-items:center;gap:10px;">
99+
<span style="display:inline-flex;align-items:center;">
100+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" style="margin-right:6px;" xmlns="http://www.w3.org/2000/svg">
101+
<circle cx="10" cy="10" r="10" fill="#fff" opacity="0.18"/>
102+
<path d="M6 6L14 14M14 6L6 14" stroke="#fff" stroke-width="2" stroke-linecap="round"/>
103+
</svg>
104+
<!--#4DTEXT $4-->
105+
</span>
106+
</button>
98107
</div>
99108
</body>
100109
</html>

0 commit comments

Comments
 (0)