Skip to content

Commit 3b6a88b

Browse files
authored
Merge pull request #421 from datamade/campaign-donations
add campaign contributions to person detail
2 parents 1f27802 + 9baf2f9 commit 3b6a88b

11 files changed

+249
-231
lines changed

chicago/models.py

+17-12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import pytz
66
from councilmatic_core.models import Bill, Event, Organization, Person
7+
from chicago.utils import get_alder_extras
78
from dateutil.relativedelta import relativedelta
89
from django.conf import settings
910
from django.db import models
@@ -225,24 +226,28 @@ def legislation_count(self):
225226
sponsorships__person=self, sponsorships__primary=True
226227
).count()
227228

228-
@property
229-
def election_status(self):
230-
for p in settings.ALDER_EXTRAS:
231-
if (
232-
self.slug.startswith(p)
233-
and "election-status" in settings.ALDER_EXTRAS[p]
234-
):
235-
return settings.ALDER_EXTRAS[p]["election-status"]
229+
def extra_props(self, key):
230+
extra = get_alder_extras(self.slug)
231+
if extra and key in extra:
232+
return extra[key]
236233

237234
return ""
238235

239236
@property
240237
def caucus(self):
241-
for p in settings.ALDER_EXTRAS:
242-
if self.slug.startswith(p) and "caucus" in settings.ALDER_EXTRAS[p]:
243-
return settings.ALDER_EXTRAS[p]["caucus"]
238+
return self.extra_props("caucus")
244239

245-
return ""
240+
@property
241+
def candidate_id(self):
242+
return self.extra_props("candidate_id")
243+
244+
@property
245+
def manual_headshot(self):
246+
image_path = self.extra_props("image")
247+
if image_path:
248+
return f"/static/images/manual-headshots/{image_path}" # noqa
249+
250+
return "/static/images/headshot_placeholder.png"
246251

247252
@property
248253
def term_active(self):

chicago/settings.py

+1-205
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
sentry_sdk.init(
3131
dsn=os.environ["SENTRY_DSN"],
3232
integrations=[DjangoIntegration()],
33-
release=f"{os.environ['HEROKU_RELEASE_VERSION']}-{os.environ['HEROKU_APP_NAME']}",
33+
release=f"{os.environ['HEROKU_RELEASE_VERSION']}-{os.environ['HEROKU_APP_NAME']}", # noqa
3434
enable_tracing=True,
3535
traces_sample_rate=0.05,
3636
)
@@ -326,210 +326,6 @@
326326
"valencia-anna-m-257a68ccbc17": "City Clerk",
327327
}
328328

329-
ALDER_EXTRAS = {
330-
"abarca-anabel": {"image": "abarca-anabel.jpg"},
331-
"arena-john": {"image": "arena-john.jpg"},
332-
"austin-carrie-m": {
333-
"image": "austin-carrie-m.jpg",
334-
"election-status": "Indicted, Retiring",
335-
"caucus": "Black Caucus",
336-
},
337-
"beale-anthony": {"image": "beale-anthony.jpg", "caucus": "Black Caucus"},
338-
"brookins-jr-howard": {
339-
"image": "brookins-jr-howard.jpg",
340-
"caucus": "Black Caucus",
341-
"election-status": "Retiring",
342-
},
343-
"burke-edward-m": {
344-
"image": "burke-edward-m.jpg",
345-
"election-status": "Indicted, Retiring",
346-
},
347-
"burnett-jr-walter": {"image": "burnett-jr-walter.jpg", "caucus": "Black Caucus"},
348-
"burns-william-d": {"image": "burns-william-d.jpg"},
349-
"cappleman-james": {
350-
"image": "cappleman-james.jpg",
351-
"election-status": "Retiring",
352-
"caucus": "LGBT Caucus",
353-
},
354-
"cardenas-george-a": {"image": "cardenas-george-a.jpg", "caucus": "Latino Caucus"},
355-
"cardona-jr-felix": {
356-
"image": "cardona-jr-felix.jpg",
357-
"caucus": "Latino Caucus",
358-
},
359-
"cochran-willie": {"image": "cochran-willie.jpg"},
360-
"coleman-stephanie-d": {
361-
"image": "coleman-stephanie-d.jpg",
362-
"caucus": "Black Caucus",
363-
},
364-
"curtis-derrick-g": {"image": "curtis-derrick-g.jpg", "caucus": "Black Caucus"},
365-
"dowell-pat": {"image": "dowell-pat.jpg", "caucus": "Black Caucus"},
366-
"emanuel-rahm": {"image": "emanuel-rahm.jpg"},
367-
"ervin-jason-c": {"image": "ervin-jason-c.jpg", "caucus": "Black Caucus"},
368-
"foulkes-toni": {"image": "foulkes-toni.jpg"},
369-
"gardiner-james-m": {"image": "gardiner-james-m.jpg"},
370-
"hadden-maria-e": {
371-
"image": "hadden-maria-e.jpg",
372-
"caucus": "Black Caucus, Progressive Caucus, LGBT Caucus",
373-
},
374-
"hairston-leslie-a": {
375-
"image": "hairston-leslie-a.jpg",
376-
"election-status": "Retiring",
377-
"caucus": "Black Caucus, Progressive Caucus",
378-
},
379-
"harris-michelle-a": {"image": "harris-michelle-a.jpg", "caucus": "Black Caucus"},
380-
"hopkins-brian": {"image": "hopkins-brian.jpg"},
381-
"king-sophia": {
382-
"image": "king-sophia.jpg",
383-
"election-status": "Running for Mayor, not seeking re-election",
384-
"caucus": "Black Caucus, Progressive Caucus",
385-
},
386-
"knudsen-timothy-r": {"image": "knudsen-timothy-r.jpg", "caucus": "LGBT Caucus"},
387-
"la-spata-daniel": {
388-
"image": "la-spata-daniel.jpg",
389-
"caucus": "Democratic Socialist, Latino Caucus, Progressive Caucus",
390-
},
391-
"laurino-margaret": {"image": "laurino-margaret.jpg"},
392-
"lee-nicole-t": {"image": "lee-nicole-t.jpg"},
393-
"lopez-raymond-a": {"image": "lopez-raymond-a.jpg", "caucus": "LGBT Caucus"},
394-
"lightfoot-lori-e": {"image": "lightfoot-lori-e.jpg"},
395-
"maldonado-roberto": {
396-
"image": "maldonado-roberto.jpg",
397-
"election-status": "Retiring",
398-
"caucus": "Latino Caucus",
399-
},
400-
"martin-matthew-j": {
401-
"image": "martin-matthew-j.jpg",
402-
"caucus": "Black Caucus, Progressive Caucus",
403-
},
404-
"mell-deborah": {"image": "mell-deborah.jpg"},
405-
"mendoza-susana-a": {"image": "mendoza-susana-a.jpg"},
406-
"mitchell-gregory-i": {"image": "mitchell-gregory-i.jpg", "caucus": "Black Caucus"},
407-
"mitts-emma": {"image": "mitts-emma.jpg", "caucus": "Black Caucus"},
408-
"moore-david-h": {
409-
"image": "moore-david-h.jpg",
410-
"caucus": "Black Caucus",
411-
},
412-
"moore-joseph": {"image": "moore-joseph.jpg"},
413-
"moreno-proco-joe": {"image": "moreno-proco-joe.jpg"},
414-
"munoz-ricardo": {"image": "munoz-ricardo.jpg"},
415-
"napolitano-anthony-v": {"image": "napolitano-anthony-v.jpg"},
416-
"nugent-samantha": {"image": "nugent-samantha.jpg"},
417-
"oconnor-patrick": {"image": "oconnor-patrick.jpg"},
418-
"oshea-matthew-j": {"image": "oshea-matthew-j.jpg"},
419-
"osterman-harry": {"image": "osterman-harry.jpg", "election-status": "Retiring"},
420-
"pawar-ameya": {"image": "pawar-ameya.jpg"},
421-
"quinn-marty": {"image": "quinn-marty.jpg"},
422-
"ramirez-rosa-carlos": {
423-
"image": "ramirez-rosa-carlos.jpg",
424-
"caucus": "Democratic Socialist, Latino Caucus, Progressive Caucus, LGBT Caucus", # noqa
425-
},
426-
"reboyras-ariel": {
427-
"image": "reboyras-ariel.jpg",
428-
"caucus": "Latino Caucus",
429-
"election-status": "Retiring",
430-
},
431-
"reilly-brendan": {"image": "reilly-brendan.jpg"},
432-
"rodriguez-michael-d": {
433-
"image": "rodriguez-michael-d.jpg",
434-
"caucus": "Latino Caucus, Progressive Caucus",
435-
},
436-
"rodriguez-sanchez-rossana": {
437-
"image": "rodriguez-sanchez-rossana.jpg",
438-
"caucus": "Democratic Socialist, Latino Caucus, Progressive Caucus",
439-
},
440-
"sadlowski-garza-susan": {
441-
"image": "sadlowski-garza-susan.jpg",
442-
"election-status": "Retiring",
443-
"caucus": "Latino Caucus, Progressive Caucus",
444-
},
445-
"santiago-milagros-s": {"image": "santiago-milagros-s.jpg"},
446-
"sawyer-roderick-t": {
447-
"image": "sawyer-roderick-t.jpg",
448-
"election-status": "Running for Mayor, not seeking re-election",
449-
"caucus": "Black Caucus, Progressive Caucus",
450-
},
451-
"scott-jr-michael": {"image": "scott-jr-michael.jpg", "caucus": "Black Caucus"},
452-
"scott-monique-l": {"image": "scott-monique-l.jpg", "caucus": "Black Caucus"},
453-
"sigcho-lopez-byron": {
454-
"image": "sigcho-lopez-byron.jpg",
455-
"caucus": "Democratic Socialist, Latino Caucus, Progressive Caucus",
456-
},
457-
"silverstein-debra-l": {"image": "silverstein-debra-l.jpg"},
458-
"smith-michele": {"image": "smith-michele.jpg", "election-status": "Retiring"},
459-
"solis-daniel": {"image": "solis-daniel.jpg"},
460-
"sposato-nicholas": {"image": "sposato-nicholas.png"},
461-
"tabares-silvana": {"image": "tabares-silvana.jpg", "caucus": "Latino Caucus"},
462-
"taliaferro-chris": {
463-
"image": "taliaferro-chris.jpg",
464-
"caucus": "Black Caucus",
465-
},
466-
"taylor-jeanette-b": {
467-
"image": "taylor-jeanette-b.jpg",
468-
"caucus": "Black Caucus, Democratic Socialist, Progressive Caucus",
469-
},
470-
"thompson-patrick-d": {"image": "thompson-patrick-d.jpg"},
471-
"tunney-thomas": {
472-
"image": "tunney-thomas.jpg",
473-
"election-status": "Retiring",
474-
"caucus": "LGBT Caucus",
475-
},
476-
"valencia-anna-m": {"image": "valencia-anna-m.jpg"},
477-
"vasquez-jr-andre": {
478-
"image": "vasquez-jr-andre.jpg",
479-
"caucus": "Latino Caucus, Progressive Caucus",
480-
},
481-
"villegas-gilbert": {"image": "villegas-gilbert.jpg", "caucus": "Latino Caucus"},
482-
"waguespack-scott": {
483-
"image": "waguespack-scott.jpg",
484-
"caucus": "",
485-
},
486-
"zalewski-michael-r": {"image": "zalewski-michael-r.jpg"},
487-
"yancy-desmon-c": {
488-
"image": "yancy-desmon-c.jpg",
489-
"caucus": "Black Caucus, Progressive Caucus",
490-
},
491-
"robinson-lamont": {
492-
"image": "robinson-lamont.jpg",
493-
"caucus": "Black Caucus",
494-
},
495-
"ramirez-julia-m": {
496-
"image": "ramirez-julia-m.jpg",
497-
"caucus": "Latino Caucus, Progressive Caucus",
498-
},
499-
"mosley-ronnie-l": {
500-
"image": "mosley-ronnie-l.jpg",
501-
"caucus": "Black Caucus",
502-
},
503-
"manaa-hoppenworth-leni": {"image": "manaa-hoppenworth-leni.jpg"},
504-
"lawson-bennett-r": {"image": "lawson-bennett-r.jpg"},
505-
"hall-william-e": {
506-
"image": "hall-william-e.jpg",
507-
"caucus": "Black Caucus",
508-
},
509-
"gutierrez-jeylu-b": {
510-
"image": "gutierrez-jeylu-b.jpg",
511-
"caucus": "Latino Caucus, Progressive Caucus",
512-
},
513-
"fuentes-jessica": {
514-
"image": "fuentes-jessica.jpg",
515-
"caucus": "Latino Caucus, Progressive Caucus",
516-
},
517-
"cruz-ruth": {
518-
"image": "cruz-ruth.jpg",
519-
"caucus": "Latino Caucus, Progressive Caucus",
520-
},
521-
"conway-william": {"image": "conway-william.jpg"},
522-
"clay-angela": {
523-
"image": "clay-angela.jpg",
524-
"caucus": "Progressive Caucus",
525-
},
526-
"chico-peter": {
527-
"image": "chico-peter.jpg",
528-
"caucus": "Latino Caucus",
529-
},
530-
"johnson-brandon": {"image": "johnson-brandon.jpg"},
531-
}
532-
533329
TOPIC_HIERARCHY = [
534330
{
535331
"name": "Citywide matters",

chicago/templates/compare_council_members.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ <h1>Compare Alders</h1>
3232
<tr id="polygon-{{post.label | slugify}}">
3333
<td>
3434
<div class="thumbnail-square">
35-
<img src='{{person|get_person_headshot}}' alt='{{person.name}}' title='{{person.name}}' class='img-responsive' />
35+
<img src='{{person.manual_headshot}}' alt='{{person.name}}' title='{{person.name}}' class='img-responsive' />
3636
</div>
3737
</td>
3838
<td>

chicago/templates/event.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ <h4>Alder Attendance: {{attendance_present}} Present, {{attendance_absent}} Abse
103103
<tr class="{% if not p.attended %}danger{% endif %}">
104104
<td>
105105
<div class="thumbnail-square">
106-
<img src='{{p.attendee|get_person_headshot}}' alt='{{p.attendee.name}}' title='{{p.attendee.name}}' class='img-responsive' />
106+
<img src='{{p.attendee.manual_headshot}}' alt='{{p.attendee.name}}' title='{{p.attendee.name}}' class='img-responsive' />
107107
</div>
108108
</td>
109109
<td><a href="{% url 'person' p.attendee.slug %}">{{p.attendee.name}}</a></td>

chicago/templates/partials/committee_person_table.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<tr>
1717
<td>
1818
<div class="thumbnail-square">
19-
<img src='{{ membership.person|get_person_headshot }}' alt='{{membership.person.name}}' title='{{membership.person.name}}' class='img-responsive' />
19+
<img src='{{ membership.person.manual_headshot }}' alt='{{membership.person.name}}' title='{{membership.person.name}}' class='img-responsive' />
2020
</div>
2121
</td>
2222
<td>
@@ -34,7 +34,7 @@
3434
<tr>
3535
<td>
3636
<div class="thumbnail-square">
37-
<img src='{{ membership.person|get_person_headshot }}' alt='{{membership.person.name}}' title='{{membership.person.name}}' class='img-responsive' />
37+
<img src='{{ membership.person.manual_headshot }}' alt='{{membership.person.name}}' title='{{membership.person.name}}' class='img-responsive' />
3838
</div>
3939
</td>
4040
<td>
@@ -52,7 +52,7 @@
5252
<tr>
5353
<td>
5454
<div class="thumbnail-square">
55-
<img src='{{ membership.person|get_person_headshot }}' alt='{{membership.person.name}}' title='{{membership.person.name}}' class='img-responsive' />
55+
<img src='{{ membership.person.manual_headshot }}' alt='{{membership.person.name}}' title='{{membership.person.name}}' class='img-responsive' />
5656
</div>
5757
</td>
5858
<td>

chicago/templates/partials/council_member_table.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<td>
1616
{% if post.current_member %}
1717
<div class="thumbnail-square">
18-
<img src='{{post.current_member.person|get_person_headshot}}' alt='{{post.current_member.person.name}}' title='{{post.current_member.person.name}}' class='img-responsive' />
18+
<img src='{{post.current_member.person.manual_headshot}}' alt='{{post.current_member.person.name}}' title='{{post.current_member.person.name}}' class='img-responsive' />
1919
</div>
2020
{% endif %}
2121
</td>

0 commit comments

Comments
 (0)