mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +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')
|
||||
|
||||
|
||||
@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()
|
||||
def asset(filename):
|
||||
"""Return fully-qualified path for an upload report asset file.
|
||||
|
@ -29,6 +29,19 @@ class ReportTagTest(TestCase):
|
||||
"""Enable or disable debug mode for reports"""
|
||||
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):
|
||||
"""Tests for asset files"""
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user