Skip to content

Commit c71a197

Browse files
Abdu-moustafaelioschmutz
authored andcommitted
Provide Toc download for decision sequence number
1 parent d0a0d14 commit c71a197

11 files changed

Lines changed: 266 additions & 29 deletions

File tree

changes/TI-2294.other

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add TOC download for decision sequence number. [amo]

opengever/meeting/browser/configure.zcml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,15 @@
160160
allowed_attributes="as_json"
161161
/>
162162

163+
164+
<browser:page
165+
for="opengever.meeting.period.IPeriod"
166+
name="decision_sequence_number_toc"
167+
class=".toc.DownloadDecisionSequenceNumberTOC"
168+
permission="zope2.View"
169+
allowed_attributes="as_json"
170+
/>
171+
163172
<browser:page
164173
name="tabbedview_view-periods"
165174
for="opengever.meeting.committee.ICommittee"

opengever/meeting/browser/templates/periods.pt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@
4040
download TOC by repository reference number
4141
</a>
4242
</li>
43+
<li>
44+
<a class="download_toc"
45+
tal:attributes="href string:${period/getURL}/@@decision_sequence_number_toc"
46+
i18n:translate="label_download_decision_sequence_number_toc">
47+
download TOC by decision sequence number
48+
</a>
49+
</li>
4350
</ul>
4451
<ul class="actions" tal:condition="view/is_editable_by_current_user">
4552
<li>
@@ -79,6 +86,13 @@
7986
download TOC json by repository reference number
8087
</a>
8188
</li>
89+
<li>
90+
<a class="download_toc_json"
91+
tal:attributes="href string:${period/getURL}/decision_sequence_number_toc/as_json"
92+
i18n:translate="label_download_decision_sequence_number_toc_json">
93+
download TOC json by decision sequence number
94+
</a>
95+
</li>
8296
</ul>
8397
</li>
8498
</ul>

opengever/meeting/browser/toc.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from opengever.meeting.exceptions import SablonProcessingFailed
66
from opengever.meeting.sablon import Sablon
77
from opengever.meeting.toc.alphabetical import AlphabeticalToc
8+
from opengever.meeting.toc.decision_sequence_number import DecisionSequenceNumberBasedTOC
89
from opengever.meeting.toc.dossier_refnum import DossierReferenceNumberBasedTOC
910
from opengever.meeting.toc.repository import RepositoryBasedTOC
1011
from opengever.meeting.toc.repository_refnum import RepositoryReferenceNumberBasedTOC
@@ -147,3 +148,22 @@ def get_filename(self):
147148
'committee': committee_title,
148149
}),
149150
context=getRequest()))
151+
152+
153+
class DownloadDecisionSequenceNumberTOC(DownloadAlphabeticalTOC):
154+
def get_data(self):
155+
return DecisionSequenceNumberBasedTOC(self.context).get_json()
156+
157+
def get_filename(self):
158+
normalizer = getUtility(IIDNormalizer)
159+
period_title = normalizer.normalize(self.context.title)
160+
committee_title = normalizer.normalize(self.committee.title)
161+
162+
return u"{}.docx".format(
163+
translate(_(u'filename_decision_number_toc',
164+
default=u'Decision Number Toc ${period} ${committee}',
165+
mapping={
166+
'period': period_title,
167+
'committee': committee_title,
168+
}),
169+
context=getRequest()))

opengever/meeting/locales/de/LC_MESSAGES/opengever.meeting.po

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
msgid ""
55
msgstr ""
66
"Project-Id-Version: PACKAGE VERSION\n"
7-
"POT-Creation-Date: 2023-10-31 07:15+0000\n"
7+
"POT-Creation-Date: 2025-05-13 10:37+0000\n"
88
"PO-Revision-Date: 2017-10-23 18:40+0200\n"
99
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1010
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -740,6 +740,11 @@ msgstr "Vorlagen Protokoll"
740740
msgid "filename_alphabetical_toc"
741741
msgstr "Inhaltsverzeichnis ${period} ${committee} alphabetisch"
742742

743+
#. Default: "Decision Number Toc ${period} ${committee}"
744+
#: ./opengever/meeting/browser/toc.py
745+
msgid "filename_decision_number_toc"
746+
msgstr "Inhaltsverzeichnis ${period} ${committee} Beschlussnummer"
747+
743748
#. Default: "Dossier Reference Number Toc ${period} ${committee}"
744749
#: ./opengever/meeting/browser/toc.py
745750
msgid "filename_dossier_reference_number_toc"
@@ -1046,6 +1051,16 @@ msgstr "Inhaltsverzeichnis alphabetisch"
10461051
msgid "label_download_alphabetical_toc_json"
10471052
msgstr "Inhaltsverzeichnis alphabetisch JSON"
10481053

1054+
#. Default: "download TOC by decision sequence number"
1055+
#: ./opengever/meeting/browser/templates/periods.pt
1056+
msgid "label_download_decision_sequence_number_toc"
1057+
msgstr "Inhaltsverzeichnis nach Beschlussnummer"
1058+
1059+
#. Default: "download TOC json by decision sequence number"
1060+
#: ./opengever/meeting/browser/templates/periods.pt
1061+
msgid "label_download_decision_sequence_number_toc_json"
1062+
msgstr "Inhaltsverzeichnis nach Beschlussnummer JSON"
1063+
10491064
#. Default: "download TOC by dossier reference number"
10501065
#: ./opengever/meeting/browser/templates/periods.pt
10511066
msgid "label_download_dossier_refnum_toc"

opengever/meeting/locales/en/LC_MESSAGES/opengever.meeting.po

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
msgid ""
55
msgstr ""
66
"Project-Id-Version: PACKAGE VERSION\n"
7-
"POT-Creation-Date: 2023-10-31 07:15+0000\n"
7+
"POT-Creation-Date: 2025-05-13 10:37+0000\n"
88
"PO-Revision-Date: 2017-10-23 18:40+0200\n"
99
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1010
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -890,6 +890,11 @@ msgstr "Protocol templates"
890890
msgid "filename_alphabetical_toc"
891891
msgstr "Alphabetical TOC ${period} ${committee}"
892892

893+
#. Default: "Decision Number Toc ${period} ${committee}"
894+
#: ./opengever/meeting/browser/toc.py
895+
msgid "filename_decision_number_toc"
896+
msgstr "Decision number TOC ${period} ${committee}"
897+
893898
#. German translation: Inhaltsverzeichnis ${period} ${committee} nach Aktenzeichen
894899
#. Default: "Dossier Reference Number Toc ${period} ${committee}"
895900
#: ./opengever/meeting/browser/toc.py
@@ -1254,6 +1259,16 @@ msgstr "TOC alphabetical"
12541259
msgid "label_download_alphabetical_toc_json"
12551260
msgstr "TOC JSON alphabetical"
12561261

1262+
#. Default: "download TOC by decision sequence number"
1263+
#: ./opengever/meeting/browser/templates/periods.pt
1264+
msgid "label_download_decision_sequence_number_toc"
1265+
msgstr "TOC by decision sequence number"
1266+
1267+
#. Default: "download TOC json by decision sequence number"
1268+
#: ./opengever/meeting/browser/templates/periods.pt
1269+
msgid "label_download_decision_sequence_number_toc_json"
1270+
msgstr "TOC JSON decision sequence number"
1271+
12571272
#. German translation: Inhaltsverzeichnis nach Aktenzeichen
12581273
#. Default: "download TOC by dossier reference number"
12591274
#: ./opengever/meeting/browser/templates/periods.pt

opengever/meeting/locales/fr/LC_MESSAGES/opengever.meeting.po

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
msgid ""
55
msgstr ""
66
"Project-Id-Version: PACKAGE VERSION\n"
7-
"POT-Creation-Date: 2023-10-31 07:15+0000\n"
7+
"POT-Creation-Date: 2025-05-13 10:37+0000\n"
88
"PO-Revision-Date: 2018-05-22 10:15+0000\n"
99
"Last-Translator: Niklaus Johner <Niklaus.johner@4teamwork.ch>\n"
1010
"Language-Team: French <https://translations.onegovgever.ch/projects/onegov-gever/opengever-meeting/fr/>\n"
@@ -742,6 +742,11 @@ msgstr "Modèles protocole"
742742
msgid "filename_alphabetical_toc"
743743
msgstr "Table des matières ${period} ${committee} alphabétique"
744744

745+
#. Default: "Decision Number Toc ${period} ${committee}"
746+
#: ./opengever/meeting/browser/toc.py
747+
msgid "filename_decision_number_toc"
748+
msgstr "Inhaltsverzeichnis ${period} ${committee} numéro de décision"
749+
745750
#. Default: "Dossier Reference Number Toc ${period} ${committee}"
746751
#: ./opengever/meeting/browser/toc.py
747752
msgid "filename_dossier_reference_number_toc"
@@ -1048,6 +1053,16 @@ msgstr "Table des matières alphabétique"
10481053
msgid "label_download_alphabetical_toc_json"
10491054
msgstr "Table des matières alphabétique JSON"
10501055

1056+
#. Default: "download TOC by decision sequence number"
1057+
#: ./opengever/meeting/browser/templates/periods.pt
1058+
msgid "label_download_decision_sequence_number_toc"
1059+
msgstr "Table des matières numéro de décision"
1060+
1061+
#. Default: "download TOC json by decision sequence number"
1062+
#: ./opengever/meeting/browser/templates/periods.pt
1063+
msgid "label_download_decision_sequence_number_toc_json"
1064+
msgstr "Table des matières numéro de décision JSON"
1065+
10511066
#. Default: "download TOC by dossier reference number"
10521067
#: ./opengever/meeting/browser/templates/periods.pt
10531068
msgid "label_download_dossier_refnum_toc"

opengever/meeting/locales/opengever.meeting.pot

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
msgid ""
55
msgstr ""
66
"Project-Id-Version: PACKAGE VERSION\n"
7-
"POT-Creation-Date: 2023-10-31 07:15+0000\n"
7+
"POT-Creation-Date: 2025-05-13 10:37+0000\n"
88
"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
99
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1010
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -739,6 +739,11 @@ msgstr ""
739739
msgid "filename_alphabetical_toc"
740740
msgstr ""
741741

742+
#. Default: "Decision Number Toc ${period} ${committee}"
743+
#: ./opengever/meeting/browser/toc.py
744+
msgid "filename_decision_number_toc"
745+
msgstr ""
746+
742747
#. Default: "Dossier Reference Number Toc ${period} ${committee}"
743748
#: ./opengever/meeting/browser/toc.py
744749
msgid "filename_dossier_reference_number_toc"
@@ -1045,6 +1050,16 @@ msgstr ""
10451050
msgid "label_download_alphabetical_toc_json"
10461051
msgstr ""
10471052

1053+
#. Default: "download TOC by decision sequence number"
1054+
#: ./opengever/meeting/browser/templates/periods.pt
1055+
msgid "label_download_decision_sequence_number_toc"
1056+
msgstr ""
1057+
1058+
#. Default: "download TOC json by decision sequence number"
1059+
#: ./opengever/meeting/browser/templates/periods.pt
1060+
msgid "label_download_decision_sequence_number_toc_json"
1061+
msgstr ""
1062+
10481063
#. Default: "download TOC by dossier reference number"
10491064
#: ./opengever/meeting/browser/templates/periods.pt
10501065
msgid "label_download_dossier_refnum_toc"

opengever/meeting/tests/test_periods.py

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ def test_committee_member_cant_see_period_edit_links(self, browser):
2727
'TOC alphabetical '
2828
'TOC by repository '
2929
'TOC by dossier reference number '
30-
'TOC by repository reference number',
30+
'TOC by repository reference number '
31+
'TOC by decision sequence number',
3132
listing.text
32-
)
33+
)
3334

3435

3536
class TestGetOverlappingPeriods(IntegrationTestCase):
@@ -187,18 +188,27 @@ def test_periods_tab(self, browser):
187188
period_rows = browser.css('#period_listing .period')
188189
text_by_period = [row.css('> *').text for row in period_rows]
189190
self.assertEqual([
190-
['2016 (Jan 01, 2016 - Dec 31, 2016)',
191-
'TOC alphabetical TOC by repository '
192-
'TOC by dossier reference number TOC by repository reference number',
193-
'Edit'],
194-
['2011 (Jan 01, 2011 - Dec 31, 2011)',
195-
'TOC alphabetical TOC by repository '
196-
'TOC by dossier reference number TOC by repository reference number',
197-
'Edit'],
198-
['2010 (Jan 01, 2010 - Dec 31, 2010)',
199-
'TOC alphabetical TOC by repository '
200-
'TOC by dossier reference number TOC by repository reference number',
201-
'Edit']
191+
[
192+
'2016 (Jan 01, 2016 - Dec 31, 2016)',
193+
'TOC alphabetical TOC by repository '
194+
'TOC by dossier reference number TOC by repository reference number '
195+
'TOC by decision sequence number',
196+
'Edit'
197+
],
198+
[
199+
'2011 (Jan 01, 2011 - Dec 31, 2011)',
200+
'TOC alphabetical TOC by repository '
201+
'TOC by dossier reference number TOC by repository reference number '
202+
'TOC by decision sequence number',
203+
'Edit'
204+
],
205+
[
206+
'2010 (Jan 01, 2010 - Dec 31, 2010)',
207+
'TOC alphabetical TOC by repository '
208+
'TOC by dossier reference number TOC by repository reference number '
209+
'TOC by decision sequence number',
210+
'Edit'
211+
]
202212
], text_by_period)
203213

204214
@browsing
@@ -227,23 +237,28 @@ def test_toc_json_button_only_shown_for_managers(self, browser):
227237
period_rows = browser.css('#period_listing .period')
228238
text_by_period = [row.css('> *').text for row in period_rows]
229239
self.assertEqual([
230-
['2016 (Jan 01, 2016 - Dec 31, 2016)',
231-
'TOC alphabetical TOC by repository '
232-
'TOC by dossier reference number TOC by repository reference number',
233-
'Edit'],
240+
[
241+
'2016 (Jan 01, 2016 - Dec 31, 2016)',
242+
'TOC alphabetical TOC by repository '
243+
'TOC by dossier reference number TOC by repository reference number '
244+
'TOC by decision sequence number',
245+
'Edit'
246+
],
234247
], text_by_period)
235-
236248
self.login(self.manager, browser)
237249
browser.open(self.committee, view='tabbedview_view-periods')
238250
period_rows = browser.css('#period_listing .period')
239251
text_by_period = [row.css('> *').text for row in period_rows]
240252
self.assertEqual([
241-
['2016 (Jan 01, 2016 - Dec 31, 2016)',
242-
'TOC alphabetical TOC by repository '
243-
'TOC by dossier reference number TOC by repository reference number',
244-
'Edit',
245-
'TOC JSON alphabetical TOC JSON by repository '
246-
'TOC JSON by dossier reference number TOC JSON by repository reference number'],
253+
[
254+
'2016 (Jan 01, 2016 - Dec 31, 2016)',
255+
'TOC alphabetical TOC by repository TOC by dossier reference number '
256+
'TOC by repository reference number TOC by decision sequence number',
257+
'Edit',
258+
'TOC JSON alphabetical TOC JSON by repository '
259+
'TOC JSON by dossier reference number '
260+
'TOC JSON by repository reference number TOC JSON decision sequence number'
261+
]
247262
], text_by_period)
248263

249264
@browsing

0 commit comments

Comments
 (0)