From 416898d2a5f1663706f9d764f8d5278b4b4e35a9 Mon Sep 17 00:00:00 2001 From: Corey Oordt Date: Wed, 4 Jan 2012 23:53:50 -0500 Subject: [PATCH 1/2] Changed behavior of (de)activating an item within the change form: Instead of changing all descendants' active status to the current item's, it will only change the descendants' active status if the item is False. As it makes sense to have an item active, but its children inactive, it doesn't make sense that an item is inactive, but its descendants are active. This doesn't change the activate/deactivate admin actions. They will always affect an item and its descendants. --- categories/models.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/categories/models.py b/categories/models.py index a39cb29..ed62c52 100644 --- a/categories/models.py +++ b/categories/models.py @@ -107,10 +107,14 @@ class Category(MPTTModel): super(Category, self).save(*args, **kwargs) - for item in self.get_descendants(): - if item.active != self.active: - item.active = self.active - item.save() + # While you can activate an item without activating its descendants, + # It doesn't make sense that you can deactivate an item and have its + # decendants remain active. + if not self.active: + for item in self.get_descendants(): + if item.active != self.active: + item.active = self.active + item.save() class Meta: verbose_name_plural = 'categories' From f6502f45a3a3a1b14a151d198be3d4e85c1d342c Mon Sep 17 00:00:00 2001 From: Corey Oordt Date: Wed, 4 Jan 2012 23:54:21 -0500 Subject: [PATCH 2/2] Version bump to 0.8.7 --- categories/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/categories/__init__.py b/categories/__init__.py index 3b0c07e..c0553cd 100644 --- a/categories/__init__.py +++ b/categories/__init__.py @@ -1,7 +1,7 @@ __version_info__ = { 'major': 0, 'minor': 8, - 'micro': 6, + 'micro': 7, 'releaselevel': 'final', 'serial': 1 }