Files @ 2993a2c3ad54
Branch filter:

Location: website/www/conservancy/templates/supporter/form_partial.html

brett
supporter: Fix detached labels in forms.
{% comment %}

This partial requires these parameters:

* `form_id`: The type of Supportership this form enrolls.  One of "annual",
  "monthly", or "renewal".
  Note that the form substantially changes the form based on this value.
  If you're changing this later to add a type, you'll want to consider how
  to handle all those.
* `min_amt`: The lowest amount of support the form will accept.

This partial accepts these optional parameters:

* `supptype`: Used in text to describe what type of Supporter this is.
  By default, it's generated from form_id.
  Override it for renewals.
* `article`: Used in front of `form_id` when it's written in the form.
  Default "a".  Set it to "an" when `supptype` begins with a vowel.
* `verb`: Used in form text to describe the sign-up process.
  Default "join".  Use "renew" when `form_id` is "renewal".
* `default_amt`: The amount of support the form loads with.
  Default `min_amt`.
* `partial_amt`: This form is for a donor who previously gave `partial_amt`,
  and is letting them contribute `min_amt` more to get up the usual
  Supporter amount.  This is attached to the form as a data attribute.

{% endcomment %}

{% with supptype=supptype|default:form_id article=article|default:"a" verb=verb|default:"join" default_amt=default_amt|default:min_amt partial_amt=partial_amt|default:0 %}
<div id="{{ form_id }}" class="supporter-type-selection">
  <h3>{{ verb|capfirst }} as {{ article }} {{ supptype|capfirst }} Supporter</h3>

  <p class="prolog"><span>Note:</span>
    {% if form_id == "annual" %}
    annual supporter is not an automatic renewal
    relationship.  If you join today, you'll receive an email in about one
    year to remind you to optionally renew.
    {% elif form_id == "monthly" %}
    Monthly renewal is automatic.  Also, monthly supporters might not
    receive tangible Supporter benefits (such as the t-shirt) until they've
    reached at least
    {# Six months of payments #}
    ${{ min_amt|add:min_amt|add:min_amt|add:min_amt|add:min_amt|add:min_amt }}
    in monthly supporter donations.
    However, they will be included immediately in
    the <a href="/sponsors/#supporters">Supporters' list</a>.
    {% elif form_id == "renewal" %}
    This option is for existing annual supporters
    who seek to renew for another year.  The annual renewal is not
    automatic; annual supporters are emailed each year to invite them to
    optionally renew.
    {% endif %}
  </p>

  <form class="supporter-form" method="post" target="_top"
        action="https://www.paypal.com/cgi-bin/webscr"
        data-upgrade-from-amount="{{ partial_amt }}">
    <div class="supporter-form-inputs">
      <input type="hidden" name="business" value="supporter@sfconservancy.org">
      <input type="hidden" name="return" value="https://sfconservancy.org/supporter/thank-you.html">
      <input type="hidden" name="no_shipping" value="0">
      <input type="hidden" name="item_name"
             value="Conservancy Supporter, {{ supptype|capfirst }}{% if form_id == "renewal" %} Renewal{% endif %}"
             >

      <div class="supporter-form-input">
        {% if form_id == "monthly" %}
        <input type="hidden" name="cmd" value="_xclick-subscriptions">
        <input type="hidden" name="lc" value="US">
        <input type="hidden" name="no_note" value="1">
        <input type="hidden" name="t3" value="M">
        <input type="hidden" name="p3" value="1">
        <input type="hidden" name="src" value="1">
        <input type="hidden" name="srt" value="0">
        <label for="a3">Monthly Amount: </label>
        <div class="input-group">
        $ <input type="number" name="a3" size="5" tabindex="10"
               min="{{ min_amt }}" value="{{ default_amt }}">
        {% else %}
        <input type="hidden" name="cmd" value="_xclick">
        <label for="amount">Amount: </label>
        <div class="input-group">
        $ <input type="number" name="amount" size="5" tabindex="10"
               min="{{ min_amt }}" value="{{ default_amt }}">
        {% endif %}
        <p class="form-error">${{ min_amt|add:partial_amt }} is a minimum for
          Conservancy Supporters.
          <a href="/donate">Donate smaller amounts here</a>.</p>
        </div>
      </div>

      <div class="supporter-form-input">
        <label for="on0">Do you want to receive
          {% if form_id == "renewal" %}
          another
          {% else %}
          a
          {% endif %}
          t-shirt? </label>
        <div class="input-group">
          <input type="radio" tabindex="20" name="on0" value="wantGiftYes">Yes
          <input type="radio" tabindex="20" checked="checked" name="on0" value="wantGiftNo">No
        </div>
      </div>

      <div class="supporter-form-input t-shirt-size-selector">
        <label for="os0">T-shirt size: </label>
        <div class="input-group">
          <select name="os0" tabindex="30">
            <option value="MenS">Men's S</option>
            <option value="MenM">Men's M</option>
            <option value="MenL">Men's L</option>
            <option value="MenXL">Men's XL</option>
            <option value="Men2XL">Men's 2XL</option>
            <option value="StandardLadiesS">Standard Ladies' S</option>
            <option value="StandardLadiesM">Standard Ladies' M</option>
            <option value="StandardLadiesL">Standard Ladies' L</option>
            <option value="StandardLadiesXL">Standard Ladies' XL</option>
            <option value="FittedLadiesS">Fitted Ladies' S</option>
            <option value="FittedLadiesM">Fitted Ladies' M</option>
            <option value="FittedLadiesL">Fitted Ladies' L</option>
            <option value="FittedLadiesXL">Fitted Ladies' XL</option>
          </select>
        </div>
      </div>

      <div class="supporter-form-input">
        <label for="publicAck">
          Should we <a href="/sponsors#supporters">list you publicly</a> as a Conservancy Supporter? </label>
        <div class="input-group">
          <input type="radio" tabindex="40" checked="checked" name="on1" value="publicAckYes">Yes
          <input type="radio" tabindex="40" name="on1" value="publicAckNo">No
        </div>
      </div>

      <div class="supporter-form-input">
        <label for="joinList">Join Conservancy's
          Low-Traffic Announcement Email List? </label>
        <div class="input-group">
          <input type="radio" tabindex="50" checked="checked" name="os1" value="joinListYes">Yes
          <input type="radio" tabindex="50" name="os1" value="joinListNo">No
        </div>
      </div>
    </div>

    <div class="supporter-form-submit">
      <input type="image" name="submit" tabindex="60"
             src="/img/supporter-payment-button-{{ form_id }}.png"
             height="81" width="188" border="0"
             alt="{{ verb|capfirst }} as {{ article }} {{ supptype|capfirst }} Supporter Now!">
      <p>Button above redirects to PayPal's site for credit
        card, bank account or PayPal balance payment methods.  Select
        options first.</p>
    </div>
  </form>
</div>
{% endwith %}