meta_entity: Don't set transaction metadata when payee is None. RT#12913
This commit is contained in:
parent
770b22f2f0
commit
51eee8ec8f
3 changed files with 12 additions and 2 deletions
|
@ -72,7 +72,7 @@ class MetaEntity(core.TransactionHook):
|
|||
txn_entity, txn_entity_ok = self._check_entity(txn.meta, txn.payee)
|
||||
if txn_entity_ok is False:
|
||||
yield errormod.InvalidMetadataError(txn, self.METADATA_KEY, txn_entity)
|
||||
if txn_entity is txn.payee:
|
||||
if txn_entity is txn.payee and txn_entity is not None:
|
||||
txn.meta[self.METADATA_KEY] = txn.payee
|
||||
for post in data.Posting.from_txn(txn):
|
||||
if not post.account.is_under(
|
||||
|
|
2
setup.py
2
setup.py
|
@ -5,7 +5,7 @@ from setuptools import setup
|
|||
setup(
|
||||
name='conservancy_beancount',
|
||||
description="Plugin, library, and reports for reading Conservancy's books",
|
||||
version='1.13.0',
|
||||
version='1.13.1',
|
||||
author='Software Freedom Conservancy',
|
||||
author_email='info@sfconservancy.org',
|
||||
license='GNU AGPLv3+',
|
||||
|
|
|
@ -214,6 +214,16 @@ def test_which_accounts_required_on(hook, account, required):
|
|||
assert any(error.message == "{} missing entity".format(account)
|
||||
for error in errors)
|
||||
|
||||
def test_dont_set_entity_none(hook):
|
||||
txn = testutil.Transaction(postings=[
|
||||
('Expenses:Other', 5),
|
||||
('Assets:Cash', -5),
|
||||
])
|
||||
assert any(hook.run(txn))
|
||||
assert 'entity' not in txn.meta
|
||||
for post in txn.postings:
|
||||
assert post.meta is None or 'entity' not in post.meta
|
||||
|
||||
def test_not_required_on_opening(hook):
|
||||
txn = testutil.OpeningBalance()
|
||||
assert not list(hook.run(txn))
|
||||
|
|
Loading…
Reference in a new issue