aa-mumble-quick-connect 1.0.0__py3-none-any.whl → 1.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. aa_mumble_quick_connect/__init__.py +6 -2
  2. aa_mumble_quick_connect/apps.py +5 -2
  3. aa_mumble_quick_connect/auth_hooks.py +2 -5
  4. aa_mumble_quick_connect/locale/cs_CZ/LC_MESSAGES/django.po +2 -2
  5. aa_mumble_quick_connect/locale/de/LC_MESSAGES/django.po +2 -2
  6. aa_mumble_quick_connect/locale/django.pot +3 -3
  7. aa_mumble_quick_connect/locale/es/LC_MESSAGES/django.po +2 -2
  8. aa_mumble_quick_connect/locale/fr_FR/LC_MESSAGES/django.po +2 -2
  9. aa_mumble_quick_connect/locale/it_IT/LC_MESSAGES/django.po +2 -2
  10. aa_mumble_quick_connect/locale/ja/LC_MESSAGES/django.mo +0 -0
  11. aa_mumble_quick_connect/locale/ja/LC_MESSAGES/django.po +21 -20
  12. aa_mumble_quick_connect/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  13. aa_mumble_quick_connect/locale/ko_KR/LC_MESSAGES/django.po +9 -9
  14. aa_mumble_quick_connect/locale/nl_NL/LC_MESSAGES/django.po +2 -2
  15. aa_mumble_quick_connect/locale/pl_PL/LC_MESSAGES/django.po +2 -2
  16. aa_mumble_quick_connect/locale/ru/LC_MESSAGES/django.mo +0 -0
  17. aa_mumble_quick_connect/locale/ru/LC_MESSAGES/django.po +9 -8
  18. aa_mumble_quick_connect/locale/sk/LC_MESSAGES/django.po +2 -2
  19. aa_mumble_quick_connect/locale/uk/LC_MESSAGES/django.po +2 -2
  20. aa_mumble_quick_connect/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  21. aa_mumble_quick_connect/locale/zh_Hans/LC_MESSAGES/django.po +11 -10
  22. aa_mumble_quick_connect/models.py +2 -9
  23. aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-in-sections.html +1 -1
  24. aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-without-sections.html +1 -1
  25. aa_mumble_quick_connect/templatetags/aa_mumble_quick_connect.py +13 -7
  26. aa_mumble_quick_connect/tests/__init__.py +38 -0
  27. aa_mumble_quick_connect/tests/test_access.py +4 -4
  28. aa_mumble_quick_connect/tests/test_auth_hooks.py +2 -2
  29. aa_mumble_quick_connect/tests/test_templatetags.py +79 -16
  30. aa_mumble_quick_connect/tests/utils.py +70 -0
  31. aa_mumble_quick_connect/urls.py +1 -1
  32. {aa_mumble_quick_connect-1.0.0.dist-info → aa_mumble_quick_connect-1.1.0.dist-info}/METADATA +10 -9
  33. {aa_mumble_quick_connect-1.0.0.dist-info → aa_mumble_quick_connect-1.1.0.dist-info}/RECORD +35 -35
  34. {aa_mumble_quick_connect-1.0.0.dist-info → aa_mumble_quick_connect-1.1.0.dist-info}/WHEEL +1 -1
  35. {aa_mumble_quick_connect-1.0.0.dist-info → aa_mumble_quick_connect-1.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,5 +2,9 @@
2
2
  Initialize the app
3
3
  """
4
4
 
5
- __version__ = "1.0.0"
6
- __title__ = "AA Mumble Quick Connect"
5
+ # Django
6
+ from django.utils.translation import gettext_lazy as _
7
+
8
+ __version__ = "1.1.0"
9
+ __title__ = "Mumble Quick Connect"
10
+ __title_translated__ = _("Mumble Quick Connect")
@@ -4,9 +4,10 @@ App Configuration
4
4
 
5
5
  # Django
6
6
  from django.apps import AppConfig
7
+ from django.utils.text import format_lazy
7
8
 
8
9
  # AA Mumble Quick Connect
9
- from aa_mumble_quick_connect import __version__
10
+ from aa_mumble_quick_connect import __title_translated__, __version__
10
11
 
11
12
 
12
13
  class AaMumbleQuickConnectConfig(AppConfig):
@@ -16,4 +17,6 @@ class AaMumbleQuickConnectConfig(AppConfig):
16
17
 
17
18
  name = "aa_mumble_quick_connect"
18
19
  label = "aa_mumble_quick_connect"
19
- verbose_name = f"Mumble Quick Connect v{__version__}"
20
+ verbose_name = format_lazy(
21
+ "{app_title} v{version}", app_title=__title_translated__, version=__version__
22
+ )
@@ -2,15 +2,12 @@
2
2
  Hook into Alliance Auth
3
3
  """
4
4
 
5
- # Django
6
- from django.utils.translation import gettext_lazy as _
7
-
8
5
  # Alliance Auth
9
6
  from allianceauth import hooks
10
7
  from allianceauth.services.hooks import MenuItemHook, UrlHook
11
8
 
12
9
  # AA Mumble Quick Connect
13
- from aa_mumble_quick_connect import urls
10
+ from aa_mumble_quick_connect import __title_translated__, urls
14
11
  from aa_mumble_quick_connect.dependency_checks import mumble_service_installed
15
12
 
16
13
 
@@ -23,7 +20,7 @@ class AaMumbleQuickConnectMenuItem(MenuItemHook):
23
20
  # setup menu entry for sidebar
24
21
  MenuItemHook.__init__(
25
22
  self=self,
26
- text=str(_("Mumble Quick Connect")),
23
+ text=__title_translated__,
27
24
  classes="fa-solid fa-headphones-simple",
28
25
  url_name="aa_mumble_quick_connect:index",
29
26
  navactive=["aa_mumble_quick_connect:"],
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
9
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
10
10
  "PO-Revision-Date: 2025-02-13 22:07+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: Czech <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/cs/>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
18
18
  "X-Generator: Weblate 5.9.2\n"
19
19
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
20
+ #: aa_mumble_quick_connect/__init__.py:10
21
21
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
23
  msgid "Mumble Quick Connect"
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
9
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
10
10
  "PO-Revision-Date: 2025-04-25 14:24+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: German <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/de/>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "X-Generator: Weblate 5.11\n"
19
19
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
20
+ #: aa_mumble_quick_connect/__init__.py:10
21
21
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
23
  msgid "Mumble Quick Connect"
@@ -6,9 +6,9 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: AA Mumble Quick Connect 0.0.12\n"
9
+ "Project-Id-Version: AA Mumble Quick Connect 1.1.0\n"
10
10
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
11
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
20
+ #: aa_mumble_quick_connect/__init__.py:10
21
21
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
23
  msgid "Mumble Quick Connect"
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
9
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
10
10
  "PO-Revision-Date: 2025-02-13 22:08+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: Spanish <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/es/>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "X-Generator: Weblate 5.9.2\n"
19
19
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
20
+ #: aa_mumble_quick_connect/__init__.py:10
21
21
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
23
  msgid "Mumble Quick Connect"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
10
10
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
11
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
12
12
  "PO-Revision-Date: 2025-08-03 04:24+0000\n"
13
13
  "Last-Translator: The “Devcutter” Guy <mick162534@gmail.com>\n"
14
14
  "Language-Team: French <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/fr/>\n"
@@ -19,7 +19,7 @@ msgstr ""
19
19
  "Plural-Forms: nplurals=2; plural=n > 1;\n"
20
20
  "X-Generator: Weblate 5.12.2\n"
21
21
 
22
- #: aa_mumble_quick_connect/auth_hooks.py:26
22
+ #: aa_mumble_quick_connect/__init__.py:10
23
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
24
24
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
25
25
  msgid "Mumble Quick Connect"
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
9
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
10
10
  "PO-Revision-Date: 2025-02-13 22:08+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: Italian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/it/>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "X-Generator: Weblate 5.9.2\n"
19
19
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
20
+ #: aa_mumble_quick_connect/__init__.py:10
21
21
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
23
  msgid "Mumble Quick Connect"
@@ -3,22 +3,23 @@
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  # Peter Pfeufer <info@ppfeufer.de>, 2025.
5
5
  # hin0 <gabrieldaichi1201@gmail.com>, 2025.
6
+ # Dexsar <dexsar.paf@gmail.com>, 2025.
6
7
  msgid ""
7
8
  msgstr ""
8
9
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
9
10
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
10
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
- "PO-Revision-Date: 2025-08-11 17:31+0000\n"
12
- "Last-Translator: hin0 <gabrieldaichi1201@gmail.com>\n"
11
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
12
+ "PO-Revision-Date: 2025-11-06 08:17+0000\n"
13
+ "Last-Translator: Dexsar <dexsar.paf@gmail.com>\n"
13
14
  "Language-Team: Japanese <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/ja/>\n"
14
15
  "Language: ja\n"
15
16
  "MIME-Version: 1.0\n"
16
17
  "Content-Type: text/plain; charset=UTF-8\n"
17
18
  "Content-Transfer-Encoding: 8bit\n"
18
19
  "Plural-Forms: nplurals=1; plural=0;\n"
19
- "X-Generator: Weblate 5.12.2\n"
20
+ "X-Generator: Weblate 5.14\n"
20
21
 
21
- #: aa_mumble_quick_connect/auth_hooks.py:26
22
+ #: aa_mumble_quick_connect/__init__.py:10
22
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
23
24
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
24
25
  msgid "Mumble Quick Connect"
@@ -26,12 +27,12 @@ msgstr "Mumbleショートカットボタン"
26
27
 
27
28
  #: aa_mumble_quick_connect/models.py:26
28
29
  msgid "The Mumble channel URL must start with \"mumble://\""
29
- msgstr ""
30
+ msgstr "MumbleチャンネルのURLは「mumble://」で始まる必要があります"
30
31
 
31
32
  #: aa_mumble_quick_connect/models.py:36
32
33
  #, python-brace-format
33
34
  msgid "The Mumble channel URL must start with \"{mumble_base_url}\""
34
- msgstr ""
35
+ msgstr "MumbleチャンネルのURLの先頭は \"{mumble_base_url}\"である必要があります。"
35
36
 
36
37
  #: aa_mumble_quick_connect/models.py:56
37
38
  msgid "Can access this app"
@@ -39,7 +40,7 @@ msgstr "このアプリにアクセス可能です"
39
40
 
40
41
  #: aa_mumble_quick_connect/models.py:65
41
42
  msgid "Name of the section"
42
- msgstr ""
43
+ msgstr "セクションの名前"
43
44
 
44
45
  #: aa_mumble_quick_connect/models.py:74 aa_mumble_quick_connect/models.py:97
45
46
  msgid "Section"
@@ -51,48 +52,48 @@ msgstr "セクション"
51
52
 
52
53
  #: aa_mumble_quick_connect/models.py:100
53
54
  msgid "Section the Mumble channel belongs to. (Optional)"
54
- msgstr ""
55
+ msgstr "Mumbleチャンネルが属するセクション。(任意)"
55
56
 
56
57
  #: aa_mumble_quick_connect/models.py:102
57
58
  msgid "Name of the Mumble channel"
58
- msgstr ""
59
+ msgstr "Mumbleチャンネル名"
59
60
 
60
61
  #: aa_mumble_quick_connect/models.py:105
61
62
  msgid "URL to the channel"
62
- msgstr ""
63
+ msgstr "チャンネルへのURL"
63
64
 
64
65
  #: aa_mumble_quick_connect/models.py:109
65
66
  msgid "Disable Mumble channel URL verification"
66
- msgstr ""
67
+ msgstr "MumbleチャンネルURL検証を無効にする"
67
68
 
68
69
  #: aa_mumble_quick_connect/models.py:111
69
70
  msgid "If checked, the Mumble channel URL will not be verified against what is configured for this Auth instance when saving the link. Only use this if you are sure the URL is correct and the Mumble server is controlled by this Auth instance."
70
- msgstr ""
71
+ msgstr "チェックすると、リンク保存時にMumbleチャンネルURLが本認証インスタンスの設定内容と照合されなくなります。URLが正しく、かつMumbleサーバーが本認証インスタンスで管理されている場合にのみ使用してください。"
71
72
 
72
73
  #: aa_mumble_quick_connect/models.py:124
73
74
  msgid "Mumble Link"
74
- msgstr ""
75
+ msgstr "Mumble Link"
75
76
 
76
77
  #: aa_mumble_quick_connect/models.py:125
77
78
  msgid "Mumble Links"
78
- msgstr ""
79
+ msgstr "Mumble Links"
79
80
 
80
81
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/index.html:15
81
82
  msgid "You don't have your Mumble service set up. Please go to the services page and activate the Mumble service."
82
- msgstr ""
83
+ msgstr "Mumbleサービスが設定されていません。サービスページに移動し、Mumbleサービスを有効化してください。"
83
84
 
84
85
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/index.html:20
85
86
  msgid "Mumble service is not installed!"
86
- msgstr ""
87
+ msgstr "Mumbleサービスがインストールされていません!"
87
88
 
88
89
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-without-sections.html:10
89
90
  msgid "Uncategorized"
90
- msgstr ""
91
+ msgstr "未分類"
91
92
 
92
93
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/footer/app-translation-footer.html:5
93
94
  msgid "Do you want to help translate this app into your language or improve the existing translation?"
94
- msgstr ""
95
+ msgstr "このアプリをあなたの言語に翻訳するお手伝いをしたり、既存の翻訳を改善したりしませんか?"
95
96
 
96
97
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/footer/app-translation-footer.html:8
97
98
  msgid "Join our team of translators!"
98
- msgstr ""
99
+ msgstr "翻訳者チームに参加しましょう!"
@@ -7,8 +7,8 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
9
9
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
10
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
- "PO-Revision-Date: 2025-06-28 08:30+0000\n"
10
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
11
+ "PO-Revision-Date: 2025-10-25 13:38+0000\n"
12
12
  "Last-Translator: SiO4 <hohoit0078@gmail.com>\n"
13
13
  "Language-Team: Korean <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/ko/>\n"
14
14
  "Language: ko_KR\n"
@@ -16,13 +16,13 @@ msgstr ""
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
17
  "Content-Transfer-Encoding: 8bit\n"
18
18
  "Plural-Forms: nplurals=1; plural=0;\n"
19
- "X-Generator: Weblate 5.12.2\n"
19
+ "X-Generator: Weblate 5.14\n"
20
20
 
21
- #: aa_mumble_quick_connect/auth_hooks.py:26
21
+ #: aa_mumble_quick_connect/__init__.py:10
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
23
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
24
24
  msgid "Mumble Quick Connect"
25
- msgstr ""
25
+ msgstr "멈블에 빠른 연결"
26
26
 
27
27
  #: aa_mumble_quick_connect/models.py:26
28
28
  msgid "The Mumble channel URL must start with \"mumble://\""
@@ -31,7 +31,7 @@ msgstr "멈블 채널 주소는 \"mumble://\"로 시작합니다."
31
31
  #: aa_mumble_quick_connect/models.py:36
32
32
  #, python-brace-format
33
33
  msgid "The Mumble channel URL must start with \"{mumble_base_url}\""
34
- msgstr ""
34
+ msgstr "멈블 채널 주소는 \"{mumble_base_url}\"로 시작합니다."
35
35
 
36
36
  #: aa_mumble_quick_connect/models.py:56
37
37
  msgid "Can access this app"
@@ -71,15 +71,15 @@ msgstr "이 설정을 체크하면 링크를 저장할 때 이 Auth 인스턴스
71
71
 
72
72
  #: aa_mumble_quick_connect/models.py:124
73
73
  msgid "Mumble Link"
74
- msgstr ""
74
+ msgstr "멈블 주소"
75
75
 
76
76
  #: aa_mumble_quick_connect/models.py:125
77
77
  msgid "Mumble Links"
78
- msgstr ""
78
+ msgstr "멈블 주소 목록"
79
79
 
80
80
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/index.html:15
81
81
  msgid "You don't have your Mumble service set up. Please go to the services page and activate the Mumble service."
82
- msgstr "멈블 서비스가 준비되지 않았습니다. 이전 페이지로 돌아가 멈블 서비스를 활정화하십시오."
82
+ msgstr "멈블 서비스가 준비되지 않았습니다. 이전 페이지로 돌아가 멈블 서비스를 활성화하십시오."
83
83
 
84
84
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/index.html:20
85
85
  msgid "Mumble service is not installed!"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
10
10
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
11
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
20
20
 
21
- #: aa_mumble_quick_connect/auth_hooks.py:26
21
+ #: aa_mumble_quick_connect/__init__.py:10
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
23
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
24
24
  msgid "Mumble Quick Connect"
@@ -6,7 +6,7 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
8
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
9
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
10
10
  "PO-Revision-Date: 2025-02-13 22:08+0000\n"
11
11
  "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: Polish <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/pl/>\n"
@@ -17,7 +17,7 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18
18
  "X-Generator: Weblate 5.9.2\n"
19
19
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
20
+ #: aa_mumble_quick_connect/__init__.py:10
21
21
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
23
  msgid "Mumble Quick Connect"
@@ -2,35 +2,36 @@
2
2
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  # Peter Pfeufer <info@ppfeufer.de>, 2025.
5
+ # Zbayet <lorilorinori@gmail.com>, 2025.
5
6
  msgid ""
6
7
  msgstr ""
7
8
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
9
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
10
- "PO-Revision-Date: 2025-02-13 22:08+0000\n"
11
- "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
10
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
11
+ "PO-Revision-Date: 2025-11-04 09:17+0000\n"
12
+ "Last-Translator: Zbayet <lorilorinori@gmail.com>\n"
12
13
  "Language-Team: Russian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/ru/>\n"
13
14
  "Language: ru\n"
14
15
  "MIME-Version: 1.0\n"
15
16
  "Content-Type: text/plain; charset=UTF-8\n"
16
17
  "Content-Transfer-Encoding: 8bit\n"
17
18
  "Plural-Forms: nplurals=4; plural=n==1 ? 3 : (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18
- "X-Generator: Weblate 5.9.2\n"
19
+ "X-Generator: Weblate 5.14\n"
19
20
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
21
+ #: aa_mumble_quick_connect/__init__.py:10
21
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
24
  msgid "Mumble Quick Connect"
24
- msgstr ""
25
+ msgstr "Быстрое подключение Mumble"
25
26
 
26
27
  #: aa_mumble_quick_connect/models.py:26
27
28
  msgid "The Mumble channel URL must start with \"mumble://\""
28
- msgstr ""
29
+ msgstr "Адрес канала Mumble должен начинаться с"
29
30
 
30
31
  #: aa_mumble_quick_connect/models.py:36
31
32
  #, python-brace-format
32
33
  msgid "The Mumble channel URL must start with \"{mumble_base_url}\""
33
- msgstr ""
34
+ msgstr "Адрес канала Mumble должен начинаться с \"{mumble_base_url}\""
34
35
 
35
36
  #: aa_mumble_quick_connect/models.py:56
36
37
  msgid "Can access this app"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
10
10
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
11
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
  "Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
20
20
 
21
- #: aa_mumble_quick_connect/auth_hooks.py:26
21
+ #: aa_mumble_quick_connect/__init__.py:10
22
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
23
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
24
24
  msgid "Mumble Quick Connect"
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
10
10
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
11
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
11
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
12
12
  "PO-Revision-Date: 2025-04-10 07:05+0000\n"
13
13
  "Last-Translator: s0k0l -_- <salarysalo@gmail.com>\n"
14
14
  "Language-Team: Ukrainian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/uk/>\n"
@@ -19,7 +19,7 @@ msgstr ""
19
19
  "Plural-Forms: nplurals=4; plural=n==1 ? 3 : (n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
20
20
  "X-Generator: Weblate 5.10.4\n"
21
21
 
22
- #: aa_mumble_quick_connect/auth_hooks.py:26
22
+ #: aa_mumble_quick_connect/__init__.py:10
23
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
24
24
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
25
25
  msgid "Mumble Quick Connect"
@@ -2,35 +2,36 @@
2
2
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  # Peter Pfeufer <info@ppfeufer.de>, 2025.
5
+ # AKA Patrick <hsc844766246@gmail.com>, 2025.
5
6
  msgid ""
6
7
  msgstr ""
7
8
  "Project-Id-Version: AA Mumble Quick Connect 0.0.1\n"
8
9
  "Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-mumble-quick-connect/issues\n"
9
- "POT-Creation-Date: 2025-09-02 07:16+0200\n"
10
- "PO-Revision-Date: 2025-02-13 22:08+0000\n"
11
- "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
10
+ "POT-Creation-Date: 2025-12-02 07:37+0100\n"
11
+ "PO-Revision-Date: 2025-11-15 16:52+0000\n"
12
+ "Last-Translator: AKA Patrick <hsc844766246@gmail.com>\n"
12
13
  "Language-Team: Chinese (Simplified Han script) <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/zh_Hans/>\n"
13
14
  "Language: zh_Hans\n"
14
15
  "MIME-Version: 1.0\n"
15
16
  "Content-Type: text/plain; charset=UTF-8\n"
16
17
  "Content-Transfer-Encoding: 8bit\n"
17
18
  "Plural-Forms: nplurals=1; plural=0;\n"
18
- "X-Generator: Weblate 5.9.2\n"
19
+ "X-Generator: Weblate 5.14.3\n"
19
20
 
20
- #: aa_mumble_quick_connect/auth_hooks.py:26
21
+ #: aa_mumble_quick_connect/__init__.py:10
21
22
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:6
22
23
  #: aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html:10
23
24
  msgid "Mumble Quick Connect"
24
- msgstr ""
25
+ msgstr "Mumble快速连接"
25
26
 
26
27
  #: aa_mumble_quick_connect/models.py:26
27
28
  msgid "The Mumble channel URL must start with \"mumble://\""
28
- msgstr ""
29
+ msgstr "Mumble地址(必须是mumble://开头)"
29
30
 
30
31
  #: aa_mumble_quick_connect/models.py:36
31
32
  #, python-brace-format
32
33
  msgid "The Mumble channel URL must start with \"{mumble_base_url}\""
33
- msgstr ""
34
+ msgstr "Mumble频道地址(必须是{mumble_base_url}开头)"
34
35
 
35
36
  #: aa_mumble_quick_connect/models.py:56
36
37
  msgid "Can access this app"
@@ -42,11 +43,11 @@ msgstr ""
42
43
 
43
44
  #: aa_mumble_quick_connect/models.py:74 aa_mumble_quick_connect/models.py:97
44
45
  msgid "Section"
45
- msgstr ""
46
+ msgstr "选项"
46
47
 
47
48
  #: aa_mumble_quick_connect/models.py:75
48
49
  msgid "Sections"
49
- msgstr ""
50
+ msgstr "选项"
50
51
 
51
52
  #: aa_mumble_quick_connect/models.py:100
52
53
  msgid "Section the Mumble channel belongs to. (Optional)"
@@ -33,8 +33,8 @@ def validate_mumble_url(url: str, disable_url_verification: bool = False) -> str
33
33
  raise ValidationError(
34
34
  {
35
35
  "url": _(
36
- _(f'The Mumble channel URL must start with "{mumble_base_url}"')
37
- )
36
+ 'The Mumble channel URL must start with "{mumble_base_url}"'
37
+ ).format(mumble_base_url=mumble_base_url)
38
38
  }
39
39
  )
40
40
 
@@ -137,13 +137,6 @@ class MumbleLink(models.Model):
137
137
  def clean(self):
138
138
  """
139
139
  Clean method
140
-
141
- :param args: Arguments
142
- :type args: tuple
143
- :param kwargs: Keyword arguments
144
- :type kwargs: dict
145
- :return: None
146
- :rtype: None
147
140
  """
148
141
 
149
142
  # Validate Mumble URL
@@ -21,7 +21,7 @@
21
21
  <ul class="list-group">
22
22
  {% for channel in section.mumble_links.all %}
23
23
  <li class="list-group-item">
24
- <a class="btn btn-secondary w-100" href="{% aa_mumble_quick_connect_link channel.url request.user.mumble.username %}">
24
+ <a class="btn btn-secondary w-100" href="{% aa_mumble_quick_connect_link channel.url request.user %}">
25
25
  <svg width="32" height="32" class="m-3">
26
26
  <use href="#aa-mumble-logo"></use>
27
27
  </svg>
@@ -20,7 +20,7 @@
20
20
  <ul class="list-group">
21
21
  {% for channel in channels_without_sections %}
22
22
  <li class="list-group-item">
23
- <a class="btn btn-secondary w-100" href="{% aa_mumble_quick_connect_link channel.url request.user.mumble.username %}">
23
+ <a class="btn btn-secondary w-100" href="{% aa_mumble_quick_connect_link channel.url request.user %}">
24
24
  <svg width="32" height="32" class="m-3">
25
25
  <use href="#aa-mumble-logo"></use>
26
26
  </svg>
@@ -4,21 +4,27 @@ Template tags for the aa-mumble-quick-connect app.
4
4
 
5
5
  # Django
6
6
  from django import template
7
+ from django.contrib.auth.models import User
7
8
 
8
9
  register = template.Library()
9
10
 
10
11
 
11
12
  @register.simple_tag
12
- def aa_mumble_quick_connect_link(channel_url=None, username=None):
13
+ def aa_mumble_quick_connect_link(channel_url: str, user: User) -> str:
13
14
  """
14
- Create a mumble quick connect link
15
+ Generate a Mumble quick connect link with the user's Mumble username.
15
16
 
16
- :param channel_url: Mumble channel URL
17
+ :param channel_url: The base Mumble channel URL.
17
18
  :type channel_url: str
18
- :param username: Username
19
- :type username: str
20
- :return: Mumble quick connect link
19
+ :param user: The Django user object.
20
+ :type user: User
21
+ :return: The Mumble quick connect link with the user's username.
21
22
  :rtype: str
22
23
  """
23
24
 
24
- return channel_url.replace("mumble://", f"mumble://{username}@")
25
+ try:
26
+ # Add the user's Mumble username to the channel URL.
27
+ return channel_url.replace("mumble://", f"mumble://{user.mumble.username}@")
28
+ except AttributeError:
29
+ # If the user does not have a Mumble username or the channel URL is invalid, return the original URL.
30
+ return channel_url
@@ -1,3 +1,41 @@
1
1
  """
2
2
  Initialize the tests
3
3
  """
4
+
5
+ # Standard Library
6
+ import socket
7
+
8
+ # Django
9
+ from django.test import TestCase
10
+
11
+
12
+ class SocketAccessError(Exception):
13
+ """Error raised when a test script accesses the network"""
14
+
15
+
16
+ class BaseTestCase(TestCase):
17
+ """Variation of Django's TestCase class that prevents any network use.
18
+
19
+ Example:
20
+
21
+ .. code-block:: python
22
+
23
+ class TestMyStuff(BaseTestCase):
24
+ def test_should_do_what_i_need(self): ...
25
+
26
+ """
27
+
28
+ @classmethod
29
+ def setUpClass(cls):
30
+ cls.socket_original = socket.socket
31
+ socket.socket = cls.guard
32
+ return super().setUpClass()
33
+
34
+ @classmethod
35
+ def tearDownClass(cls):
36
+ socket.socket = cls.socket_original
37
+ return super().tearDownClass()
38
+
39
+ @staticmethod
40
+ def guard(*args, **kwargs):
41
+ raise SocketAccessError("Attempted to access network")
@@ -9,11 +9,11 @@ from http import HTTPStatus
9
9
  from django.test import TestCase, modify_settings
10
10
  from django.urls import reverse
11
11
 
12
- # Alliance Auth (External Libs)
13
- from app_utils.testing import create_fake_user
14
-
15
12
  # AA Mumble Quick Connect
16
- from aa_mumble_quick_connect.tests.utils import response_content_to_str
13
+ from aa_mumble_quick_connect.tests.utils import (
14
+ create_fake_user,
15
+ response_content_to_str,
16
+ )
17
17
 
18
18
 
19
19
  class TestAccess(TestCase):
@@ -9,8 +9,8 @@ from http import HTTPStatus
9
9
  from django.test import TestCase, modify_settings
10
10
  from django.urls import reverse
11
11
 
12
- # Alliance Auth (External Libs)
13
- from app_utils.testing import create_fake_user
12
+ # AA Mumble Quick Connect
13
+ from aa_mumble_quick_connect.tests.utils import create_fake_user
14
14
 
15
15
 
16
16
  class TestHooks(TestCase):
@@ -2,34 +2,97 @@
2
2
  Test the apps' template tags
3
3
  """
4
4
 
5
+ # Standard Library
6
+ from unittest.mock import Mock
7
+
5
8
  # Django
6
- from django.template import Context, Template
7
- from django.test import TestCase, override_settings
9
+ from django.contrib.auth.models import User
10
+
11
+ # AA Mumble Quick Connect
12
+ from aa_mumble_quick_connect.templatetags.aa_mumble_quick_connect import (
13
+ aa_mumble_quick_connect_link,
14
+ )
15
+ from aa_mumble_quick_connect.tests import BaseTestCase
8
16
 
9
17
 
10
- class TestQuickConnectLinkTemplateTag(TestCase):
18
+ class TestQuickConnectLinkTemplateTag(BaseTestCase):
11
19
  """
12
20
  Test aa_mumble_quick_connect template tag
13
21
  """
14
22
 
15
- @override_settings(DEBUG=False)
16
- def test_aa_mumble_quick_connect(self) -> None:
23
+ def test_creates_link_with_valid_channel_url_and_user(self):
24
+ """
25
+ Test that the function creates a link with valid channel_url and user
26
+
27
+ :return:
28
+ :rtype:
29
+ """
30
+
31
+ user = Mock(spec=User)
32
+ user.mumble.username = "mumbleuser"
33
+ channel_url = "mumble://example.com/room"
34
+
35
+ result = aa_mumble_quick_connect_link(channel_url, user)
36
+
37
+ self.assertEqual(result, "mumble://mumbleuser@example.com/room")
38
+
39
+ def test_returns_none_if_channel_url_is_none(self):
40
+ """
41
+ Test that the function returns None if channel_url is None
42
+
43
+ :return:
44
+ :rtype:
45
+ """
46
+
47
+ user = Mock(spec=User)
48
+ user.mumble.username = "mumbleuser"
49
+
50
+ result = aa_mumble_quick_connect_link(None, user)
51
+
52
+ self.assertIsNone(result)
53
+
54
+ def test_returns_original_url_if_user_has_no_mumble(self):
55
+ """
56
+ Test that the function returns the original URL if user has no mumble attribute
57
+
58
+ :return:
59
+ :rtype:
60
+ """
61
+
62
+ user = Mock(spec=User)
63
+
64
+ del user.mumble # Remove the attribute to simulate absence
65
+
66
+ channel_url = "mumble://example.com/room"
67
+ result = aa_mumble_quick_connect_link(channel_url, user)
68
+
69
+ self.assertEqual(result, channel_url)
70
+
71
+ def test_returns_original_url_if_user_is_none(self):
72
+ """
73
+ Test that the function returns the original URL if user is None
74
+
75
+ :return:
76
+ :rtype:
77
+ """
78
+
79
+ channel_url = "mumble://example.com/room"
80
+ result = aa_mumble_quick_connect_link(channel_url, None)
81
+
82
+ self.assertEqual(result, channel_url)
83
+
84
+ def test_returns_original_url_if_channel_url_does_not_contain_mumble_prefix(self):
17
85
  """
18
- Test aa_mumble_quick_connect template tag
86
+ Test that the function returns the original URL if channel_url does not contain mumble:// prefix
19
87
 
20
88
  :return:
21
89
  :rtype:
22
90
  """
23
91
 
24
- context = Context({"mumble_link": "mumble://example.com", "username": "foobar"})
25
- template_to_render = Template(
26
- template_string=(
27
- "{% load aa_mumble_quick_connect %}"
28
- "{% aa_mumble_quick_connect_link mumble_link username %}"
29
- )
30
- )
92
+ user = Mock(spec=User)
93
+ user.mumble.username = "mumbleuser"
94
+ channel_url = "https://example.com/room"
31
95
 
32
- rendered_template = template_to_render.render(context=context)
33
- expected = "mumble://foobar@example.com"
96
+ result = aa_mumble_quick_connect_link(channel_url, user)
34
97
 
35
- self.assertEqual(first=rendered_template, second=expected)
98
+ self.assertEqual(result, channel_url)
@@ -2,10 +2,17 @@
2
2
  Helper for our tests
3
3
  """
4
4
 
5
+ # Standard Library
6
+ import re
7
+
5
8
  # Django
9
+ from django.contrib.auth.models import User
6
10
  from django.core.handlers.wsgi import WSGIRequest
7
11
  from django.template import Context, Template
8
12
 
13
+ # Alliance Auth
14
+ from allianceauth.tests.auth_utils import AuthUtils
15
+
9
16
 
10
17
  def render_template(string, context=None):
11
18
  """
@@ -32,3 +39,66 @@ def response_content_to_str(response: WSGIRequest) -> str:
32
39
  """
33
40
 
34
41
  return response.content.decode(response.charset)
42
+
43
+
44
+ def create_fake_user(
45
+ character_id: int,
46
+ character_name: str,
47
+ corporation_id: int = None,
48
+ corporation_name: str = None,
49
+ corporation_ticker: str = None,
50
+ permissions: list[str] = None,
51
+ **kwargs,
52
+ ) -> User:
53
+ """
54
+ Create a fake user with a given character name and id.
55
+
56
+ :param character_id:
57
+ :type character_id:
58
+ :param character_name:
59
+ :type character_name:
60
+ :param corporation_id:
61
+ :type corporation_id:
62
+ :param corporation_name:
63
+ :type corporation_name:
64
+ :param corporation_ticker:
65
+ :type corporation_ticker:
66
+ :param permissions:
67
+ :type permissions:
68
+ :param kwargs:
69
+ :type kwargs:
70
+ :return:
71
+ :rtype:
72
+ """
73
+
74
+ username = re.sub(pattern=r"[^\w\d@\.\+-]", repl="_", string=character_name)
75
+ user = AuthUtils.create_user(username=username)
76
+
77
+ if not corporation_id:
78
+ corporation_id = 2001
79
+ corporation_name = "Wayne Technologies Inc."
80
+ corporation_ticker = "WTE"
81
+
82
+ alliance_id = kwargs.get("alliance_id", 3001)
83
+ alliance_name = (
84
+ kwargs.get("alliance_name", "Wayne Enterprises")
85
+ if alliance_id is not None
86
+ else ""
87
+ )
88
+
89
+ AuthUtils.add_main_character_2(
90
+ user=user,
91
+ name=character_name,
92
+ character_id=character_id,
93
+ corp_id=corporation_id,
94
+ corp_name=corporation_name,
95
+ corp_ticker=corporation_ticker,
96
+ alliance_id=alliance_id,
97
+ alliance_name=alliance_name,
98
+ )
99
+
100
+ if permissions:
101
+ perm_objs = [AuthUtils.get_permission_by_name(perm) for perm in permissions]
102
+ user = AuthUtils.add_permissions_to_user(perms=perm_objs, user=user)
103
+
104
+ return user
@@ -6,7 +6,7 @@ from django.urls import path
6
6
  # AA Mumble Quick Connect
7
7
  from aa_mumble_quick_connect import views
8
8
 
9
- app_name: str = "aa_mumble_quick_connect"
9
+ app_name: str = "aa_mumble_quick_connect" # pylint: disable=invalid-name
10
10
 
11
11
  urlpatterns = [
12
12
  path(route="", view=views.index, name="index"),
@@ -1,13 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aa-mumble-quick-connect
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: Quick connect links to your Mumble server channels
5
5
  Project-URL: Changelog, https://github.com/ppfeufer/aa-mumble-quick-connect/blob/master/CHANGELOG.md
6
+ Project-URL: Codecov, https://codecov.io/gh/ppfeufer/aa-mumble-quick-connect
7
+ Project-URL: Discord, https://discord.gg/fjnHAmk
6
8
  Project-URL: Documentation, https://github.com/ppfeufer/aa-mumble-quick-connect/blob/master/README.md
7
- Project-URL: Donations, https://ko-fi.com/ppfeufer
8
- Project-URL: Homepage, https://github.com/ppfeufer/aa-mumble-quick-connect
9
- Project-URL: Source, https://github.com/ppfeufer/aa-mumble-quick-connect.git
9
+ Project-URL: Donation, https://ko-fi.com/ppfeufer
10
+ Project-URL: GitHub, https://github.com/ppfeufer/aa-mumble-quick-connect
10
11
  Project-URL: Tracker, https://github.com/ppfeufer/aa-mumble-quick-connect/issues
12
+ Project-URL: Translation, https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-mumble-quick-connect/
11
13
  Author-email: Peter Pfeufer <develop@ppfeufer.de>
12
14
  License: GNU GENERAL PUBLIC LICENSE
13
15
  Version 3, 29 June 2007
@@ -699,8 +701,7 @@ Classifier: Programming Language :: Python :: 3.12
699
701
  Classifier: Programming Language :: Python :: 3.13
700
702
  Classifier: Topic :: Internet :: WWW/HTTP
701
703
  Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
702
- Requires-Python: >=3.10
703
- Requires-Dist: allianceauth-app-utils>=1.19.1
704
+ Requires-Python: <3.14,>=3.10
704
705
  Requires-Dist: allianceauth<5,>=4.10
705
706
  Provides-Extra: tests-allianceauth-latest
706
707
  Requires-Dist: coverage; extra == 'tests-allianceauth-latest'
@@ -716,7 +717,7 @@ Description-Content-Type: text/markdown
716
717
  ![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)
717
718
  [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/ppfeufer/aa-mumble-quick-connect/master.svg)](https://results.pre-commit.ci/latest/github/ppfeufer/aa-mumble-quick-connect/master)
718
719
  [![Code Style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](http://black.readthedocs.io/en/latest/)
719
- [![Discord](https://img.shields.io/discord/790364535294132234?label=discord)](https://discord.gg/zmh52wnfvM)
720
+ [![Discord](https://img.shields.io/discord/399006117012832262?label=discord)](https://discord.gg/fjnHAmk)
720
721
  [![Checks](https://github.com/ppfeufer/aa-mumble-quick-connect/actions/workflows/automated-checks.yml/badge.svg)](https://github.com/ppfeufer/aa-mumble-quick-connect/actions/workflows/automated-checks.yml)
721
722
  [![codecov](https://codecov.io/gh/ppfeufer/aa-mumble-quick-connect/graph/badge.svg?token=p2qVe7q36D)](https://codecov.io/gh/ppfeufer/aa-mumble-quick-connect)
722
723
  [![Translation status](https://weblate.ppfeufer.de/widget/alliance-auth-apps/aa-mumble-quick-connect/svg-badge.svg)](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)
@@ -770,7 +771,7 @@ ______________________________________________________________________
770
771
  Install the app using pip:
771
772
 
772
773
  ```shell
773
- pip install aa-mumble-quick-connect==1.0.0
774
+ pip install aa-mumble-quick-connect==1.1.0
774
775
  ```
775
776
 
776
777
  #### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings"></a>
@@ -799,7 +800,7 @@ python manage.py collectstatic --noinput
799
800
  Add the app to your `conf/requirements.txt`:
800
801
 
801
802
  ```text
802
- aa-mumble-quick-connect==1.0.0
803
+ aa-mumble-quick-connect==1.1.0
803
804
  ```
804
805
 
805
806
  #### Step 2: Update Your AA Settings<a name="step-2-update-your-aa-settings-1"></a>
@@ -1,36 +1,36 @@
1
- aa_mumble_quick_connect/__init__.py,sha256=UPbTST4QrCl9hK1S51N0cf-i0aQW5Z8Y7L6cYtcJscc,88
1
+ aa_mumble_quick_connect/__init__.py,sha256=d0-YGHtO6XcIeqfFUgU2Ptdp9k_rtPkYHrO5ROoZejw,199
2
2
  aa_mumble_quick_connect/admin.py,sha256=-E1_6HVosf1VeDGWTeMKCO18NBXh9E-3rP2TGhpb-aQ,524
3
- aa_mumble_quick_connect/apps.py,sha256=rLXhexmN5A_QKiaDV7ZA-czIieC7o02kLrh0wx8B3_U,364
4
- aa_mumble_quick_connect/auth_hooks.py,sha256=P0LNL1xvjK18R6SdJRs6bDGcaoDDTgcFbLZUeHEbz4I,1578
3
+ aa_mumble_quick_connect/apps.py,sha256=5YGJORar_kr_PFsvVOBsaM2tA0O2ps1UFbM3xJcuumE,494
4
+ aa_mumble_quick_connect/auth_hooks.py,sha256=3Mn5Cb8SzmVlJBdAPCHTv2gDRzME9PtD0aDEyu4xAaI,1525
5
5
  aa_mumble_quick_connect/dependency_checks.py,sha256=N_-ssY1CW0_KnOQ6XkLdzuxa7MlBDvd5S1ABH4vj4UQ,382
6
- aa_mumble_quick_connect/models.py,sha256=S_Z7TY0JzxhyohfLR5bsEcxwq3rhE7yluuQFDXMhtMM,3814
7
- aa_mumble_quick_connect/urls.py,sha256=pPKh325NcUlRBqWSutAHJ_46IjxUDTNerXw2ptdaNos,304
6
+ aa_mumble_quick_connect/models.py,sha256=DH3UjYgLFjE2DTbESnHneXZMGagiF8NOITOCeUvlmwI,3681
7
+ aa_mumble_quick_connect/urls.py,sha256=VUQOGrzX4KfjQcfXM6Rfb3ACBUhDcBLNscTf2vZq0P8,336
8
8
  aa_mumble_quick_connect/views.py,sha256=Oe2SA2SD2JZTcYuYRy0e-HjqQppe9Kg3KdxrUw4ZutE,1347
9
- aa_mumble_quick_connect/locale/django.pot,sha256=VCdw3zdNP4y0JcuQWenS2LrHobYtoZQ_GuXJMBDELiQ,3152
9
+ aa_mumble_quick_connect/locale/django.pot,sha256=53Vsd28eX7Yc58mY6yT-2HOxn5G6TjET-0sm2NR9jb8,3149
10
10
  aa_mumble_quick_connect/locale/cs_CZ/LC_MESSAGES/django.mo,sha256=8bbLnti-G_cMZXa-Z5hW_4nGdzFQoY_OX46-y6lkZNw,941
11
- aa_mumble_quick_connect/locale/cs_CZ/LC_MESSAGES/django.po,sha256=sF4Ms_N0hyJ29sPRCZLFkceJA48gdC9kaDiNXJPLUhY,3527
11
+ aa_mumble_quick_connect/locale/cs_CZ/LC_MESSAGES/django.po,sha256=s3Q81KH65hPbkA6Ar1Jyk8rHIxiikI3L61PpDBzm3CA,3525
12
12
  aa_mumble_quick_connect/locale/de/LC_MESSAGES/django.mo,sha256=YufQJ4dn5YSn1jil2bqguwsYCjKlbSGMp8c1tc6SlCY,2733
13
- aa_mumble_quick_connect/locale/de/LC_MESSAGES/django.po,sha256=RVbDSAkszL5YTminz-24rEPQub7T2EIpNs2yZj46sTk,4228
13
+ aa_mumble_quick_connect/locale/de/LC_MESSAGES/django.po,sha256=yby-F3fluAVg1Na3VV6tUIEdE7X33yIk4ID8RhLpwFY,4226
14
14
  aa_mumble_quick_connect/locale/es/LC_MESSAGES/django.mo,sha256=xMiCK1jIKTrfLI5F6BfvwnpCSkRdCvofQhlKZSzQHjw,859
15
- aa_mumble_quick_connect/locale/es/LC_MESSAGES/django.po,sha256=PVcWQEc60jc545Nq0RinYxKkpkFgt8LTJw5vZWThWIg,3440
15
+ aa_mumble_quick_connect/locale/es/LC_MESSAGES/django.po,sha256=nWRkulmMh4uTATx0uadYiUw_YlfhqQOQEMSAY79F7-U,3438
16
16
  aa_mumble_quick_connect/locale/fr_FR/LC_MESSAGES/django.mo,sha256=N6I3BeG792xzgAGHwvxDYIJVMwZWLefvImNDhQPV9Dc,1672
17
- aa_mumble_quick_connect/locale/fr_FR/LC_MESSAGES/django.po,sha256=A6cWdHnVYv2snC0JnuCKftXbsi49oBq5dH51YjbT6kY,3905
17
+ aa_mumble_quick_connect/locale/fr_FR/LC_MESSAGES/django.po,sha256=Q4JhZ3BzhoIALL78zahnZCNY1DK7-WQPe0-tAFgjLsM,3903
18
18
  aa_mumble_quick_connect/locale/it_IT/LC_MESSAGES/django.mo,sha256=Vh2mBOjclawqzzOhX-kc-daTxpxxmMRhw7x1MGQSm2E,570
19
- aa_mumble_quick_connect/locale/it_IT/LC_MESSAGES/django.po,sha256=l5dGEC0QEP3ceY4vdb5K78umOVbJtbUyxlOIdIzKGtY,3313
20
- aa_mumble_quick_connect/locale/ja/LC_MESSAGES/django.mo,sha256=tfix9EpcxClvbXec1K2VzsZJ5_hSwcJYw3PxFGpjh_I,741
21
- aa_mumble_quick_connect/locale/ja/LC_MESSAGES/django.po,sha256=K3lla5eVwbkXewvJGz8oW4fPcsD8-rNfciLIYPV1C6A,3429
22
- aa_mumble_quick_connect/locale/ko_KR/LC_MESSAGES/django.mo,sha256=-lM7Ez8yrzXdlk84R1ZTBe2TAbG2gdWFdTmxHR6Zq5E,1939
23
- aa_mumble_quick_connect/locale/ko_KR/LC_MESSAGES/django.po,sha256=OGEkH_HsLA_LOQxjT3auGGqvIdojcWw4ynnOCsa9GjM,3975
24
- aa_mumble_quick_connect/locale/nl_NL/LC_MESSAGES/django.po,sha256=G1vmAsD9wywRHz-7vzSA1XMU9ub0_xja06CQPHZG40c,3172
19
+ aa_mumble_quick_connect/locale/it_IT/LC_MESSAGES/django.po,sha256=myTkLjkEtBEMtM9Avx3mKa6a-KPzr9N62kuRohi4IWo,3311
20
+ aa_mumble_quick_connect/locale/ja/LC_MESSAGES/django.mo,sha256=6MUh_2GqYbBhnDoXBp_kFJivGTAjpj2KFfipeMmCuyQ,2936
21
+ aa_mumble_quick_connect/locale/ja/LC_MESSAGES/django.po,sha256=kccfd5u54-ELdC1JS3l6u3Roxe4hmdygZvHJYYOv8VM,4509
22
+ aa_mumble_quick_connect/locale/ko_KR/LC_MESSAGES/django.mo,sha256=8ctC_thl3JjvvsmxCys0V8yy3WtAGRzZYDymm8fl8x8,2254
23
+ aa_mumble_quick_connect/locale/ko_KR/LC_MESSAGES/django.po,sha256=ZYK_5U9UMPIEAQGfqK2QnEBMdBvyVBZ08rMFEefoKEc,4093
24
+ aa_mumble_quick_connect/locale/nl_NL/LC_MESSAGES/django.po,sha256=Jda7uTgPnsqrWezTu7pF-_C_EvQ9eLn-LHDwsAb4yxw,3170
25
25
  aa_mumble_quick_connect/locale/pl_PL/LC_MESSAGES/django.mo,sha256=j8KXKASN0F5fV7e_drJn9EDJuc7_rqJ-7sMD2klAzO0,853
26
- aa_mumble_quick_connect/locale/pl_PL/LC_MESSAGES/django.po,sha256=Nonyq2brNHmsgHLCeKnxnoJ_BRw0mN_2f0d7vkk7k0w,3475
27
- aa_mumble_quick_connect/locale/ru/LC_MESSAGES/django.mo,sha256=4xeVdkJ5RwFcUz331LwRhM9TbKlETfZDbP3HN5U-TFQ,1069
28
- aa_mumble_quick_connect/locale/ru/LC_MESSAGES/django.po,sha256=m-E6by9F-7druSDBbg12_CcaPsnsOM2KoBO-x1aRew0,3650
29
- aa_mumble_quick_connect/locale/sk/LC_MESSAGES/django.po,sha256=z8SQFaPiD5YMBBTi3xLl2nGaH7vztOaJqNh4ED2AOf8,3249
26
+ aa_mumble_quick_connect/locale/pl_PL/LC_MESSAGES/django.po,sha256=9pcQLEJLqyRApHun3olzRkl8ANFdlpuGa83hIAyQB8M,3473
27
+ aa_mumble_quick_connect/locale/ru/LC_MESSAGES/django.mo,sha256=w8rSBWwwzVl8WCRrgsfND9YgmkGkqszVGWeCCP3OfQc,1472
28
+ aa_mumble_quick_connect/locale/ru/LC_MESSAGES/django.po,sha256=kdrTlZ9iMPOt8NnBGrVvdRhuMEiuU7YujCBPaUrCiS8,3887
29
+ aa_mumble_quick_connect/locale/sk/LC_MESSAGES/django.po,sha256=NOzbateLF-MqTgg5yZRdn450QsIyDkGrvtF-MQtaQ1U,3247
30
30
  aa_mumble_quick_connect/locale/uk/LC_MESSAGES/django.mo,sha256=kHnJGeNqGXdKZIHvgsLlRNfDKb28onotCoL9nAr6wLA,3399
31
- aa_mumble_quick_connect/locale/uk/LC_MESSAGES/django.po,sha256=mWi2GI5bzpvvO_fYmYHlg_rCV3p1cqUEoTe5pC3GvaU,4969
32
- aa_mumble_quick_connect/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=92XAA_2l_Vbw4ApaCfdPBq8Z8amkfLnspR8OD3dToBU,889
33
- aa_mumble_quick_connect/locale/zh_Hans/LC_MESSAGES/django.po,sha256=LpglaVF2mGUkGDiL9Vx76FOyA3gKNkey8wPMtoveR08,3446
31
+ aa_mumble_quick_connect/locale/uk/LC_MESSAGES/django.po,sha256=WZLIxwXJLiT1-maj6x0R6X-HO0r1ZwhJjhIKI5n3NdA,4967
32
+ aa_mumble_quick_connect/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=nn4TxwGMXY9_yD5idgogk1bkkY70Kvl5u0cdWQGX77c,1283
33
+ aa_mumble_quick_connect/locale/zh_Hans/LC_MESSAGES/django.po,sha256=CfXAlHKgSnZDJ8XcihjNNk3LoEIi2O-ohERDKA2iONo,3623
34
34
  aa_mumble_quick_connect/migrations/0001_initial.py,sha256=DVL1fCdvAtgw7jYpRP8dIm3EgMsRWhpes6LWtpDJefU,3303
35
35
  aa_mumble_quick_connect/migrations/0002_mumblelink_disable_url_verification.py,sha256=9Vs8rv-8x63Gve0x3d6TH3f1DfiTNccmr2PIZa7Atb8,979
36
36
  aa_mumble_quick_connect/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -38,18 +38,18 @@ aa_mumble_quick_connect/static/aa_mumble_quick_connect/libs/masonry-layout/4.2.2
38
38
  aa_mumble_quick_connect/templates/aa_mumble_quick_connect/base.html,sha256=PZtcXi2JkideJarxWVzozLvhnrjeHCeQJLrf8rpfb2I,636
39
39
  aa_mumble_quick_connect/templates/aa_mumble_quick_connect/index.html,sha256=8YnbQ5gndZoGCgX2ZIOtzUFusYJ2G6WA3SRTBxGpMDA,1471
40
40
  aa_mumble_quick_connect/templates/aa_mumble_quick_connect/bundles/masonry-layout-js.html,sha256=WHji2A9sAnl7Wz_Fvyj5-6GVKhGXg0Zob5GVYnBAEgk,105
41
- aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-in-sections.html,sha256=-dQr6wm-sPqlJc3MjdpJvcCk2_dTh012brJhPhd0lVk,1904
42
- aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-without-sections.html,sha256=jwwbRPB2WqZSYpSt8AJwUo9B3WPHYDzpfR13B4HEuvU,1560
41
+ aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-in-sections.html,sha256=YKRxSNfI_W_DUBYBtQo2RivwVBRG7nPyBHzajeohM5s,1888
42
+ aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/channels-without-sections.html,sha256=6iLGhilpI9gtW9OcGCOX43n0_3cDg3uZ64fKpI62Mlc,1544
43
43
  aa_mumble_quick_connect/templates/aa_mumble_quick_connect/partials/footer/app-translation-footer.html,sha256=nDZPOnsQLBN9meAhxnhd0ynUQIVi3YPzhi47n89zcIg,422
44
44
  aa_mumble_quick_connect/templatetags/__init__.py,sha256=sP2D1ovt2gGAPLcGQkByRgXYhvUJ6C52mZMlLIALQ8s,37
45
- aa_mumble_quick_connect/templatetags/aa_mumble_quick_connect.py,sha256=VnsJtgbbGeBiXF4ZwyVT79N1zrpiSiMRN41_pK03zic,523
46
- aa_mumble_quick_connect/tests/__init__.py,sha256=NLuMBNDHYOXDmPgpyG-g_kDaATVQWv1iC-dJ8BA1kZc,29
47
- aa_mumble_quick_connect/tests/test_access.py,sha256=APnVu5JaITBDgBh-mU3VYboDBcO_YTqcmhk99nf_p04,4796
48
- aa_mumble_quick_connect/tests/test_auth_hooks.py,sha256=S82JzwKM4avQyHyVgBRCfPj7frPiCHkOkNdITnRMvGI,3208
45
+ aa_mumble_quick_connect/templatetags/aa_mumble_quick_connect.py,sha256=2mqu1Xjhq8UEbI2niLk7ah4MsnROqWk3VBkhF4OC5Io,904
46
+ aa_mumble_quick_connect/tests/__init__.py,sha256=hQ-yK-riPHikEE78PrbFZUKRToIZhif7-mD-yiHzjkM,873
47
+ aa_mumble_quick_connect/tests/test_access.py,sha256=F63yYx_cv4MqP-n2Sz6f2sIjcMUSH4NpXcKe2idlxzo,4747
48
+ aa_mumble_quick_connect/tests/test_auth_hooks.py,sha256=FckDwFXRK_zhDgYMDWcPXqnxevRqFZCUlwdUZu4_m9g,3220
49
49
  aa_mumble_quick_connect/tests/test_models.py,sha256=ngT6nceZXjTJkiGtIi5DFlCNPE-Y0L2qr-fmUOlnO_4,5440
50
- aa_mumble_quick_connect/tests/test_templatetags.py,sha256=UQACDpf8vY2is0GvidBGg0Yn_Zw22kjE2CKv5YycNQw,954
51
- aa_mumble_quick_connect/tests/utils.py,sha256=RVbqdYkiREkClWxZpPkfoMn5FBRr0jMdApk83JbjKa0,671
52
- aa_mumble_quick_connect-1.0.0.dist-info/METADATA,sha256=Mg8SlueOVwkNif8jLD8tVo_lhKhxxkuU24zjWqaDrGQ,48655
53
- aa_mumble_quick_connect-1.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
54
- aa_mumble_quick_connect-1.0.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
55
- aa_mumble_quick_connect-1.0.0.dist-info/RECORD,,
50
+ aa_mumble_quick_connect/tests/test_templatetags.py,sha256=9zndK2ISwnO5iMZ3fyz7rALp7EoPOgDuLlxu2HgPbFk,2586
51
+ aa_mumble_quick_connect/tests/utils.py,sha256=CWViwFu9iYA0Rr-ODHjorwsvPN2zRuCpYiAiiv38jhU,2477
52
+ aa_mumble_quick_connect-1.1.0.dist-info/METADATA,sha256=Sxo-iL6ISrVJZpsJSGXHFIzURec9QpxKBy1IgFAdarI,48765
53
+ aa_mumble_quick_connect-1.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
54
+ aa_mumble_quick_connect-1.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
55
+ aa_mumble_quick_connect-1.1.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any