Fixed motion PDF if motions have no identifier. Fixed #2158.

This commit is contained in:
Norman Jäckel 2016-06-05 18:13:17 +02:00
parent 03ca4a8174
commit 294fb7ebc5
2 changed files with 29 additions and 2 deletions

View File

@ -1,7 +1,6 @@
import random import random
import re import re
from html import escape from html import escape
from operator import attrgetter
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from django.conf import settings from django.conf import settings
@ -22,7 +21,7 @@ def motions_to_pdf(pdf, motions):
""" """
Create a PDF with all motions. Create a PDF with all motions.
""" """
motions = natsorted(motions, key=attrgetter('identifier')) motions = natsorted(motions, key=lambda motion: motion.identifier or '')
all_motion_cover(pdf, motions) all_motion_cover(pdf, motions)
for motion in motions: for motion in motions:
pdf.append(PageBreak()) pdf.append(PageBreak())

View File

@ -0,0 +1,28 @@
from django.core.urlresolvers import reverse
from rest_framework import status
from openslides.core.config import config
from openslides.motions.models import Motion
from openslides.utils.test import TestCase
class AllMotionPDF(TestCase):
"""
Tests creating a PDF of all motions.
"""
def setUp(self):
self.client.login(username='admin', password='admin')
config['motions_identifier'] = 'manually'
self.motion = Motion(
title='test_title_Dik4jaey5ku6axee7Dai',
text='test_text_Auvie4euf2oang8ahcie')
self.motion.save()
self.motion2 = Motion(
title='test_title_AeTheech6euf9siM8uey',
text='test_text_Cohsh2egaexae8eebiot',
identifier='42')
self.motion2.save()
def test_pdf_all_motions(self):
response = self.client.get(reverse('motions_pdf'))
self.assertEqual(response.status_code, status.HTTP_200_OK)