Skip to content

Instantly share code, notes, and snippets.

@amol-
Created February 13, 2014 19:42
Show Gist options
  • Save amol-/d2a08027d34a8c4dfa69 to your computer and use it in GitHub Desktop.
Save amol-/d2a08027d34a8c4dfa69 to your computer and use it in GitHub Desktop.
Hand Made TW2 Form
from tw2.forms import Form
from tw2.forms.widgets import BaseLayout
class OrderForm(Form):
class child(BaseLayout):
inline_engine_name = 'genshi'
template = '''
<div xmlns:py="http://genshi.edgewall.org/">
<py:for each="c in w.children_hidden">
${c.display()}
</py:for>
<div class="form form-horizontal">
<div class="form-group">
<div class="col-md-9 col-md-offset-1">
<div class="form-group">
<div class="col-md-16">
${w.children.receiver.display()}
<span py:content="{w.children.receiver.error_msg"/>
</div>
</div>
<div class="form-group">
<div class="col-md-16">
${w.children.address.display()}
</div>
</div>
<div class="form-group">
<div class="col-md-7">
${w.children.city.display()}
</div>
<div class="col-md-7 col-md-offset-2">
${w.children.province.display()}
</div>
</div>
<div class="form-group">
<div class="col-md-7">
${w.children.zip_code.display()}
</div>
<div class="col-md-7 col-md-offset-2">
${w.children.nationality_id.display()}
</div>
</div>
<div class="form-group">
<div class="col-md-7">
${w.children.email.display()}
</div>
<div class="col-md-7 col-md-offset-2">
${w.children.phone.display()}
</div>
</div>
</div>
<div class="col-md-4 col-md-offset-1">
${w.children.notes.display()}
</div>
</div>
</div>
</div>
'''
receiver = TextField(label=None, validator=Validator(required=True),
css_class="form-control",
placeholder=l_("Destinatario"))
address = TextField(label=None, validator=Validator(required=True),
css_class="form-control",
placeholder=l_("Indirizzo"))
city = TextField(label=None, validator=Validator(required=True),
css_class="form-control", placeholder=l_("Città"))
province = TextField(label=None, validator=Validator(required=True),
css_class="form-control", placeholder=l_("Provincia"))
zip_code = TextField(label=None, validator=Validator(required=True),
css_class="form-control", placeholder=l_("CAP"))
nationality_id = SingleSelectField(label=None, css_class="form-control",
validator=OneOfValidator(required=True,
values=[i[0] for i in countries_rev()]),
attrs=dict(onchange='changeShippingPrice()'),
prompt_text=None,
options=[('IT', l_('SCEGLI UN PAESE'))] + countries_rev())
email = TextField(label=None, validator=Validator(required=True),
css_class="form-control", placeholder=l_("Email"))
phone = TextField(label=None, validator=Validator(required=True),
css_class="form-control", placeholder=l_("Telefono"))
notes = TextArea(label=None, css_class="form-control", placeholder=l_("Note"), rows=14)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment