Changeset - 32e9164d48fc
[Not reviewed]
0 5 0
Bradley Kuhn (bkuhn) - 9 years ago 2015-03-05 21:25:08
bkuhn@ebb.org
Don't hard code style; use class and improve CSS

This changes the hard-coded style for what I'm calling the
content-with-donate-sidebar. The advantage of not hard-coding style are
obvious, but I'm doing this now rather than later so that I can add
changes to the CSS that causes the width to extend to 100% on smaller
screen media when the donate bar disappears (the latter of which is
already implemented).
5 files changed with 13 insertions and 4 deletions:
0 comments (0 inline, 0 general)
www/conservancy/static/conservancy.css
Show inline comments
 
* { margin: 0; padding: 0; }
 
img { border: 0; }
 
body { margin: 0; padding: 0; }
 
.clear { clear: both; }
 
.hidden { display: none; }
 

	
 
p, h1, h2, h3, h4, h5, h6, #mainContent ul, #mainContent ol {
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
body {
 
/*  font-family: "Lucida Grande",Verdana,Lucida,Helvetica,Arial,sans-serif; */
 
  font-family: Helvetica;
 
  font-size: 95%;
 
  background-color: #0000;
 
  color: #ffff;
 
}
 

	
 
a { text-decoration: none; color: #557733; }
 
a:hover { text-decoration: underline; color: #577632; }
 

	
 
.toggle-control  {
 
cursor: pointer;
 
text-decoration: none; color: #557733;
 
}
 
.toggle-control:hover { text-decoration: underline; color: #577632; }
 

	
 
/* FIXME: We should do this:          */
 
/* http://www.waypointarts.com/blog/2013/06/29/fixing-a-side-bar-while-scrolling-until-bottom */
 
.donate-sidebar {
 
    position: fixed;
 
    top: 180px;
 
    right: 2%;
 
    width: 18%;
 
}
 
@media all and (max-width: 625px) {
 
    .donate-sidebar { display: none; }
 
    .content-with-donate-sidebar {
 
        align: center;
 
        width: 100%;
 
    }
 
}
 

	
 
p.footnote {
 
    font-size: 85%;
 
}
 

	
 
h1 { margin-top: .75em; margin-bottom: .5em; }
 
h2 { margin-top: .75em; margin-bottom: .5em; }
 
h3 { margin-top: .6em; margin-bottom: .4em; }
 

	
 
#mainContent h1 { border-bottom: 1px solid #00334b; }
 
#mainContent h2 { border-bottom: 1px solid #aaa; }
 

	
 
#mainContent ul, #mainContent ol { padding-left: 1.5em; }
 

	
 
#mainContent img { margin: 3px; }
 

	
 
.internalNavigate { width: 19%; float: right; }
 
#mainContent .internalNavigate ul { list-style-type: none; padding-left: 0; }
 
.internalNavigate ul li { margin-top: .3em; margin-bottom: .3em; }
 

	
 
/* Header */
 

	
 
#conservancyheader {
 
  height: 140px;
 
/*  background-color: #d1ff96; */
 
/*  background-color: #92CC58; */
 
/*  background-color: #BDD8A2; */
 
/*  background-color: #92cc58; */
 
/*  background-color: #b5cd9d; */
 
  background-color: #ffffff;
 
  border-bottom: 1px solid #808080;
 
}
 
#conservancyheader h1 {
 
  text-indent: -5000px;
 
  margin: 0; /* hide in favor of image */
 
}
 
#logobutton {
 
  display: block;
 
  position: absolute; left: 17px; top: 10px; height: 120px; width: 933px;
 
  background: url(/img/conservancy-header.png)  left center no-repeat;
 
}
 

	
 
/* Navigation bar */
 
#navbar-outer { background: #577632; }
 
#navbar { margin-left: 104px; margin-top: 3px; float: left; display: inline; }
 
#navbar ul { list-style: none; }
 
#navbar-clear { clear: both; border-bottom: 1px solid #808080; }
 
#navbar li.supporter a {
 
  display: block;
 
  background: #fafafe;
 
  padding: .2em .8em;
 
  margin-right: 3px;
 
  border: 1px solid #808080;
 
  font-size: .8em;
 
  background: url(/img/nav-bg-campaign.png) bottom repeat-x;
 
  border-color: #ffffff;
 
}
 
#navbar li a {
 
  display: block;
 
  background: #fafafe;
 
  padding: .2em .8em;
 
  margin-right: 3px;
 
  border: 1px solid #808080;
 
  font-size: .8em;
 
  background: #fff url(/img/nav-bg.png) bottom repeat-x;
 
  border-color: #ffffff;
 
}
 
#navbar li:hover a { background: #577632; color: #fff; }
 
#navbar li.supporter:hover a { background: #577632; color: #CE1F1F; }
 
#navbar li { float: left; display: inline; margin-bottom: 3px; }
 

	
 
#mainContent {
 
    margin-left: 50px;
 
    margin-right: 50px;
 
}
 

	
 
.content-with-donate-sidebar {
 
    align: left;
 
    width: 80%;
 
}
 

	
 
#container {
 
    width: 100%;
 
    overflow: hidden;
 
}
 
#container #mainContent {
 
    background: #fffff;
 
    margin-left: 210px;
 
    margin-right: 50px;
 
}
 
#container #sidebar {
 
    width: 200px;
 
    float: left;
 
    background-color: #ccd4a3; 
 
}
 

	
 
#container #sidebar li {
 
    text-align: center;
 
    list-style: none;
 
    padding: 3px 10px 3px 10px; 
 
    margin: 5px; 
 
    border: 1px solid #CCC;
 
    background: #fff url(/img/nav-bg.png) bottom repeat-x;
 
}
 
#container #sidebar li:hover a { background: #577632; color: #fff; }
 

	
 
#container #sidebar.Directors ul li.Directors,
 
#container #sidebar.Eval ul li.Eval,
 
#container #sidebar.Overview ul li.Overview,
 
#container #sidebar.Contact ul li.Contact,
 
#container #sidebar.Officers ul li.Officers,
 
#container #sidebar.Staff ul li.Staff,
 
#container #sidebar.Outside ul li.Outside,
 
#container #sidebar.Filings ul li.Filings,
 
#container #sidebar.License ul li.License,
 
#container #sidebar.Current ul li.Current,
 
#container #sidebar.Services ul li.Services,
 
#container #sidebar.Applying ul li.Applying,
 
#container #sidebar.VMwareLawsuitAppeal ul li.VMwareLawsuitAppeal,
 
#container #sidebar.VMwareLawsuitFAQ ul li.VMwareLawsuitFAQ,
 
#container #sidebar.AboutCompliance ul li.AboutCompliance
 
{
 
    color: #000033;
 
    font-weight: bold;
 
    background: #fff url(/img/nav-bg-up.png) top repeat-x;
 
}
 
#container #sidebar h2 {
 
    text-align: center;
 
    font-size: 150%;
 
    margin: 1.5em 0 0.8em 0;
 
}
 
#container #sidebar hr {
 
    width: 75%;
 
    float: center;
 
    clear: all;
 
}
 

	
 
/* Navbar Submenus (currently unused) */
 
#navbar li ul { display: none; border: 1px solid #444; }
 
#navbar li:hover ul { display: block; position: absolute; }
 
#navbar li ul li { float: none; }
 
#navbar li ul li a { border: 0px; margin: 0px; }
 

	
 
.shaded { background: #F0FFB8; padding: .1em .5em; margin-bottom: .5em; }
 

	
 
.columns {
 
    width: 100%;
 
    overflow: hidden;
 
}
 

	
 
.column-small {
 
    width: 31%;
 
 }
 
.column-large {
 
    margin-left: 35%;
 
    margin-right: 50px;
 
}
 

	
 
.column-left { float: left; }
 
.column-right { float: right; }
 

	
 
.column h2 { font-size: 1.25em; }
 
.column h3 { font-size: 1.1em; }
 
.column hr { width: 50%; align: center; }
 

	
 
.column h2 a { text-decoration: none; color: #000000; }
 
.column h2 a:hover { text-decoration: underline; }
 

	
 
#conservancyfooter {
 
  margin-top: 1em;
 
  border-top: 1px solid #ccc;
 
  text-align: center;
 
  clear: both;
 
}
 

	
 
span.continued {
 
  display: block;
 
  font-size: .83em;
 
  font-weight: bold;
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
p.date {
 
  font-style: italic;
 
  font-size: .83em;
 
  margin-bottom: .3em;
 
  margin-top: .3em;
 
}
 

	
 
a.feedlink /* RSS icon */ { display: block; float: right; font-size: 10pt; }
 

	
 
blockquote, div.quote /* div.quote is used by conservancy whitepaper */ {
 
  margin-left: 2em;
 
  margin-right: 2em;
 
  padding-left: 1em;
 
  padding-right: 1em;
 
  border: 1px solid #fff;
 
  background: #eee;
 
}
 

	
 
.newsgraphic { float: right; }
 
.newsgraphic img { border: 1px solid #000; }
 

	
 
.secondary_info { font-size: 83%; }
 
.next_page_button { float: right; }
 
.pagination_list { text-align: center; }
 
.document_format { border: 1px solid #888; padding: .2em; background: #fff99d;}
 
.copyright_info { font-size: 90%; }
 
hr.footnote-separator { width: 80%; margin-left: auto; margin-right: auto; }
 

	
 
/* Resources pages */
 
div.download-formats { margin-top: 2em; margin-bottom: 2em; }
 
.download-formats p { display: inline; }
 
#mainContent .download-formats ul { display: inline; list-style: none;
 
                                    padding-left: 0; }
 
.download-formats ul li { display: inline; padding-left: 2em; }
 

	
 
/* Resources - book styles */
 
hr.chapter-separator { display: none; }
 
h2.likechapterHead { text-align: center; }
 
h2.chapterHead { text-align: center; }
 
#mainContent ul.author { list-style-type: none; padding-left: 0; }
 
#mainContent div.footnotes { font-style: normal; } /* remove italics */
 
span.sectionToc { padding-left: 2em; } /* indent TOC properly */
 
span.subsectionToc { padding-left: 4em; }
 
span.subsubsectionToc { padding-left: 6em;}
 
.js, .js p, .js p.bibitem, .js p.bibitem-p { background-color: #cde7e9; }
 

	
 
body.conservancy-Members #navbar ul li.Members a,
 
body.conservancy-news #navbar ul li.news a,
 
body.conservancy-blog #navbar ul li.blog a,
 
body.conservancy-About #navbar ul li.About a,
 
body.conservancy-Compliance #navbar ul li.Compliance a,
 
body.conservancy-donate #navbar ul li.donate a,
 
body.conservancy-npoacct #navbar ul li.npoacct a,
 
body.conservancy-sponsors #navbar ul li.sponsors a /* NO COMMA HERE! */
 
{ 
 
    color: #000033;
 
    font-weight: bold;
 
    background: #fff url(/img/nav-bg-up.png) top repeat-x;
 
}
 
body.conservancy-supporter #navbar ul li.supporter a
 
{ 
 
    color: #000033;
 
    font-weight: bold;
 
    background: url(/img/nav-bg-campaign-up.png) bottom repeat-x;
 
}
 

	
 
#supporters ul {
 
  list-style: none;
 
  margin: 0;
 
  padding: 0;
 
}
 

	
 
#supporters li:before {
 
    content: '';
 
    display: inline-block;
 
    height: 2em;
 
    width: 2em;
 
    background-image: url(/img/conservancy-supporter-heart.svg);
 
    background-size: contain;
 
    background-repeat: no-repeat;
 
    padding: 0.25em 1.2em 0.25em 0.25em;
 
    vertical-align: middle;
 
}
 

	
 
#supporters li {
 
    padding: 0.5em 2em 1em 2em;
 
    margin-left: .25em;
 
    list-style: none;
 
}
 

	
 
#sponsor ul {
 
  clear: all;
 
  margin-bottom: 10px;
 
}
 

	
 
#sponsor li {
 
  width: 100%;
 
  float: left;
 
  margin-top: 10px;
 
  text-align: center;
 
  list-style: none;
 
  margin-right: 5px;
 
}
 

	
 
#subbox {
 
   position: absolute;
 
   padding-top: 10px;
 
   right: 0px;
 
   width: 200px;
 
   font-size: 12px;
 
}
 

	
 
/* Make dl's ( such as for FAQ entries) look nice on screens, both big and small. */
 

	
 
dl {
 
    border: 3px double #ccc;
 
    padding: 0.5em;
 
}
 
dt {
 
    text-align: center;
 
    margin: 0em 1em 0.5em 0.5em;
 
    font-weight: bold;
 
    color: green; }
 
dd {
 
    margin: 0 0 1.5em 2em;
 
}
 

	
 
@media only screen and (min-width: 685px) {
 
dl {
 
    border: 3px double #ccc;
 
    padding: 0.5em;
 
}
 
dt {
 
    float: left;
 
    text-align: center;
 
    width: 10em;
 
    margin: 0em 1em 0.5em 0.5em;
 
    font-weight: bold;
 
    color: green; }
 
dt:after {
 
    content: ":";
 
}
 
dd {
 
    margin: 0 0 2.5em 11.5em;
 
}
 
}
www/conservancy/static/npoacct/index.html
Show inline comments
...
 
@@ -15,513 +15,513 @@
 
  $(document).ready(function() {
 
    $("#progressbar").progressbar({ value: (66274.98 / 75000) * 100 });
 

	
 
    $('.toggle-content').hide();
 

	
 
    $('.toggle-control')
 
     .addClass('clickable')
 
     .bind('click', function() {
 
        var $control = $(this);
 
        var $parent = $control.parents('.toggle-unit');
 

	
 
        $parent.toggleClass('expanded');
 
        $parent.find('.toggle-content').slideToggle();
 

	
 
        // if control has HTML5 data attributes, use to update text
 
        if ($parent.hasClass('expanded')) {
 
            $control.html($control.attr('data-expanded-text'));
 
        } else {
 
            $control.html($control.attr('data-text'));
 
        }
 
    });
 
    $('a.donate-now')
 
      .addClass('clickable')
 
      .bind('click', function() {
 
        var $control = $('#donate-box');
 

	
 
        $control.toggleClass('expanded');
 
        $control.find('.toggle-content').slideUp("slow");
 
        $control.find('.toggle-content').slideDown("slow");
 
    });
 
  });
 
</script>
 
{% endblock %}
 

	
 
{% block content %}
 

	
 
<div class="donate-sidebar">
 
<table style="background-color:#afe478;width:100%;">
 
<tr><td style="text-align:center;padding:10px;padding-bottom:10px;">
 

	
 
<div id="donate-box" class="toggle-unit"><h1 class="toggle-content">Donate Now!</h1></div>
 

	
 
<!--
 
<script type="text/javascript" src="https://js.balancedpayments.com/v1/balanced.js"></script>
 

	
 
<script type="text/javascript">
 
   // FOR DEMONSTRATION PURPOSES ONLY - if you already have a server you can POST to, replace
 
   //                                   the URL with the URL to post to.
 
   // go to http://requestb.in/
 
   // click create new request bin and COPY that URL without the ?inspect at the end
 
   var requestBinURL = 'http://requestb.in/1dk2x8y1';  // make sure it doesn't end in ?inspect
 

	
 
   var marketplaceUri = '/v1/marketplaces/TEST-MPMp7ZUPDpbj69vk2wGHRVY';
 
   //var marketplaceUri = 'https://www.balancedpayments.com/marketplaces/TEST-MPMp7ZUPDpbj69vk2wGHRVY';
 
   balanced.init(marketplaceUri);
 

	
 
var cardData = {
 
  "name": "Bernhard Riemann",                 // Optional
 
  "card_number": "4111 1111 1111 1111",
 
  "expiration_month": 4,
 
  "expiration_year": 2014,
 
};
 

	
 
function evbind(el, ev, handler) {
 
if(el.addEventListener) {
 
el.addEventListener(ev, handler, false);
 
} else if(el.attachEvent) {
 
el.attachEvent('on'+ev, function() {handler.apply(el);});
 
}
 
}
 

	
 
/*
 

	
 
   function responseCallbackHandler(response) {
 
      alert(response.status);
 
      switch (response.status) {
 
        case 400:
 
            // missing or invalid field - check response.error for details
 
            console.log(response.error);
 
            break;
 
        case 404:
 
            // your marketplace URI is incorrect
 
            console.log(response.error);
 
            break;
 
        case 201:
 
            // WOO HOO! MONEY!
 
            // response.data.uri == URI of the bank account resource you
 
            // should store this bank account URI to later credit it
 
            console.log(response.data);
 
            var $form = $("#bank-account-form");
 
            // the uri is an opaque token referencing the tokenized bank account
 
            var bank_account_uri = response.data['uri'];
 
            // append the token as a hidden field to submit to the server
 
            $('<input>').attr({
 
               type: 'hidden',
 
               value: bank_account_uri,
 
               name: 'balancedBankAccountURI'
 
            }).appendTo($form);
 
            $form.attr({action: requestBinURL});
 
            $form.get(0).submit();
 
        break;
 
    default:
 
        console.log(response.status);
 
        }
 
    }
 
   //alert('allo?');
 

	
 
   var tokenizeInstrument = function(e) {
 
        alert('what"s going on?');
 
        e.preventDefault();
 
   
 
        var $form = $('#bank-account-form');
 
        var bankAccountData = {
 
            name: $form.find('.ba-name').val(),
 
            account_number: $form.find('.ba-an').val(),
 
            bank_code: $form.find('.ba-rn').val(),
 
            type: $form.find('select').val()
 
        };
 
 
 
 
 
        balanced.bankAccount.create(bankAccountData, responseCallbackHandler);
 
    };
 
   $('#bank-account-form').submit(tokenizeInstrument);
 
*/
 
</script>
 
-->
 
$66,275 raised toward<br/>
 
our $75,000 goal.<br/>
 
<div id="progressbar" style="height:20px;"><span style="float:right; align:center; margin-right:40%">88.4%</span></div>
 
<p style="font-size: 75%">(Progress bar updated monthly.)</p>
 
<a id="donate" style="text-decoration:none"></a>
 
<h3>Help us reach our goal:</h3>
 

	
 
<!-- PayPal start -->
 
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
 
<input type="hidden" name="cmd" value="_s-xclick">
 
<input type="hidden" name="hosted_button_id" value="3VRTJALJ5PQRW">
 
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" style="border:0" name="submit" alt="Donate Now!">
 
<img alt="" style="border:0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
 
</form>
 
<!-- PayPal end -->
 

	
 
<!-- Balanced start -
 
<div class="container">
 
- <form action="#" method="POST" id="bank-account-form" class="form-horizontal" onsubmit="balanced.card.create(cardData, function(response) { alert(response.status); });"> -
 
<form action="#" method="POST" id="bank-account-form" class="form-horizontal">
 
    <fieldset>
 
        <legend>Bank Account Information</legend>
 
        <p><label>Account Holder's Name
 
            <input type="text"
 
                   autocomplete="off"
 
                   placeholder="Bank Account Holder's name"
 
                   class="ba-name"
 
                   name="ba_name"
 
                   value="4111 1111 1111 1111">
 
        </label></p>
 
        <p><label>Routing Number
 
            <input type="text"
 
                   autocomplete="off"
 
                   placeholder="Routing Number"
 
                   class="ba-rn"
 
                   name="ba_rn"
 
                   value="4">
 
        </label></p>
 
        <p><label>Account Number
 
            <input type="text"
 
                   autocomplete="off"
 
                   placeholder="Account Number"
 
                   class="ba-an"
 
                   name="ba_an"
 
                   value="2014">
 
        </label></p>
 
        <p><label>Account Something
 
            <input type="text"
 
                   autocomplete="off"
 
                   placeholder="Account Something"
 
                   class="ba-as"
 
                   name="ba_as"
 
                   value="something someone">
 
        </label></p>
 
        <p><label>Account Type
 
            <select name="ba_type">
 
                <option value='' disabled selected style='display:none;'>
 
                    Select Account Type
 
                </option>
 
                <option value="checking" default>CHECKING</option>
 
                <option value="savings">SAVINGS</option>
 
            </select>
 
        </label></p>
 
        <button type="submit" class="btn">
 
            Tokenize
 
        </button>
 
    </fieldset>
 
</form>
 
</div>
 
<script type="text/javascript">
 

	
 
evbind(document.getElementById('bank-account-form'), 'submit',
 
  function(e) {
 
    e.preventDefault();
 
    console.log(this.ba_as.value);
 
    balanced.card.create(
 
 {
 
  "name": this.ba_as.value,
 
  "card_number": this.ba_name.value,
 
  "expiration_month": this.ba_rn.value,
 
  "expiration_year": this.ba_an.value,
 
/*
 
  "name": "Bernhard Riemann",                 // Optional
 
  "card_number": "4111 1111 1111 1111",
 
  "expiration_month": 4,
 
  "expiration_year": 2014,
 
*/
 
 },
 
    function(response) {
 
      console.log(response);
 
      console.log(response.data.uri);
 
      $.ajax("/campaign/?token=" + response.data.uri + '&amount=' + document.getElementById('bank-account-form').ba_an.value);
 
      alert(response.status);
 
    });
 
});
 

	
 
</script>
 
- Balanced end -->
 

	
 
<p>
 
Other donation methods:
 
<div class="toggle-unit">
 
    <h4 class="toggle-control" data-text="Wire Transfer" 
 
    data-expanded-text="Wire Transfer:">Wire Transfer</h4>
 
    <div class="toggle-content">
 
        Please
 
            contact <a href="mailto:accounting@sfconservancy.org">Conservancy
 
            by email</a><br/> for wire transfer instructions.<br/>
 
            Please Include your currency and country.<br/>
 
    </div><!-- /.toggle-content -->
 
</div><!-- /.toggle.unit -->
 

	
 
<div class="toggle-unit">
 
    <h4 class="toggle-control" data-text="Paper Check" 
 
    data-expanded-text="Paper Check:">Paper Check</h4>
 
    <div class="toggle-content">
 
    Send paper check donations to:<br/>
 
    Software Freedom Conservancy, Inc.<br/>
 
    137 MONTAGUE ST  STE 380<br/>
 
    BROOKLYN, NY 11201-3548<br/>
 
    Please write <q>NPO ACCOUNTING</q> in the memo line. 
 
    </div><!-- /.toggle-content -->
 
</div><!-- /.toggle.unit -->
 

	
 
<!-- Flattr start -->
 
<p><a href="https://flattr.com/thing/1296704/NPOAcct-to-develop-Free-and-Open-Source-Non-Profit-Accounting-Software" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" style="border:0" /></a></p>
 
<!-- Flattr end -->
 
</td></tr></table>
 
</div>
 

	
 
<div style="align:left;width:80%;">
 
<div class="content-with-donate-sidebar">
 
<!-- begin campaign text -->
 

	
 
<h2>Fundraising Campaign: Non-Profit Accounting Software</h2>
 

	
 
<img src="/img/conservancy-accounting-campaign-logo.png" alt="Conservancy accounting campaign logo" style="float:left;" />
 

	
 
<blockquote>
 
<p><strong>Update on 2014-12-03:</strong> As can be seen, Conservancy sadly
 
  never reached our fundraising target for this project.  However, as we
 
  promised below, we <a href="http://npoacct.sfconservancy.org/">continue to
 
  work on this project</a>.  We'd really appreciate more donations, as we've
 
  needed to make a lot of compromises in our plans since we didn't reach our
 
  fundraising goal.  We did complete Phase 0 described below
 
  (<a href="http://npoacct.sfconservancy.org/">results are on our wiki</a>),
 
  and Phase 1 now comprises the development of an REST API for double-entry
 
  accounting  which many applications (including this one) can use.</p>
 
</blockquote>
 
<br/>
 
<hr/>
 
<p>Conservancy has a plan to help all non-profit organizations (NPOs) by
 
creating an Open Source and Free Software accounting system usable by
 
non-technical bookkeepers, accountants, and non-profit managers.  You can
 
help us do it by donating now.
 
</p>
 

	
 
<p>To keep their books and produce annual government filings, most NPOs rely
 
on proprietary software, paying exorbitant licensing fees.  This is
 
fundamentally at cross purposes with their underlying missions of charity,
 
equality, democracy, and sharing.</p>
 

	
 
<p>You can help Conservancy fix this problem by <a href="#donate-box" class="donate-now">donating now</a>.  We seek to
 
raise $75,000 to employ a 
 
developer for one year to make substantial progress on this project.</p>
 

	
 
<p>This project has the potential to save the non-profit sector
 
millions in licensing fees every year.  Even non-profits that continue to use proprietary accounting
 
software will benefit, since the existence of quality Open Source and Free
 
  Software for a particular task curtails predatory behavior by proprietary
 
  software companies, and creates a new standard of comparison.</p>
 

	
 
<p>But, more powerfully, this project's realization
 
will increase the agility and collaborative potential
 
for the non-profit sector &mdash; a boon to funders, boards, and employees &mdash;  bringing the Free Software and general NPO communities
 
into closer collaboration and understanding.</p>
 

	
 
<p>Thanks in advance for <a href="#donate-box" class="donate-now">helping us</a> develop Free Software to benefit all
 
non-profit organizations, and the 
 
populations they serve.</p>
 

	
 
<p>Donors of $500 or more will be acknowledged in the THANKS file and other
 
  appropriate places in the codebase itself.</p>
 

	
 
<p><a href="#endorsements">Endorsers of this effort</a> include April, Fractured Atlas, The Free Software
 
Foundation, Mozilla Foundation, GNOME Foundation, OpenHatch, Open
 
Source Initiative, QuestionCopyright.org, and Software in the Public
 
Interest; all encourage you to <a href="#donate-box" class="donate-now">donate and support it</a>.</p>
 

	
 

	
 
<h3>Background</h3>
 

	
 
<p>Like many non-profit organizations (NPOs) in the USA, Conservancy's
 
  financial accounts are audited annually by an independent accounting firm;
 
  we recently completed our fiscal year 2011 audit.  As usual, our auditors
 
  asked plenty of questions about our accounting software.  Conservancy uses
 
  only Free Software, of course, centered around a set of straightforward reporting
 
  scripts that we created to run on top
 
  of <a href="http://www.ledger-cli.org/">Ledger CLI</a>. (Conservancy's
 
  current configuration using Ledger CLI
 
  is <a href="https://gitorious.org/ledger/npo-ledger-cli">publicly
 
  documented and explained</a>.)</p>
 

	
 
<p>Our auditors were only familiar with proprietary accounting software, and
 
  so our system seemed foreign to them, as it relies on Ledger CLI's text files, Emacs and
 
  version control.  During their questions
 
  about our setup, we asked them to hypothetically prescribe a specific
 
  proprietary software setup as a model for  managing Conservancy's
 
  accounts.  Our chief auditor started by mentioning a few well-known
 
  proprietary solutions.   But then he paused and continued:  <q>Given
 
  that Conservancy's a fiscal sponsor with so many temporarily restricted
 
  accounts, existing systems really wouldn't do that good of a job for
 
  you</q>.</p>
 

	
 
<p>Indeed, Conservancy reached out into the broader fiscal sponsorship
 
  community beyond the <abbr title="Free, Libre and Open Source Software">FLOSS</abbr>
 
  <abbr title="Non-profit Organization">NPO</abbr> community and discovered that many larger fiscal sponsors &mdash; even
 
  those willing to use proprietary components &mdash; have cobbled together
 
  their own unique systems, idiosyncratically tailored to their specific
 
  environments.  Thus, good, well-designed, and reusable accounting software
 
  for non-profit fiscal sponsorship is not just missing in the software
 
  freedom community; it's missing altogether.</p>
 

	
 

	
 
<p>The project that Conservancy proposes will take a modest step
 
  forward in creating a better solution for everyone. 
 
  <a href="#quotes">Many NPO leaders and academics agree</a> with Conservancy about the
 
  immediate need for work to begin on this
 
  effort.  <a id="endorsements"
 
  style="text-decoration:none"></a><a href="http://april.org">April</a>, <a href="https://www.fracturedatlas.org">Fractured Atlas</a>, The <a href="http://fsf.org">Free Software
 
  Foundation</a>, The <a href="https://www.mozilla.org/foundation/">Mozilla
 
Foundation</a>, The <a href="http://www.gnome.org/foundation/">GNOME Foundation</a>,  <a
 
        href="https://openhatch.org/">OpenHatch</a>, <a href="http://opensource.org/node/658">Open Source Initiative</a>,
 
  <a href="http://QuestionCopyright.org">QuestionCopyright.org</a>, and <a href="http://www.spi-inc.org/">Software in the Public Interest</a> have
 
  all endorsed Conservancy's plan, and they encourage you to <a href="#donate-box" class="donate-now">donate and
 
  support it</a>.</p>
 

	
 
<p>Conservancy is uniquely qualified to undertake this task.  Using only Free
 
  Software, Conservancy already meets the complex accounting challenges of
 
  earmarked, directed donations for over thirty different projects.  We've
 
  learned much about this work in our first seven years of
 
  operation, and we're prepared to apply what we've learned to solve
 
  this problem not just for ourselves, but for anyone who seeks a
 
  solution that both respects software freedom and handles non-profit
 
  accounting for all sorts of NPOs, including fiscal sponsors.  General NPO
 
  accounting is just a &ldquo;base case&rdquo; of fiscal sponsorship (i.e.,
 
  an NPO is just a fiscal sponsor for one and only one specific project),
 
  and Conservancy therefore believes a solution that handles fiscal sponsors
 
  will also handle the simpler case as well.</p>
 

	
 
<h3>The Plan</h3>
 

	
 
<p>Conservancy proposes to hire a software developer for one year to
 
  accomplish the first two phases of this project.  Conservancy seeks to
 
  raise $75,000 toward this project to help cover salary and benefits for a
 
  full-time staffer to work on this project.  We ask that you give generously
 
  via the donation buttons on this page to support our work.</p>
 

	
 
<h4>Phase 0</h4>
 

	
 
<p>Some Free Software accounting systems do exist.  A previous informal
 
  survey of these systems that Conservancy conducted in 2007 led us to the
 
  conclusion that, in general, these systems were heavily geared toward
 
  for-profit endeavors, ignored the unique needs of NPOs generally, and
 
  were completely hopeless for the specific needs of a fiscal sponsoring
 
  organization.  Conservancy's assessment at the time was that these
 
  challenges could be addressed only with a large rewrite of one of these
 
  systems.  Conservancy chose
 
  <a href="http://www.ledger-cli.org/">Ledger CLI</a> precisely because
 
  it provided flexibility and configurability not present in any other Free Software
 
  double-entry accounting system.</p>
 

	
 
<p>However, while that previous informal survey informs Conservancy's
 
  existing hypothesis that Ledger CLI is the right base system here,
 
  Conservancy will first test that hypothesis.  The first phase of this
 
  project (estimated to last approximately 6-8 full-time weeks) will produce
 
  a written survey of all known Free Software accounting systems, and
 
  indicate what challenges exist to adapt such systems for the needs of
 
  NPOs.  The <a href="https://fsf.org/">Free Software Foundation</a> has
 
  pledged their help in the evaluation of SQL-Ledger,
 
  and <a href="http://www.gnome.org/foundation/">the GNOME Foundation</a> has pledged their
 
  help in the evaluation of <a href="http://www.gnucash.org/">GNUcash</a> (which they
 
  currently use, respectively).</p>
 

	
 
<h4>Phase 1</h4>
 

	
 
<p>Phase 1 of the project will select the preferred codebase from Phase 0,
 
  and improve that system to create a basic accounting system for
 
  small-to-medium sized USA NPOs (i.e., Form 990-filers) &mdash; including fiscal
 
  sponsors &mdash; with the following features:
 
<ul>
 
<li>Basic accounts payable/receivable (with invoicing)</li>
 
<li>Tracking and reporting of non-profit income types (related business
 
  income, unrelated business taxable income, donations, etc.)</li>
 
<li>Basic backup documentation tracking for expenses and payments</li>
 
<li>Basic bank statement reconciliation reporting</li>
 
<li>Basic annual audit preparation reporting
 
  (A <a href="https://github.com/ledger/ledger/tree/next/contrib/non-profit-audit-reports">prototype
 
  of this portion is already complete</a> and has been relied on for
 
  real-life audits; but the prototype is just a hack and needs to be
 
  rewritten.)</li>
 
<li>Ability to easily handle all these features on a project-by-project
 
  subset of the accounts, and to easily export and excise that subset from
 
  the system. (i.e., support for temporarily restricted assets, earmarked for
 
  fiscal-sponsored projects)</li>
 
<li>Multi-currency support and reporting</li>
 
</ul>
 

	
 
<p>We will consider the first year of this project successful <em>only if all these
 
  functions can be performed by a bookkeeper who is generally qualified as a
 
  bookkeeper</em>, but not necessarily familiar with standard Free Software tools
 
  such as GNU/Linux, Emacs, version control, and command line scripts.  This
 
  requirement is essential: Conservancy's existing system using Ledger CLI
 
  already provides sufficient functionality to manage non-profit accounting,
 
  but our system requires a bookkeeper who is also adept with the
 
  aforementioned tools already.</p>
 

	
 
<p>Finally, while the first year of work focuses on USA NPO needs,
 
  Conservancy seeks to lead an international effort, and welcomes
 
  contributions and input from everyone in the non-profit community from
 
  around the world.  Conservancy has created
 
  a <a href="http://lists.sfconservancy.org/mailman/listinfo/npo-accounting">mailing
 
  list for discussion of this project</a> and
 
  a <a href="http://npoacct.sfconservancy.org">Wiki for collaboration</a>  and encourages interested parties
 
  from around the world to join the mailing list and contribute to the
 
  project!</p>
 
  
 
<h3>Why Conservancy Must Fund This Work</h3>
 

	
 
<p>As it stands, nearly all Open Source and Free Software NPOs either use
 
  proprietary software, or fully outsource their bookkeeping and accounting
 
  to third-parties.  Those that don't do so (such as Conservancy and the Free
 
  Software Foundation) have long complained that existing Free Software in
 
  this area is inadequate, and have been forced to develop customized,
 
  one-off solutions in-house to make the systems work.</p>
 

	
 
<p>It's highly unlikely that the for-profit sector will adapt existing Free
 
  Software accounting systems to meet the differing needs of NPOs (let alone
 
  the more complex needs of fiscal sponsors; based on
 
  advice from our auditors and other fiscal sponsors, Conservancy understands that <em>no existing
 
  solution &mdash; proprietary or Free &mdash; meets the requirements of fiscal sponsorship accounting</em>).  Fiscal sponsors like
 
  Conservancy must track a separate set of books for every project, keeping
 
  in mind that a project may leave at any time for another NPO and need to take
 
  their books with them.  Yet, the books of the entire organization are the
 
  aggregate of the books of all these projects, and internally, they need to
 
  be presented as a single set of books for those purposes.</p>
 

	
 
<p>Meanwhile, even if an organization is not a fiscal sponsor, non-profit
 
  accounting is <em>just different</em> than for-profit accounting, particularly in
 
  the USA.  For example, for-profit-oriented systems often make problematic
 
  assumptions about the workflow of accounting tasks (often because NPOs
 
  rely primarily on donations, rather than fee-for-service or widget-selling
 
  income).  Also, non-profit income is categorized differently than
 
  for-profit income, and the reporting requirements vary wildly from their
 
  for-profit equivalents.</p>
 

	
 
<p>Conservancy's existing system is working adequately, but requires daily
 
  the relatively more expensive time of a highly technical person to do the
 
  job of bookkeeping.  Also, the system cannot easily be adapted in its
 
  current form for another NPO, unless they also have a
 
  skilled technical employee to act as bookkeeper.  This project aims to build
 
  on what Conservancy has learned and produce a non-profit accounting system
 
  that corrects these flaws.</p>
 

	
 
<p>Finally, Conservancy's mission (as stated
 
on <a href="http://sfconservancy.org/docs/conservancy_Form-1023.pdf">our Form
 
1023 with the USA IRS</a>) includes producing Open Source and Free Software.
 
Thus, this project is a great way to pursue Conservancy's mission and address a
 
specific need that so many NPOs (including us) have.  If no one steps up to create Free Software to replace the widely used
 
proprietary software, NPOs in aggregate will pay <em>much more</em> money for
 
proprietary licensing than Conservancy will ever spend in developing a
 
replacement. Please <a href="#donate-box" class="donate-now">donate
 
generously</a> to help us do it!</p>
 

	
 
<a id="quotes"></a>
 
<h3>Statements of Support For This Project from Others</h3>
 

	
 
<p><q>As a national fiscal sponsor with over 3,000 arts and cultural projects
 
under our umbrella, Fractured Atlas is ecstatic about this effort's
 
potential. After 15 years wrestling with Quickbooks and other inadequate
 
options, the idea of an open source tool designed specifically for this niche
 
of the field is beyond welcome. We wholeheartedly support the Conservancy's
 
work on this front and look forward to seeing where it leads.</q> &mdash;
 
<a href="https://www.fracturedatlas.org/site/bios/staff/1/Adam%20Forest_Huttler">Adam
 
  Huttler</a>, Executive Director, <a href="https://www.fracturedatlas.org">Fractured Atlas</a></p>
 

	
 
<p><q><a href="http://QuestionCopyright.org">QuestionCopyright.org</a> is
 
just one of many organizations that would benefit from a Free Software
www/conservancy/static/supporter/event.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block subtitle %}Attend Supporter Night - {% endblock %}
 
{% block category %}supporter{% endblock %}
 

	
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 
<script type="text/javascript" src="/jquery.min.js"></script>
 
<script type="text/javascript" src="/jquery-ui.min.js"></script>
 
<script type="text/javascript" src="/supporter-page.js"></script>
 

	
 
{% endblock %}
 

	
 
{% block content %}
 
<div style="align:left;width:80%;">
 
<div class="content-with-donate-sidebar">
 
  <h1>Conservancy Supporter Night 2015</h1>
 
  <p>
 
  <dl>
 
    <dt>Who</dt> <dd><strong>Everyone</strong>: just show up at 6:30PM with &euro;50!
 
    &mdash;  <a href="/supporter#annual">Conservancy Annual Supporters</a> attend <em>gratis</em>.</dd>
 
    <dt>When</dt> <dd>Friday 30 January 2015 at 18:30 (6:30PM)</dd>
 
    <dt>Where</dt> <dd><a href="http://www.drugopera.be/">Drug Opera</a>
 
    Restaurant at Rue Gr&eacute;try 51, 1000 Brussels, Belgium
 
    (<a href="http://www.openstreetmap.org/node/2698048172#map=18/50.84898/4.35214">map</a>)</dd>
 
    <dt>What</dt> <dd>Full prix fixe dinner (one drink included)</dd>
 
    <dt>Why</dt> <dd>Enjoy a meal while meeting and discussing Free Software
 
    with fellow Conservancy enthusiasts
 
    and <a href="/about/staff/#bkuhn">Bradley</a> and
 
    <a href="/about/staff/#karen">Karen</a> from
 
    Conservancy's executive team (and the <a href="http://faif.us"><cite>Free
 
        as in Freedom</cite> audcast</a>).</dd>
 
    </dl>
 
    </p>
 

	
 
  <p>Conservancy's Annual Supporter Night will be held this year on the
 
  evening of Friday 30 January 2015 in Brussels, Belgium (which is the night
 
    before <a href="https://fosdem.org/2015/">FOSDEM 2015</a> begins).</p>
 

	
 
<p>Space for this exclusive dinner <em>is limited</em> so if you haven't
 
    already received an email confirming your pre-purchased ticket, <em>you should
 
    arrive promptly at 6:30PM tonight and have &euro;50 ready.</em>
 
</p>
 
  <p>The Supporter Night dinner includes a three-course meal and one drink.
 
       Attendees will be able to choose from beef or vegetarian entrees.  We
 
       have discussed other dietary needs with the venue, and they have
 
       committed to do their best to accommodate other dietary needs.  If
 
         you'd like, please contact us at
 
        <a href="mailto:dinner@sfconservancy.org">&lt;dinner@sfconservancy.org&gt;</a>
 
        to discuss
 
       your dietary needs.</p>
 
<hr/>
 
</div>
 

	
 
{% endblock %}
www/conservancy/static/supporter/index.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block subtitle %}Support Conservancy - {% endblock %}
 
{% block category %}supporter{% endblock %}
 

	
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 
<script type="text/javascript" src="/jquery.min.js"></script>
 
<script type="text/javascript" src="/jquery-ui.min.js"></script>
 
<script type="text/javascript" src="/supporter-page.js"></script>
 

	
 
{% endblock %}
 

	
 
{% block content %}
 
<div class="donate-sidebar">
 
<table style="background-color:#afe478;width:100%;">
 
<tr><td style="text-align:center;padding:10px;padding-bottom:10px;">
 

	
 
<div id="donate-box" class="toggle-unit"><h1 class="toggle-content">Support
 
    Now!</h1></div>
 

	
 
<h3>Become a Supporter Now:</h3>
 

	
 
<p>Support us now!</p>
 

	
 
<h4><a href="#annual">Annual supporter via PayPal, ACH, or credit card.</a></h4>
 
<h4><a href="#monthly">Monthly supporter via PayPal, ACH, or credit card.</a></h4>
 
   
 
Other annual supporters methods:
 
<div class="toggle-unit">
 
    <h4 class="toggle-control" data-text="Wire Transfer" 
 
    data-expanded-text="Wire Transfer:">Wire Transfer</h4>
 
    <div class="toggle-content">
 
       Contact <a href="mailto:accounting@sfconservancy.org">Conservancy
 
            by email</a><br/> for wire transfer instructions.<br/>
 
            Include  currency &amp; country.<br/>
 
    </div><!-- /.toggle-content -->
 
</div><!-- /.toggle.unit -->
 

	
 
<div class="toggle-unit">
 
    <h4 class="toggle-control" data-text="Paper Check" 
 
    data-expanded-text="Paper Check:">Paper Check</h4>
 
    <div class="toggle-content">
 
    Send paper check for $120 to:<br/>
 
    Software Freedom Conservancy, Inc.<br/>
 
    137 MONTAGUE ST  STE 380<br/>
 
    BROOKLYN, NY 11201-3548 &nbsp; USA<br/>
 
    Please write <q>SUPPORTER</q> and t-shirt size in memo line. 
 
    </div><!-- /.toggle-content -->
 
</div><!-- /.toggle.unit -->
 

	
 
<p><a href="/donate">Even More Ways to Donate</a></p>
 
<!-- Flattr end -->
 
</td></tr></table>
 
</div>
 

	
 

	
 
<div style="align:left;width:80%;">
 
<div class="content-with-donate-sidebar">
 
  <h1><img class="appeal-header" alt="Become a Conservancy Supporter!" src="/img/conservancy-supporter-header.png"/></h1>
 

	
 
<p>Software Freedom Conservancy is an essential organization to free and
 
open source software. We are the home of over
 
<a href="/members/current/">30 projects</a> like 
 
<a href="http://git-scm.org">Git</a>,
 
<a href="http://inkscape.org">Inkscape</a>, <a href="http://samba.org">Samba</a>,
 
<a href="http://winehq.org">Wine</a>, <a href="http://www.seleniumhq.org/">Selenium</a>, the <a href="/linux-compliance/">GPL Compliance Project for Linux
 
Developers</a>, <a href="http://pypy.org">PyPy</a> and
 
<a href="http://sugarlabs.org/">Sugar Labs</a> just to name a few. Conservancy is a "fiscal sponsor plus",
 
providing everything that our projects need in a nonprofit. We help our
 
projects defend their trademarks, manage their assets, handle donations,
 
improve their community management, manage risk and assist them with all
 
legal needs they may have. While we do receive a portion of the revenue
 
donated to our projects, we keep that number low enough that it doesn't
 
even pay for a single staff member. <a href="#donate-box" class="donate-now">Help us</a> show that you care about
 
community-focused free software and help us be able to continue our
 
charitable work. Donating to Conservancy is a great non-technical way to
 
contribute to the cause.</p>
 

	
 
<img alt="*** The Conservancy T-Shirt that Supporters Receive ***" class="appeal" src="/img/conservancy-t-shirt.jpg"/>
 

	
 
<p>For the first time, we're launching a Supporter
 
program. For <a href="#donate-box" class="donate-now">an annual donation of $120</a>, you can
 
download an official Supporter card and receive a Conservancy t-shirt<a id="return-footnote-shirts-when"></a>. If
 
this is out of reach, please donate at whatever level you can - it makes a
 
big difference to us to know that you <a href="#donate-box" class="donate-now">support us</a>, and a little goes a long
 
way.</p>
 

	
 
<p>In addition to supporting our projects,
 
<ul>
 

	
 
<li>we share our expertise across communities. We speak at many
 
conferences, and publish materials to increase understanding about the
 
organizational, community and legal issues around free and open source
 
software. We advocate for free and open source software and provide
 
education around that mission.  We form partnerships across our
 
communities to work more effectively.  Check out <a 
 
href="https://copyleft.org/">copyleft.org</a>
 
or sign up to join the <a 
 
href="http://sfconservancy.org/news/2014/aug/12/tax-exempt-working-group/">
 
tax exempt working group</a>.</li>
 

	
 
<li>we seek to solve problems for the public through free and open 
 
source
 
software.  We've launched a <a href="http://npoacct.sfconservancy.org/">
 
nonprofits accounting project</a> to help all
 
nonprofits (in free software and in other fields) avoid paying millions
 
of dollars in licensing fees for subpar accounting software.</li>
 

	
 
<li>as part of Conservancy's partnership in the program, we support Karen as
 
  a co-organizer of the Free and Open Source Software Outreach Program.</li>
 

	
 
<li>we encourage and support our employees to do volunteer work in the
 
    community.  For example, Bradley and Karen together host an oggcast
 
    called <cite><a href="http://faif.us">Free as in Freedom</a></cite> which
 
    discusses important legal and policy issues in open source and free
 
    software.</li></ul>
 

	
 
<img class="appeal-footer" alt="*" src="/img/conservancy-supporter-heart.png"/>
 

	
 
<p>As an organization, we try to do do everything transparently; even 
 
our
 
<a 
 
href="https://gitorious.org/conservancy/policies/source/master:">
 
internal policies</a> are published and available for scrutiny.</p>
 

	
 
<p>Please <a href="#donate-box" class="donate-now">join our Supporter program</a> and spread software freedom!</p>
 

	
 
<div class="supporter-type-selector">
 
<hr/>
 
  <strong>Become a Supporter Now:</strong>  <a id="annualSelector" href="#annual">Annual</a> | <a id="monthlySelector" href="#monthly">Monthly</a></div>
 
<div id="annual" class="supporter-type-selection">
 
<h3>Join as an Annual Supporter</h3>
 
<a id="annual"></a>
 
<form id="annual" class="supporter-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" name="supporter">
 
<div class="supporter-form-inputs">
 
            <input type="hidden" name="return" value="https://sfconservancy.org/supporter/thank-you.html" />
 
            <input type="hidden" name="cmd" value="_xclick" />
 
            <input type="hidden" name="business" value="supporter@sfconservancy.org" />
 
            <input type="hidden" name="item_name" value="Conservancy Supporter, Annual" />
 
            <input id="no_shipping" type="hidden" name="no_shipping" value="0" />
 
  <label for="amount"><strong>Amount:</strong> $</label>
 
  <input id="amount" type="text" name="amount" size="7" minimum="120" value="120" />
 
  <span id="error" class="form-error-show">$120 is a minimum for Conservancy
 
  Supporters.  <a href="/donate">Donate smaller amounts here</a>.</span><br/>
 

	
 
                      <label for="wantGift"><strong>Do you want to receive a t-shirt? </strong></label>
 
                      <input type="radio" name="on0" value="wantGiftYes" />Yes
 
                      <input type="radio" checked="checked" name="on0" value="wantGiftNo" />No
 
                      <br />
 
                      <span class="t-shirt-size-selector">
 
                      <label for="tShirtSize"><strong>T-shirt size: </strong></label>
 
                      <select name="os0" id="os0">
 
                        <option name="os0" id="os0" value="MenS">Men's S</option>
 
                        <option name="os0" id="os0" value="MenM">Men's M</option>
 
                        <option name="os0" id="os0" value="MenL">Men's L</option>
 
                        <option name="os0" id="os0" value="MenXL">Men's XL</option>
 
                        <option name="os0" id="os0" value="Men2XL">Men's 2XL</option>
 
                        <option name="os0" id="os0" value="LadiesS">Ladies' S</option>
 
                        <option name="os0" id="os0" value="LadiesM">Ladies' M</option>
 
                        <option name="os0" id="os0" value="LadiesL">Ladies' L</option>
 
                         <option name="os0" id="os0" value="LadiesXL">Ladies' XL</option>
 
                      </select><br/></span>
 
                      <label for="publicAck"><strong>
 
                          Should we <a href="/sponsors#supporters">list you publicly</a> as a Conservancy Supporter? </strong></label>
 
                      <input type="radio" checked="checked" name="on1" value="publicAckYes" />Yes
 
                      <input type="radio" name="on1" value="publicAckNo" />No<br/>
 
            
 
                      <label for="joinList"><strong>Join Conservancy's
 
                      Low-Traffic Announcement Email List? </strong></label>
 
                      <input type="radio" checked="checked" name="os1" value="joinListYes" />Yes
 
                      <input type="radio" name="os1" value="joinListNo" />No<br/>
 
                      <br />
 
                      <br /></div>
 
                      <div id="annual" class="supporter-form-submit">
 
                      <input type="image"
 
                             src="/img/supporter-payment-button-annual.png"
 
                             height="81" width="188"
 
                             border="0" name="submit" alt="Become an Annual Supporter Now!">
 
                      <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
 
<br/><br/><small>Button above redirects to PayPal's site for credit
 
        card, bank account or PayPal balance payment methods.  Select options first.</small>
 
                      </div>
 

	
 
</form>
 
</div>
 
<div id="monthly" class="supporter-type-selection">
 
<h3>Join as an Monthly Supporter</h3>
 
<a id="monthly"></a>
 
<p>Monthly supporters will not receive any supporter benefits (including the t-shirt) until they've been
 
  monthly supporters for 12 months.</p>
 
<form id="monthly" class="supporter-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
 
<div class="supporter-form-inputs">
 
            <input type="hidden" name="business" value="supporter@sfconservancy.org" />
 
            <input type="hidden" name="item_name" value="Conservancy Supporter, Monthly" />
 
            <input type="hidden" name="return" value="https://sfconservancy.org/supporter/thank-you.html" />
 
            <input type="hidden" name="cmd" value="_xclick-subscriptions">
 
            <input id="no_shipping" type="hidden" name="no_shipping" value="0" />
 
            <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" />
 
            <input type="hidden" name="item_name" value="Conservancy Supporter, Monthly" />
 
  <label for="amount"><strong>Monthly Amount:</strong> $</label>
 
  <input id="amount" type="text" name="a3" size="5" minimum="10" value="10" />
 
  <span id="error" class="form-error-show">$10/month is a minimum for Conservancy
 
  Supporters.  <a href="/donate">Donate smaller amounts here</a>.</span><br/>
 
                      <label for="wantGift"><strong>Do you want to receive a t-shirt? </strong></label>
 
                      <input type="radio" name="on0" value="wantGiftYes" />Yes
 
                      <input type="radio" checked="checked" name="on0" value="wantGiftNo" />No
 
                      <br />
 
                      <span class="t-shirt-size-selector">
 
                      <label for="tShirtSize"><strong>T-shirt size: </strong></label>
 
                      <select name="os0" id="os0">
 
                        <option name="os0" id="os0" value="MenS">Men's S</option>
 
                        <option name="os0" id="os0" value="MenM">Men's M</option>
 
                        <option name="os0" id="os0" value="MenL">Men's L</option>
 
                        <option name="os0" id="os0" value="MenXL">Men's XL</option>
 
                        <option name="os0" id="os0" value="Men2XL">Men's 2XL</option>
 
                        <option name="os0" id="os0" value="LadiesS">Ladies' S</option>
 
                        <option name="os0" id="os0" value="LadiesM">Ladies' M</option>
 
                        <option name="os0" id="os0" value="LadiesL">Ladies' L</option>
 
                         <option name="os0" id="os0" value="LadiesXL">Ladies' XL</option>
 
                      </select><br/></span>
 
                      <label for="publicAck"><strong>
 
                          Should we  <a href="/sponsors#supporters">list you publicly</a> as a Conservancy Supporter? </strong></label>
 
                      <input type="radio" checked="checked" name="on1" value="publicAckYes" />Yes
 
                      <input type="radio" name="on1" value="publicAckNo" />No<br/>
 
                      <label for="joinList"><strong>Join Conservancy's
 
                      Low-Traffic Announcement Email List? </strong></label>
 
                      <input type="radio" checked="checked" name="os1" value="joinListYes" />Yes
 
                      <input type="radio" name="os1" value="joinListNo" />No<br/>
 
                      <br /></div>
 
                      <div id="monthly" class="supporter-form-submit">
 
                      <input type="image"
 
                      src="/img/supporter-payment-button-monthly.png"
 
                      height="81" width="188"
 
                      border="0" name="submit" alt="Become a Monthly Supporter Now!">
 
<br/><br/><small>Button above redirects to PayPal's site for credit
 
        card, bank account or PayPal balance payment methods.  Select
 
                      options first.</small>
 
                      </div>
 
</form>
 
</div>
 
<span id="form-correction-needed" class="form-error">Please ensure all form data above is correct.</span>
 
</div>
 
{% endblock %}
www/conservancy/templates/base_compliance.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block head %}
 
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
 
<link href="/forms.css" rel="stylesheet" type="text/css"/>
 
<script type="text/javascript" src="/jquery.min.js"></script>
 
<script type="text/javascript" src="/jquery-ui.min.js"></script>
 
<script type="text/javascript" src="/supporter-page.js"></script>
 

	
 
{% endblock %}
 

	
 
{% block outercontent %}
 
<div class="donate-sidebar">
 
<table style="background-color:#afe478;width:100%;">
 
<tr><td style="text-align:center;padding:10px;padding-bottom:10px;">
 
<div id="donate-box" class="toggle-unit"><h1 class="toggle-content">Support
 
    Now!</h1></div>
 

	
 
<h3>Support GPL Compliance Now!</h3>
 

	
 
<p>Support our GPL compliance work now &amp; <strong>donation counts double!</strong></p>
 

	
 
$<span id="fundraiser-so-far">5,056</span>
 
of $<span id="fundraiser-goal">50,000</span> match met.<br/>
 
<div id="progressbar" style="height:20px;"><span id="fundraiser-percentage" style="float:right; align:center; margin-right:40%"></span></div>
 

	
 
<p>Donate now via PayPal:
 
</p>
 
<!-- PayPal start -->
 
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
 
<input type="hidden" name="cmd" value="_s-xclick">
 
<input type="hidden" name="hosted_button_id" value="4ZKJN4F9BMFAS">
 
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" style="border:0" name="submit" alt="PayPal - The safer, easier way to pay online!">
 
<img alt="" style="border:0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
 
</form>
 
<!-- PayPal end -->
 

	
 
<p>Or, <a href="/supporter/#annual"><strong>become a Conservancy
 
      Supporter</strong></a>.</p>
 
</td></tr></table>
 
</div>
 
<div style="align:left;width:80%;">
 
<div class="content-with-donate-sidebar">
 
    <div id="container">
 
         <div id="sidebar" class="{% block submenuselection %}other{% endblock %}">
 
            <h2>Our GPL {% block category %}Compliance{% endblock %} Work</h2>
 
            <ul>
 
            <li class="VMwareLawsuitAppeal"><a href="/linux-compliance/vmware-lawsuit-appeal.html">Stand Up For GPL!</a></li>
 
            <li><a href="/news/2015/mar/05/vmware-lawsuit/">VMware Lawsuit: Press Release</a></li>
 
            <li class="VMwareLawsuitFAQ"><a href="/linux-compliance/vmware-lawsuit-faq.html">
 
                <abbr title="Frequently Asked Questions">FAQ</abbr> on VMware Lawsuit</a></li>
 
            <li class="AboutCompliance"><a href="/linux-compliance/about.html">About GPL Compliance Project for Linux Developers</a></li>
 
            </ul>
 
         </div>
 
               <div id="mainContent">{% block content %}{% endblock %}
 
               </div>
 
</div></div>
 
{% endblock %}
0 comments (0 inline, 0 general)