From 4d724b5efd7fd7c2c38a25e9d9210fe869aa0441 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Sun, 21 Mar 2010 00:49:17 -0400 Subject: [PATCH] Tags that are associated with any expenditures are automatically pruned --- bluechips/controllers/spend.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bluechips/controllers/spend.py b/bluechips/controllers/spend.py index ddd0a3c..4329307 100644 --- a/bluechips/controllers/spend.py +++ b/bluechips/controllers/spend.py @@ -63,6 +63,12 @@ def validate_state(value_dict, state, validator): ValidateNotAllZero = SimpleFormValidator(validate_state) +def prune_tags(): + for tag in meta.Session.query(model.Tag).all(): + if not tag.expenditures: + meta.Session.delete(tag) + meta.Session.commit() + class ExpenditureSchema(Schema): "Validate an expenditure." allow_extra_fields = False @@ -163,6 +169,8 @@ class SpendController(BaseController): 'op': op}) g.handle_notification(involved_users, show, body) + prune_tags() + return h.redirect_to('/') def delete(self, id): @@ -195,4 +203,6 @@ class SpendController(BaseController): 'op': 'deleted'}) g.handle_notification(involved_users, show, body) + prune_tags() + return h.redirect_to('/') -- 2.45.2