Merge pull request #185 from dod-ccpo/format-dollars
Add jinja filter to format dollars
This commit is contained in:
commit
d8bc81a493
@ -10,7 +10,7 @@ from flask_wtf.csrf import CSRFProtect
|
||||
|
||||
from atst.database import db
|
||||
from atst.assets import environment as assets_environment
|
||||
|
||||
from atst.filters import register_filters
|
||||
from atst.routes import bp
|
||||
from atst.routes.workspaces import bp as workspace_routes
|
||||
from atst.routes.requests import requests_bp
|
||||
@ -40,6 +40,7 @@ def make_app(config):
|
||||
|
||||
make_flask_callbacks(app)
|
||||
make_crl_validator(app)
|
||||
register_filters(app)
|
||||
|
||||
db.init_app(app)
|
||||
csrf.init_app(app)
|
||||
@ -77,11 +78,6 @@ def make_flask_callbacks(app):
|
||||
"atat_permissions": [],
|
||||
}
|
||||
|
||||
@app.template_filter('iconSvg')
|
||||
def _iconSvg(name):
|
||||
with open('static/icons/'+name+'.svg') as contents:
|
||||
return contents.read()
|
||||
|
||||
|
||||
def map_config(config):
|
||||
return {
|
||||
|
16
atst/filters.py
Normal file
16
atst/filters.py
Normal file
@ -0,0 +1,16 @@
|
||||
def iconSvg(name):
|
||||
with open('static/icons/'+name+'.svg') as contents:
|
||||
return contents.read()
|
||||
|
||||
|
||||
def dollars(value):
|
||||
try:
|
||||
numberValue = float(value)
|
||||
except ValueError:
|
||||
numberValue = 0
|
||||
return "${:,.0f}".format(numberValue)
|
||||
|
||||
|
||||
def register_filters(app):
|
||||
app.jinja_env.filters['iconSvg'] = iconSvg
|
||||
app.jinja_env.filters['dollars'] = dollars
|
@ -116,7 +116,7 @@
|
||||
<td>{{ r['full_name'] }}</td>
|
||||
<td></td>
|
||||
{% endif %}
|
||||
<td>${{ r['annual_usage'] }}</td>
|
||||
<td>{{ r['annual_usage'] | dollars }}</td>
|
||||
<td>{{ r['status'] }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
15
tests/test_filters.py
Normal file
15
tests/test_filters.py
Normal file
@ -0,0 +1,15 @@
|
||||
import pytest
|
||||
|
||||
from atst.filters import dollars
|
||||
|
||||
|
||||
@pytest.mark.parametrize("input,expected", [
|
||||
('0', '$0'),
|
||||
('123.00', '$123'),
|
||||
('1234567', '$1,234,567'),
|
||||
('-1234', '$-1,234'),
|
||||
('one', '$0'),
|
||||
])
|
||||
def test_dollar_fomatter(input, expected):
|
||||
assert dollars(input) == expected
|
||||
|
Loading…
x
Reference in New Issue
Block a user