mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16:44 +00:00
Adds a report template tag for dict access (#3905)
* Adds a report template tag for dict access (cherry picked from commit 7df2f0f878e312a6f94a2c24304643cde91012de) * Add unit test for new template tag
This commit is contained in:
parent
0d04008998
commit
0c0e61432d
@ -18,6 +18,20 @@ register = template.Library()
|
|||||||
logger = logging.getLogger('inventree')
|
logger = logging.getLogger('inventree')
|
||||||
|
|
||||||
|
|
||||||
|
@register.simple_tag()
|
||||||
|
def getkey(value: dict, arg):
|
||||||
|
"""Perform key lookup in the provided dict object.
|
||||||
|
|
||||||
|
This function is provided to get around template rendering limitations.
|
||||||
|
Ref: https://stackoverflow.com/questions/1906129/dict-keys-with-spaces-in-django-templates
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
value: A python dict object
|
||||||
|
arg: The 'key' to be found within the dict
|
||||||
|
"""
|
||||||
|
return value[arg]
|
||||||
|
|
||||||
|
|
||||||
@register.simple_tag()
|
@register.simple_tag()
|
||||||
def asset(filename):
|
def asset(filename):
|
||||||
"""Return fully-qualified path for an upload report asset file.
|
"""Return fully-qualified path for an upload report asset file.
|
||||||
|
@ -29,6 +29,19 @@ class ReportTagTest(TestCase):
|
|||||||
"""Enable or disable debug mode for reports"""
|
"""Enable or disable debug mode for reports"""
|
||||||
InvenTreeSetting.set_setting('REPORT_DEBUG_MODE', value, change_user=None)
|
InvenTreeSetting.set_setting('REPORT_DEBUG_MODE', value, change_user=None)
|
||||||
|
|
||||||
|
def test_getkey(self):
|
||||||
|
"""Tests for the 'getkey' template tag"""
|
||||||
|
|
||||||
|
data = {
|
||||||
|
'hello': 'world',
|
||||||
|
'foo': 'bar',
|
||||||
|
'with spaces': 'withoutspaces',
|
||||||
|
1: 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v in data.items():
|
||||||
|
self.assertEqual(report_tags.getkey(data, k), v)
|
||||||
|
|
||||||
def test_asset(self):
|
def test_asset(self):
|
||||||
"""Tests for asset files"""
|
"""Tests for asset files"""
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user