From: Ray Speth Date: Sun, 21 Mar 2010 04:49:17 +0000 (-0400) Subject: Tags that are associated with any expenditures are automatically pruned X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=4d724b5efd7fd7c2c38a25e9d9210fe869aa0441;hp=53c0833dd52f70a3f57f00b2dc2ca436dd76e94f;p=bluechips.git Tags that are associated with any expenditures are automatically pruned --- 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('/')