From e4feb79311049729cbcbf9d3bc5ea7d675f1647a Mon Sep 17 00:00:00 2001 From: Joshua Carp Date: Wed, 26 Aug 2015 16:23:05 -0400 Subject: [PATCH 1/5] Hide extended amendments on candidate filings page. [Resolves #1154] --- __init__.py | 2 +- openfecwebapp/constants.py | 131 ++++++++++-------- templates/election-lookup.html | 2 +- templates/macros/filters/checkbox.html | 35 +++++ templates/partials/filings-filter.html | 5 +- templates/partials/filings-tab-candidate.html | 4 +- templates/partials/filings-tab-committee.html | 6 +- .../partials/filters/amendment-indicator.html | 48 ++----- 8 files changed, 129 insertions(+), 104 deletions(-) create mode 100644 templates/macros/filters/checkbox.html diff --git a/__init__.py b/__init__.py index d75c6e8a0..9607ae74c 100644 --- a/__init__.py +++ b/__init__.py @@ -111,7 +111,7 @@ def get_election_url(candidate, cycle): 'cycle_start': cycle_start, 'cycle_end': cycle_end, 'election_url': get_election_url, - 'states': sorted(constants.states.items(), key=lambda pair: pair[0]), + 'constants': constants, 'districts': DISTRICTS, 'cycles': range(utils.current_cycle(), START_YEAR, -2), }) diff --git a/openfecwebapp/constants.py b/openfecwebapp/constants.py index 90425d2aa..2201e6c89 100644 --- a/openfecwebapp/constants.py +++ b/openfecwebapp/constants.py @@ -1,59 +1,72 @@ -states = { - 'AK': 'Alaska', - 'AL': 'Alabama', - 'AR': 'Arkansas', - 'AS': 'American Samoa', - 'AZ': 'Arizona', - 'CA': 'California', - 'CO': 'Colorado', - 'CT': 'Connecticut', - 'DC': 'District of Columbia', - 'DE': 'Delaware', - 'FL': 'Florida', - 'GA': 'Georgia', - 'GU': 'Guam', - 'HI': 'Hawaii', - 'IA': 'Iowa', - 'ID': 'Idaho', - 'IL': 'Illinois', - 'IN': 'Indiana', - 'KS': 'Kansas', - 'KY': 'Kentucky', - 'LA': 'Louisiana', - 'MA': 'Massachusetts', - 'MD': 'Maryland', - 'ME': 'Maine', - 'MI': 'Michigan', - 'MN': 'Minnesota', - 'MO': 'Missouri', - 'MP': 'Northern Mariana Islands', - 'MS': 'Mississippi', - 'MT': 'Montana', - 'NA': 'National', - 'NC': 'North Carolina', - 'ND': 'North Dakota', - 'NE': 'Nebraska', - 'NH': 'New Hampshire', - 'NJ': 'New Jersey', - 'NM': 'New Mexico', - 'NV': 'Nevada', - 'NY': 'New York', - 'OH': 'Ohio', - 'OK': 'Oklahoma', - 'OR': 'Oregon', - 'PA': 'Pennsylvania', - 'PR': 'Puerto Rico', - 'RI': 'Rhode Island', - 'SC': 'South Carolina', - 'SD': 'South Dakota', - 'TN': 'Tennessee', - 'TX': 'Texas', - 'UT': 'Utah', - 'VA': 'Virginia', - 'VI': 'Virgin Islands', - 'VT': 'Vermont', - 'WA': 'Washington', - 'WI': 'Wisconsin', - 'WV': 'West Virginia', - 'WY': 'Wyoming' -} +from collections import OrderedDict + +states = OrderedDict([ + ('AK', 'Alaska'), + ('AL', 'Alabama'), + ('AR', 'Arkansas'), + ('AS', 'American Samoa'), + ('AZ', 'Arizona'), + ('CA', 'California'), + ('CO', 'Colorado'), + ('CT', 'Connecticut'), + ('DC', 'District of Columbia'), + ('DE', 'Delaware'), + ('FL', 'Florida'), + ('GA', 'Georgia'), + ('GU', 'Guam'), + ('HI', 'Hawaii'), + ('IA', 'Iowa'), + ('ID', 'Idaho'), + ('IL', 'Illinois'), + ('IN', 'Indiana'), + ('KS', 'Kansas'), + ('KY', 'Kentucky'), + ('LA', 'Louisiana'), + ('MA', 'Massachusetts'), + ('MD', 'Maryland'), + ('ME', 'Maine'), + ('MI', 'Michigan'), + ('MN', 'Minnesota'), + ('MO', 'Missouri'), + ('MP', 'Northern Mariana Islands'), + ('MS', 'Mississippi'), + ('MT', 'Montana'), + ('NA', 'National'), + ('NC', 'North Carolina'), + ('ND', 'North Dakota'), + ('NE', 'Nebraska'), + ('NH', 'New Hampshire'), + ('NJ', 'New Jersey'), + ('NM', 'New Mexico'), + ('NV', 'Nevada'), + ('NY', 'New York'), + ('OH', 'Ohio'), + ('OK', 'Oklahoma'), + ('OR', 'Oregon'), + ('PA', 'Pennsylvania'), + ('PR', 'Puerto Rico'), + ('RI', 'Rhode Island'), + ('SC', 'South Carolina'), + ('SD', 'South Dakota'), + ('TN', 'Tennessee'), + ('TX', 'Texas'), + ('UT', 'Utah'), + ('VA', 'Virginia'), + ('VI', 'Virgin Islands'), + ('VT', 'Vermont'), + ('WA', 'Washington'), + ('WI', 'Wisconsin'), + ('WV', 'West Virginia'), + ('WY', 'Wyoming'), +]) + +amendment_indicators = OrderedDict([ + ('N', 'New'), + ('A', 'Amended'), +]) +amendment_indicators_extended = OrderedDict([ + ('T', 'Terminated'), + ('C', 'Consolidated'), + ('M', 'Multi-Candidate'), + ('S', 'Secondary'), +]) diff --git a/templates/election-lookup.html b/templates/election-lookup.html index 1689cfdbd..207eb51f1 100644 --- a/templates/election-lookup.html +++ b/templates/election-lookup.html @@ -34,7 +34,7 @@

New Search

Or search by state and district diff --git a/templates/macros/filters/checkbox.html b/templates/macros/filters/checkbox.html new file mode 100644 index 000000000..efd97c55b --- /dev/null +++ b/templates/macros/filters/checkbox.html @@ -0,0 +1,35 @@ +{% macro checkbox(name, value, label) %} + +{% endmacro %} + +{% macro checkbox_list(name, options, css_class='dropdown__list') %} + +{% endmacro %} + +{% macro checkbox_options(name, options) %} + +{% endmacro %} + +{% macro checkbox_dropdown(name, label, selected={}, options={}) %} +
+
+ {{ label }} + {{ checkbox_list(name, selected, css_class='dropdown__selected') }} + {% if options %} + {{ checkbox_options(name, options) }} + {% endif %} +
+
+{% endmacro %} diff --git a/templates/partials/filings-filter.html b/templates/partials/filings-filter.html index bdab7ab08..9efca93e4 100644 --- a/templates/partials/filings-filter.html +++ b/templates/partials/filings-filter.html @@ -2,6 +2,7 @@ {% import 'macros/filters/text.html' as text %} {% import 'macros/filters/typeahead-filter.html' as typeahead %} +{% import 'partials/filters/amendment-indicator.html' as amendment %} {% import 'macros/filters/states.html' as states %} {% import 'macros/filters/date.html' as date %} @@ -15,8 +16,8 @@ {{ text.field('report_year', 'Report Year') }} -{% include 'partials/filters/amendment-indicator.html' %} +{{ amendment.amendment_indicator() }} {% include 'partials/filters/primary-general.html' %} {% include 'partials/filters/report-type.html' %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/templates/partials/filings-tab-candidate.html b/templates/partials/filings-tab-candidate.html index b410da22f..22279b48e 100644 --- a/templates/partials/filings-tab-candidate.html +++ b/templates/partials/filings-tab-candidate.html @@ -1,10 +1,12 @@ +{% import 'partials/filters/amendment-indicator.html' as amendment %} + diff --git a/templates/partials/filters/amendment-indicator.html b/templates/partials/filters/amendment-indicator.html index b6f013b22..c4defc6e8 100644 --- a/templates/partials/filters/amendment-indicator.html +++ b/templates/partials/filters/amendment-indicator.html @@ -1,38 +1,10 @@ -
-
- Amendment Indicator - - -
-
+{% import 'macros/filters/checkbox.html' as checkbox %} + +{% macro amendment_indicator(options=True) %} + {{ checkbox.checkbox_dropdown( + 'amendment_indicator', + 'Amendment Indicator', + selected=constants.amendment_indicators, + options=constants.amendment_indicators_extended if options else {}, + ) }} +{% endmacro %} From d777a63c483ad46764c110ab3bb1c0bbbb45bffb Mon Sep 17 00:00:00 2001 From: Joshua Carp Date: Wed, 26 Aug 2015 16:28:00 -0400 Subject: [PATCH 2/5] Rename filter to macro. --- templates/{partials => macros}/filters/amendment-indicator.html | 0 templates/macros/filters/states.html | 2 +- templates/partials/filings-filter.html | 2 +- templates/partials/filings-tab-candidate.html | 2 +- templates/partials/filings-tab-committee.html | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename templates/{partials => macros}/filters/amendment-indicator.html (100%) diff --git a/templates/partials/filters/amendment-indicator.html b/templates/macros/filters/amendment-indicator.html similarity index 100% rename from templates/partials/filters/amendment-indicator.html rename to templates/macros/filters/amendment-indicator.html diff --git a/templates/macros/filters/states.html b/templates/macros/filters/states.html index 0da48a332..85237abe3 100644 --- a/templates/macros/filters/states.html +++ b/templates/macros/filters/states.html @@ -7,7 +7,7 @@