From 01295ab3f55b2f23a42f1d858aaec9501b55727b Mon Sep 17 00:00:00 2001 From: fredkingham Date: Fri, 29 Mar 2019 15:31:14 +0000 Subject: [PATCH] change date of birth to take a label --- changelog.md | 2 ++ opal/templates/_helpers/date_of_birth_field.html | 4 ++-- opal/templatetags/forms.py | 8 +++++++- opal/tests/test_templatetags_forms.py | 16 ++++++++++++++-- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/changelog.md b/changelog.md index bef447380..306be4912 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,8 @@ A User's UserProfile is now automatically created when you create a user in a post save signal. +The date of birth template tag now allows you have pass in a label to be displayed next to the form. + ### 0.13.1 (Minor Release) Upgrades the setup.py Django version from 2.0.9 to 2.0.13. Removes the six library dependency from setup.py. diff --git a/opal/templates/_helpers/date_of_birth_field.html b/opal/templates/_helpers/date_of_birth_field.html index 599143864..9b3ae0c45 100644 --- a/opal/templates/_helpers/date_of_birth_field.html +++ b/opal/templates/_helpers/date_of_birth_field.html @@ -1,11 +1,11 @@
- +

[[ {{ model_name }} | displayDate ]]

- +
diff --git a/opal/templatetags/forms.py b/opal/templatetags/forms.py index eb57f1d92..5dfd106df 100644 --- a/opal/templatetags/forms.py +++ b/opal/templatetags/forms.py @@ -324,9 +324,15 @@ def icon(name): @register.inclusion_tag('_helpers/date_of_birth_field.html') def date_of_birth_field(**kwargs): model_name = kwargs.get('model_name', "editing.demographics.date_of_birth") + label = kwargs.get("label") + + if not label: + Demographics = get_subrecord_from_model_name("Demographics") + label = Demographics._get_field_title("date_of_birth") return dict( model_name=model_name, - style=get_style(kwargs) + style=get_style(kwargs), + label=label ) diff --git a/opal/tests/test_templatetags_forms.py b/opal/tests/test_templatetags_forms.py index 7f5f8cc94..7b0b32a17 100644 --- a/opal/tests/test_templatetags_forms.py +++ b/opal/tests/test_templatetags_forms.py @@ -575,7 +575,8 @@ def test_set_field(self): ctx = date_of_birth_field(model_name="something") expected = dict( style="horizontal", - model_name="something" + model_name="something", + label="Date of Birth" ) self.assertEqual(expected, ctx) @@ -583,7 +584,8 @@ def test_default(self): ctx = date_of_birth_field() expected = dict( model_name="editing.demographics.date_of_birth", - style='horizontal' + style='horizontal', + label="Date of Birth" ) self.assertEqual(expected, ctx) @@ -591,3 +593,13 @@ def test_render(self): tpl = Template('{% load forms %}{% date_of_birth_field %}') rendered = tpl.render(Context({})) self.assertIn("editing.demographics.date_of_birth", rendered) + + def test_label_not_defined(self): + tpl = Template('{% load forms %}{% date_of_birth_field %}') + rendered = tpl.render(Context({})) + self.assertIn("Date of Birth", rendered) + + def test_label_defined(self): + tpl = Template('{% load forms %}{% date_of_birth_field label="altered birth date label" %}') + rendered = tpl.render(Context({})) + self.assertIn("altered birth date label", rendered)