Merge pull request #1296 from emanuelschuetze/motion-category-import
Motion CSV Import: Create new category if category is unkown.
This commit is contained in:
commit
54b8a6b02d
@ -17,6 +17,7 @@ Agenda:
|
|||||||
- Fixed organizational item structuring.
|
- Fixed organizational item structuring.
|
||||||
Motions:
|
Motions:
|
||||||
- New slide for vote results.
|
- New slide for vote results.
|
||||||
|
- Created new categories during CSV import.
|
||||||
Assignment:
|
Assignment:
|
||||||
- Coupled assignment candidates with list of speakers.
|
- Coupled assignment candidates with list of speakers.
|
||||||
- Created a poll description field for each assignment poll.
|
- Created a poll description field for each assignment poll.
|
||||||
|
@ -78,11 +78,14 @@ def import_motions(csvfile, default_submitter, override, importing_person=None):
|
|||||||
motion.reason = reason
|
motion.reason = reason
|
||||||
if category:
|
if category:
|
||||||
try:
|
try:
|
||||||
motion.category = Category.objects.get(name=category)
|
category_object = Category.objects.get(name=category)
|
||||||
except Category.DoesNotExist:
|
except Category.DoesNotExist:
|
||||||
warning.append(_('Category unknown. No category is used.'))
|
category_object = Category.objects.create(name=category, prefix=category[:1])
|
||||||
|
warning.append(_('Category unknown. New category created.'))
|
||||||
except Category.MultipleObjectsReturned:
|
except Category.MultipleObjectsReturned:
|
||||||
|
category_object = None
|
||||||
warning.append(_('Several suitable categories found. No category is used.'))
|
warning.append(_('Several suitable categories found. No category is used.'))
|
||||||
|
motion.category = category_object
|
||||||
motion.save()
|
motion.save()
|
||||||
|
|
||||||
# Add submitter
|
# Add submitter
|
||||||
|
@ -24,9 +24,8 @@ class CSVImport(TestCase):
|
|||||||
self.normal_client.login(username='User_CiuNgo4giqueeChie5oi', password='eihi1Eequaek4eagaiKu')
|
self.normal_client.login(username='User_CiuNgo4giqueeChie5oi', password='eihi1Eequaek4eagaiKu')
|
||||||
|
|
||||||
# Category
|
# Category
|
||||||
self.category1 = Category.objects.create(name='Satzungsanträge', prefix='SA')
|
self.category1 = Category.objects.create(name='Bildung', prefix='B1')
|
||||||
self.category2 = Category.objects.create(name='Bildung', prefix='B1')
|
self.category2 = Category.objects.create(name='Bildung', prefix='B2')
|
||||||
self.category3 = Category.objects.create(name='Bildung', prefix='B2')
|
|
||||||
|
|
||||||
def test_example_file_de(self):
|
def test_example_file_de(self):
|
||||||
special_user = User.objects.create_user(username='Harry_Holland',
|
special_user = User.objects.create_user(username='Harry_Holland',
|
||||||
@ -66,7 +65,7 @@ class CSVImport(TestCase):
|
|||||||
self.assertEqual(motion2.reason, u'Die Änderung der Satzung ist aufgrund der letzten Erfahrungen eine sinnvolle Maßnahme, weil ...')
|
self.assertEqual(motion2.reason, u'Die Änderung der Satzung ist aufgrund der letzten Erfahrungen eine sinnvolle Maßnahme, weil ...')
|
||||||
self.assertEqual(len(motion2.submitter.all()), 1)
|
self.assertEqual(len(motion2.submitter.all()), 1)
|
||||||
self.assertEqual(motion2.submitter.all()[0].person, special_user)
|
self.assertEqual(motion2.submitter.all()[0].person, special_user)
|
||||||
self.assertEqual(motion2.category, self.category1)
|
self.assertEqual(motion2.category.name, u"Satzungsanträge") # category is created automatically
|
||||||
|
|
||||||
# check user 'John Doe'
|
# check user 'John Doe'
|
||||||
self.assertTrue('Several suitable submitters found.' in warning_message)
|
self.assertTrue('Several suitable submitters found.' in warning_message)
|
||||||
|
Loading…
Reference in New Issue
Block a user