def fields(self): # Since @property is readonly we can't modify field values in display() method # Returns fields modified by display() if self._fields: return self._fields list_of_fields = [ ew.SingleSelectField( name='sex', label='Gender', options=[ ew.Option(py_value=v, label=v, selected=False) for v in ['Male', 'Female', 'Unknown', 'Other'] ], validator=formencode.All( V.OneOfValidator(['Male', 'Female', 'Unknown', 'Other']), fev.UnicodeString(not_empty=True))), ew.SingleSelectField( name='country', label='Country of residence', validator=V.MapValidator(country_names, not_empty=False), options=[ ew.Option( py_value=" ", label=" -- Unknown -- ", selected=False) ] + [ ew.Option(py_value=c, label=n, selected=False) for c, n in sorted(country_names.items(), key=lambda (k, v): v) ], attrs={'onchange': 'selectTimezone(this.value)'}), ew.TextField(name='city', label='City of residence', attrs=dict(value=None), validator=fev.UnicodeString(not_empty=False)), ew.SingleSelectField( name='timezone', label='Timezone', attrs={'id': 'tz'}, validator=V.OneOfValidator(common_timezones, not_empty=False), options=[ew.Option(py_value=" ", label=" -- Unknown -- ")] + [ ew.Option(py_value=n, label=n) for n in sorted(common_timezones) ]) ] if asbool(tg.config.get('auth.allow_birth_date', True)): list_of_fields[1:1] = self.birth_date_fields return list_of_fields
class fields(ew_core.NameList): weekday = ew.SingleSelectField( label='Weekday', options=[ew.Option(py_value=wd, label=wd) for wd in weekdays], validator=V.OneOfValidator(weekdays)) starttime = ew.TextField(label='Start time', validator=V.TimeValidator()) endtime = ew.TextField(label='End time', validator=V.TimeValidator())
def display(self, **kw): categories = kw.get('categories') self.fields['selected_category'].options = [ ew.Option(py_value=el.trove_cat_id, label=el.fullname) for el in categories ] self.fields['selected_category'].validator = formencode.All( V.OneOfValidator(categories), fev.UnicodeString(not_empty=True)) return super(ForgeForm, self).display(**kw)
def display(self, **kw): categories = kw.get('categories') self.fields['selected_category'].options = [ ew.Option(py_value=el.trove_cat_id, label=el.fullname) for el in categories ] self.fields['selected_category'].validator = V.OneOfValidator( categories) return super(ForgeForm, self).display(**kw)
class fields(ew_core.NameList): socialnetwork = ew.SingleSelectField( label='Social network', options=[ ew.Option(py_value=name, label=name) for name in socialnetworks ], validator=formencode.All(V.OneOfValidator(socialnetworks), fev.UnicodeString(not_empty=True))) accounturl = ew.TextField(label='Account url', validator=fev.UnicodeString(not_empty=True))
class fields(ew_core.NameList): sex = ew.SingleSelectField( label='Gender', options=[ ew.Option(py_value=v, label=v, selected=False) for v in ['Male', 'Female', 'Unknown', 'Other'] ], validator=formencode.All( V.OneOfValidator(['Male', 'Female', 'Unknown', 'Other']), fev.UnicodeString(not_empty=True))) birthdate = ew.TextField(label='Birth date', validator=V.DateValidator(), attrs=dict(value=None)) exp = _HTMLExplanation(text="Use the format DD/MM/YYYY", show_errors=False) country = ew.SingleSelectField( label='Country of residence', validator=V.MapValidator(country_names, not_empty=False), options = [ ew.Option( py_value=" ", label=" -- Unknown -- ", selected=False)] +\ [ew.Option(py_value=c, label=n, selected=False) for c,n in sorted(country_names.items(), key=lambda (k,v):v)], attrs={'onchange':'selectTimezone(this.value)'}) city = ew.TextField(label='City of residence', attrs=dict(value=None), validator=fev.UnicodeString(not_empty=False)) timezone=ew.SingleSelectField( label='Timezone', attrs={'id':'tz'}, validator=V.OneOfValidator(common_timezones, not_empty=False), options=[ ew.Option( py_value=" ", label=" -- Unknown -- ")] + \ [ew.Option(py_value=n, label=n) for n in sorted(common_timezones)])
class fields(ew_core.NameList): weekday = ew.SingleSelectField( label='Weekday', options=[ew.Option(py_value=wd, label=wd) for wd in weekdays], validator=formencode.All(V.OneOfValidator(weekdays), fev.UnicodeString(not_empty=True))) starttime = ew.TextField(label='Start time', validator=formencode.All( V.TimeValidator(), fev.UnicodeString(not_empty=True))) endtime = ew.TextField(label='End time', validator=formencode.All( V.TimeValidator(), fev.UnicodeString(not_empty=True)))
def fields(self): socialnetworks = aslist( tg.config.get('socialnetworks', ['Facebook', 'Linkedin', 'Twitter', 'Google+']), ',') return [ ew.SingleSelectField(name='socialnetwork', label='Social network', validator=V.OneOfValidator(socialnetworks), options=[ ew.Option(py_value=name, label=name) for name in socialnetworks ]), ew.TextField(name='accounturl', label='Account url', validator=V.UnicodeString(not_empty=True)) ]
class fields(ew_core.NameList): selected_skill = ew.HiddenField( attrs={'value': ''}, show_errors=False, validator=V.UnicodeString(not_empty=True)) level = ew.SingleSelectField( label="Level of knowledge", options=[ ew.Option(py_value="low", label="Low level"), ew.Option(py_value="medium", label="Medium level"), ew.Option(py_value="high", label="Advanced level")], validator=formencode.All( V.OneOfValidator(['low', 'medium', 'high']), V.UnicodeString(not_empty=True))) comment = ew.TextArea( label="Additional comments", validator=V.UnicodeString(not_empty=False), attrs={'rows': 5, 'cols': 30})