summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-07-11 19:35:21 +0200
committerAurélien Bompard <aurelien@bompard.org>2013-07-11 19:35:21 +0200
commitd7fed57eb29d33909e1acc96f6e4cf41ea601378 (patch)
tree2a87ef64a6176a533c67aa444045a3f00b104db6
parente5b3c4a253f62e7e8ee64627c451a52ae58fd7e1 (diff)
downloadkittystore-d7fed57eb29d33909e1acc96f6e4cf41ea601378.tar.gz
kittystore-d7fed57eb29d33909e1acc96f6e4cf41ea601378.tar.xz
kittystore-d7fed57eb29d33909e1acc96f6e4cf41ea601378.zip
Dynamic creation of new thread categories
-rw-r--r--kittystore/storm/model.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/kittystore/storm/model.py b/kittystore/storm/model.py
index 4c9cf06..329488c 100644
--- a/kittystore/storm/model.py
+++ b/kittystore/storm/model.py
@@ -219,7 +219,7 @@ class Thread(Storm):
return self.emails.find(Email.date > date)
def _get_category(self):
- if not self.category_obj:
+ if not self.category_id:
return None
return self.category_obj.name
def _set_category(self, name):
@@ -229,6 +229,9 @@ class Thread(Storm):
# XXX: this is VERY hackish
store = self.__storm_object_info__["store"]
category = store.find(Category, Category.name == name).one()
+ if category is None:
+ category = Category(name)
+ store.add(category)
self.category_id = category.id
category = property(_get_category, _set_category)