{%extends "base.html"%}
{%block title1%}Settings -{%endblock%}
{%block body%}
<h2>Hi!</h2>

<form name="welcome" action="{{post_url}}" method="POST">

{{form.xsrf}}
{%if form.xsrf.errors%}
<ul>
  {%for e in form.xsrf.errors%}
    <li>{{e}}</li>
  {%endfor%}
</ul>
{%endif%}

{{form.dest}}
<input type="hidden" name="step" value="2" />

<p>Hi, welcome to Android.  Before we can get going, we need a little bit of
information from you.</p>

<table class="settings">
<tbody>
<tr><th>Contributor License Grant</th></tr>
<tr><td style="white-space: normal;">
<p>If you're going to contribute code, we need you to sign a "contributor
license grant."  This affirms that you are granting the Android Project 
the right to use the code you contribute.  Please read the agreement for all
of the details.
<p>Which one would you like?</p>
<ul style="list-style: none; padding-left: 4em; text-indent: -2em;">
  <li><input type="radio" id="id_cla_none" value="none" name="cla"
      {% ifequal form.initial.cla 'none' %}checked{% endifequal %}
      /><label
      for="id_cla_none"> <b>None right now.</b>
      If you don't want to do this now, you can go to your user settings
      page and do it later.<br/>
      </label></li>
  <li><input type="radio" id="id_cla_individual" value="individual" name="cla"
      {% ifequal form.initial.cla 'individual' %}checked{% endifequal %}
      /><label for="id_cla_individual"> <b>Individual.</b>
      If you are going to be contributing code on your own, this is the one
      you want.  You can sign this one online.</label></li>
  <li><input type="radio" id="id_cla_corporate" value="corporate" name="cla"
      {% ifequal form.initial.cla 'corporate' %}checked{% endifequal %}
      /><label for="id_cla_corporate"> <b>Corporate.</b>
      If you are going to be contributing code
      on behalf of your company, this is the one you want.  We'll give
      you a form that will need to printed, signed and sent back via
      post, email or fax.</label></li>
</ul>
</td></tr>
</tbody>
</table>

<input type="button" name="back" value="Back" onclick="document.welcome.submit();">
<input type="submit" name="continue" value="Continue">

</form>

{%endblock%}

