Merge pull request #873 from normanjaeckel/FixDeleteAssignment

Fix delete of assignments with related agenda items.
This commit is contained in:
Oskar Hahn 2013-09-07 07:44:42 -07:00
commit 2a9545b19a
2 changed files with 32 additions and 6 deletions

View File

@ -207,12 +207,6 @@ class Assignment(models.Model, SlideMixin):
def get_agenda_title(self):
return self.name
def delete(self):
# Remove any Agenda-Item, which is related to this assignment.
for item in Item.objects.filter(related_sid=self.sid):
item.delete()
super(Assignment, self).delete()
def slide(self):
"""
return the slide dict

View File

@ -0,0 +1,32 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Tests for openslides.assignment.models
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:copyright: 20112013 by OpenSlides team, see AUTHORS.
:license: GNU GPL, see LICENSE for more details.
"""
from django.test.client import Client
from openslides.utils.test import TestCase
from openslides.agenda.models import Item
from openslides.assignment.models import Assignment
from openslides.participant.models import User
class AssignmentModelTest(TestCase):
def setUp(self):
# Admin
self.admin = User.objects.get(pk=1)
self.admin_client = Client()
self.admin_client.login(username='admin', password='admin')
def test_delete_with_related_item(self):
assignment = Assignment.objects.create(name='assignment_name_fgdhensbch34zfu1284ds', posts=1)
response = self.admin_client.get('/assignment/1/agenda/')
self.assertRedirects(response, '/agenda/')
self.assertEqual(Item.objects.get(pk=1).get_title(), 'assignment_name_fgdhensbch34zfu1284ds')
assignment.delete()
self.assertTrue(Item.objects.filter(pk=1).exists())