aa-bulletin-board 2.3.5__py3-none-any.whl → 2.4.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 (29) hide show
  1. aa_bulletin_board/__init__.py +1 -1
  2. aa_bulletin_board/locale/cs_CZ/LC_MESSAGES/django.po +1 -1
  3. aa_bulletin_board/locale/de/LC_MESSAGES/django.po +1 -1
  4. aa_bulletin_board/locale/django.pot +2 -2
  5. aa_bulletin_board/locale/es/LC_MESSAGES/django.po +1 -1
  6. aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  7. aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po +12 -12
  8. aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po +1 -1
  9. aa_bulletin_board/locale/ja/LC_MESSAGES/django.po +1 -1
  10. aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po +1 -1
  11. aa_bulletin_board/locale/nl_NL/LC_MESSAGES/django.po +1 -1
  12. aa_bulletin_board/locale/pl_PL/LC_MESSAGES/django.po +1 -1
  13. aa_bulletin_board/locale/ru/LC_MESSAGES/django.po +1 -1
  14. aa_bulletin_board/locale/sk/LC_MESSAGES/django.po +1 -1
  15. aa_bulletin_board/locale/uk/LC_MESSAGES/django.po +1 -1
  16. aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po +1 -1
  17. aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html +2 -2
  18. aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-equal-height-js.html +2 -2
  19. aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-oembed-js.html +2 -2
  20. aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html +2 -2
  21. aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html +2 -2
  22. {aa_bulletin_board-2.3.5.dist-info → aa_bulletin_board-2.4.0.dist-info}/METADATA +1 -1
  23. {aa_bulletin_board-2.3.5.dist-info → aa_bulletin_board-2.4.0.dist-info}/RECORD +25 -29
  24. aa_bulletin_board/helper/static_files.py +0 -40
  25. aa_bulletin_board/templatetags/__init__.py +0 -3
  26. aa_bulletin_board/templatetags/aa_bulletin_board.py +0 -88
  27. aa_bulletin_board/tests/test_templatetags.py +0 -99
  28. {aa_bulletin_board-2.3.5.dist-info → aa_bulletin_board-2.4.0.dist-info}/WHEEL +0 -0
  29. {aa_bulletin_board-2.3.5.dist-info → aa_bulletin_board-2.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -5,5 +5,5 @@ App init
5
5
  # AA Bulletin Board
6
6
  from aa_bulletin_board.constants import APP_TITLE
7
7
 
8
- __version__ = "2.3.5"
8
+ __version__ = "2.4.0"
9
9
  __title__ = APP_TITLE
@@ -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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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.3.5\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
14
- "PO-Revision-Date: 2025-01-22 06:17+0000\n"
15
- "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
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.9.2\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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-05-05 20:14+0200\n"
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,3 +1,3 @@
1
- {% load aa_bulletin_board %}
1
+ {% load sri %}
2
2
 
3
- {% aa_bulletin_board_static "css/aa-bulletin-board.min.css" %}
3
+ {% sri_static "aa_bulletin_board/css/aa-bulletin-board.min.css" %}
@@ -1,3 +1,3 @@
1
- {% load aa_bulletin_board %}
1
+ {% load sri %}
2
2
 
3
- {% aa_bulletin_board_static "javascript/aa-bulletin-board-equal-height.min.js" %}
3
+ {% sri_static "aa_bulletin_board/javascript/aa-bulletin-board-equal-height.min.js" %}
@@ -1,3 +1,3 @@
1
- {% load aa_bulletin_board %}
1
+ {% load sri %}
2
2
 
3
- {% aa_bulletin_board_static "javascript/aa-bulletin-board-oembed.min.js" %}
3
+ {% sri_static "aa_bulletin_board/javascript/aa-bulletin-board-oembed.min.js" %}
@@ -1,3 +1,3 @@
1
- {% load aa_bulletin_board %}
1
+ {% load sri %}
2
2
 
3
- {% aa_bulletin_board_static "libs/sumoselect/3.4.9/sumoselect.min.css" %}
3
+ {% sri_static "aa_bulletin_board/libs/sumoselect/3.4.9/sumoselect.min.css" %}
@@ -1,3 +1,3 @@
1
- {% load aa_bulletin_board %}
1
+ {% load sri %}
2
2
 
3
- {% aa_bulletin_board_static 'libs/sumoselect/3.4.9/jquery.sumoselect.min.js' %}
3
+ {% sri_static "aa_bulletin_board/libs/sumoselect/3.4.9/jquery.sumoselect.min.js" %}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aa-bulletin-board
3
- Version: 2.3.5
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
@@ -1,4 +1,4 @@
1
- aa_bulletin_board/__init__.py,sha256=OsiQzeLqqyRYkVU5r8qzEmjolpcUGpq8tCzNQhorJj0,133
1
+ aa_bulletin_board/__init__.py,sha256=ZnCr9_Qam_j36xTM0QpnAA7806wcnT7aGrcDmYwXdME,133
2
2
  aa_bulletin_board/app_settings.py,sha256=59zkVfW3JHj4kfovIFZYt3kWdXqDmBSF4kaIN0W6m40,244
3
3
  aa_bulletin_board/apps.py,sha256=RzL8kLrLzWMC3Q2VBAI8snXRTehqZ8TKtNozdrZe20A,513
4
4
  aa_bulletin_board/auth_hooks.py,sha256=F-5_gP7HI5RzwlF9GqI_pJTyOtq-V-ZhZLSpjpyQSe4,1456
@@ -9,35 +9,34 @@ aa_bulletin_board/models.py,sha256=gC3PODFHWfC_2ljGppE5CBNPIrg0xIhp4G4InU8JL-g,3
9
9
  aa_bulletin_board/urls.py,sha256=giE7z-t8zpC3mPzPYblMLrkSTn5v7ad4NoJsSk-Jsfg,595
10
10
  aa_bulletin_board/views.py,sha256=Eo5UHFMgbt1fuoh02gUKot58SG4d60XEfQWI1uJhlc8,6531
11
11
  aa_bulletin_board/helper/__init__.py,sha256=Xdjx16QiK1MmVpJ2Je074ddMWzhnyRX7omuxPomMaow,51
12
- aa_bulletin_board/helper/static_files.py,sha256=TVl9_3HLZ2umDejA79ahxGtk112nWojY4AUa6Mb30Is,1045
13
12
  aa_bulletin_board/helper/string.py,sha256=TzRyxjHH7EPqCbd2-L_vz5L6CyrfS4SKQxUeEm0u2aQ,427
14
- aa_bulletin_board/locale/django.pot,sha256=J9FFJG7LME_jMgg4Fu0TyfcYNKZj4HKUFLU6oyJEdvE,4909
13
+ aa_bulletin_board/locale/django.pot,sha256=MvKEeJ1ZUTGHXenyW-mjv-mkIzPQOCh4Mn8FOGQi_Z4,4909
15
14
  aa_bulletin_board/locale/cs_CZ/LC_MESSAGES/django.mo,sha256=ZhKB7486VzGz4lS72jucN0JWc3TPzADIo7UuN2sf5S8,3462
16
- aa_bulletin_board/locale/cs_CZ/LC_MESSAGES/django.po,sha256=v4290H_l3GDzeZ17tsl-8tPdB3RZnDFSAfTQbgHNUhs,6241
15
+ aa_bulletin_board/locale/cs_CZ/LC_MESSAGES/django.po,sha256=vJJR9kXpGcbCV78a_mINKB7silb7kQ3kRhkb0yDCRRc,6241
17
16
  aa_bulletin_board/locale/de/LC_MESSAGES/django.mo,sha256=jrkJqiZUg4ibJXg3d82TsD-NQ7jhEV8N4lz3o-KSMZ0,3403
18
- aa_bulletin_board/locale/de/LC_MESSAGES/django.po,sha256=4JNKKu9Lt_8eoWAJBOgwCk3R2_k4oRr55pl2a3UL1tg,6151
17
+ aa_bulletin_board/locale/de/LC_MESSAGES/django.po,sha256=YohfvAN7KIMuJJqJfPVAfJpGZlCSaDhfLlrOoGWalYw,6151
19
18
  aa_bulletin_board/locale/es/LC_MESSAGES/django.mo,sha256=kTDcOFWmMZ6EMuAm0MPLdyj4S57f_DhNPvCeEjCh40s,2665
20
- aa_bulletin_board/locale/es/LC_MESSAGES/django.po,sha256=5rUFONLqCFQVCYNf0FHk5QvseAwHRemoqndqfRZLSII,6418
21
- aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.mo,sha256=lCwF9Wa3wq6WqSAkrbBpDddAVEh2txGr_bPId74A3p0,1861
22
- aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po,sha256=iv2Ms-dBN_6dogU_48bgYNMsDuTTofNXa2Uwndmdiag,5961
19
+ aa_bulletin_board/locale/es/LC_MESSAGES/django.po,sha256=ODueG5IjlDc12lTogzHBwUGVv7o4RXkWblLPWmwHqG4,6418
20
+ aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.mo,sha256=tD58dua8i_IrWpaSZDFtl5z1SH-thx-hHTU2M1CWbxc,2709
21
+ aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po,sha256=LPMQVaKEXLScd1NLkUO5rmbl-kgs0AcrIoV8IFdz6pc,6317
23
22
  aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.mo,sha256=7eI69SSNv6OgS0bso_Mrw3DtapHmJXEyu_mqd7ke0dg,657
24
- aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po,sha256=uZjOcDRMflbEnY5ax1XmojmdnMBYmYUU3T3Dpbb09TU,5080
23
+ aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po,sha256=yLHH9In6R_Buur4UzKJw8-n_LVovdld8mPPZLbb2xI0,5080
25
24
  aa_bulletin_board/locale/ja/LC_MESSAGES/django.mo,sha256=vST88RQBRV30yYDul0KGcy0MyQv1blF8uPpR2ByfUp8,1593
26
- aa_bulletin_board/locale/ja/LC_MESSAGES/django.po,sha256=2vBA1fkEiNEaIvIOiR0eclnHILlVLDYn8cNJXTg3Gmw,5471
25
+ aa_bulletin_board/locale/ja/LC_MESSAGES/django.po,sha256=ceGNM485KgpqcbTusDQ2YgtAbo_lhmUDL686LGTPUVA,5471
27
26
  aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.mo,sha256=WZWOtIgYLkkjb4mvjPXyiXagI_w3eWtUwVcvYl3HVLU,2574
28
- aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po,sha256=BaiDO3OsXQaOWQHY91O6BDIhHho4v5tacPUTmOFOuWw,6565
27
+ aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po,sha256=i9Udde4y-UI5J4HZI7GWd-F7niOZRpcZuvlLXCHI1X0,6565
29
28
  aa_bulletin_board/locale/nl_NL/LC_MESSAGES/django.mo,sha256=tomc7fMl3JZoZ_I1hTgDDigFt3RyaiR-3sTD7xYhg98,483
30
- aa_bulletin_board/locale/nl_NL/LC_MESSAGES/django.po,sha256=D8FKmprAKcMX75ezSJJu_TdM1C8vrarky2wH2Bk9iyA,4971
29
+ aa_bulletin_board/locale/nl_NL/LC_MESSAGES/django.po,sha256=Zgt8Ujas8wcYj4ylnSYulSp9XFliKcmjk5YN6ZrvAUQ,4971
31
30
  aa_bulletin_board/locale/pl_PL/LC_MESSAGES/django.mo,sha256=W2q9nAX8EDr7lLDhaJW1WChLwF1v7hy1H71g5n38f18,876
32
- aa_bulletin_board/locale/pl_PL/LC_MESSAGES/django.po,sha256=HE11RzWGx0pgb6zoHKeKdYgbJFSarPLWGlHaVnfy84k,5188
31
+ aa_bulletin_board/locale/pl_PL/LC_MESSAGES/django.po,sha256=Hulf5tS96W8fbhI_sRIWcaJ8decFrU_RebuaPmZrKFQ,5188
33
32
  aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo,sha256=ZUmnbwwBgHs5m0RzyMPZvtpVkaV9Rylwg1gQCa9-dcc,4341
34
- aa_bulletin_board/locale/ru/LC_MESSAGES/django.po,sha256=RSyZf2HOh1CBLa2Os7EtbWbaSrfSkblH9Y9f9CXGtiA,7233
33
+ aa_bulletin_board/locale/ru/LC_MESSAGES/django.po,sha256=Zs9K0bmzm6mI3vUQ22aYMWVaa2C8t5-vVYzCqqzAATo,7233
35
34
  aa_bulletin_board/locale/sk/LC_MESSAGES/django.mo,sha256=qbQEKRh_K6GhMhKVY-xR1tC5YIofxLCprGaDq6bltcM,562
36
- aa_bulletin_board/locale/sk/LC_MESSAGES/django.po,sha256=xV0eKRe4AFszQYGD2tDqTjOTrTPRQUN1ZNcjqUMzgJg,5072
35
+ aa_bulletin_board/locale/sk/LC_MESSAGES/django.po,sha256=LyXKbeZHsHJD9Q7L8Rk4fwPYukDK44yuXNMGFOOS-D4,5072
37
36
  aa_bulletin_board/locale/uk/LC_MESSAGES/django.mo,sha256=b17x0ckLqjPDAGOFBRg7wKIsfImbUeEBpCQ4PprogVA,4517
38
- aa_bulletin_board/locale/uk/LC_MESSAGES/django.po,sha256=d69WlHTNLYren3REKHtt_18mqTuaGcGaTJ404Ti_MEQ,7444
37
+ aa_bulletin_board/locale/uk/LC_MESSAGES/django.po,sha256=9y-eriiOP-NE18PDE_gEtr2d_ku3z21aEjEfm6fK410,7444
39
38
  aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=eWtNtT-OkgeZTQwCAZmM82eo_0vAvt_zmnPnNLHT5w8,3087
40
- aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po,sha256=HUKoArew8GlunpvUz-AKjtPSaJIkHSsreMdyDDKTDB8,5943
39
+ aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po,sha256=0p_HCBcvoJTO6d8G9vVSHVXE4H62uJRyA5cU3eJlSRo,5943
41
40
  aa_bulletin_board/migrations/0001_initial.py,sha256=bmw6yykfLuujYwQ6uR8rGKqcv94UyEa6ZVH34VR5APQ,2620
42
41
  aa_bulletin_board/migrations/0002_alter_bulletin_slug.py,sha256=j6jgInd8CB7cbRU0cKl87GQaWw6ifZercIs5WCWegKw,427
43
42
  aa_bulletin_board/migrations/0003_group_restrictions.py,sha256=zjWr5H8yfdSsJVLbqUUhgSAfrW6A2CVavrlFxfaFZGg,959
@@ -63,27 +62,24 @@ aa_bulletin_board/templates/aa_bulletin_board/base.html,sha256=hL8bzygUC-XYcKO7L
63
62
  aa_bulletin_board/templates/aa_bulletin_board/bulletin.html,sha256=h7R_znls5cwKhXVN67Wi9BVyRGmsGofpFEABqXRPmos,1576
64
63
  aa_bulletin_board/templates/aa_bulletin_board/dashboard.html,sha256=LpFK4leA3O17WCu4zilztSFd-tcINbmyzghBKpFXagU,3030
65
64
  aa_bulletin_board/templates/aa_bulletin_board/edit-bulletin.html,sha256=3NR5WsRX-0HGUKHJH2LNgkX1JQtDLPpr0Ofy2gi5zDM,2572
66
- aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html,sha256=SXtCZlT5p1Kyif0tlw3fEpXdIkRJIYb5uQRfZZjhISk,93
67
- aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-equal-height-js.html,sha256=QxorfVP6JtqqnJFfDL-2QqLsOKuRyq0mXMiV8a86eVo,112
68
- aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-oembed-js.html,sha256=ckHZgj56V71-w9A25IFWFIj1xxONEV8qROrYn1Fy6IE,106
65
+ aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html,sha256=1a2sXucRxgoU4tvhxC1oJJ9SY-ab7VbBmULMiEURk0I,83
66
+ aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-equal-height-js.html,sha256=1BcONU5vhJwlOdwgIYVLF_yQUkws5dPGKskC124683c,102
67
+ aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-oembed-js.html,sha256=ACZ25Bc6A7GS3VRLvCZWc6o9K3lM45ClT_vlFVQgmaA,96
69
68
  aa_bulletin_board/templates/aa_bulletin_board/bundles/ckeditor5-css.html,sha256=rvzevl-Ihhy8HmA06YC2qOua8AVIjw7O8pk75NGE-WY,69
70
69
  aa_bulletin_board/templates/aa_bulletin_board/bundles/ckeditor5-js.html,sha256=329nC3P57jL0yIR65zNUp30zZs9dgZHSYlNbdpQW_a8,68
71
- aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html,sha256=bmerkN-g9N1F83GA81JDukVWvX5OHZmeZhhlQawLrlw,104
72
- aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html,sha256=8Cm2j6k7NDREcJvLb_RahZ3yFe_IKAFHPnqEETxMCbw,110
70
+ aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html,sha256=F0zQFT-XkLYu8VfpzzEeUK5XTOt1EAnKL513RdOKbKY,94
71
+ aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html,sha256=ZQU5JaZ8hjKI3jfRScHSPpV1C1iWmdWajFBLBfPSKwc,100
73
72
  aa_bulletin_board/templates/aa_bulletin_board/partials/common/bulletin-board-management.html,sha256=qXCPB4btoyWvj10b5H-dMpcE13LdnDVwUCPv7ix8Glc,581
74
73
  aa_bulletin_board/templates/aa_bulletin_board/partials/footer/app-translation-footer.html,sha256=nDZPOnsQLBN9meAhxnhd0ynUQIVi3YPzhi47n89zcIg,422
75
- aa_bulletin_board/templatetags/__init__.py,sha256=sP2D1ovt2gGAPLcGQkByRgXYhvUJ6C52mZMlLIALQ8s,37
76
- aa_bulletin_board/templatetags/aa_bulletin_board.py,sha256=tFdJ81gPKpTsTalmXf0rtDJq7po2gDRNcJ3OdfCP73A,2771
77
74
  aa_bulletin_board/tests/__init__.py,sha256=dcMq6O8W1_8NSZobuRedXFQ3o4Zd6Q6Ti7eY-D6JaYI,18
78
75
  aa_bulletin_board/tests/test_access.py,sha256=I2GaJMI4yQWLb0UIOGPdk754B-Rcw0ORXufa8z9-ljU,6874
79
76
  aa_bulletin_board/tests/test_auth_hooks.py,sha256=8BdVYqfrR0dxvBtOBShklmBXA7MCn2VuF-CT4NdV1xg,2386
80
77
  aa_bulletin_board/tests/test_bulletins.py,sha256=aXrew1He-ly_OBDPUtXck4NuvXFLpuQ21PxR77LqKSk,8639
81
78
  aa_bulletin_board/tests/test_forms.py,sha256=IbmWR_S0QLNH36ACl4ssmm37mLVgc_6B_osoccZZ2Ds,4719
82
79
  aa_bulletin_board/tests/test_settings.py,sha256=dTQn6dH4tS1vY_q32mkkW6DrzLioB2MHUbpYYoj7708,718
83
- aa_bulletin_board/tests/test_templatetags.py,sha256=oQ9kG0DEKFMKp9M60zrmxQaHhUYnPflbgRFPg3KpQ2s,3371
84
80
  aa_bulletin_board/tests/test_user_interface.py,sha256=yM6jRMlY-dF9-tQzYivZhGfoGyySuhl1SetM1KgYPrM,8511
85
81
  aa_bulletin_board/tests/utils.py,sha256=Dh_jVV7s9Z_OOg_08FxwsZtVU3omrcI260-uQ_Bc_90,2202
86
- aa_bulletin_board-2.3.5.dist-info/METADATA,sha256=TMc6iSJwgzBFc7gSMDky4g6O81ht19U7lAvc6LR-sGU,57718
87
- aa_bulletin_board-2.3.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
88
- aa_bulletin_board-2.3.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
89
- aa_bulletin_board-2.3.5.dist-info/RECORD,,
82
+ aa_bulletin_board-2.4.0.dist-info/METADATA,sha256=tzHJVcmzgiVulZtb-nP2LY2cNNik-OPIIFEMM_Gd45k,57718
83
+ aa_bulletin_board-2.4.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
84
+ aa_bulletin_board-2.4.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
85
+ aa_bulletin_board-2.4.0.dist-info/RECORD,,
@@ -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
- )
@@ -1,3 +0,0 @@
1
- """
2
- Initialize the template tags
3
- """
@@ -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)