diff options
| author | Aurélien Bompard <aurelien@bompard.org> | 2013-07-11 19:35:21 +0200 |
|---|---|---|
| committer | Aurélien Bompard <aurelien@bompard.org> | 2013-07-11 19:35:21 +0200 |
| commit | d7fed57eb29d33909e1acc96f6e4cf41ea601378 (patch) | |
| tree | 2a87ef64a6176a533c67aa444045a3f00b104db6 | |
| parent | e5b3c4a253f62e7e8ee64627c451a52ae58fd7e1 (diff) | |
| download | kittystore-d7fed57eb29d33909e1acc96f6e4cf41ea601378.tar.gz kittystore-d7fed57eb29d33909e1acc96f6e4cf41ea601378.tar.xz kittystore-d7fed57eb29d33909e1acc96f6e4cf41ea601378.zip | |
Dynamic creation of new thread categories
| -rw-r--r-- | kittystore/storm/model.py | 5 |
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) |
