aa-bulletin-board 2.3.5__tar.gz → 2.4.0__tar.gz
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.
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/PKG-INFO +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/__init__.py +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/cs_CZ/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/de/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/django.pot +2 -2
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/es/LC_MESSAGES/django.po +1 -1
- aa_bulletin_board-2.4.0/aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po +12 -12
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/ja/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/nl_NL/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/pl_PL/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/ru/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/sk/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/uk/LC_MESSAGES/django.po +1 -1
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
- aa_bulletin_board-2.4.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html +3 -0
- aa_bulletin_board-2.4.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-equal-height-js.html +3 -0
- aa_bulletin_board-2.4.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-oembed-js.html +3 -0
- aa_bulletin_board-2.4.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html +3 -0
- aa_bulletin_board-2.4.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html +3 -0
- aa_bulletin_board-2.3.5/aa_bulletin_board/helper/static_files.py +0 -40
- aa_bulletin_board-2.3.5/aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
- aa_bulletin_board-2.3.5/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html +0 -3
- aa_bulletin_board-2.3.5/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-equal-height-js.html +0 -3
- aa_bulletin_board-2.3.5/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-oembed-js.html +0 -3
- aa_bulletin_board-2.3.5/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html +0 -3
- aa_bulletin_board-2.3.5/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html +0 -3
- aa_bulletin_board-2.3.5/aa_bulletin_board/templatetags/__init__.py +0 -3
- aa_bulletin_board-2.3.5/aa_bulletin_board/templatetags/aa_bulletin_board.py +0 -88
- aa_bulletin_board-2.3.5/aa_bulletin_board/tests/test_templatetags.py +0 -99
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/.gitignore +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/LICENSE +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/README.md +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/app_settings.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/apps.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/auth_hooks.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/constants.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/forms.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/helper/__init__.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/helper/string.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/de/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/es/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/ja/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/sk/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/uk/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/managers.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0001_initial.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0002_alter_bulletin_slug.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0003_group_restrictions.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0004_model_translation.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0005_alter_general_options.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0006_switch_to_ckeditor_5.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/__init__.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/models.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.css +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.min.css +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.min.css.map +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/javascript/aa-bulletin-board-equal-height.js +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/javascript/aa-bulletin-board-equal-height.min.js +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/javascript/aa-bulletin-board-equal-height.min.js.map +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/javascript/aa-bulletin-board-oembed.js +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/javascript/aa-bulletin-board-oembed.min.js +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/javascript/aa-bulletin-board-oembed.min.js.map +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.9/README.md +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.9/jquery.sumoselect.js +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.9/jquery.sumoselect.min.js +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.9/sumoselect.css +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.9/sumoselect.min.css +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/base.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/bulletin.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/bundles/ckeditor5-css.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/bundles/ckeditor5-js.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/dashboard.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/edit-bulletin.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/partials/common/bulletin-board-management.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/templates/aa_bulletin_board/partials/footer/app-translation-footer.html +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/__init__.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_access.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_auth_hooks.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_bulletins.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_forms.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_settings.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_user_interface.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/utils.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/urls.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/views.py +0 -0
- {aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: aa-bulletin-board
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.4.0
|
4
4
|
Summary: A simple bulletin board for Alliance Auth
|
5
5
|
Project-URL: Changelog, https://github.com/ppfeufer/aa-bulletin-board/blob/master/CHANGELOG.md
|
6
6
|
Project-URL: Documentation, https://github.com/ppfeufer/aa-bulletin-board/blob/master/README.md
|
@@ -6,7 +6,7 @@ msgid ""
|
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: PACKAGE VERSION\n"
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
9
|
-
"POT-Creation-Date: 2025-
|
9
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
10
10
|
"PO-Revision-Date: 2024-07-10 14:26+0000\n"
|
11
11
|
"Last-Translator: Dadas Aideron <dadas.aideron@gmail.com>\n"
|
12
12
|
"Language-Team: Czech <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/cs/>\n"
|
@@ -6,7 +6,7 @@ msgid ""
|
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: PACKAGE VERSION\n"
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
9
|
-
"POT-Creation-Date: 2025-
|
9
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
10
10
|
"PO-Revision-Date: 2025-04-25 11: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-bulletin-board/de/>\n"
|
@@ -6,9 +6,9 @@
|
|
6
6
|
#, fuzzy
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
|
-
"Project-Id-Version: AA Bulletin Board 2.
|
9
|
+
"Project-Id-Version: AA Bulletin Board 2.4.0\n"
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
11
|
-
"POT-Creation-Date: 2025-
|
11
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\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"
|
@@ -8,7 +8,7 @@ msgid ""
|
|
8
8
|
msgstr ""
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
11
|
-
"POT-Creation-Date: 2025-
|
11
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
12
12
|
"PO-Revision-Date: 2024-12-02 17:40+0000\n"
|
13
13
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
14
14
|
"Language-Team: Spanish <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/es/>\n"
|
@@ -10,16 +10,16 @@ msgid ""
|
|
10
10
|
msgstr ""
|
11
11
|
"Project-Id-Version: PACKAGE VERSION\n"
|
12
12
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
13
|
-
"POT-Creation-Date: 2025-
|
14
|
-
"PO-Revision-Date: 2025-
|
15
|
-
"Last-Translator:
|
13
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
14
|
+
"PO-Revision-Date: 2025-05-20 16:24+0000\n"
|
15
|
+
"Last-Translator: balbozorre <loic.petiot2002@gmail.com>\n"
|
16
16
|
"Language-Team: French <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/fr/>\n"
|
17
17
|
"Language: fr_FR\n"
|
18
18
|
"MIME-Version: 1.0\n"
|
19
19
|
"Content-Type: text/plain; charset=UTF-8\n"
|
20
20
|
"Content-Transfer-Encoding: 8bit\n"
|
21
21
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
22
|
-
"X-Generator: Weblate 5.
|
22
|
+
"X-Generator: Weblate 5.11.4\n"
|
23
23
|
|
24
24
|
#. Translators: This is the app name and version, which will appear in the Django Backend
|
25
25
|
#: aa_bulletin_board/apps.py:22
|
@@ -135,11 +135,11 @@ msgstr ""
|
|
135
135
|
|
136
136
|
#: aa_bulletin_board/templates/aa_bulletin_board/edit-bulletin.html:47
|
137
137
|
msgid "Create bulletin"
|
138
|
-
msgstr ""
|
138
|
+
msgstr "Créer un bulletin"
|
139
139
|
|
140
140
|
#: aa_bulletin_board/templates/aa_bulletin_board/partials/common/bulletin-board-management.html:4
|
141
141
|
msgid "Add bulletin"
|
142
|
-
msgstr ""
|
142
|
+
msgstr "Ajouter un bulletin"
|
143
143
|
|
144
144
|
#: aa_bulletin_board/templates/aa_bulletin_board/partials/footer/app-translation-footer.html:5
|
145
145
|
msgid "Do you want to help translate this app into your language or improve the existing translation?"
|
@@ -152,26 +152,26 @@ msgstr "Rejoignez notre équipe de traducteurs !"
|
|
152
152
|
#: aa_bulletin_board/views.py:98
|
153
153
|
#, python-brace-format
|
154
154
|
msgid "Bulletin \"{bulletin__title}\" created."
|
155
|
-
msgstr ""
|
155
|
+
msgstr "Bulletin \"{bulletin__title}\" créé."
|
156
156
|
|
157
157
|
#: aa_bulletin_board/views.py:141
|
158
158
|
msgid "The bulletin you are looking for does either not exist, or you don't have access to it."
|
159
|
-
msgstr ""
|
159
|
+
msgstr "Le bulletin que vous cherchez n'existe pas, ou vous n'avez pas accès à celui-ci."
|
160
160
|
|
161
161
|
#: aa_bulletin_board/views.py:168
|
162
162
|
msgid "The bulletin you are trying to edit does not exist."
|
163
|
-
msgstr ""
|
163
|
+
msgstr "Le bulletin que vous essayez de modifier n'existe pas."
|
164
164
|
|
165
165
|
#: aa_bulletin_board/views.py:195
|
166
166
|
#, python-brace-format
|
167
167
|
msgid "Bulletin \"{bulletin__title}\" updated."
|
168
|
-
msgstr ""
|
168
|
+
msgstr "Bulletin \"{bulletin__title}\" mis à jour."
|
169
169
|
|
170
170
|
#: aa_bulletin_board/views.py:227
|
171
171
|
#, python-brace-format
|
172
172
|
msgid "Bulletin \"{bulletin.title}\" deleted."
|
173
|
-
msgstr ""
|
173
|
+
msgstr "Bulletin \"{bulletin.title}\" supprimé."
|
174
174
|
|
175
175
|
#: aa_bulletin_board/views.py:234
|
176
176
|
msgid "The bulletin you are trying to delete does not exist."
|
177
|
-
msgstr ""
|
177
|
+
msgstr "Le bulletin que vous essayez de supprimer n'existe pas."
|
@@ -7,7 +7,7 @@ msgid ""
|
|
7
7
|
msgstr ""
|
8
8
|
"Project-Id-Version: PACKAGE VERSION\n"
|
9
9
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
10
|
-
"POT-Creation-Date: 2025-
|
10
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
11
11
|
"PO-Revision-Date: 2024-12-22 21:15+0000\n"
|
12
12
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
13
13
|
"Language-Team: Italian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/it/>\n"
|
@@ -8,7 +8,7 @@ msgid ""
|
|
8
8
|
msgstr ""
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
10
10
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
11
|
-
"POT-Creation-Date: 2025-
|
11
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
12
12
|
"PO-Revision-Date: 2025-04-12 09:24+0000\n"
|
13
13
|
"Last-Translator: KM Heon <kmheon75@gmail.com>\n"
|
14
14
|
"Language-Team: Japanese <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/ja/>\n"
|
@@ -10,7 +10,7 @@ msgid ""
|
|
10
10
|
msgstr ""
|
11
11
|
"Project-Id-Version: PACKAGE VERSION\n"
|
12
12
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
13
|
-
"POT-Creation-Date: 2025-
|
13
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
14
14
|
"PO-Revision-Date: 2025-04-28 07:24+0000\n"
|
15
15
|
"Last-Translator: SiO4 <hohoit0078@gmail.com>\n"
|
16
16
|
"Language-Team: Korean <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/ko/>\n"
|
@@ -7,7 +7,7 @@ msgid ""
|
|
7
7
|
msgstr ""
|
8
8
|
"Project-Id-Version: PACKAGE VERSION\n"
|
9
9
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
10
|
-
"POT-Creation-Date: 2025-
|
10
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
11
11
|
"PO-Revision-Date: 2024-05-10 13:57+0000\n"
|
12
12
|
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
13
13
|
"Language-Team: Dutch <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/nl/>\n"
|
@@ -6,7 +6,7 @@ msgid ""
|
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: PACKAGE VERSION\n"
|
8
8
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
9
|
-
"POT-Creation-Date: 2025-
|
9
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
10
10
|
"PO-Revision-Date: 2024-05-10 13:57+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-bulletin-board/pl/>\n"
|
@@ -9,7 +9,7 @@ msgid ""
|
|
9
9
|
msgstr ""
|
10
10
|
"Project-Id-Version: PACKAGE VERSION\n"
|
11
11
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
12
|
-
"POT-Creation-Date: 2025-
|
12
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
13
13
|
"PO-Revision-Date: 2024-06-07 13:27+0000\n"
|
14
14
|
"Last-Translator: Roycce_ <malyasov.roma@mail.ru>\n"
|
15
15
|
"Language-Team: Russian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/ru/>\n"
|
@@ -7,7 +7,7 @@ msgid ""
|
|
7
7
|
msgstr ""
|
8
8
|
"Project-Id-Version: PACKAGE VERSION\n"
|
9
9
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
10
|
-
"POT-Creation-Date: 2025-
|
10
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
11
11
|
"PO-Revision-Date: 2024-05-10 13:57+0000\n"
|
12
12
|
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
13
13
|
"Language-Team: Slovak <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/sk/>\n"
|
@@ -10,7 +10,7 @@ msgid ""
|
|
10
10
|
msgstr ""
|
11
11
|
"Project-Id-Version: PACKAGE VERSION\n"
|
12
12
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
13
|
-
"POT-Creation-Date: 2025-
|
13
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
14
14
|
"PO-Revision-Date: 2025-04-10 07:05+0000\n"
|
15
15
|
"Last-Translator: s0k0l -_- <salarysalo@gmail.com>\n"
|
16
16
|
"Language-Team: Ukrainian <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/uk/>\n"
|
@@ -10,7 +10,7 @@ msgid ""
|
|
10
10
|
msgstr ""
|
11
11
|
"Project-Id-Version: PACKAGE VERSION\n"
|
12
12
|
"Report-Msgid-Bugs-To: https://github.com/ppfeufer/aa-bulletin-board/issues\n"
|
13
|
-
"POT-Creation-Date: 2025-
|
13
|
+
"POT-Creation-Date: 2025-06-03 09:55+0200\n"
|
14
14
|
"PO-Revision-Date: 2024-05-28 16:27+0000\n"
|
15
15
|
"Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
|
16
16
|
"Language-Team: Chinese (Simplified) <https://weblate.ppfeufer.de/projects/alliance-auth-apps/aa-bulletin-board/zh_Hans/>\n"
|
@@ -1,40 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Helper functions for static integrity calculations
|
3
|
-
"""
|
4
|
-
|
5
|
-
# Standard Library
|
6
|
-
import os
|
7
|
-
from pathlib import Path
|
8
|
-
|
9
|
-
# Third Party
|
10
|
-
from sri import Algorithm, calculate_integrity
|
11
|
-
|
12
|
-
# Alliance Auth
|
13
|
-
from allianceauth.services.hooks import get_extension_logger
|
14
|
-
|
15
|
-
# Alliance Auth (External Libs)
|
16
|
-
from app_utils.logging import LoggerAddTag
|
17
|
-
|
18
|
-
# AA Bulletin Board
|
19
|
-
from aa_bulletin_board import __title__
|
20
|
-
from aa_bulletin_board.constants import APP_STATIC_DIR
|
21
|
-
|
22
|
-
logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
|
23
|
-
|
24
|
-
|
25
|
-
def calculate_integrity_hash(relative_file_path: str) -> str:
|
26
|
-
"""
|
27
|
-
Calculates the integrity hash for a given static file
|
28
|
-
|
29
|
-
:param self:
|
30
|
-
:type self:
|
31
|
-
:param relative_file_path: The file path relative to the `{APP_NAME}/{PACKAGE_NAME}/static/{PACKAGE_NAME}` folder
|
32
|
-
:type relative_file_path: str
|
33
|
-
:return: The integrity hash
|
34
|
-
:rtype: str
|
35
|
-
"""
|
36
|
-
|
37
|
-
return calculate_integrity(
|
38
|
-
path=Path(os.path.join(APP_STATIC_DIR, relative_file_path)),
|
39
|
-
algorithm=Algorithm.SHA512,
|
40
|
-
)
|
Binary file
|
@@ -1,88 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Versioned static URLs to break browser caches when changing the app version
|
3
|
-
"""
|
4
|
-
|
5
|
-
# Standard Library
|
6
|
-
import os
|
7
|
-
|
8
|
-
# Django
|
9
|
-
from django.template.defaulttags import register
|
10
|
-
from django.templatetags.static import static
|
11
|
-
from django.utils.safestring import mark_safe
|
12
|
-
|
13
|
-
# Alliance Auth
|
14
|
-
from allianceauth.services.hooks import get_extension_logger
|
15
|
-
|
16
|
-
# Alliance Auth (External Libs)
|
17
|
-
from app_utils.logging import LoggerAddTag
|
18
|
-
|
19
|
-
# AA Bulletin Board
|
20
|
-
from aa_bulletin_board import __title__, __version__
|
21
|
-
from aa_bulletin_board.app_settings import debug_enabled
|
22
|
-
from aa_bulletin_board.constants import PACKAGE_NAME
|
23
|
-
from aa_bulletin_board.helper.static_files import calculate_integrity_hash
|
24
|
-
|
25
|
-
logger = LoggerAddTag(my_logger=get_extension_logger(__name__), prefix=__title__)
|
26
|
-
|
27
|
-
|
28
|
-
@register.simple_tag
|
29
|
-
def aa_bulletin_board_static(
|
30
|
-
relative_file_path: str, script_type: str = None
|
31
|
-
) -> str | None:
|
32
|
-
"""
|
33
|
-
Versioned static URL
|
34
|
-
|
35
|
-
:param relative_file_path: The file path relative to the `{APP_NAME}/{PACKAGE_NAME}/static/{PACKAGE_NAME}` folder
|
36
|
-
:type relative_file_path: str
|
37
|
-
:param script_type: The script type
|
38
|
-
:type script_type: str
|
39
|
-
:return: Versioned static URL
|
40
|
-
:rtype: str
|
41
|
-
"""
|
42
|
-
|
43
|
-
logger.debug(f"Getting versioned static URL for: {relative_file_path}")
|
44
|
-
|
45
|
-
file_type = os.path.splitext(relative_file_path)[1][1:]
|
46
|
-
|
47
|
-
logger.debug(f"File extension: {file_type}")
|
48
|
-
|
49
|
-
# Only support CSS and JS files
|
50
|
-
if file_type not in ["css", "js"]:
|
51
|
-
raise ValueError(f"Unsupported file type: {file_type}")
|
52
|
-
|
53
|
-
static_file_path = os.path.join(PACKAGE_NAME, relative_file_path)
|
54
|
-
static_url = static(static_file_path)
|
55
|
-
|
56
|
-
# Integrity hash calculation only for non-debug mode
|
57
|
-
sri_string = (
|
58
|
-
f' integrity="{calculate_integrity_hash(relative_file_path)}" crossorigin="anonymous"'
|
59
|
-
if not debug_enabled()
|
60
|
-
else ""
|
61
|
-
)
|
62
|
-
|
63
|
-
# Versioned URL for CSS and JS files
|
64
|
-
# Add version query parameter to break browser caches when changing the app version
|
65
|
-
# Do not add version query parameter for libs as they are already versioned through their file path
|
66
|
-
versioned_url = (
|
67
|
-
static_url
|
68
|
-
if relative_file_path.startswith("libs/")
|
69
|
-
else static_url + "?v=" + __version__
|
70
|
-
)
|
71
|
-
|
72
|
-
return_value = None
|
73
|
-
|
74
|
-
# Return the versioned URL with integrity hash for CSS
|
75
|
-
if file_type == "css":
|
76
|
-
return_value = mark_safe(
|
77
|
-
f'<link rel="stylesheet" href="{versioned_url}"{sri_string}>'
|
78
|
-
)
|
79
|
-
|
80
|
-
# Return the versioned URL with integrity hash for JS files
|
81
|
-
if file_type == "js":
|
82
|
-
js_type = f' type="{script_type}"' if script_type else ""
|
83
|
-
|
84
|
-
return_value = mark_safe(
|
85
|
-
f'<script{js_type} src="{versioned_url}"{sri_string}></script>'
|
86
|
-
)
|
87
|
-
|
88
|
-
return return_value
|
@@ -1,99 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
Test the apps' template tags
|
3
|
-
"""
|
4
|
-
|
5
|
-
# Django
|
6
|
-
from django.template import Context, Template
|
7
|
-
from django.test import TestCase, override_settings
|
8
|
-
|
9
|
-
# AA Bulletin Board
|
10
|
-
from aa_bulletin_board import __version__
|
11
|
-
from aa_bulletin_board.constants import PACKAGE_NAME
|
12
|
-
from aa_bulletin_board.helper.static_files import calculate_integrity_hash
|
13
|
-
|
14
|
-
|
15
|
-
class TestVersionedStatic(TestCase):
|
16
|
-
"""
|
17
|
-
Test aa_bulletin_board_static template tag
|
18
|
-
"""
|
19
|
-
|
20
|
-
@override_settings(DEBUG=False)
|
21
|
-
def test_versioned_static_without_debug_enabled(self) -> None:
|
22
|
-
"""
|
23
|
-
Test versioned static template tag without DEBUG enabled
|
24
|
-
|
25
|
-
:return:
|
26
|
-
:rtype:
|
27
|
-
"""
|
28
|
-
|
29
|
-
context = Context({"version": __version__})
|
30
|
-
template_to_render = Template(
|
31
|
-
template_string=(
|
32
|
-
"{% load aa_bulletin_board %}"
|
33
|
-
"{% aa_bulletin_board_static 'css/aa-bulletin-board.min.css' %}"
|
34
|
-
"{% aa_bulletin_board_static 'javascript/aa-bulletin-board-oembed.min.js' %}"
|
35
|
-
)
|
36
|
-
)
|
37
|
-
|
38
|
-
rendered_template = template_to_render.render(context=context)
|
39
|
-
|
40
|
-
expected_static_css_src = f'/static/{PACKAGE_NAME}/css/aa-bulletin-board.min.css?v={context["version"]}'
|
41
|
-
expected_static_css_src_integrity = calculate_integrity_hash(
|
42
|
-
"css/aa-bulletin-board.min.css"
|
43
|
-
)
|
44
|
-
expected_static_js_src = f'/static/{PACKAGE_NAME}/javascript/aa-bulletin-board-oembed.min.js?v={context["version"]}'
|
45
|
-
expected_static_js_src_integrity = calculate_integrity_hash(
|
46
|
-
"javascript/aa-bulletin-board-oembed.min.js"
|
47
|
-
)
|
48
|
-
|
49
|
-
self.assertIn(member=expected_static_css_src, container=rendered_template)
|
50
|
-
self.assertIn(
|
51
|
-
member=expected_static_css_src_integrity, container=rendered_template
|
52
|
-
)
|
53
|
-
self.assertIn(member=expected_static_js_src, container=rendered_template)
|
54
|
-
self.assertIn(
|
55
|
-
member=expected_static_js_src_integrity, container=rendered_template
|
56
|
-
)
|
57
|
-
|
58
|
-
@override_settings(DEBUG=True)
|
59
|
-
def test_versioned_static_with_debug_enabled(self) -> None:
|
60
|
-
"""
|
61
|
-
Test versioned static template tag with DEBUG enabled
|
62
|
-
|
63
|
-
:return:
|
64
|
-
:rtype:
|
65
|
-
"""
|
66
|
-
|
67
|
-
context = Context({"version": __version__})
|
68
|
-
template_to_render = Template(
|
69
|
-
template_string=(
|
70
|
-
"{% load aa_bulletin_board %}"
|
71
|
-
"{% aa_bulletin_board_static 'css/aa-bulletin-board.min.css' %}"
|
72
|
-
)
|
73
|
-
)
|
74
|
-
|
75
|
-
rendered_template = template_to_render.render(context=context)
|
76
|
-
|
77
|
-
expected_static_css_src = f'/static/{PACKAGE_NAME}/css/aa-bulletin-board.min.css?v={context["version"]}'
|
78
|
-
|
79
|
-
self.assertIn(member=expected_static_css_src, container=rendered_template)
|
80
|
-
self.assertNotIn(member="integrity=", container=rendered_template)
|
81
|
-
|
82
|
-
def test_invalid_file_type(self) -> None:
|
83
|
-
"""
|
84
|
-
Test should raise a ValueError for an invalid file type
|
85
|
-
|
86
|
-
:return:
|
87
|
-
:rtype:
|
88
|
-
"""
|
89
|
-
|
90
|
-
context = Context({"version": __version__})
|
91
|
-
template_to_render = Template(
|
92
|
-
template_string=(
|
93
|
-
"{% load aa_bulletin_board %}"
|
94
|
-
"{% aa_bulletin_board_static 'invalid/invalid.txt' %}"
|
95
|
-
)
|
96
|
-
)
|
97
|
-
|
98
|
-
with self.assertRaises(ValueError):
|
99
|
-
template_to_render.render(context=context)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/0001_initial.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/migrations/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_auth_hooks.py
RENAMED
File without changes
|
{aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_bulletins.py
RENAMED
File without changes
|
File without changes
|
{aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_settings.py
RENAMED
File without changes
|
{aa_bulletin_board-2.3.5 → aa_bulletin_board-2.4.0}/aa_bulletin_board/tests/test_user_interface.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|