def vouchers(context): session = get_session('ukhvoucher') items = [] disabled = set() query = session.query(Voucher) if isinstance(context, Account): query = query.filter(Voucher.user_id==context.oid) for item in query.all(): items.append(SimpleTerm(item, token=item.oid, title="%s - %s %s" %(item.title, item.status.strip(), item.cat))) if item.invoice is not None or item.status.strip() in (DISABLED, BOOKED): disabled.add(str(item.oid)) disabled.add(item.oid) vocabulary = SimpleVocabulary(items) vocabulary.disabled_items = disabled return vocabulary