cleaned poll pdf for assignment and application
This commit is contained in:
parent
a00fe2b241
commit
6d3061f8af
@ -76,9 +76,9 @@ class ConfigForm(Form, CssClassMixin):
|
|||||||
required=False,
|
required=False,
|
||||||
label=_("Number of ballot papers (selection)"),
|
label=_("Number of ballot papers (selection)"),
|
||||||
choices=[
|
choices=[
|
||||||
("1", _("Number of all delegates")),
|
("NUMBER_OF_DELEGATES", _("Number of all delegates")),
|
||||||
("2", _("Number of all participants")),
|
("NUMBER_OF_ALL_PARTICIPANTS", _("Number of all participants")),
|
||||||
("0", _("Use the following custum number")),
|
("CUSTOM_NUMBER", _("Use the following custom number")),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
application_pdf_ballot_papers_number = IntegerField(
|
application_pdf_ballot_papers_number = IntegerField(
|
||||||
|
@ -574,9 +574,9 @@ from openslides.config.signals import default_config_value
|
|||||||
def default_config(sender, key, **kwargs):
|
def default_config(sender, key, **kwargs):
|
||||||
return {
|
return {
|
||||||
'application_min_supporters': 0,
|
'application_min_supporters': 0,
|
||||||
'application_preamble': 'Die Versammlung möge beschließen,',
|
'application_preamble': _('The Assembly may decide,'),
|
||||||
'application_pdf_ballot_papers_selection': '1',
|
'application_pdf_ballot_papers_selection': 'CUSTOM_NUMBER',
|
||||||
'application_pdf_ballot_papers_number': '1',
|
'application_pdf_ballot_papers_number': '8',
|
||||||
'application_pdf_title': _('Applications'),
|
'application_pdf_title': _('Applications'),
|
||||||
'application_pdf_preamble': '',
|
'application_pdf_preamble': '',
|
||||||
}.get(key)
|
}.get(key)
|
||||||
|
@ -835,15 +835,16 @@ class ApplicationPollPDF(PDFView):
|
|||||||
# get ballot papers config values
|
# get ballot papers config values
|
||||||
ballot_papers_selection = config["application_pdf_ballot_papers_selection"]
|
ballot_papers_selection = config["application_pdf_ballot_papers_selection"]
|
||||||
ballot_papers_number = config["application_pdf_ballot_papers_number"]
|
ballot_papers_number = config["application_pdf_ballot_papers_number"]
|
||||||
|
|
||||||
# set number of ballot papers
|
# set number of ballot papers
|
||||||
if ballot_papers_selection == "1":
|
if ballot_papers_selection == "NUMBER_OF_DELEGATES":
|
||||||
number = User.objects.filter(profile__type__iexact="delegate").count()
|
number = User.objects.filter(profile__type__iexact="delegate").count()
|
||||||
if ballot_papers_selection == "2":
|
elif ballot_papers_selection == "NUMBER_OF_ALL_PARTICIPANTS":
|
||||||
number = int(User.objects.count() - 1)
|
number = int(Profile.objects.count())
|
||||||
if ballot_papers_selection == "0":
|
else: # ballot_papers_selection == "CUSTOM_NUMBER"
|
||||||
number = int(ballot_papers_number)
|
number = int(ballot_papers_number)
|
||||||
if number == 0:
|
number = max(1, number)
|
||||||
number = 1
|
|
||||||
# print ballot papers
|
# print ballot papers
|
||||||
if number > 0:
|
if number > 0:
|
||||||
for user in xrange(number/2):
|
for user in xrange(number/2):
|
||||||
|
@ -43,9 +43,9 @@ class ConfigForm(Form, CssClassMixin):
|
|||||||
required=False,
|
required=False,
|
||||||
label=_("Number of ballot papers (selection)"),
|
label=_("Number of ballot papers (selection)"),
|
||||||
choices=(
|
choices=(
|
||||||
("1", _("Number of all delegates")),
|
("NUMBER_OF_DELEGATES", _("Number of all delegates")),
|
||||||
("2", _("Number of all participants")),
|
("NUMBER_OF_ALL_PARTICIPANTS", _("Number of all participants")),
|
||||||
("0", _("Use the following custum number"))
|
("CUSTOM_NUMBER", _("Use the following custom number"))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assignment_pdf_ballot_papers_number = forms.IntegerField(
|
assignment_pdf_ballot_papers_number = forms.IntegerField(
|
||||||
|
@ -235,8 +235,8 @@ from openslides.config.signals import default_config_value
|
|||||||
def default_config(sender, key, **kwargs):
|
def default_config(sender, key, **kwargs):
|
||||||
return {
|
return {
|
||||||
'assignment_publish_winner_results_only': False,
|
'assignment_publish_winner_results_only': False,
|
||||||
'assignment_pdf_ballot_papers_selection': '1',
|
'assignment_pdf_ballot_papers_selection': 'CUSTOM_NUMBER',
|
||||||
'assignment_pdf_ballot_papers_number': '1',
|
'assignment_pdf_ballot_papers_number': '8',
|
||||||
'assignment_pdf_title': _('Elections'),
|
'assignment_pdf_title': _('Elections'),
|
||||||
'assignment_pdf_preamble': '',
|
'assignment_pdf_preamble': '',
|
||||||
'assignment_poll_vote_values': 'auto',
|
'assignment_poll_vote_values': 'auto',
|
||||||
|
@ -513,68 +513,60 @@ class AssignmentPollPDF(PDFView):
|
|||||||
|
|
||||||
data= []
|
data= []
|
||||||
# get ballot papers config values
|
# get ballot papers config values
|
||||||
number = 1
|
|
||||||
ballot_papers_selection = config["assignment_pdf_ballot_papers_selection"]
|
ballot_papers_selection = config["assignment_pdf_ballot_papers_selection"]
|
||||||
ballot_papers_number = config["assignment_pdf_ballot_papers_number"]
|
ballot_papers_number = config["assignment_pdf_ballot_papers_number"]
|
||||||
|
|
||||||
|
# set number of ballot papers
|
||||||
|
if ballot_papers_selection == "NUMBER_OF_DELEGATES":
|
||||||
|
number = User.objects.filter(profile__type__iexact="delegate").count()
|
||||||
|
elif ballot_papers_selection == "NUMBER_OF_ALL_PARTICIPANTS":
|
||||||
|
number = int(Profile.objects.count())
|
||||||
|
else: # ballot_papers_selection == "CUSTOM_NUMBER"
|
||||||
|
number = int(ballot_papers_number)
|
||||||
|
number = max(1, number)
|
||||||
|
|
||||||
# Choose kind of ballot paper
|
# Choose kind of ballot paper
|
||||||
if self.poll.yesnoabstain:
|
if self.poll.yesnoabstain:
|
||||||
for option in options:
|
for option in options:
|
||||||
o = str(option).split("(",1)
|
candidate = option.candidate
|
||||||
cell.append(Paragraph(o[0], stylesheet['Ballot_option_name']))
|
cell.append(Paragraph(candidate.user.get_full_name(), stylesheet['Ballot_option_name']))
|
||||||
if len(o) > 1:
|
if candidate.group:
|
||||||
cell.append(Paragraph("("+o[1], stylesheet['Ballot_option_group']))
|
cell.append(Paragraph("(%s)" % candidate.group, stylesheet['Ballot_option_group']))
|
||||||
else:
|
else:
|
||||||
cell.append(Paragraph(" ", stylesheet['Ballot_option_group']))
|
cell.append(Paragraph(" ", stylesheet['Ballot_option_group']))
|
||||||
cell.append(Paragraph(circle+_("Yes")+" "+circle+_("No")+" "+circle+_("Abstention"), stylesheet['Ballot_option_YNA']))
|
cell.append(Paragraph(circle+_("Yes")+" "+circle+_("No")+" "+circle+_("Abstention"), stylesheet['Ballot_option_YNA']))
|
||||||
# set number of ballot papers
|
|
||||||
if ballot_papers_selection == "1":
|
|
||||||
number = User.objects.filter(profile__type__iexact="delegate").count()
|
|
||||||
if ballot_papers_selection == "2":
|
|
||||||
number = int(User.objects.count() - 1)
|
|
||||||
if ballot_papers_selection == "0":
|
|
||||||
number = int(ballot_papers_number)
|
|
||||||
# print ballot papers
|
# print ballot papers
|
||||||
for user in xrange(number/2):
|
for user in xrange(number / 2):
|
||||||
data.append([cell,cell])
|
data.append([cell, cell])
|
||||||
rest = number % 2
|
rest = number % 2
|
||||||
if rest:
|
if rest:
|
||||||
data.append([cell,''])
|
data.append([cell, ''])
|
||||||
if len(options) <= 2:
|
if len(options) <= 2:
|
||||||
t=Table(data, 10.5*cm, 7.42*cm)
|
t = Table(data, 10.5*cm, 7.42*cm)
|
||||||
elif len(options) <= 5:
|
elif len(options) <= 5:
|
||||||
t=Table(data, 10.5*cm, 14.84*cm)
|
t = Table(data, 10.5*cm, 14.84*cm)
|
||||||
else:
|
else:
|
||||||
t=Table(data, 10.5*cm, 29.7*cm)
|
t = Table(data, 10.5*cm, 29.7*cm)
|
||||||
else:
|
else:
|
||||||
for option in options:
|
for option in options:
|
||||||
o = str(option).split("(",1)
|
candidate = option.candidate
|
||||||
cell.append(Paragraph(circle+o[0], stylesheet['Ballot_option_name']))
|
cell.append(Paragraph(circle + candidate.user.get_full_name(), stylesheet['Ballot_option_name']))
|
||||||
if len(o) > 1:
|
if candidate.group:
|
||||||
cell.append(Paragraph("("+o[1], stylesheet['Ballot_option_group_right']))
|
cell.append(Paragraph("(%s)" % candidate.group, stylesheet['Ballot_option_group_right']))
|
||||||
else:
|
else:
|
||||||
cell.append(Paragraph(" ", stylesheet['Ballot_option_group_right']))
|
cell.append(Paragraph(" ", stylesheet['Ballot_option_group_right']))
|
||||||
# set number of ballot papers
|
|
||||||
if ballot_papers_selection == "1":
|
|
||||||
number = User.objects.filter(profile__type__iexact="delegate").count()
|
|
||||||
if ballot_papers_selection == "2":
|
|
||||||
number = int(User.objects.count() - 1)
|
|
||||||
if ballot_papers_selection == "0":
|
|
||||||
number = int(ballot_papers_number)
|
|
||||||
if number == 0:
|
|
||||||
number = 1
|
|
||||||
# print ballot papers
|
# print ballot papers
|
||||||
if number > 0:
|
for user in xrange(number / 2):
|
||||||
for user in xrange(number/2):
|
data.append([cell, cell])
|
||||||
data.append([cell,cell])
|
rest = number % 2
|
||||||
rest = number % 2
|
if rest:
|
||||||
if rest:
|
data.append([cell, ''])
|
||||||
data.append([cell,''])
|
|
||||||
if len(options) <= 4:
|
if len(options) <= 4:
|
||||||
t=Table(data, 10.5*cm, 7.42*cm)
|
t = Table(data, 10.5*cm, 7.42*cm)
|
||||||
elif len(options) <= 8:
|
elif len(options) <= 8:
|
||||||
t=Table(data, 10.5*cm, 14.84*cm)
|
t = Table(data, 10.5*cm, 14.84*cm)
|
||||||
else:
|
else:
|
||||||
t=Table(data, 10.5*cm, 29.7*cm)
|
t = Table(data, 10.5*cm, 29.7*cm)
|
||||||
|
|
||||||
t.setStyle(TableStyle([ ('GRID', (0,0), (-1,-1), 0.25, colors.grey),
|
t.setStyle(TableStyle([ ('GRID', (0,0), (-1,-1), 0.25, colors.grey),
|
||||||
('VALIGN', (0,0), (-1,-1), 'TOP'),
|
('VALIGN', (0,0), (-1,-1), 'TOP'),
|
||||||
|
Loading…
Reference in New Issue
Block a user