| 12 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 13 |
searchable=1, |
searchable=1, |
| 14 |
), |
), |
| 15 |
StringField('first_name', |
StringField('firstName', |
| 16 |
widget=StringWidget(label='First Name'), |
widget=StringWidget(label='First Name'), |
| 17 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 18 |
searchable=1, |
searchable=1, |
| 19 |
), |
), |
| 20 |
StringField('middle_name', |
StringField('middleName', |
| 21 |
widget=StringWidget(label='Middle Name/Initial'), |
widget=StringWidget(label='Middle Name/Initial'), |
| 22 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 23 |
searchable=1, |
searchable=1, |
| 24 |
), |
), |
| 25 |
StringField('last_name', |
StringField('lastName', |
| 26 |
widget=StringWidget(label='Last Name'), |
widget=StringWidget(label='Last Name'), |
| 27 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 28 |
searchable=1, |
searchable=1, |
| 29 |
), |
), |
| 30 |
StringField('nick_name', |
StringField('nickName', |
| 31 |
widget=StringWidget(label='Nick Name'), |
widget=StringWidget(label='Nick Name'), |
| 32 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 33 |
searchable=1, |
searchable=1, |
| 34 |
), |
), |
| 35 |
# CurrentOffice for politicians |
# CurrentOffice for politicians |
| 36 |
StringField('current_position', |
StringField('currentPosition', |
| 37 |
widget=StringWidget(label='Current Position'), |
widget=StringWidget(label='Current Position'), |
| 38 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 39 |
searchable=1, |
searchable=1, |
| 40 |
index="FieldIndex", |
index="FieldIndex", |
| 41 |
), |
), |
| 42 |
# Empty for non-government |
# Empty for non-government |
| 43 |
StringField('current_district', |
StringField('currentDistrict', |
| 44 |
widget=StringWidget(label='Current District'), |
widget=StringWidget(label='Current District'), |
| 45 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 46 |
searchable=1, |
searchable=1, |
| 53 |
searchable=1, |
searchable=1, |
| 54 |
index="FieldIndex", |
index="FieldIndex", |
| 55 |
), |
), |
| 56 |
StringField('first_elected', |
StringField('firstElected', |
| 57 |
widget=StringWidget(label='First Elected'), |
widget=StringWidget(label='First Elected'), |
| 58 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 59 |
searchable=1, |
searchable=1, |
| 60 |
), |
), |
| 61 |
StringField('last_elected', |
StringField('lastElected', |
| 62 |
widget=StringWidget(label='Last Elected'), |
widget=StringWidget(label='Last Elected'), |
| 63 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 64 |
searchable=1, |
searchable=1, |
| 65 |
), |
), |
| 66 |
StringField('next_election', |
StringField('nextElection', |
| 67 |
widget=StringWidget(label='Next Election'), |
widget=StringWidget(label='Next Election'), |
| 68 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 69 |
searchable=1, |
searchable=1, |
| 70 |
), |
), |
| 71 |
StringField('political_party', |
StringField('politicalParty', |
| 72 |
widget=SelectionWidget(label='Political Party'), |
widget=SelectionWidget(label='Political Party'), |
| 73 |
vocabulary='getPoliticalParties', |
vocabulary='getPoliticalParties', |
| 74 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 95 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 96 |
searchable=1, |
searchable=1, |
| 97 |
), |
), |
| 98 |
StringField('home_city', |
StringField('homeCity', |
| 99 |
widget=StringWidget(label='Home City'), |
widget=StringWidget(label='Home City'), |
| 100 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 101 |
searchable=1, |
searchable=1, |
| 114 |
searchable=1, |
searchable=1, |
| 115 |
index="FieldIndex", |
index="FieldIndex", |
| 116 |
), |
), |
| 117 |
LinesField('professional_experience', |
LinesField('professionalExperience', |
| 118 |
widget=LinesWidget(label='Professional Experience'), |
widget=LinesWidget(label='Professional Experience'), |
| 119 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 120 |
searchable=1, |
searchable=1, |
| 121 |
index="FieldIndex", |
index="FieldIndex", |
| 122 |
), |
), |
| 123 |
LinesField('political_experience', |
LinesField('politicalExperience', |
| 124 |
widget=LinesWidget(label='Political Experience'), |
widget=LinesWidget(label='Political Experience'), |
| 125 |
storage=PostgreSQLStorage(), |
storage=PostgreSQLStorage(), |
| 126 |
searchable=1, |
searchable=1, |
| 132 |
searchable=1, |
searchable=1, |
| 133 |
), |
), |
| 134 |
)) + TemplateMixin.schema |
)) + TemplateMixin.schema |
|
|
|
| 135 |
# ImageField('picture', storage=PostgreSQLStorage()), |
# ImageField('picture', storage=PostgreSQLStorage()), |
| 136 |
|
|
| 137 |
|
# Setup the title for our purposes |
| 138 |
|
schema['title'].mode='r' |
| 139 |
|
schema['title'].required=0 |
| 140 |
|
|
| 141 |
class ActionRecipient(TemplateMixin, BaseContent): |
class ActionRecipient(TemplateMixin, BaseContent): |
| 142 |
"""Object for storing information on manual action recipients.""" |
"""Action Recipient (politician|executive|some person) Object""" |
| 143 |
schema = schema |
schema = schema |
| 144 |
archetype_name = "Action Recipient" |
archetype_name = "Action Recipient" |
| 145 |
actions = TemplateMixin.actions |
actions = TemplateMixin.actions |
| 146 |
|
|
| 147 |
|
def Title(self): |
| 148 |
|
try: |
| 149 |
|
middle_name = self.Schema()['middleName'].get(self) |
| 150 |
|
first_name = self.Schema()['firstName'].get(self) |
| 151 |
|
last_name = self.Schema()['lastName'].get(self) |
| 152 |
|
return u"%s, %s %s" % (last_name, first_name, middle_name) |
| 153 |
|
except KeyError: |
| 154 |
|
return '(no name)' |
| 155 |
|
|
| 156 |
def getPoliticalParties(self): |
def getPoliticalParties(self): |
| 157 |
result = DisplayList() |
result = DisplayList() |
| 158 |
try: |
try: |