aa-bulletin-board 1.10.1__py3-none-any.whl → 1.11.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 (36) hide show
  1. aa_bulletin_board/__init__.py +1 -1
  2. aa_bulletin_board/auth_hooks.py +15 -6
  3. aa_bulletin_board/forms.py +6 -4
  4. aa_bulletin_board/helpers.py +15 -6
  5. aa_bulletin_board/locale/de/LC_MESSAGES/django.mo +0 -0
  6. aa_bulletin_board/locale/de/LC_MESSAGES/django.po +25 -30
  7. aa_bulletin_board/locale/django.pot +21 -24
  8. aa_bulletin_board/locale/es/LC_MESSAGES/django.po +21 -24
  9. aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po +21 -24
  10. aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po +21 -24
  11. aa_bulletin_board/locale/ja/LC_MESSAGES/django.po +21 -24
  12. aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po +21 -24
  13. aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo +0 -0
  14. aa_bulletin_board/locale/ru/LC_MESSAGES/django.po +28 -33
  15. aa_bulletin_board/locale/uk/LC_MESSAGES/django.po +21 -24
  16. aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po +21 -24
  17. aa_bulletin_board/managers.py +7 -2
  18. aa_bulletin_board/models.py +17 -3
  19. aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.css +5 -5
  20. aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.min.css +1 -1
  21. aa_bulletin_board/templates/aa_bulletin_board/base.html +1 -1
  22. aa_bulletin_board/templates/aa_bulletin_board/partials/footer/app-translation-footer.html +11 -0
  23. aa_bulletin_board/templatetags/aa_bulletin_board_versioned_static.py +2 -1
  24. aa_bulletin_board/tests/test_access.py +61 -37
  25. aa_bulletin_board/tests/test_auth_hooks.py +18 -9
  26. aa_bulletin_board/tests/test_bulletins.py +80 -47
  27. aa_bulletin_board/tests/test_templatetags.py +9 -6
  28. aa_bulletin_board/tests/test_user_interface.py +85 -43
  29. aa_bulletin_board/tests/utils.py +24 -3
  30. aa_bulletin_board/urls.py +7 -5
  31. aa_bulletin_board/views.py +86 -33
  32. {aa_bulletin_board-1.10.1.dist-info → aa_bulletin_board-1.11.0.dist-info}/METADATA +1 -1
  33. {aa_bulletin_board-1.10.1.dist-info → aa_bulletin_board-1.11.0.dist-info}/RECORD +35 -35
  34. aa_bulletin_board/templates/aa_bulletin_board/partials/app-translation-footer.html +0 -11
  35. {aa_bulletin_board-1.10.1.dist-info → aa_bulletin_board-1.11.0.dist-info}/WHEEL +0 -0
  36. {aa_bulletin_board-1.10.1.dist-info → aa_bulletin_board-1.11.0.dist-info}/licenses/LICENSE +0 -0
@@ -6,7 +6,9 @@ The views
6
6
  from django.contrib import messages
7
7
  from django.contrib.auth.decorators import login_required, permission_required
8
8
  from django.contrib.auth.models import Group
9
+ from django.core.handlers.wsgi import WSGIRequest
9
10
  from django.db.models import Prefetch
11
+ from django.http import HttpResponse, HttpResponseRedirect
10
12
  from django.shortcuts import redirect, render
11
13
  from django.utils import timezone
12
14
  from django.utils.translation import gettext_lazy as _
@@ -16,36 +18,48 @@ from aa_bulletin_board.forms import Bulletin, BulletinForm
16
18
 
17
19
 
18
20
  @login_required
19
- @permission_required("aa_bulletin_board.basic_access")
20
- def dashboard(request):
21
+ @permission_required(perm="aa_bulletin_board.basic_access")
22
+ def dashboard(request: WSGIRequest) -> HttpResponse:
21
23
  """
22
24
  Index view
25
+
26
+ :param request:
27
+ :type request:
28
+ :return:
29
+ :rtype:
23
30
  """
24
31
 
25
32
  bulletins = (
26
33
  Bulletin.objects.prefetch_related(
27
- Prefetch("groups", queryset=Group.objects.order_by("name"))
34
+ Prefetch(lookup="groups", queryset=Group.objects.order_by("name"))
28
35
  )
29
- .user_has_access(request.user)
36
+ .user_has_access(user=request.user)
30
37
  .order_by("-created_date")
31
38
  )
32
39
  context = {"bulletins": bulletins}
33
40
 
34
- return render(request, "aa_bulletin_board/dashboard.html", context)
41
+ return render(
42
+ request=request,
43
+ template_name="aa_bulletin_board/dashboard.html",
44
+ context=context,
45
+ )
35
46
 
36
47
 
37
48
  @login_required
38
- @permission_required("aa_bulletin_board.manage_bulletins")
39
- def create_bulletin(request):
49
+ @permission_required(perm="aa_bulletin_board.manage_bulletins")
50
+ def create_bulletin(request: WSGIRequest) -> HttpResponse:
40
51
  """
41
52
  Edit an existing bulletin
53
+
42
54
  :param request:
55
+ :type request:
43
56
  :return:
57
+ :rtype:
44
58
  """
45
59
 
46
60
  if request.method == "POST":
47
61
  # Create a form instance and populate it with data
48
- form = BulletinForm(request.POST)
62
+ form = BulletinForm(data=request.POST)
49
63
 
50
64
  # Check whether it's valid:
51
65
  if form.is_valid():
@@ -60,51 +74,74 @@ def create_bulletin(request):
60
74
  bulletin.created_by = request.user
61
75
  bulletin.save()
62
76
 
63
- bulletin.groups.set(form.cleaned_data["groups"])
77
+ bulletin.groups.set( # pylint: disable=no-member
78
+ form.cleaned_data["groups"]
79
+ )
64
80
 
65
- messages.success(request, _(f'Bulletin "{bulletin__title}" created.'))
81
+ messages.success(
82
+ request=request, message=_(f'Bulletin "{bulletin__title}" created.')
83
+ )
66
84
 
67
- return redirect("aa_bulletin_board:view_bulletin", bulletin.slug)
85
+ return redirect(to="aa_bulletin_board:view_bulletin", slug=bulletin.slug)
68
86
  else:
69
87
  form = BulletinForm()
70
88
 
71
89
  context = {"form": form, "bulletin": False}
72
90
 
73
- return render(request, "aa_bulletin_board/edit-bulletin.html", context)
91
+ return render(
92
+ request=request,
93
+ template_name="aa_bulletin_board/edit-bulletin.html",
94
+ context=context,
95
+ )
74
96
 
75
97
 
76
98
  @login_required
77
- @permission_required("aa_bulletin_board.basic_access")
78
- def view_bulletin(request, slug):
99
+ @permission_required(perm="aa_bulletin_board.basic_access")
100
+ def view_bulletin(request: WSGIRequest, slug: str) -> HttpResponse:
79
101
  """
80
102
  View a bulletin
103
+
104
+ :param request:
105
+ :type request:
106
+ :param slug:
107
+ :type slug:
108
+ :return:
109
+ :rtype:
81
110
  """
82
111
 
83
112
  try:
84
113
  bulletin = Bulletin.objects.user_has_access(request.user).get(slug=slug)
85
114
  context = {"bulletin": bulletin, "slug": slug}
86
115
 
87
- return render(request, "aa_bulletin_board/bulletin.html", context)
88
- except Bulletin.DoesNotExist:
116
+ return render(
117
+ request=request,
118
+ template_name="aa_bulletin_board/bulletin.html",
119
+ context=context,
120
+ )
121
+ except Bulletin.DoesNotExist: # pylint: disable=no-member
89
122
  messages.warning(
90
- request,
91
- _(
123
+ request=request,
124
+ message=_(
92
125
  "The bulletin you are looking for does not exist, "
93
126
  "or you don't have access to it."
94
127
  ),
95
128
  )
96
129
 
97
- return redirect("aa_bulletin_board:dashboard")
130
+ return redirect(to="aa_bulletin_board:dashboard")
98
131
 
99
132
 
100
133
  @login_required
101
- @permission_required("aa_bulletin_board.manage_bulletins")
102
- def edit_bulletin(request, slug):
134
+ @permission_required(perm="aa_bulletin_board.manage_bulletins")
135
+ def edit_bulletin(request: WSGIRequest, slug: str) -> HttpResponse:
103
136
  """
104
137
  Edit an existing bulletin
138
+
105
139
  :param request:
140
+ :type request:
106
141
  :param slug:
142
+ :type slug:
107
143
  :return:
144
+ :rtype:
108
145
  """
109
146
 
110
147
  try:
@@ -112,7 +149,7 @@ def edit_bulletin(request, slug):
112
149
 
113
150
  if request.method == "POST":
114
151
  # Create a form instance and populate it with data
115
- form = BulletinForm(request.POST, instance=bulletin)
152
+ form = BulletinForm(data=request.POST, instance=bulletin)
116
153
 
117
154
  # Check whether it's valid:
118
155
  if form.is_valid():
@@ -126,42 +163,58 @@ def edit_bulletin(request, slug):
126
163
  bulletin.groups.set(form.cleaned_data["groups"])
127
164
  bulletin.save()
128
165
 
129
- messages.success(request, _(f'Bulletin "{bulletin__title}" updated.'))
166
+ messages.success(
167
+ request=request, message=_(f'Bulletin "{bulletin__title}" updated.')
168
+ )
130
169
 
131
- return redirect("aa_bulletin_board:view_bulletin", bulletin.slug)
170
+ return redirect(
171
+ to="aa_bulletin_board:view_bulletin", slug=bulletin.slug
172
+ )
132
173
  else:
133
174
  form = BulletinForm(instance=bulletin)
134
175
 
135
176
  context = {"form": form, "existing_bulletin": True, "bulletin": bulletin}
136
177
 
137
- return render(request, "aa_bulletin_board/edit-bulletin.html", context)
138
- except Bulletin.DoesNotExist:
178
+ return render(
179
+ request=request,
180
+ template_name="aa_bulletin_board/edit-bulletin.html",
181
+ context=context,
182
+ )
183
+ except Bulletin.DoesNotExist: # pylint: disable=no-member
139
184
  messages.warning(
140
- request, _("The bulletin you are trying to edit does not exist.")
185
+ request=request,
186
+ message=_("The bulletin you are trying to edit does not exist."),
141
187
  )
142
188
 
143
- return redirect("aa_bulletin_board:dashboard")
189
+ return redirect(to="aa_bulletin_board:dashboard")
144
190
 
145
191
 
146
192
  @login_required
147
193
  @permission_required("aa_bulletin_board.manage_bulletins")
148
- def remove_bulletin(request, slug):
194
+ def remove_bulletin(request: WSGIRequest, slug: str) -> HttpResponseRedirect:
149
195
  """
150
196
  Remove bulletin
197
+
151
198
  :param request:
199
+ :type request:
152
200
  :param slug:
201
+ :type slug:
153
202
  :return:
203
+ :rtype:
154
204
  """
155
205
 
156
206
  try:
157
207
  bulletin = Bulletin.objects.get(slug=slug)
158
208
 
159
- messages.success(request, _(f'Bulletin "{bulletin.title}" deleted.'))
209
+ messages.success(
210
+ request=request, message=_(f'Bulletin "{bulletin.title}" deleted.')
211
+ )
160
212
 
161
213
  bulletin.delete()
162
- except Bulletin.DoesNotExist:
214
+ except Bulletin.DoesNotExist: # pylint: disable=no-member
163
215
  messages.warning(
164
- request, _("The bulletin you are trying to delete does not exist.")
216
+ request=request,
217
+ message=_("The bulletin you are trying to delete does not exist."),
165
218
  )
166
219
 
167
- return redirect("aa_bulletin_board:dashboard")
220
+ return redirect(to="aa_bulletin_board:dashboard")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aa-bulletin-board
3
- Version: 1.10.1
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
@@ -1,12 +1,12 @@
1
- aa_bulletin_board/__init__.py,sha256=VSq_6L3K6BDrpzN_iogZelYDtpbwzZR5jvv4FVDEjXY,232
1
+ aa_bulletin_board/__init__.py,sha256=CqCqdk-Co7nxjY-Mr6OzAtHUHgiH86E967CHaG57HWQ,250
2
2
  aa_bulletin_board/apps.py,sha256=HOWDLTEbu28eBt4rggDhzqlZbv6iu1BfzNk7u4FnuUw,474
3
- aa_bulletin_board/auth_hooks.py,sha256=uanMxF-L0V3yQDYJ3wiWxG-MybYT5DCfoNhw8kToMT0,1300
4
- aa_bulletin_board/forms.py,sha256=_N4_aF0JCRz-kgL3HliFpwdwRVsu2I-QBlZJ64RP-BA,2547
5
- aa_bulletin_board/helpers.py,sha256=vOMHYE34bmmu-UdgWhRJtbwSwFkgOMGP40lJe4Q3t1k,591
6
- aa_bulletin_board/managers.py,sha256=7nA6DfQwLKAPm9XS7p7doGQy8bOPHG47Gf0a-rvLHiA,971
7
- aa_bulletin_board/models.py,sha256=nhgU7kJ2zu-6nveTCWCBB94D6hDjobgTtDxStnFO9n4,3348
8
- aa_bulletin_board/urls.py,sha256=yhxFWgslEb1s-cB8-3e2W1p9tyuvut9_WzJ2BmPajLc,526
9
- aa_bulletin_board/views.py,sha256=qOMfD9_zaO_TsBbFdg0TBqpzd3zhmtgj08fHnLbEBKQ,4899
3
+ aa_bulletin_board/auth_hooks.py,sha256=vjiSt59_mGH09bARmnJGD02OYukuPQWrZnTR61zDUpE,1439
4
+ aa_bulletin_board/forms.py,sha256=A5pnKh67h61bn-u-pOIkKNOwreTG2U5gjuUo80_9mUk,2592
5
+ aa_bulletin_board/helpers.py,sha256=r0EvKX5ai_69c6PNbDTcX3cn33-pCagQZzYAQibieZA,737
6
+ aa_bulletin_board/managers.py,sha256=BIoUNyLOpJftKs4I05eG2DC6zPGWzCrFhL2nAGUMVos,1066
7
+ aa_bulletin_board/models.py,sha256=XRUOonE6hXUlXqXEzNsr2pinkxnK1nWpxmUsElmH-XE,3553
8
+ aa_bulletin_board/urls.py,sha256=giE7z-t8zpC3mPzPYblMLrkSTn5v7ad4NoJsSk-Jsfg,595
9
+ aa_bulletin_board/views.py,sha256=kLrqS_pLYzNwewW4yncx66hv52MR1pFBy8SxCw7fAoQ,6206
10
10
  aa_bulletin_board/docs/screenshots/weblate/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-bulletin-created-message.jpg,sha256=9pIkcdCM3Sq4fEYTWrH8d0oqQt5Mn7nGNTPRsSenSRY,41699
12
12
  aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-group-restrictions.jpg,sha256=SFPZkhIuZfPHln1ftg5G7M5Q-Rh_yTvVBtS4bZcHOgA,8985
@@ -14,50 +14,50 @@ aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-headline.jpg,sha256
14
14
  aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-hint-group-restrictions.jpg,sha256=-E0WyDO5eX9KHL7tCGxBRTNmn5Tk9ia8HWdwG7QnCRg,14518
15
15
  aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-menu-item.jpg,sha256=CidtsE3HufmoRE4EFcMEQE-j8SSUBiZ0EK81k6-TY0c,14084
16
16
  aa_bulletin_board/docs/screenshots/weblate/aa-bulletin-board-read-more-button.jpg,sha256=tVOyp4BJgRSbxVQ86l2sUB8XDg3lFMWXb5lJM1B4K4c,14127
17
- aa_bulletin_board/locale/django.pot,sha256=ODCPgPh7Mp7uXVHGg6QY1yhs-YfIamENMDgijKWF344,3748
18
- aa_bulletin_board/locale/de/LC_MESSAGES/django.mo,sha256=GMM9a25uhtzt5W-x9IgqArZHXmzDtlZ9CaToCqWFZTs,3014
19
- aa_bulletin_board/locale/de/LC_MESSAGES/django.po,sha256=3NF4pQ3Ultcqwwvep6w0B0PC4zx7mLfhbN-BsdsPt_Q,4924
20
- aa_bulletin_board/locale/es/LC_MESSAGES/django.po,sha256=mIhB2QaK8Lx5e5GREVAl3aqOVXt5rwEKI7TvSc_uHsw,3795
21
- aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po,sha256=ODCPgPh7Mp7uXVHGg6QY1yhs-YfIamENMDgijKWF344,3748
22
- aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po,sha256=ODCPgPh7Mp7uXVHGg6QY1yhs-YfIamENMDgijKWF344,3748
23
- aa_bulletin_board/locale/ja/LC_MESSAGES/django.po,sha256=Lf-P0PKRhZYc4jpoLCikLB3a1Z16BQN8S296piYBLPw,3788
24
- aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po,sha256=ODCPgPh7Mp7uXVHGg6QY1yhs-YfIamENMDgijKWF344,3748
25
- aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo,sha256=AQzcbyOrDfYLhzfteaZa5pUMJ7N2EjFtz_snTIEZGDE,3686
26
- aa_bulletin_board/locale/ru/LC_MESSAGES/django.po,sha256=vkBCi_7CoLAgk0RYfoMfowxcBbaLC--EsgNrL6WYdEc,5641
17
+ aa_bulletin_board/locale/django.pot,sha256=jPunk91i41KIW21wL6-0ElATqWWhCVQ-mY3lDti_N4U,3698
18
+ aa_bulletin_board/locale/de/LC_MESSAGES/django.mo,sha256=UZFh5J9HIAR1W-L4lMHoa_wNHtYLhDHSQYyynmrz2xY,2932
19
+ aa_bulletin_board/locale/de/LC_MESSAGES/django.po,sha256=hkzidQZjVscpReVrCh-C7SanXgY20jqpOf1sdPxfYog,4825
20
+ aa_bulletin_board/locale/es/LC_MESSAGES/django.po,sha256=tmUW-Ub1o_75mOZJ1hhwJz6xE3WXOFETKAYzNAqj6Ds,3745
21
+ aa_bulletin_board/locale/fr_FR/LC_MESSAGES/django.po,sha256=jPunk91i41KIW21wL6-0ElATqWWhCVQ-mY3lDti_N4U,3698
22
+ aa_bulletin_board/locale/it_IT/LC_MESSAGES/django.po,sha256=jPunk91i41KIW21wL6-0ElATqWWhCVQ-mY3lDti_N4U,3698
23
+ aa_bulletin_board/locale/ja/LC_MESSAGES/django.po,sha256=SoXy5rAJ1SE191cTaxLzkImkbtC7nHLHfVYPyTMohxc,3738
24
+ aa_bulletin_board/locale/ko_KR/LC_MESSAGES/django.po,sha256=jPunk91i41KIW21wL6-0ElATqWWhCVQ-mY3lDti_N4U,3698
25
+ aa_bulletin_board/locale/ru/LC_MESSAGES/django.mo,sha256=wgHtnEfbqqFk8g3PAxF8bMMjBNCMWvwFBSTPdaSuaI8,3604
26
+ aa_bulletin_board/locale/ru/LC_MESSAGES/django.po,sha256=GQwoZu5JvD8dxKbKQhaAo2irM1O7dsoFC3Jb8W9o2lc,5540
27
27
  aa_bulletin_board/locale/uk/LC_MESSAGES/django.mo,sha256=_R2YfT2I5EKZoqnkjNjbvs515Ubj91D5rgtQFDxh5yA,2910
28
- aa_bulletin_board/locale/uk/LC_MESSAGES/django.po,sha256=_Y26WkZXmR6JD3s_-Ng1C4sOCpinAl3_uQcZEMg3FKI,5596
29
- aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po,sha256=Lf-P0PKRhZYc4jpoLCikLB3a1Z16BQN8S296piYBLPw,3788
28
+ aa_bulletin_board/locale/uk/LC_MESSAGES/django.po,sha256=YH6qo5dJqnPe_i17uw0w_3DY0plnUJ2_mop5lCkdjtw,5546
29
+ aa_bulletin_board/locale/zh_Hans/LC_MESSAGES/django.po,sha256=SoXy5rAJ1SE191cTaxLzkImkbtC7nHLHfVYPyTMohxc,3738
30
30
  aa_bulletin_board/migrations/0001_initial.py,sha256=Z83f0RFW5vYw-4saG2EexBPcbctkGJe8QWDGJIsx5h0,2811
31
31
  aa_bulletin_board/migrations/0002_alter_bulletin_slug.py,sha256=j6jgInd8CB7cbRU0cKl87GQaWw6ifZercIs5WCWegKw,427
32
32
  aa_bulletin_board/migrations/0003_group_restrictions.py,sha256=zjWr5H8yfdSsJVLbqUUhgSAfrW6A2CVavrlFxfaFZGg,959
33
33
  aa_bulletin_board/migrations/0004_model_translation.py,sha256=ZRSyZk6fh2_so-3gMxNcSTVrhgB2fQELhN89T-euAiw,2186
34
34
  aa_bulletin_board/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.css,sha256=T-WZlVAY2jjRkL3WULxwSBwsyTXxS69Evt2jypiUaAg,315
36
- aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.min.css,sha256=05SIVOm0g99VRajMti3PFcbB7WYCJt2wrGH44mk_rTI,115
35
+ aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.css,sha256=823I67Ghwq-uAC8jZfFHwugzuOUIMvxhmGBULOQi_Jo,324
36
+ aa_bulletin_board/static/aa_bulletin_board/css/aa-bootstrap-fix.min.css,sha256=7aKlgAk1BZzjvHUAm-CPIMgXLFp97TW3eCoSiHEVajw,124
37
37
  aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.css,sha256=s_XEHUIx7U0bhavauiXZob5E_ptR0yEprm5NWIokmS4,2114
38
38
  aa_bulletin_board/static/aa_bulletin_board/css/aa-bulletin-board.min.css,sha256=8bQTQK_7P7PBU64GYhL4CCTsQ1YZ0DsWLq2OM3KLJy4,1350
39
39
  aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.8/jquery.sumoselect.js,sha256=zu8vdTI3bQ3HJh9Cfb0TF4P7RfDYr4nUB6S6uDOBMok,34280
40
40
  aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.8/jquery.sumoselect.min.js,sha256=WX_oi7gk4FlUyESV3C9_hajlgknuy6SbOGvdDu_DHi4,22226
41
41
  aa_bulletin_board/static/aa_bulletin_board/libs/sumoselect/3.4.8/sumoselect.min.css,sha256=0muqXQE7xbwFLUkp34AfrbvlKi2OPXgKtUgIZOUYqnY,7610
42
- aa_bulletin_board/templates/aa_bulletin_board/base.html,sha256=P6Ga4QV-RIrcBUeoOUdYcD7NB8Z80OqVM3_sBhOk4tA,598
42
+ aa_bulletin_board/templates/aa_bulletin_board/base.html,sha256=GeFiSED3Ge54Amuysp6td5I4q_0IjQxkieqM2gnf2SU,605
43
43
  aa_bulletin_board/templates/aa_bulletin_board/bulletin.html,sha256=Oh-mx-Cd_nYMARF-CWu8jwM0-XZxqNmDszmfMXwyR7E,1640
44
44
  aa_bulletin_board/templates/aa_bulletin_board/dashboard.html,sha256=5kypdTVOWNx0i7Cn4o0_AQiPLKojgMFDkAhAkBazOgs,3787
45
45
  aa_bulletin_board/templates/aa_bulletin_board/edit-bulletin.html,sha256=zT5t50nmhmi3YwUv-DuwvINnhp9Q-1k1Gn9nKX76NdE,2407
46
46
  aa_bulletin_board/templates/aa_bulletin_board/bundles/aa-bulletin-board-css.html,sha256=xmqkjUZiI9ekGIDUS1uGPJGlGYx7mcBJ0AfZXoGYujk,270
47
47
  aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-css.html,sha256=SYYnfUObxk-JI1s0jI3Dn4SZMVU8aSipCUM2oA-xoCM,124
48
48
  aa_bulletin_board/templates/aa_bulletin_board/bundles/sumoselect-js.html,sha256=XWIpMD3GsGsWybUQqxDbUmYLJ39k6rtdiKc82icqxAs,123
49
- aa_bulletin_board/templates/aa_bulletin_board/partials/app-translation-footer.html,sha256=dUILISEXnaoYuvcOm3p_tkQu8MVpFil7mySZY0_QnmM,512
49
+ aa_bulletin_board/templates/aa_bulletin_board/partials/footer/app-translation-footer.html,sha256=Vaj9QK500wXZbw8X1Lc3NWL9WsO3Nz9YM8eujP-UR40,408
50
50
  aa_bulletin_board/templates/aa_bulletin_board/partials/header/page-header.html,sha256=PPo9Sjl1aq9QSWhXzy8jxq4AWujiG5W_fP4h_XU3h_0,227
51
51
  aa_bulletin_board/templatetags/__init__.py,sha256=sP2D1ovt2gGAPLcGQkByRgXYhvUJ6C52mZMlLIALQ8s,37
52
- aa_bulletin_board/templatetags/aa_bulletin_board_versioned_static.py,sha256=dxZPAnqO3wCDpM-sidoTxykGD8j1_5rlqm-iXOhAAl8,532
52
+ aa_bulletin_board/templatetags/aa_bulletin_board_versioned_static.py,sha256=ZNdLdHjTbqZwufP9fQEcmVcs5TZQEKe32yAHIK8urpQ,538
53
53
  aa_bulletin_board/tests/__init__.py,sha256=dcMq6O8W1_8NSZobuRedXFQ3o4Zd6Q6Ti7eY-D6JaYI,18
54
- aa_bulletin_board/tests/test_access.py,sha256=MOZxB3ufZBGz3SMjIV19JjLzwhWMI0ZF_oYlc-psmW0,6188
55
- aa_bulletin_board/tests/test_auth_hooks.py,sha256=tNbjPQCdLqaFzm32KSwtjRK0P2OHwrtiNkCAIUPXGaw,1849
56
- aa_bulletin_board/tests/test_bulletins.py,sha256=EwB6378FwCuNh32oTHU--DwY0AQyjRKJXadCHM9dYAE,7828
57
- aa_bulletin_board/tests/test_templatetags.py,sha256=682RH5ES9yF0wdgD-h3jOV5Cbz9D2aDqGyEBL5Avu_0,924
58
- aa_bulletin_board/tests/test_user_interface.py,sha256=BXsoJapgpm3qxA1u_onaySzKg_I5kaXZDO5wqFNNcN0,7504
59
- aa_bulletin_board/tests/utils.py,sha256=yER1SlEmGIu10JZ4-iDjPq6c2F0NGS7qkhD359gf-Vs,1419
60
- aa_bulletin_board-1.10.1.dist-info/METADATA,sha256=rQbtPCFVV4aWxc3lBQYBn4DhrrvHJGsuzBxiuo5xGqc,14718
61
- aa_bulletin_board-1.10.1.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
62
- aa_bulletin_board-1.10.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
63
- aa_bulletin_board-1.10.1.dist-info/RECORD,,
54
+ aa_bulletin_board/tests/test_access.py,sha256=jRisc5UvNBsa_ewXZguFFivmBXv1ySM-aJbj7-NkkSs,6873
55
+ aa_bulletin_board/tests/test_auth_hooks.py,sha256=AWcATfALs7pF-bDgMPp2vFs43BfZ8UJSBylTbT8UyT0,2051
56
+ aa_bulletin_board/tests/test_bulletins.py,sha256=V2LucgSh3aPyavIBnDhRaqkZwJ5oPfvxvcIul3c6kCU,8633
57
+ aa_bulletin_board/tests/test_templatetags.py,sha256=x4UCa3t0U1l3qneWmNw2z_sBSCZ1X7pcURAXggtJTDQ,1075
58
+ aa_bulletin_board/tests/test_user_interface.py,sha256=tbBZPEu_Xkeqewwp0sS1rxKCFJoQsWqFgCUOF5rXR8c,8440
59
+ aa_bulletin_board/tests/utils.py,sha256=MXHmIH6pHF8ikFNDdpDT7jb7AYqr9UbI4ntNQrqBUP0,1919
60
+ aa_bulletin_board-1.11.0.dist-info/METADATA,sha256=_DskIwMmWwe82z6m758ebIo3CLeNk3Fzq0O5hCHzfbA,14718
61
+ aa_bulletin_board-1.11.0.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
62
+ aa_bulletin_board-1.11.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
63
+ aa_bulletin_board-1.11.0.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- {% load i18n %}
2
-
3
- <div class="app-translation-footer text-muted">
4
- {% translate "Join our team of translators!" as weblate_link_text %}
5
-
6
- <p>
7
- {% blocktranslate with weblate_link='<a href="https://weblate.ppfeufer.de/engage/alliance-auth-apps/" target="_blank" rel="noopener noreferer">'|add:weblate_link_text|add:'</a>' %}
8
- Do you want to help translate this app into your language or improve the existing translation? - {{ weblate_link }}
9
- {% endblocktranslate %}
10
- </p>
11
- </div>