aa-bulletin-board 1.10.0__tar.gz → 1.11.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.
Files changed (75) hide show
  1. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/PKG-INFO +2 -7
  2. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/README.md +1 -6
  3. aa_bulletin_board-1.11.0/aa_bulletin_board/__init__.py +14 -0
  4. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/apps.py +3 -1
  5. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/auth_hooks.py +15 -8
  6. aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-bulletin-created-message.jpg +0 -0
  7. aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-group-restrictions.jpg +0 -0
  8. aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-headline.jpg +0 -0
  9. aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-hint-group-restrictions.jpg +0 -0
  10. aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-menu-item.jpg +0 -0
  11. aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-read-more-button.jpg +0 -0
  12. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/forms.py +8 -6
  13. aa_bulletin_board-1.11.0/aa_bulletin_board/helpers.py +34 -0
  14. aa_bulletin_board-1.11.0/aa_bulletin_board/locale/de/LC_MESSAGES/django.mo +0 -0
  15. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/de/LC_MESSAGES/django.po +69 -25
  16. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/django.pot +61 -19
  17. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/es/LC_MESSAGES/django.po +61 -19
  18. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po +61 -19
  19. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po +61 -19
  20. {aa_bulletin_board-1.10.0/aa_bulletin_board/locale/zh_Hans → aa_bulletin_board-1.11.0/aa_bulletin_board/locale/ja}/LC_MESSAGES/django.po +61 -19
  21. aa_bulletin_board-1.11.0/aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po +155 -0
  22. aa_bulletin_board-1.11.0/aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo +0 -0
  23. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/ru/LC_MESSAGES/django.po +71 -27
  24. aa_bulletin_board-1.11.0/aa_bulletin_board/locale/uk/LC_MESSAGES/django.mo +0 -0
  25. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/locale/uk/LC_MESSAGES/django.po +75 -28
  26. {aa_bulletin_board-1.10.0/aa_bulletin_board/locale/ja → aa_bulletin_board-1.11.0/aa_bulletin_board/locale/zh_Hans}/LC_MESSAGES/django.po +61 -19
  27. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/managers.py +8 -3
  28. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/migrations/0001_initial.py +0 -1
  29. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/migrations/0002_alter_bulletin_slug.py +0 -1
  30. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/migrations/0003_group_restrictions.py +0 -1
  31. aa_bulletin_board-1.11.0/aa_bulletin_board/migrations/0004_model_translation.py +71 -0
  32. aa_bulletin_board-1.11.0/aa_bulletin_board/migrations/__init__.py +0 -0
  33. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/models.py +34 -8
  34. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.css +5 -5
  35. aa_bulletin_board-1.11.0/aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.min.css +1 -0
  36. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.css +11 -0
  37. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.min.css +1 -1
  38. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templates/aa_bulletin_board/base.html +5 -1
  39. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templates/aa_bulletin_board/bulletin.html +6 -6
  40. aa_bulletin_board-1.11.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html +3 -0
  41. aa_bulletin_board-1.11.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html +3 -0
  42. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templates/aa_bulletin_board/dashboard.html +9 -7
  43. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templates/aa_bulletin_board/edit-bulletin.html +7 -5
  44. aa_bulletin_board-1.11.0/aa_bulletin_board/templates/aa_bulletin_board/partials/footer/app-translation-footer.html +11 -0
  45. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templatetags/aa_bulletin_board_versioned_static.py +2 -1
  46. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/test_access.py +61 -37
  47. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/test_auth_hooks.py +18 -9
  48. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/test_bulletins.py +102 -41
  49. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/test_templatetags.py +9 -6
  50. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/test_user_interface.py +88 -46
  51. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/utils.py +33 -4
  52. aa_bulletin_board-1.11.0/aa_bulletin_board/urls.py +21 -0
  53. aa_bulletin_board-1.11.0/aa_bulletin_board/views.py +220 -0
  54. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/pyproject.toml +1 -1
  55. aa_bulletin_board-1.10.0/aa_bulletin_board/__init__.py +0 -11
  56. aa_bulletin_board-1.10.0/aa_bulletin_board/helpers.py +0 -25
  57. aa_bulletin_board-1.10.0/aa_bulletin_board/locale/de/LC_MESSAGES/django.mo +0 -0
  58. aa_bulletin_board-1.10.0/aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po +0 -113
  59. aa_bulletin_board-1.10.0/aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo +0 -0
  60. aa_bulletin_board-1.10.0/aa_bulletin_board/locale/uk/LC_MESSAGES/django.mo +0 -0
  61. aa_bulletin_board-1.10.0/aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.min.css +0 -1
  62. aa_bulletin_board-1.10.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html +0 -3
  63. aa_bulletin_board-1.10.0/aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html +0 -3
  64. aa_bulletin_board-1.10.0/aa_bulletin_board/urls.py +0 -19
  65. aa_bulletin_board-1.10.0/aa_bulletin_board/views.py +0 -167
  66. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/.gitignore +0 -0
  67. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/LICENSE +0 -0
  68. /aa_bulletin_board-1.10.0/aa_bulletin_board/migrations/__init__.py → /aa_bulletin_board-1.11.0/aa_bulletin_board/docs/screenshots/weblate/.gitkeep +0 -0
  69. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.8/jquery.sumoselect.js +0 -0
  70. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.8/jquery.sumoselect.min.js +0 -0
  71. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.8/sumoselect.min.css +0 -0
  72. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html +0 -0
  73. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templates/aa_bulletin_board/partials/header/page-header.html +0 -0
  74. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/templatetags/__init__.py +0 -0
  75. {aa_bulletin_board-1.10.0 → aa_bulletin_board-1.11.0}/aa_bulletin_board/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aa-bulletin-board
3
- Version: 1.10.0
3
+ Version: 1.11.0
4
4
  Summary: A simple bulletin board for Alliance Auth
5
5
  Project-URL: Homepage, https://github.com/ppfeufer/aa-bulletin-board
6
6
  Project-URL: Documentation, https://github.com/ppfeufer/aa-bulletin-board/blob/master/README.md
@@ -43,6 +43,7 @@ Description-Content-Type: text/markdown
43
43
  [![Discord](https://img.shields.io/discord/790364535294132234?label=discord)](https://discord.gg/zmh52wnfvM)
44
44
  [![Automated Checks](https://github.com/ppfeufer/aa-bulletin-board/actions/workflows/automated-checks.yml/badge.svg)](https://github.com/ppfeufer/aa-bulletin-board/actions/workflows/automated-checks.yml)
45
45
  [![codecov](https://codecov.io/gh/ppfeufer/aa-bulletin-board/branch/master/graph/badge.svg?token=UCXABR42QC)](https://codecov.io/gh/ppfeufer/aa-bulletin-board)
46
+ [![Translation Status](https://weblate.ppfeufer.de/widgets/alliance-auth-apps/-/aa-bulletin-board/svg-badge.svg)](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)
46
47
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/ppfeufer/aa-forum/blob/master/CODE_OF_CONDUCT.md)
47
48
 
48
49
  [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/N4N8CL1BY)
@@ -55,7 +56,6 @@ Simple bulletin board for [Alliance Auth](https://gitlab.com/allianceauth/allian
55
56
  <!-- TOC -->
56
57
  * [AA Bulletin Board](#aa-bulletin-board)
57
58
  * [⚠️ Before You Install This Module ⚠️](#-before-you-install-this-module-)
58
- * [Overview](#overview)
59
59
  * [Installation](#installation)
60
60
  * [Step 1: Install the Package](#step-1-install-the-package)
61
61
  * [Step 2: Configure Alliance Auth](#step-2-configure-alliance-auth)
@@ -82,11 +82,6 @@ Auth. So please only install if you know what you're doing/feel comfortable to m
82
82
  these kinds of changes. For your own sanity, and mine :-)
83
83
 
84
84
 
85
- ## Overview
86
-
87
- Work in progress on this one
88
-
89
-
90
85
  ## Installation
91
86
 
92
87
  **Important**: Please make sure you meet all preconditions before you proceed:
@@ -9,6 +9,7 @@
9
9
  [![Discord](https://img.shields.io/discord/790364535294132234?label=discord)](https://discord.gg/zmh52wnfvM)
10
10
  [![Automated Checks](https://github.com/ppfeufer/aa-bulletin-board/actions/workflows/automated-checks.yml/badge.svg)](https://github.com/ppfeufer/aa-bulletin-board/actions/workflows/automated-checks.yml)
11
11
  [![codecov](https://codecov.io/gh/ppfeufer/aa-bulletin-board/branch/master/graph/badge.svg?token=UCXABR42QC)](https://codecov.io/gh/ppfeufer/aa-bulletin-board)
12
+ [![Translation Status](https://weblate.ppfeufer.de/widgets/alliance-auth-apps/-/aa-bulletin-board/svg-badge.svg)](https://weblate.ppfeufer.de/engage/alliance-auth-apps/)
12
13
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://github.com/ppfeufer/aa-forum/blob/master/CODE_OF_CONDUCT.md)
13
14
 
14
15
  [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/N4N8CL1BY)
@@ -21,7 +22,6 @@ Simple bulletin board for [Alliance Auth](https://gitlab.com/allianceauth/allian
21
22
  <!-- TOC -->
22
23
  * [AA Bulletin Board](#aa-bulletin-board)
23
24
  * [⚠️ Before You Install This Module ⚠️](#-before-you-install-this-module-)
24
- * [Overview](#overview)
25
25
  * [Installation](#installation)
26
26
  * [Step 1: Install the Package](#step-1-install-the-package)
27
27
  * [Step 2: Configure Alliance Auth](#step-2-configure-alliance-auth)
@@ -48,11 +48,6 @@ Auth. So please only install if you know what you're doing/feel comfortable to m
48
48
  these kinds of changes. For your own sanity, and mine :-)
49
49
 
50
50
 
51
- ## Overview
52
-
53
- Work in progress on this one
54
-
55
-
56
51
  ## Installation
57
52
 
58
53
  **Important**: Please make sure you meet all preconditions before you proceed:
@@ -0,0 +1,14 @@
1
+ """
2
+ App init
3
+ """
4
+
5
+ # Standard Library
6
+ from importlib import metadata
7
+
8
+ # Django
9
+ from django.utils.translation import gettext_lazy as _
10
+
11
+ __version__ = metadata.version(distribution_name="aa-bulletin-board")
12
+ __title__ = _("Bulletin Board")
13
+
14
+ del metadata
@@ -4,6 +4,7 @@ App config
4
4
 
5
5
  # Django
6
6
  from django.apps import AppConfig
7
+ from django.utils.translation import gettext_lazy as _
7
8
 
8
9
  # AA Bulletin Board
9
10
  from aa_bulletin_board import __version__
@@ -16,4 +17,5 @@ class AaBulletinBoardConfig(AppConfig):
16
17
 
17
18
  name = "aa_bulletin_board"
18
19
  label = "aa_bulletin_board"
19
- verbose_name = f"Bulletin Board v{__version__}"
20
+ # Translators: This is the app name and version, which will appear in the Django Backend
21
+ verbose_name = _(f"Bulletin Board v{__version__}")
@@ -2,8 +2,6 @@
2
2
  Hook into AA
3
3
  """
4
4
 
5
- # Django
6
- from django.utils.translation import gettext_lazy as _
7
5
 
8
6
  # Alliance Auth
9
7
  from allianceauth import hooks
@@ -25,21 +23,24 @@ class AaBulletinBoardMenuItem(MenuItemHook): # pylint: disable=too-few-public-m
25
23
 
26
24
  MenuItemHook.__init__(
27
25
  self,
28
- _(__title__),
29
- "fas fa-clipboard-list fa-fw",
30
- "aa_bulletin_board:dashboard",
26
+ text=__title__,
27
+ classes="fas fa-clipboard-list fa-fw",
28
+ url_name="aa_bulletin_board:dashboard",
31
29
  navactive=["aa_bulletin_board:"],
32
30
  )
33
31
 
34
32
  def render(self, request):
35
33
  """
36
34
  Check if the user has the permission to view this app
35
+
37
36
  :param request:
37
+ :type request:
38
38
  :return:
39
+ :rtype:
39
40
  """
40
41
 
41
- if request.user.has_perm("aa_bulletin_board.basic_access"):
42
- return MenuItemHook.render(self, request)
42
+ if request.user.has_perm(perm="aa_bulletin_board.basic_access"):
43
+ return MenuItemHook.render(self, request=request)
43
44
 
44
45
  return ""
45
46
 
@@ -48,7 +49,9 @@ class AaBulletinBoardMenuItem(MenuItemHook): # pylint: disable=too-few-public-m
48
49
  def register_menu():
49
50
  """
50
51
  Register our menu item
52
+
51
53
  :return:
54
+ :rtype:
52
55
  """
53
56
 
54
57
  return AaBulletinBoardMenuItem()
@@ -58,7 +61,11 @@ def register_menu():
58
61
  def register_urls():
59
62
  """
60
63
  Register our base url
64
+
61
65
  :return:
66
+ :rtype:
62
67
  """
63
68
 
64
- return UrlHook(urls, "aa_bulletin_board", r"^bulletin-board/")
69
+ return UrlHook(
70
+ urls=urls, namespace="aa_bulletin_board", base_url=r"^bulletin-board/"
71
+ )
@@ -19,7 +19,7 @@ from aa_bulletin_board.models import Bulletin
19
19
  class SpecialModelChoiceIterator(forms.models.ModelChoiceIterator):
20
20
  """
21
21
  Variant of Django's ModelChoiceIterator to prevent it from always re-fetching the
22
- given queryset from database.
22
+ given queryset from the database.
23
23
  """
24
24
 
25
25
  def __iter__(self):
@@ -29,13 +29,13 @@ class SpecialModelChoiceIterator(forms.models.ModelChoiceIterator):
29
29
  queryset = self.queryset
30
30
 
31
31
  for obj in queryset:
32
- yield self.choice(obj)
32
+ yield self.choice(obj=obj)
33
33
 
34
34
 
35
35
  class SpecialModelMultipleChoiceField(forms.ModelMultipleChoiceField):
36
36
  """
37
37
  Variant of Django's ModelMultipleChoiceField to prevent it from always
38
- re-fetching the given queryset from database.
38
+ re-fetching the given queryset from the database.
39
39
  """
40
40
 
41
41
  iterator = SpecialModelChoiceIterator
@@ -47,7 +47,7 @@ class SpecialModelMultipleChoiceField(forms.ModelMultipleChoiceField):
47
47
  self._queryset = queryset
48
48
  self.widget.choices = self.choices
49
49
 
50
- queryset = property(_get_queryset, _set_queryset)
50
+ queryset = property(fget=_get_queryset, fset=_set_queryset)
51
51
 
52
52
 
53
53
  class BulletinForm(ModelForm):
@@ -90,12 +90,14 @@ class BulletinForm(ModelForm):
90
90
  model = Bulletin
91
91
  fields = ["title", "content", "groups"]
92
92
 
93
- def clean_content(self):
93
+ def clean_content(self) -> str:
94
94
  """
95
95
  Cleanup the content
96
+
96
97
  :return:
98
+ :rtype:
97
99
  """
98
100
 
99
- message = string_cleanup(self.cleaned_data["content"])
101
+ message = string_cleanup(string=self.cleaned_data["content"])
100
102
 
101
103
  return message
@@ -0,0 +1,34 @@
1
+ """
2
+ Our little helpers
3
+ """
4
+
5
+ # Standard Library
6
+ import re
7
+
8
+
9
+ def string_cleanup(string: str) -> str:
10
+ """
11
+ Clean up a string by removing JS, CSS and Head tags
12
+
13
+ :param string:
14
+ :type string:
15
+ :return:
16
+ :rtype:
17
+ """
18
+
19
+ re_head = re.compile(
20
+ pattern=r"<\s*head[^>]*>.*?<\s*/\s*head\s*>", flags=re.S | re.I
21
+ )
22
+ re_script = re.compile(
23
+ pattern=r"<\s*script[^>]*>.*?<\s*/\s*script\s*>", flags=re.S | re.I
24
+ )
25
+ re_css = re.compile(
26
+ pattern=r"<\s*style[^>]*>.*?<\s*/\s*style\s*>", flags=re.S | re.I
27
+ )
28
+
29
+ # Strip JS
30
+ string = re_head.sub(repl="", string=string)
31
+ string = re_script.sub(repl="", string=string)
32
+ string = re_css.sub(repl="", string=string)
33
+
34
+ return string
@@ -6,9 +6,9 @@ msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: PACKAGE VERSION\n"
8
8
  "Report-Msgid-Bugs-To: \n"
9
- "POT-Creation-Date: 2023-04-11 22:55+0200\n"
10
- "PO-Revision-Date: 2023-04-11 21:08+0000\n"
11
- "Last-Translator: \"H. Peter Pfeufer\" <info@ppfeufer.de>\n"
9
+ "POT-Creation-Date: 2023-08-02 15:50+0200\n"
10
+ "PO-Revision-Date: 2023-08-09 15:40+0000\n"
11
+ "Last-Translator: Peter Pfeufer <info@ppfeufer.de>\n"
12
12
  "Language-Team: German <https://weblate.ppfeufer.de/projects/"
13
13
  "alliance-auth-apps/aa-bulletin-board/de/>\n"
14
14
  "Language: de\n"
@@ -16,7 +16,21 @@ msgstr ""
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
17
  "Content-Transfer-Encoding: 8bit\n"
18
18
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
19
- "X-Generator: Weblate 4.16.4\n"
19
+ "X-Generator: Weblate 4.18.2\n"
20
+
21
+ #: __init__.py:12 templates/aa_bulletin_board/base.html:5
22
+ #: templates/aa_bulletin_board/bulletin.html:5
23
+ #: templates/aa_bulletin_board/dashboard.html:6
24
+ #: templates/aa_bulletin_board/edit-bulletin.html:9
25
+ #: templates/aa_bulletin_board/edit-bulletin.html:11
26
+ msgid "Bulletin Board"
27
+ msgstr "Bulletin Board"
28
+
29
+ #. Translators: This is the app name and version, which will appear in the Django Backend
30
+ #: apps.py:21
31
+ #, python-brace-format
32
+ msgid "Bulletin Board v{__version__}"
33
+ msgstr "Bulletin Board v{__version__}"
20
34
 
21
35
  #: forms.py:71
22
36
  msgid ""
@@ -24,25 +38,43 @@ msgid ""
24
38
  "place, everyone who has access to this module can read this bulletin."
25
39
  msgstr ""
26
40
  "Beschränkt dieses Bulletin auf bestimmte Gruppen. Wenn keine "
27
- "Gruppenbeschränkungen bestehen, kann jeder, der Zugriff auf dieses Modul "
28
- "hat, dieses Bulletin lesen."
41
+ "Gruppenbeschränkungen bestehen, kann jeder der Zugriff auf dieses Modul hat, "
42
+ "dieses Bulletin lesen."
43
+
44
+ #: models.py:81
45
+ msgid "Title"
46
+ msgstr "Titel"
47
+
48
+ #: models.py:83
49
+ msgid "Content"
50
+ msgstr "Inhalt"
51
+
52
+ #. Translators: This is the date and time the bulletin has been created
53
+ #: models.py:88
54
+ msgid "Created"
55
+ msgstr "Erstellt"
56
+
57
+ #. Translators: This is the date and time the bulletin has been updated
58
+ #: models.py:94
59
+ msgid "Updated"
60
+ msgstr "Aktualisiert"
29
61
 
30
- #: models.py:101
62
+ #: models.py:103
63
+ msgid "User"
64
+ msgstr "Nutzer"
65
+
66
+ #: models.py:109
67
+ msgid "Group restrictions"
68
+ msgstr "Gruppenbeschränkungen"
69
+
70
+ #: models.py:120
31
71
  msgid "Bulletin"
32
72
  msgstr "Bulletin"
33
73
 
34
- #: models.py:102
74
+ #: models.py:121
35
75
  msgid "Bulletins"
36
76
  msgstr "Bulletins"
37
77
 
38
- #: templates/aa_bulletin_board/base.html:5
39
- #: templates/aa_bulletin_board/bulletin.html:5
40
- #: templates/aa_bulletin_board/dashboard.html:6
41
- #: templates/aa_bulletin_board/edit-bulletin.html:9
42
- #: templates/aa_bulletin_board/edit-bulletin.html:11
43
- msgid "Bulletin Board"
44
- msgstr "Bulletin Board"
45
-
46
78
  #: templates/aa_bulletin_board/bulletin.html:14
47
79
  #: templates/aa_bulletin_board/dashboard.html:13
48
80
  msgid "Add Bulletin"
@@ -87,31 +119,43 @@ msgstr "Bulletin aktualisieren"
87
119
  msgid "Create Bulletin"
88
120
  msgstr "Bulletin erstellen"
89
121
 
90
- #: views.py:65
122
+ #: templates/aa_bulletin_board/partials/footer/app-translation-footer.html:5
123
+ msgid ""
124
+ "Do you want to help translate this app into your language or improve the "
125
+ "existing translation?"
126
+ msgstr ""
127
+ "Du möchtest helfen diese App in Deine Sprache zu übersetzen oder die "
128
+ "bestehende Übersetzung verbessern?"
129
+
130
+ #: templates/aa_bulletin_board/partials/footer/app-translation-footer.html:8
131
+ msgid "Join our team of translators!"
132
+ msgstr "Tritt unserm Team von Übersetzern bei!"
133
+
134
+ #: views.py:80
91
135
  #, python-brace-format
92
136
  msgid "Bulletin \"{bulletin__title}\" created."
93
137
  msgstr "Bulletin \"{bulletin__title}\" erstellt."
94
138
 
95
- #: views.py:92
139
+ #: views.py:123
96
140
  msgid ""
97
141
  "The bulletin you are looking for does not exist, or you don't have access to "
98
142
  "it."
99
143
  msgstr "Dieses Bulletin existiert nicht, oder Du hast keinen Zugriff darauf."
100
144
 
101
- #: views.py:129
145
+ #: views.py:165
102
146
  #, python-brace-format
103
147
  msgid "Bulletin \"{bulletin__title}\" updated."
104
148
  msgstr "Bulletin \"{bulletin__title}\" aktualisiert."
105
149
 
106
- #: views.py:140
107
- msgid "The bulletin you are trying to edit for does not exist."
150
+ #: views.py:184
151
+ msgid "The bulletin you are trying to edit does not exist."
108
152
  msgstr "Das Bulletin das Du bearbeiten möchtest scheint nicht zu existieren."
109
153
 
110
- #: views.py:159
154
+ #: views.py:208
111
155
  #, python-brace-format
112
156
  msgid "Bulletin \"{bulletin.title}\" deleted."
113
157
  msgstr "Bulletin \"{bulletin.title}\" gelöscht."
114
158
 
115
- #: views.py:164
116
- msgid "The bulletin you are trying to delete for does not exist."
117
- msgstr "Das Bulletin das Du versuchst zu löschen scheint nicht zu existrieren."
159
+ #: views.py:215
160
+ msgid "The bulletin you are trying to delete does not exist."
161
+ msgstr "Das Bulletin das Du versuchst zu löschen scheint nicht zu existieren."
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2023-04-16 20:15+0200\n"
11
+ "POT-Creation-Date: 2023-08-02 15:50+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"
@@ -17,26 +17,58 @@ msgstr ""
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
 
20
+ #: __init__.py:12 templates/aa_bulletin_board/base.html:5
21
+ #: templates/aa_bulletin_board/bulletin.html:5
22
+ #: templates/aa_bulletin_board/dashboard.html:6
23
+ #: templates/aa_bulletin_board/edit-bulletin.html:9
24
+ #: templates/aa_bulletin_board/edit-bulletin.html:11
25
+ msgid "Bulletin Board"
26
+ msgstr ""
27
+
28
+ #. Translators: This is the app name and version, which will appear in the Django Backend
29
+ #: apps.py:21
30
+ #, python-brace-format
31
+ msgid "Bulletin Board v{__version__}"
32
+ msgstr ""
33
+
20
34
  #: forms.py:71
21
35
  msgid ""
22
36
  "Restrict this bulletin to certain groups. If no group restrictions are in "
23
37
  "place, everyone who has access to this module can read this bulletin."
24
38
  msgstr ""
25
39
 
26
- #: models.py:101
27
- msgid "Bulletin"
40
+ #: models.py:81
41
+ msgid "Title"
28
42
  msgstr ""
29
43
 
30
- #: models.py:102
31
- msgid "Bulletins"
44
+ #: models.py:83
45
+ msgid "Content"
32
46
  msgstr ""
33
47
 
34
- #: templates/aa_bulletin_board/base.html:5
35
- #: templates/aa_bulletin_board/bulletin.html:5
36
- #: templates/aa_bulletin_board/dashboard.html:6
37
- #: templates/aa_bulletin_board/edit-bulletin.html:9
38
- #: templates/aa_bulletin_board/edit-bulletin.html:11
39
- msgid "Bulletin Board"
48
+ #. Translators: This is the date and time the bulletin has been created
49
+ #: models.py:88
50
+ msgid "Created"
51
+ msgstr ""
52
+
53
+ #. Translators: This is the date and time the bulletin has been updated
54
+ #: models.py:94
55
+ msgid "Updated"
56
+ msgstr ""
57
+
58
+ #: models.py:103
59
+ msgid "User"
60
+ msgstr ""
61
+
62
+ #: models.py:109
63
+ msgid "Group restrictions"
64
+ msgstr ""
65
+
66
+ #: models.py:120
67
+ msgid "Bulletin"
68
+ msgstr ""
69
+
70
+ #: models.py:121
71
+ msgid "Bulletins"
40
72
  msgstr ""
41
73
 
42
74
  #: templates/aa_bulletin_board/bulletin.html:14
@@ -83,31 +115,41 @@ msgstr ""
83
115
  msgid "Create Bulletin"
84
116
  msgstr ""
85
117
 
86
- #: views.py:65
118
+ #: templates/aa_bulletin_board/partials/footer/app-translation-footer.html:5
119
+ msgid ""
120
+ "Do you want to help translate this app into your language or improve the "
121
+ "existing translation?"
122
+ msgstr ""
123
+
124
+ #: templates/aa_bulletin_board/partials/footer/app-translation-footer.html:8
125
+ msgid "Join our team of translators!"
126
+ msgstr ""
127
+
128
+ #: views.py:80
87
129
  #, python-brace-format
88
130
  msgid "Bulletin \"{bulletin__title}\" created."
89
131
  msgstr ""
90
132
 
91
- #: views.py:92
133
+ #: views.py:123
92
134
  msgid ""
93
135
  "The bulletin you are looking for does not exist, or you don't have access to "
94
136
  "it."
95
137
  msgstr ""
96
138
 
97
- #: views.py:129
139
+ #: views.py:165
98
140
  #, python-brace-format
99
141
  msgid "Bulletin \"{bulletin__title}\" updated."
100
142
  msgstr ""
101
143
 
102
- #: views.py:140
103
- msgid "The bulletin you are trying to edit for does not exist."
144
+ #: views.py:184
145
+ msgid "The bulletin you are trying to edit does not exist."
104
146
  msgstr ""
105
147
 
106
- #: views.py:159
148
+ #: views.py:208
107
149
  #, python-brace-format
108
150
  msgid "Bulletin \"{bulletin.title}\" deleted."
109
151
  msgstr ""
110
152
 
111
- #: views.py:164
112
- msgid "The bulletin you are trying to delete for does not exist."
153
+ #: views.py:215
154
+ msgid "The bulletin you are trying to delete does not exist."
113
155
  msgstr ""
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PACKAGE VERSION\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2023-04-11 22:55+0200\n"
11
+ "POT-Creation-Date: 2023-08-02 15:50+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"
@@ -18,26 +18,58 @@ msgstr ""
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
19
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
20
 
21
+ #: __init__.py:12 templates/aa_bulletin_board/base.html:5
22
+ #: templates/aa_bulletin_board/bulletin.html:5
23
+ #: templates/aa_bulletin_board/dashboard.html:6
24
+ #: templates/aa_bulletin_board/edit-bulletin.html:9
25
+ #: templates/aa_bulletin_board/edit-bulletin.html:11
26
+ msgid "Bulletin Board"
27
+ msgstr ""
28
+
29
+ #. Translators: This is the app name and version, which will appear in the Django Backend
30
+ #: apps.py:21
31
+ #, python-brace-format
32
+ msgid "Bulletin Board v{__version__}"
33
+ msgstr ""
34
+
21
35
  #: forms.py:71
22
36
  msgid ""
23
37
  "Restrict this bulletin to certain groups. If no group restrictions are in "
24
38
  "place, everyone who has access to this module can read this bulletin."
25
39
  msgstr ""
26
40
 
27
- #: models.py:101
28
- msgid "Bulletin"
41
+ #: models.py:81
42
+ msgid "Title"
29
43
  msgstr ""
30
44
 
31
- #: models.py:102
32
- msgid "Bulletins"
45
+ #: models.py:83
46
+ msgid "Content"
33
47
  msgstr ""
34
48
 
35
- #: templates/aa_bulletin_board/base.html:5
36
- #: templates/aa_bulletin_board/bulletin.html:5
37
- #: templates/aa_bulletin_board/dashboard.html:6
38
- #: templates/aa_bulletin_board/edit-bulletin.html:9
39
- #: templates/aa_bulletin_board/edit-bulletin.html:11
40
- msgid "Bulletin Board"
49
+ #. Translators: This is the date and time the bulletin has been created
50
+ #: models.py:88
51
+ msgid "Created"
52
+ msgstr ""
53
+
54
+ #. Translators: This is the date and time the bulletin has been updated
55
+ #: models.py:94
56
+ msgid "Updated"
57
+ msgstr ""
58
+
59
+ #: models.py:103
60
+ msgid "User"
61
+ msgstr ""
62
+
63
+ #: models.py:109
64
+ msgid "Group restrictions"
65
+ msgstr ""
66
+
67
+ #: models.py:120
68
+ msgid "Bulletin"
69
+ msgstr ""
70
+
71
+ #: models.py:121
72
+ msgid "Bulletins"
41
73
  msgstr ""
42
74
 
43
75
  #: templates/aa_bulletin_board/bulletin.html:14
@@ -84,31 +116,41 @@ msgstr ""
84
116
  msgid "Create Bulletin"
85
117
  msgstr ""
86
118
 
87
- #: views.py:65
119
+ #: templates/aa_bulletin_board/partials/footer/app-translation-footer.html:5
120
+ msgid ""
121
+ "Do you want to help translate this app into your language or improve the "
122
+ "existing translation?"
123
+ msgstr ""
124
+
125
+ #: templates/aa_bulletin_board/partials/footer/app-translation-footer.html:8
126
+ msgid "Join our team of translators!"
127
+ msgstr ""
128
+
129
+ #: views.py:80
88
130
  #, python-brace-format
89
131
  msgid "Bulletin \"{bulletin__title}\" created."
90
132
  msgstr ""
91
133
 
92
- #: views.py:92
134
+ #: views.py:123
93
135
  msgid ""
94
136
  "The bulletin you are looking for does not exist, or you don't have access to "
95
137
  "it."
96
138
  msgstr ""
97
139
 
98
- #: views.py:129
140
+ #: views.py:165
99
141
  #, python-brace-format
100
142
  msgid "Bulletin \"{bulletin__title}\" updated."
101
143
  msgstr ""
102
144
 
103
- #: views.py:140
104
- msgid "The bulletin you are trying to edit for does not exist."
145
+ #: views.py:184
146
+ msgid "The bulletin you are trying to edit does not exist."
105
147
  msgstr ""
106
148
 
107
- #: views.py:159
149
+ #: views.py:208
108
150
  #, python-brace-format
109
151
  msgid "Bulletin \"{bulletin.title}\" deleted."
110
152
  msgstr ""
111
153
 
112
- #: views.py:164
113
- msgid "The bulletin you are trying to delete for does not exist."
154
+ #: views.py:215
155
+ msgid "The bulletin you are trying to delete does not exist."
114
156
  msgstr ""