1
0
Fork 0
mirror of https://github.com/Kunsi/pretalx-plugin-broadcast-tools synced 2024-04-29 15:27:17 +00:00

add option to be able to choose which questions to include in pdf export

This commit is contained in:
Franzi 2022-11-07 03:59:41 +01:00
parent 5930907aa1
commit bfbce9e98b
Signed by: kunsi
GPG key ID: 12E3D2136B818350
3 changed files with 26 additions and 3 deletions

View file

@ -32,6 +32,16 @@ class PDFInfoPage(Flowable):
self.style = style
self.y_position = PAGE_PADDING
@property
def _questions(self):
return {
int(i.strip())
for i in self.event.settings.broadcast_tools_pdf_questions_to_include.split(
","
)
if i
}
def _add(self, item, gap=2):
_, height = item.wrapOn(
self.canv, A4_WIDTH - 2 * PAGE_PADDING, A4_HEIGHT - 2 * PAGE_PADDING
@ -157,9 +167,11 @@ class PDFInfoPage(Flowable):
)
)
if self.talk.submission.answers:
if self.talk.submission.answers and self._questions:
self._space()
for answer in sorted(self.talk.submission.answers.all()):
if answer.question.id not in self._questions:
continue
self._question_text(
str(answer.question.question),
answer.answer,
@ -246,7 +258,9 @@ class PDFExporter(ScheduleData):
ParagraphStyle(name="Meta", fontName="Helvetica", fontSize=14, leading=16)
)
stylesheet.add(
ParagraphStyle(name="Question", fontName="Helvetica", fontSize=12, leading=14)
ParagraphStyle(
name="Question", fontName="Helvetica", fontSize=12, leading=14
)
)
stylesheet.add(
ParagraphStyle(

View file

@ -1,4 +1,4 @@
from django.forms import BooleanField
from django.forms import BooleanField, CharField
from django.utils.translation import gettext_lazy as _
from hierarkey.forms import HierarkeyForm
from i18nfield.forms import I18nFormField, I18nFormMixin, I18nTextInput
@ -35,3 +35,11 @@ class BroadcastToolsSettingsForm(I18nFormMixin, HierarkeyForm):
label=_("Ignore 'do not record' talks when generating pdf"),
required=False,
)
broadcast_tools_pdf_questions_to_include = CharField(
help_text=_(
"Comma-Separated list of question ids to include in pdf export. "
"If empty, no questions will get added."
),
label=_("Questions to include"),
required=False,
)

View file

@ -42,6 +42,7 @@
</legend>
{% bootstrap_field form.broadcast_tools_pdf_show_internal_notes layout='event' %}
{% bootstrap_field form.broadcast_tools_pdf_ignore_do_not_record layout='event' %}
{% bootstrap_field form.broadcast_tools_pdf_questions_to_include layout='event' %}
</fieldset>
<fieldset>
<div class="submit-group panel">