core: add setting to open application launch URL in a new browser tab (#3037)
* core: add setting to open application launch URL in a new browser tab * core: fix failing applications unit tests * core: fix formatting * core: include models only generated when debug mode is enabled
This commit is contained in:
parent
c11435780d
commit
2dfa6c2c82
|
@ -63,6 +63,7 @@ class ApplicationSerializer(ModelSerializer):
|
||||||
"provider",
|
"provider",
|
||||||
"provider_obj",
|
"provider_obj",
|
||||||
"launch_url",
|
"launch_url",
|
||||||
|
"open_in_new_tab",
|
||||||
"meta_launch_url",
|
"meta_launch_url",
|
||||||
"meta_icon",
|
"meta_icon",
|
||||||
"meta_description",
|
"meta_description",
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Generated by Django 4.0.5 on 2022-06-04 06:54
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("authentik_core", "0019_application_group"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="application",
|
||||||
|
name="open_in_new_tab",
|
||||||
|
field=models.BooleanField(
|
||||||
|
default=False, help_text="Open launch URL in a new browser tab or window."
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -278,6 +278,11 @@ class Application(PolicyBindingModel):
|
||||||
meta_launch_url = models.TextField(
|
meta_launch_url = models.TextField(
|
||||||
default="", blank=True, validators=[DomainlessURLValidator()]
|
default="", blank=True, validators=[DomainlessURLValidator()]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
open_in_new_tab = models.BooleanField(
|
||||||
|
default=False, help_text=_("Open launch URL in a new browser tab or window.")
|
||||||
|
)
|
||||||
|
|
||||||
# For template applications, this can be set to /static/authentik/applications/*
|
# For template applications, this can be set to /static/authentik/applications/*
|
||||||
meta_icon = models.FileField(
|
meta_icon = models.FileField(
|
||||||
upload_to="application-icons/",
|
upload_to="application-icons/",
|
||||||
|
|
|
@ -29,6 +29,7 @@ class TestApplicationsAPI(APITestCase):
|
||||||
name="allowed",
|
name="allowed",
|
||||||
slug="allowed",
|
slug="allowed",
|
||||||
meta_launch_url="https://goauthentik.io/%(username)s",
|
meta_launch_url="https://goauthentik.io/%(username)s",
|
||||||
|
open_in_new_tab=True,
|
||||||
provider=self.provider,
|
provider=self.provider,
|
||||||
)
|
)
|
||||||
self.denied = Application.objects.create(name="denied", slug="denied")
|
self.denied = Application.objects.create(name="denied", slug="denied")
|
||||||
|
@ -100,6 +101,7 @@ class TestApplicationsAPI(APITestCase):
|
||||||
},
|
},
|
||||||
"launch_url": f"https://goauthentik.io/{self.user.username}",
|
"launch_url": f"https://goauthentik.io/{self.user.username}",
|
||||||
"meta_launch_url": "https://goauthentik.io/%(username)s",
|
"meta_launch_url": "https://goauthentik.io/%(username)s",
|
||||||
|
"open_in_new_tab": True,
|
||||||
"meta_icon": None,
|
"meta_icon": None,
|
||||||
"meta_description": "",
|
"meta_description": "",
|
||||||
"meta_publisher": "",
|
"meta_publisher": "",
|
||||||
|
@ -148,6 +150,7 @@ class TestApplicationsAPI(APITestCase):
|
||||||
},
|
},
|
||||||
"launch_url": f"https://goauthentik.io/{self.user.username}",
|
"launch_url": f"https://goauthentik.io/{self.user.username}",
|
||||||
"meta_launch_url": "https://goauthentik.io/%(username)s",
|
"meta_launch_url": "https://goauthentik.io/%(username)s",
|
||||||
|
"open_in_new_tab": True,
|
||||||
"meta_icon": None,
|
"meta_icon": None,
|
||||||
"meta_description": "",
|
"meta_description": "",
|
||||||
"meta_publisher": "",
|
"meta_publisher": "",
|
||||||
|
@ -158,6 +161,7 @@ class TestApplicationsAPI(APITestCase):
|
||||||
"meta_description": "",
|
"meta_description": "",
|
||||||
"meta_icon": None,
|
"meta_icon": None,
|
||||||
"meta_launch_url": "",
|
"meta_launch_url": "",
|
||||||
|
"open_in_new_tab": False,
|
||||||
"meta_publisher": "",
|
"meta_publisher": "",
|
||||||
"group": "",
|
"group": "",
|
||||||
"name": "denied",
|
"name": "denied",
|
||||||
|
|
|
@ -19163,6 +19163,9 @@ components:
|
||||||
type: string
|
type: string
|
||||||
nullable: true
|
nullable: true
|
||||||
readOnly: true
|
readOnly: true
|
||||||
|
open_in_new_tab:
|
||||||
|
type: boolean
|
||||||
|
description: Open launch URL in a new browser tab or window.
|
||||||
meta_launch_url:
|
meta_launch_url:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
|
@ -19202,6 +19205,9 @@ components:
|
||||||
provider:
|
provider:
|
||||||
type: integer
|
type: integer
|
||||||
nullable: true
|
nullable: true
|
||||||
|
open_in_new_tab:
|
||||||
|
type: boolean
|
||||||
|
description: Open launch URL in a new browser tab or window.
|
||||||
meta_launch_url:
|
meta_launch_url:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
|
@ -26753,6 +26759,9 @@ components:
|
||||||
provider:
|
provider:
|
||||||
type: integer
|
type: integer
|
||||||
nullable: true
|
nullable: true
|
||||||
|
open_in_new_tab:
|
||||||
|
type: boolean
|
||||||
|
description: Open launch URL in a new browser tab or window.
|
||||||
meta_launch_url:
|
meta_launch_url:
|
||||||
type: string
|
type: string
|
||||||
format: uri
|
format: uri
|
||||||
|
|
|
@ -2540,6 +2540,10 @@ msgstr "Kennung"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3608,6 +3612,10 @@ msgstr "API-Browser öffnen"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "Öffne Anwendung"
|
#~ msgstr "Öffne Anwendung"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "Offenes Problem auf GitHub..."
|
msgstr "Offenes Problem auf GitHub..."
|
||||||
|
|
|
@ -2582,6 +2582,10 @@ msgstr "Identifier"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgstr "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgstr "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
|
@ -3667,6 +3671,10 @@ msgstr "Open API Browser"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "Open application"
|
#~ msgstr "Open application"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr "Open in new tab"
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "Open issue on GitHub..."
|
msgstr "Open issue on GitHub..."
|
||||||
|
|
|
@ -2531,6 +2531,10 @@ msgstr "Identificador"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3601,6 +3605,10 @@ msgstr "Abrir navegador de API"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "Solicitud abierta"
|
#~ msgstr "Solicitud abierta"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "Problema abierto en GitHub..."
|
msgstr "Problema abierto en GitHub..."
|
||||||
|
|
|
@ -2560,6 +2560,10 @@ msgstr "Identifiant"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3635,6 +3639,10 @@ msgstr ""
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "Ouvrir l'appication"
|
#~ msgstr "Ouvrir l'appication"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "Ouvrir un ticket sur GitHub..."
|
msgstr "Ouvrir un ticket sur GitHub..."
|
||||||
|
|
|
@ -2528,6 +2528,10 @@ msgstr "Identyfikator"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3598,6 +3602,10 @@ msgstr "Otwórz przeglądarkę API"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "Otwórz aplikację"
|
#~ msgstr "Otwórz aplikację"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "Otwórz problem w serwisie GitHub..."
|
msgstr "Otwórz problem w serwisie GitHub..."
|
||||||
|
|
|
@ -2568,6 +2568,10 @@ msgstr ""
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3649,6 +3653,10 @@ msgstr ""
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -2531,6 +2531,10 @@ msgstr "Tanımlayıcı"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3603,6 +3607,10 @@ msgstr "API Tarayıcısını aç"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "Uygulamayı aç"
|
#~ msgstr "Uygulamayı aç"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "GitHub'da açık sorun..."
|
msgstr "GitHub'da açık sorun..."
|
||||||
|
|
|
@ -2517,6 +2517,10 @@ msgstr "标识符"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr "如果上面所选类型的任意设备在此期限内被使用,此阶段会被跳过。"
|
msgstr "如果上面所选类型的任意设备在此期限内被使用,此阶段会被跳过。"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr "如果启用,仅保存电话号码的哈希。这是出于数据保护的原因。如果设备创建自启用此选项的阶段,则无法在验证阶段使用身份验证器。"
|
msgstr "如果启用,仅保存电话号码的哈希。这是出于数据保护的原因。如果设备创建自启用此选项的阶段,则无法在验证阶段使用身份验证器。"
|
||||||
|
@ -3579,6 +3583,10 @@ msgstr "打开 API 浏览器"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "打开应用程序"
|
#~ msgstr "打开应用程序"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "在 GitHub 上提出议题..."
|
msgstr "在 GitHub 上提出议题..."
|
||||||
|
|
|
@ -2520,6 +2520,10 @@ msgstr "标识符"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3584,6 +3588,10 @@ msgstr "打开 API 浏览器"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "打开应用程序"
|
#~ msgstr "打开应用程序"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "在 GitHub 上打开问题..."
|
msgstr "在 GitHub 上打开问题..."
|
||||||
|
|
|
@ -2520,6 +2520,10 @@ msgstr "标识符"
|
||||||
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
msgid "If any of the devices user of the types selected above have been used within this duration, this stage will be skipped."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "If checked, the launch URL will open in a new browser tab or window from the user's application library."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
#: src/pages/stages/authenticator_sms/AuthenticatorSMSStageForm.ts
|
||||||
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
msgid "If enabled, only a hash of the phone number will be saved. This can be done for data-protection reasons.Devices created from a stage with this enabled cannot be used with the authenticator validation stage."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3584,6 +3588,10 @@ msgstr "打开 API 浏览器"
|
||||||
#~ msgid "Open application"
|
#~ msgid "Open application"
|
||||||
#~ msgstr "打开应用程序"
|
#~ msgstr "打开应用程序"
|
||||||
|
|
||||||
|
#: src/pages/applications/ApplicationForm.ts
|
||||||
|
msgid "Open in new tab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/pages/events/EventInfo.ts
|
#: src/pages/events/EventInfo.ts
|
||||||
msgid "Open issue on GitHub..."
|
msgid "Open issue on GitHub..."
|
||||||
msgstr "在 GitHub 上打开问题..."
|
msgstr "在 GitHub 上打开问题..."
|
||||||
|
|
|
@ -187,6 +187,12 @@ export class ApplicationForm extends ModelForm<Application, string> {
|
||||||
${t`If left empty, authentik will try to extract the launch URL based on the selected provider.`}
|
${t`If left empty, authentik will try to extract the launch URL based on the selected provider.`}
|
||||||
</p>
|
</p>
|
||||||
</ak-form-element-horizontal>
|
</ak-form-element-horizontal>
|
||||||
|
<ak-form-element-horizontal label=${t`Open in new tab`} name="openInNewTab">
|
||||||
|
<input type="checkbox" ?checked=${this.instance?.openInNewTab} />
|
||||||
|
<p class="pf-c-form__helper-text">
|
||||||
|
${t`If checked, the launch URL will open in a new browser tab or window from the user's application library.`}
|
||||||
|
</p>
|
||||||
|
</ak-form-element-horizontal>
|
||||||
${until(
|
${until(
|
||||||
config().then((c) => {
|
config().then((c) => {
|
||||||
if (c.capabilities.includes(CapabilitiesEnum.SaveMedia)) {
|
if (c.capabilities.includes(CapabilitiesEnum.SaveMedia)) {
|
||||||
|
|
|
@ -88,7 +88,12 @@ export class LibraryApplication extends LitElement {
|
||||||
style="background: ${this.background} !important"
|
style="background: ${this.background} !important"
|
||||||
>
|
>
|
||||||
<div class="pf-c-card__header">
|
<div class="pf-c-card__header">
|
||||||
<a href="${ifDefined(this.application.launchUrl ?? "")}"> ${this.renderIcon()} </a>
|
<a
|
||||||
|
href="${ifDefined(this.application.launchUrl ?? "")}"
|
||||||
|
target="${ifDefined(this.application.openInNewTab ? "_blank" : undefined)}"
|
||||||
|
>
|
||||||
|
${this.renderIcon()}
|
||||||
|
</a>
|
||||||
${until(
|
${until(
|
||||||
uiConfig().then((config) => {
|
uiConfig().then((config) => {
|
||||||
if (!config.enabledFeatures.applicationEdit) {
|
if (!config.enabledFeatures.applicationEdit) {
|
||||||
|
@ -110,7 +115,9 @@ export class LibraryApplication extends LitElement {
|
||||||
</div>
|
</div>
|
||||||
<div class="pf-c-card__title">
|
<div class="pf-c-card__title">
|
||||||
<p>
|
<p>
|
||||||
<a href="${ifDefined(this.application.launchUrl ?? "")}"
|
<a
|
||||||
|
href="${ifDefined(this.application.launchUrl ?? "")}"
|
||||||
|
target="${ifDefined(this.application.openInNewTab ? "_blank" : undefined)}"
|
||||||
>${this.application.name}</a
|
>${this.application.name}</a
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
|
|
Reference in New Issue