Merge branch 'master' of git://git.gitorious.org/conservancy/website
This commit is contained in:
		
						commit
						55c195c73f
					
				
					 32 changed files with 6666 additions and 138 deletions
				
			
		|  | @ -71,14 +71,14 @@ class OmnibusFeed(ConservancyFeedBase): | ||||||
|     title_template = "feeds/omnibus_title.html" |     title_template = "feeds/omnibus_title.html" | ||||||
|     description_template = "feeds/omnibus_description.html" |     description_template = "feeds/omnibus_description.html" | ||||||
|     author_email = "info@sfconservancy.org" |     author_email = "info@sfconservancy.org" | ||||||
|     author_link = "http://sfconservancy.org/" |     author_link = "https://sfconservancy.org/" | ||||||
|     author_name = "Software Freedom Conservancy" |     author_name = "Software Freedom Conservancy" | ||||||
| 
 | 
 | ||||||
|     def item_enclosure_mime_type(self): return "audio/mpeg" |     def item_enclosure_mime_type(self): return "audio/mpeg" | ||||||
| 
 | 
 | ||||||
|     def item_enclosure_url(self, item): |     def item_enclosure_url(self, item): | ||||||
|         if hasattr(item, 'mp3_path'): |         if hasattr(item, 'mp3_path'): | ||||||
|             return "http://sfconservancy.org" + item.mp3_path |             return "https://sfconservancy.org" + item.mp3_path | ||||||
|     def item_enclosure_length(self, item): |     def item_enclosure_length(self, item): | ||||||
|         if hasattr(item, 'mp3_path'): |         if hasattr(item, 'mp3_path'): | ||||||
|             return item.mp3_length |             return item.mp3_length | ||||||
|  | @ -93,7 +93,7 @@ class OmnibusFeed(ConservancyFeedBase): | ||||||
|             return "Software Freedom Conservancy" |             return "Software Freedom Conservancy" | ||||||
| 
 | 
 | ||||||
|     def item_author_link(self, obj): |     def item_author_link(self, obj): | ||||||
|         return "http://sfconservancy.org" |         return "https://sfconservancy.org" | ||||||
| 
 | 
 | ||||||
|     def item_author_email(self, item): |     def item_author_email(self, item): | ||||||
|         if item.omnibus_type == "news": |         if item.omnibus_type == "news": | ||||||
|  |  | ||||||
|  | @ -13,6 +13,11 @@ class ForceCanonicalHostnameMiddleware(object): | ||||||
|         * adds cache headers to provide hints to squid |         * adds cache headers to provide hints to squid | ||||||
|         """ |         """ | ||||||
| 
 | 
 | ||||||
|  |         # Never allow connection to the /admin part of the site without SSL | ||||||
|  |         if (not request.is_secure) and request.path.startswith('/admin'): | ||||||
|  |             url = 'https://sfconservancy.org%s' % request.path | ||||||
|  |             return http.HttpResponseRedirect(url) | ||||||
|  | 
 | ||||||
|         # Check for a redirect based on settings.APPEND_SLASH |         # Check for a redirect based on settings.APPEND_SLASH | ||||||
|         host = http.get_host(request) |         host = http.get_host(request) | ||||||
|         old_url = [host, request.path] |         old_url = [host, request.path] | ||||||
|  |  | ||||||
|  | @ -43,19 +43,17 @@ solving the problems of  Windows and Linux interoperability.</p> | ||||||
| 
 | 
 | ||||||
| <h2>Loïc Dachary</h2> | <h2>Loïc Dachary</h2> | ||||||
| 
 | 
 | ||||||
| <p>Loïc Dachary has been involved with Free Software since 1987 when he | <p>Loïc Dachary has been involved with the Free Software Movement since | ||||||
| started distributing GNU tapes to the general public in France.  His first | 1987, when he started distributing GNU tapes to the general public in | ||||||
| contact was with GNU Emacs and in 1989 with GCC which he used to port a | France. In 2012, he founded <a href="http://upstream-university.org/">Upstream | ||||||
| Unix System V kernel to a embeded motorola 68030 motherboard.  He | University</a>, a nonprofit with the goal of teaching developers how to | ||||||
| currently works as a developer | contribute easily and efficiently. Dachary volunteers as a developer | ||||||
| for <a href="http://outflop.me/">OutFlop</a>, a company providing services | for <a href="http://april.org/">April</a>, a grassroots organization | ||||||
| and software to operate poker rooms.  He | promoting Free Software. He maintains April's OpenStack cluster and organizes | ||||||
| created <a href="http://savannah.gnu.org/">Savannah</a>, the GNU forge, in | contributions with agile methods. As President | ||||||
| 2001 to provide a Free alternative to proprietary forges. As a president | of <a href="http://fsffrance.org/">FSF France</a>, he also provides technical | ||||||
| of FSF France, he provides technical and legal resources to French Free | and legal resources to French Free Software developers. His day job is to use | ||||||
| Software developers. Loic Dachary is also a honorary member | and contribute to <a href="http://ceph.com/">Ceph</a> within OpenStack.</p> | ||||||
| of <a href="http://april.org/">APRIL</a> since 1996, a French non-profit |  | ||||||
| dedicated to Free Software with over 5,500 members.</p> |  | ||||||
| 
 | 
 | ||||||
| <h2>Mark Galassi</h2> | <h2>Mark Galassi</h2> | ||||||
| 
 | 
 | ||||||
|  | @ -90,6 +88,14 @@ Loyola College in Maryland, and an M.S. in Computer Science from the | ||||||
| University of Cincinnati.  His Master's thesis discussed methods for | University of Cincinnati.  His Master's thesis discussed methods for | ||||||
| dynamic interoperability of Free Software languages.</p> | dynamic interoperability of Free Software languages.</p> | ||||||
| 
 | 
 | ||||||
|  | <h2>Mike Linksvayer</h2> | ||||||
|  | 
 | ||||||
|  | <p>Mike Linksvayer serves on the boards of AcaWiki and OpenHatch, | ||||||
|  | and is chair of the Open Definition Advisory Council. From 2003 to | ||||||
|  | 2012 he served as CTO and VP of Creative Commons, where he is now a | ||||||
|  | Senior Fellow. In 2000 he co-founded Bitzi, an early open content/open | ||||||
|  | data mass collaboration platform.</p> | ||||||
|  | 
 | ||||||
| <h2>Stormy Peters</h2> | <h2>Stormy Peters</h2> | ||||||
| 
 | 
 | ||||||
| <p>Stormy Peters is Head of Developer Engagement at Mozilla. She is | <p>Stormy Peters is Head of Developer Engagement at Mozilla. She is | ||||||
|  |  | ||||||
							
								
								
									
										173
									
								
								www/conservancy/static/about/eval-committee/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								www/conservancy/static/about/eval-committee/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,173 @@ | ||||||
|  | {% extends "base_about.html" %} | ||||||
|  | {% block subtitle %}Evaluation Committee - {% endblock %} | ||||||
|  | {% block submenuselection %}Eval{% endblock %} | ||||||
|  | {% block content %} | ||||||
|  | 
 | ||||||
|  | <h1>Evaluation Committee</h1> | ||||||
|  | 
 | ||||||
|  | <p>The Evaluation Committee evaluates projects that have applied to become | ||||||
|  | members of Conservancy. | ||||||
|  |   Conservancy's <a href="/about/board/">Board of | ||||||
|  |     Directors</a> <a href="/news/2013/apr/23/linksvayer-and-eval-committee/">formally | ||||||
|  |     charters and authorizes</a> this Committee to offer <a href="/members/">membership to | ||||||
|  |   projects  <a href="/members/apply/">that apply</a> | ||||||
|  |     for membership in Conservancy.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Jeremy Allison</h2> | ||||||
|  | 
 | ||||||
|  | <p>Jeremy Allison is one of the lead developers on the Samba Team, a group | ||||||
|  | of programmers developing an Open Source Windows compatible file and print | ||||||
|  | server product for UNIX systems. Developed over the Internet in a | ||||||
|  | distributed manner similar to the Linux system, Samba is used by all Linux | ||||||
|  | distributions as well as many thousands of corporations and products | ||||||
|  | worldwide. Jeremy handles the co-ordination of Samba development efforts | ||||||
|  | and acts as a corporate liaison to companies using the Samba code | ||||||
|  | commercially.</p> | ||||||
|  | 
 | ||||||
|  | <p>He works for Google, Inc. who fund him to work on improving Samba and | ||||||
|  | solving the problems of  Windows and Linux interoperability.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Tom Callaway</h2> | ||||||
|  | 
 | ||||||
|  | <p>Tom Callaway has been working for Red Hat since 2001. He started in | ||||||
|  | Sales Engineering and has been the Fedora Engineering Manager since 2008. | ||||||
|  | He served three consecutive elected terms on the Fedora Board from 2007 to | ||||||
|  | 2011. Tom also maintains or co-maintains a large number of Packages in | ||||||
|  | Fedora (currently 390) and is leading the Fedora Packaging Committee, | ||||||
|  | responsible for RPM Packaging Standards and Practices.  Additionally, he is | ||||||
|  | responsible for managing Fedora's Legal issues.  Tom frequently represents | ||||||
|  | Fedora and Free Software at conferences around the world, and tries his | ||||||
|  | best not to make too big of a fool of himself.</p> | ||||||
|  | 
 | ||||||
|  | <p>When not working, Tom enjoys geocaching, ice hockey, gaming, science | ||||||
|  | fiction, and pinball.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Loïc Dachary</h2> | ||||||
|  | 
 | ||||||
|  | <p>Loïc Dachary has been involved with the Free Software Movement since | ||||||
|  | 1987, when he started distributing GNU tapes to the general public in | ||||||
|  | France. In 2012, he founded <a href="http://upstream-university.org/">Upstream | ||||||
|  | University</a>, a nonprofit with the goal of teaching developers how to | ||||||
|  | contribute easily and efficiently. Dachary volunteers as a developer | ||||||
|  | for <a href="http://april.org/">April</a>, a grassroots organization | ||||||
|  | promoting Free Software. He maintains April's OpenStack cluster and organizes | ||||||
|  | contributions with agile methods. As President | ||||||
|  | of <a href="http://fsffrance.org/">FSF France</a>, he also provides technical | ||||||
|  | and legal resources to French Free Software developers. His day job is to use | ||||||
|  | and contribute to <a href="http://ceph.com/">Ceph</a> within OpenStack.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Mark Galassi</h2> | ||||||
|  | 
 | ||||||
|  | <p>Mark Galassi has been involved in the GNU project since 1984. He | ||||||
|  | currently works as a researcher in the International, Space, and Response | ||||||
|  | division at Los Alamos National Laboratory, where he has worked on the | ||||||
|  | HETE-2 satellite, ISIS/Genie, the Raptor telescope, the Swift satellite, | ||||||
|  | and the muon tomography project. In 1997 Mark took a couple of years off | ||||||
|  | from Los Alamos (where he was previously in the ISR division and the | ||||||
|  | Theoretical Astrophysics group) to work for Cygnus (now a part of Red Hat) | ||||||
|  | writing software and books for eCos, although he continued working on the | ||||||
|  | HETE-2 satellite (an astrophysical Gamma Ray Burst mission) part time. Mark | ||||||
|  | earned his BA in Physics at Reed College and a PhD from the Institute for | ||||||
|  | Theoretical Physics at Stony Brook.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Mike Hostetler</h2> | ||||||
|  | 
 | ||||||
|  | <p>Mike Hostetler is an inventor, entrepreneur, programmer and proud | ||||||
|  | father. Having worked with web technologies since the mid 1990's, Mike has | ||||||
|  | had extensive experience developing web applications with PHP and | ||||||
|  | JavaScript.  Currently, Mike works as the Founder and CEO of appendTo, LLC, | ||||||
|  | the company dedicated to jQuery, based in Denver, Colorado. Heavily | ||||||
|  | involved in Open Source, Mike is an alumni of the jQuery Core team, | ||||||
|  | participates in the QCubed PHP5 Framework project, and participates in the | ||||||
|  | Drupal project. When not in front of a computer, Mike enjoys hiking, | ||||||
|  | fly-fishing, snowboarding and spending time with his family.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Bradley M. Kuhn</h2> | ||||||
|  | 
 | ||||||
|  | <p>Bradley M. Kuhn began his work in the Free Software Movement as a | ||||||
|  | volunteer when, in 1992, he became an early adopter of the popular | ||||||
|  | GNU/Linux operating system, and began contributing to various Free Software | ||||||
|  | projects.  He worked during the 1990s as a system administrator and | ||||||
|  | software development consultant for Westinghouse, Lucent Technologies, and | ||||||
|  | numerous small companies.  He also spent one year teaching Advanced | ||||||
|  | Placement Computer Science (using GNU/Linux and GCC) at Walnut Hills High | ||||||
|  | School in Cincinnati.  In January 2000, he was hired by the Free Software | ||||||
|  | Foundation (FSF), and he served as its Executive Director from March 2001 | ||||||
|  | until March 2005, when he left FSF to join the Software Freedom Law Center | ||||||
|  | (SFLC), where he worked as SFLC's Policy Analyst and Technology Director | ||||||
|  | from 2005 until October 2010, when he joined Conservancy as its Executive | ||||||
|  | Director.  Kuhn holds a summa cum laude B.S. in Computer Science from | ||||||
|  | Loyola College in Maryland, and an M.S. in Computer Science from the | ||||||
|  | University of Cincinnati.  His Master's thesis discussed methods for | ||||||
|  | dynamic interoperability of Free Software languages.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Mike Linksvayer</h2> | ||||||
|  | 
 | ||||||
|  | <p>Mike Linksvayer serves on the boards of AcaWiki and OpenHatch, and is | ||||||
|  | chair of the Open Definition Advisory Council. From 2003 to 2012 he served | ||||||
|  | as CTO and VP of Creative Commons, where he is now a Senior Fellow. In 2000 | ||||||
|  | he co-founded Bitzi, an early open content/open data mass collaboration | ||||||
|  | platform.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Martin Michlmayr</h2> | ||||||
|  | 
 | ||||||
|  | <p>Martin Michlmayr has been involved in various free and open source | ||||||
|  | software projects for well over 15 years.  He acted as the leader of the | ||||||
|  | Debian project for two years and currently serves on the board of the Open | ||||||
|  | Source Initiative (OSI).  Martin works for HP as an Open Source Community | ||||||
|  | Expert.  In this role, he facilitates open source activities both | ||||||
|  | internally within HP as well as externally within the broader open source | ||||||
|  | community.  Martin holds Master degrees in Philosophy, Psychology and | ||||||
|  | Software Engineering, and earned a PhD from the University of | ||||||
|  | Cambridge.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Evan Prodromou</h2> | ||||||
|  | 
 | ||||||
|  | <p>Evan Prodromou is the lead developer of pump.io and founder of E14N Inc. | ||||||
|  | He has previously worked on Free Software for web services like MediaWiki | ||||||
|  | and StatusNet.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Karen Sandler</h2> | ||||||
|  | 
 | ||||||
|  | <p>Karen M. Sandler is currently the Executive Director of the GNOME | ||||||
|  | Foundation and prior to taking up this position was General Counsel of the | ||||||
|  | Software Freedom Law Center (SFLC). Karen continues to do <a | ||||||
|  | href="/about/outside#karen">pro bono legal work with Conservancy</a>, SFLC, | ||||||
|  | and Question Copyright and serves as an officer of both the Conservancy and | ||||||
|  | SFLC.  Before joining SFLC, Karen worked as an associate in the corporate | ||||||
|  | departments of Gibson, Dunn & Crutcher LLP in New York and Clifford | ||||||
|  | Chance in New York and London. Karen received her law degree from Columbia | ||||||
|  | Law School in 2000, where she was a James Kent Scholar and co-founder of | ||||||
|  | the Columbia Science and Technology Law Review. Karen received her | ||||||
|  | bachelor’s degree in engineering from The Cooper Union. She is a recipient | ||||||
|  | of an O'Reilly Open Source Award and also co-host of the <a | ||||||
|  | href="http://faif.us">“Free as in Freedom” podcast</a>.</p> | ||||||
|  | 
 | ||||||
|  | <h2>Tony Sebro</h2> | ||||||
|  | 
 | ||||||
|  | <p>Tony Sebro is a seasoned technology attorney with a broad base of | ||||||
|  | business and legal experience relating to technology, strategy, and | ||||||
|  | business development.  Before joining Conservancy, Tony was most recently a | ||||||
|  | Partner with the PCT Companies, a family of professional service firms. | ||||||
|  | Prior to that, he was Program Director, Technology & Intellectual | ||||||
|  | Property at IBM's Armonk, New York world headquarters, where he was | ||||||
|  | responsible for developing and executing licensing strategies in | ||||||
|  | partnership with IBM's Software Group.  In that role, Tony led negotiations | ||||||
|  | and structured deals with market leaders in the web technology, e-commerce, | ||||||
|  | retail, enterprise software, and financial services sectors.  Tony also led | ||||||
|  | various internal strategic initiatives, including an effort to provide | ||||||
|  | business leaders of key emerging market opportunities with coordinated | ||||||
|  | intellectual property development and monetization strategies, as well as | ||||||
|  | the revamping and supervision of IBM's corporate-wide process for | ||||||
|  | determining the value and availability of patents for sale.  Prior to his | ||||||
|  | tenure at IBM, Mr. Sebro practiced law in the New York office of Kenyon | ||||||
|  | & Kenyon, LLP, handling litigation and licensing matters for clients in | ||||||
|  | the medical, pharmaceutical and mechanical technology areas.  Tony received | ||||||
|  | his J.D. and his M.B.A. from the University of Michigan.  He received his | ||||||
|  | B.S. from the Massachusetts Institute of Technology. Tony is a member of | ||||||
|  | the New York bar and registered to practice before the U.S. Patent and | ||||||
|  | Trademark Office. Tony is also an active participant in and supporter of | ||||||
|  | the non-profit community, and has served on the boards of multiple | ||||||
|  | non-profit organizations.</p> | ||||||
|  | 
 | ||||||
|  | {% endblock %} | ||||||
|  | @ -14,13 +14,13 @@ | ||||||
|   gitorious</a>.</p> |   gitorious</a>.</p> | ||||||
| 
 | 
 | ||||||
| <p>The documents on this website are | <p>The documents on this website are | ||||||
|   licensed as <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-By-SA-3.0 |   licensed as <a href="https://creativecommons.org/licenses/by-sa/3.0/us">CC-By-SA-3.0 | ||||||
|   Unported</a>.  In some cases, the documents are dual-licensed |   USA</a>.  In some cases, the documents are dual-licensed | ||||||
|   (AGPLv3-or-later|CC-By-SA-3.0-Unported-or-later), to make it more |   (AGPLv3-or-later|CC-By-SA-3.0-USA-or-later), to make it more | ||||||
|   convenient to intermix the document with code.</p> |   convenient to intermix the document with code.</p> | ||||||
| 
 | 
 | ||||||
| <p>Conservancy's Logo is also licensed | <p>Conservancy's Logo is also licensed | ||||||
|   under <a href="http://creativecommons.org/licenses/by-sa/3.0/us">CC-By-SA-3.0 |   under <a href="https://creativecommons.org/licenses/by-sa/3.0/us">CC-By-SA-3.0 | ||||||
|   USA</a>.  A <a href="/img/conservancy-logo_package.zip">Conservancy |   USA</a>.  A <a href="/img/conservancy-logo_package.zip">Conservancy | ||||||
|   logo package in ZIP format is available, which includes high quality SVG, |   logo package in ZIP format is available, which includes high quality SVG, | ||||||
|   PNG and other formats</a>.</p> |   PNG and other formats</a>.</p> | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| {% extends "base_about.html" %} | {% extends "base_about.html" %} | ||||||
| {% block subtitle %}Outside Counsel & Contractors - {% endblock %} | {% block subtitle %}Outside Counsel, et alia - {% endblock %} | ||||||
| {% block submenuselection %}Outside{% endblock %} | {% block submenuselection %}Outside{% endblock %} | ||||||
| {% block content %} | {% block content %} | ||||||
| <h1>Outside Counsel</h1> | <h1>Outside Counsel</h1> | ||||||
|  |  | ||||||
							
								
								
									
										638
									
								
								www/conservancy/static/campaign/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										638
									
								
								www/conservancy/static/campaign/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,638 @@ | ||||||
|  | {% extends "base_conservancy.html" %} | ||||||
|  | {% block subtitle %}Campaign - {% endblock %} | ||||||
|  | {% block category %}campaign{% endblock %} | ||||||
|  | 
 | ||||||
|  | {% block head %} | ||||||
|  | <link href="/jquery-ui.css" rel="stylesheet" type="text/css"/> | ||||||
|  | <script src="/jquery.min.js"></script> | ||||||
|  | <script src="/jquery-ui.min.js"></script> | ||||||
|  | 
 | ||||||
|  | <style type="text/css"> | ||||||
|  |   #progressbar .ui-widget-header { background: rgb(206, 31, 31); } | ||||||
|  | </style> | ||||||
|  | 
 | ||||||
|  | <script type="text/javascript"> | ||||||
|  |   $(document).ready(function() { | ||||||
|  |     $("#progressbar").progressbar({ value: (41194 / 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 style="position:fixed;top:180px;right:2%;width:18%"> | ||||||
|  | <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> | ||||||
|  | </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> | ||||||
|  | --> | ||||||
|  | $41,194 raised toward<br/> | ||||||
|  | our $75,000 goal.</br> | ||||||
|  | <div id="progressbar" style="height:20px;"><span style="float:right; align:center; margin-right:40%">54.9%</div> | ||||||
|  | <font style="font-size: 75%">(Progress bar updated daily.)</font> | ||||||
|  | <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" border="0" name="submit" alt="Donate Now!"> | ||||||
|  | <img alt="" 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="Google Checkout"  | ||||||
|  |     data-expanded-text="Google Checkout:">Google Checkout</h4> | ||||||
|  |     <div class="toggle-content"> | ||||||
|  | <!-- Google Checkout start --> | ||||||
|  | <script type="text/javascript">  | ||||||
|  | function validateAmount(amount){ | ||||||
|  |     if(amount.value.match( /^[0-9]+(\.([0-9]+))?$/)){ | ||||||
|  |         return true; | ||||||
|  |     }else{ | ||||||
|  |         alert('You must enter a valid donation.'); | ||||||
|  |         amount.focus(); | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | <form action="https://checkout.google.com/cws/v2/Donations/622836985124940/checkoutForm" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm" onSubmit="return validateAmount(this.item_price_1)" target="_top"> | ||||||
|  |     <input name="item_name_1" type="hidden" value="Directed Donation for Conservancy's NPO accounting software project"/> | ||||||
|  |     <input name="item_description_1" type="hidden" value="This donation to the Software Freedom Conservancy, Inc. is directed toward Conservancy's NPO accounting software project.  Conservancy is a 501(c)(3) charity in New York."/> | ||||||
|  |     <input name="item_quantity_1" type="hidden" value="1"/> | ||||||
|  |     <input name="item_currency_1" type="hidden" value="USD"/> | ||||||
|  |     <input name="item_is_modifiable_1" type="hidden" value="true"/> | ||||||
|  |     <input name="item_min_price_1" type="hidden" value="6.0"/> | ||||||
|  |     <input name="item_max_price_1" type="hidden" value="25000.0"/> | ||||||
|  |     <input name="_charset_" type="hidden" value="utf-8"/> | ||||||
|  |     <table cellpadding="5" cellspacing="0" width="1%"> | ||||||
|  |         <tr> | ||||||
|  |             <td align="right" valign="top" style="padding-top:9px;" nowrap="nowrap" width="1%">$ <input id="item_price_1" name="item_price_1" onfocus="this.style.color='black'; this.value='';" size="6" type="text" value="250.00"/> | ||||||
|  |             </td> | ||||||
|  |             <td align="left" width="1%"> | ||||||
|  |                 <input alt="Donate" src="https://checkout.google.com/buttons/donateNow.gif?merchant_id=622836985124940&w=115&h=50&style=trans&variant=text&loc=en_US" type="image"/> | ||||||
|  |             </td> | ||||||
|  |         </tr> | ||||||
|  |     </table> | ||||||
|  | </form> | ||||||
|  | <!-- Google Checkout end --> | ||||||
|  |     </div><!-- /.toggle-content --> | ||||||
|  | </div><!-- /.toggle.unit --> | ||||||
|  | 
 | ||||||
|  | <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/Campaign-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" border="0" /></a></p> | ||||||
|  | <!-- Flattr end --> | ||||||
|  | </td></tr></table> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | <div style="align:left;width:80%;"> | ||||||
|  | <!-- 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;" /> | ||||||
|  | 
 | ||||||
|  | <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 — a boon to funders, boards, and employees —  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 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 <acronym title="Free, Libre and Open Source Software">FLOSS</acronym> | ||||||
|  |   <acronym title="Non-profit Organization">NPO</acronym> community and discovered that many larger fiscal sponsors — even | ||||||
|  |   those willing to use proprietary components — 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="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 “base case” 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) — including fiscal | ||||||
|  |   sponsors — 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> | ||||||
|  | 
 | ||||||
|  | <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 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 — proprietary or Free — 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> — | ||||||
|  | <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 | ||||||
|  | accounting system that is usable by non-technical people.  We | ||||||
|  | enthusiastically support the Conservancy's campaign to create one, and look | ||||||
|  | forward to using the result.</q> | ||||||
|  | — <a href="http://questioncopyright.org/speakers/karl_fogel">Karl | ||||||
|  | Fogel</a>, Executive Director, | ||||||
|  |   <a href="http://QuestionCopyright.org">QuestionCopyright.org</a></p> | ||||||
|  | 
 | ||||||
|  | <p><q>As a fiscal sponsor organization with over 30 currently-associated Free | ||||||
|  | Software projects, Software in the Public Interest shares the Conservancy's | ||||||
|  | needs and interests in this area, and welcome the opportunity to collaborate | ||||||
|  | on the development of a Free Software solution to our accounting needs.</q> | ||||||
|  | — Bdale Garbee, President,  <a href="http://www.spi-inc.org/">Software | ||||||
|  |     in the Public Interest</a></p> | ||||||
|  | 
 | ||||||
|  | <p><q>Open Source accounting software specifically tailored for non-profits | ||||||
|  |     will fill a pretty large need.</q> | ||||||
|  |     — <a href="http://wagner.nyu.edu/calabrese">Thad Calabrese</a>, | ||||||
|  |     Assistant Professor of Public and Nonprofit Financial Management | ||||||
|  |     at <a href="http://wagner.nyu.edu/">NYU Wagner</a>, and co-author | ||||||
|  |     of <cite>Financial Management for Public, Health, and Not-for-Profit | ||||||
|  |     Organizations, 4th Edition</cite>.</p> | ||||||
|  | 
 | ||||||
|  | <p><q>Creating free software specifically designed to address the needs of | ||||||
|  | nonprofits is a laudable goal and one that Conservancy is extremely well | ||||||
|  | positioned to achieve.</q>  — <a href="http://gnomg.org">Karen | ||||||
|  | Sandler</a>, Executive | ||||||
|  | Director, The <a href="http://www.gnome.org/foundation/">GNOME Foundation</a></p> | ||||||
|  | 
 | ||||||
|  | <p><q>The Open Source Initiative has shared the experiences of Software | ||||||
|  |      Freedom Conservancy in navigating the financial management needs of | ||||||
|  |      non-profit organisations and shares their concern. We have many NPOs as | ||||||
|  |      members and we welcome this useful initiative by Conservancy.</q> | ||||||
|  |      — Simon Phipps, President, <a href="http://opensource.org/node/658">Open Source | ||||||
|  |      Initiative</a></p> | ||||||
|  | 
 | ||||||
|  | <p><q>The <a href="https://fsf.org/">Free Software Foundation</a> is committed to doing all of its work, | ||||||
|  | both public-facing and internal, using only free software. We are thankful to | ||||||
|  | the developers of SQL Ledger for providing the accounting software that has | ||||||
|  | served us well for many years. As we have grown, so have the complexities of | ||||||
|  | our finances.  Because of our own needs and our mission to help other | ||||||
|  | organizations — both inside and outside of the technology sphere | ||||||
|  | — run their operations on exclusively free software, we wholeheartedly | ||||||
|  | support this Conservancy initiative.</q> — <a href="http://www.fsf.org/about/staff-and-board#johns">John Sullivan</a>, Executive | ||||||
|  | Director, <a href="https://fsf.org">Free Software Foundation</a></p> | ||||||
|  | 
 | ||||||
|  | <p><q>Open source is a great way to solve new problems and make software that | ||||||
|  | is more flexible and responsive to the needs of the people who use it. That's | ||||||
|  | as true for the finance industry as it is on the web.</q> | ||||||
|  | — <a href="http://blog.mozilla.org/press/bios/mark-surman/">Mark | ||||||
|  | Surman</a>, Executive | ||||||
|  | Director, <a href="https://www.mozilla.org/foundation/">Mozilla | ||||||
|  | Foundation</a></p> | ||||||
|  | 
 | ||||||
|  | <p><q>As a young free software non-profit, OpenHatch is thrilled to see this | ||||||
|  | effort; it would let us spend more of our time on programs and less on | ||||||
|  | paperwork.  I have already personally <a href="#donate-box" class="donate-now">donated</a>.</q> — Asheesh Laroia, | ||||||
|  | Executive Director, <a href="https://openhatch.org/">OpenHatch</a></p> | ||||||
|  | 
 | ||||||
|  | <h3>Some Important Details for this Fundraiser</h3> | ||||||
|  | 
 | ||||||
|  | <ul> | ||||||
|  | <li>Donations made are general donations to the Software Freedom | ||||||
|  |   Conservancy, Inc., a 501(c)(3) charity incorporated in New York. | ||||||
|  |   Conservancy is committed to doing this work described herein, but cannot | ||||||
|  |   promise to complete the work if the fundraising goal is not reached.  If | ||||||
|  |   the fundraising goal is not reached, Conservancy will do its best to make | ||||||
|  |   progress on the plan above with the resources available.  It's expected | ||||||
|  |   that work will simply proceed, but more slowly and take more time, if the | ||||||
|  |   fundraising goal is not reached.</li> | ||||||
|  | 
 | ||||||
|  | <li>The license for the project is not yet chosen, since Phase 0 might | ||||||
|  |   prescribe contribution to particular upstream projects, and Conservancy is | ||||||
|  |   committed to contributing to upstream projects under their chosen license, | ||||||
|  |   where possible.  However, Conservancy promises that all software that is | ||||||
|  |   written will be released under a license that is both approved by | ||||||
|  |   the <a href="http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses">FSF as a Free | ||||||
|  |   Software license</a> <strong>and</strong> by the OSI as | ||||||
|  |   an <a href="http://opensource.org/licenses">OSI-approved license</a>.  New | ||||||
|  |   documentation that is written will be released under some license | ||||||
|  |   compatible with <a href="https://creativecommons.org/licenses/by-sa/3.0/us/">CC BY-SA 3.0 USA</a>.</li> | ||||||
|  | 
 | ||||||
|  | <!-- end campaign text --> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | {% endblock %} | ||||||
|  | @ -11,13 +11,20 @@ p, h1, h2, h3, h4, h5, h6, #mainContent ul, #mainContent ol { | ||||||
| 
 | 
 | ||||||
| body { | body { | ||||||
| /*  font-family: "Lucida Grande",Verdana,Lucida,Helvetica,Arial,sans-serif; */ | /*  font-family: "Lucida Grande",Verdana,Lucida,Helvetica,Arial,sans-serif; */ | ||||||
|  |   font-family: Helvetica; | ||||||
|   font-size: 95%; |   font-size: 95%; | ||||||
|   background-color: #0000; |   background-color: #0000; | ||||||
|   color: #ffff; |   color: #ffff; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| a { text-decoration: none; color: #557733; } | a { text-decoration: none; color: #557733; } | ||||||
| a:hover { text-decoration: underline; color: #3B6337; } | a:hover { text-decoration: underline; color: #577632; } | ||||||
|  | 
 | ||||||
|  | .toggle-control  { | ||||||
|  | cursor: pointer; | ||||||
|  | text-decoration: none; color: #557733; | ||||||
|  | } | ||||||
|  | .toggle-control:hover { text-decoration: underline; color: #577632; } | ||||||
| 
 | 
 | ||||||
| h1 { margin-top: .75em; margin-bottom: .5em; } | h1 { margin-top: .75em; margin-bottom: .5em; } | ||||||
| h2 { margin-top: .75em; margin-bottom: .5em; } | h2 { margin-top: .75em; margin-bottom: .5em; } | ||||||
|  | @ -57,10 +64,20 @@ h3 { margin-top: .6em; margin-bottom: .4em; } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Navigation bar */ | /* Navigation bar */ | ||||||
| #navbar-outer { background: #B3D4A3; } | #navbar-outer { background: #577632; } | ||||||
| #navbar { margin-left: 104px; margin-top: 3px; float: left; display: inline; } | #navbar { margin-left: 104px; margin-top: 3px; float: left; display: inline; } | ||||||
| #navbar ul { list-style: none; } | #navbar ul { list-style: none; } | ||||||
| #navbar-clear { clear: both; border-bottom: 1px solid #808080; } | #navbar-clear { clear: both; border-bottom: 1px solid #808080; } | ||||||
|  | #navbar li.campaign 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 { | #navbar li a { | ||||||
|   display: block; |   display: block; | ||||||
|   background: #fafafe; |   background: #fafafe; | ||||||
|  | @ -69,8 +86,10 @@ h3 { margin-top: .6em; margin-bottom: .4em; } | ||||||
|   border: 1px solid #808080; |   border: 1px solid #808080; | ||||||
|   font-size: .8em; |   font-size: .8em; | ||||||
|   background: #fff url(/img/nav-bg.png) bottom repeat-x; |   background: #fff url(/img/nav-bg.png) bottom repeat-x; | ||||||
|  |   border-color: #ffffff; | ||||||
| } | } | ||||||
| #navbar li:hover a { background: #3b6337; color: #fff; } | #navbar li:hover a { background: #577632; color: #fff; } | ||||||
|  | #navbar li.campaign:hover a { background: #577632; color: #CE1F1F; } | ||||||
| #navbar li { float: left; display: inline; margin-bottom: 3px; } | #navbar li { float: left; display: inline; margin-bottom: 3px; } | ||||||
| 
 | 
 | ||||||
| #mainContent { | #mainContent { | ||||||
|  | @ -101,14 +120,16 @@ h3 { margin-top: .6em; margin-bottom: .4em; } | ||||||
|     border: 1px solid #CCC; |     border: 1px solid #CCC; | ||||||
|     background: #fff url(/img/nav-bg.png) bottom repeat-x; |     background: #fff url(/img/nav-bg.png) bottom repeat-x; | ||||||
| } | } | ||||||
| #container #sidebar li:hover a { background: #3b6337; color: #fff; } | #container #sidebar li:hover a { background: #577632; color: #fff; } | ||||||
| 
 | 
 | ||||||
| #container #sidebar.Directors ul li.Directors, | #container #sidebar.Directors ul li.Directors, | ||||||
|  | #container #sidebar.Eval ul li.Eval, | ||||||
| #container #sidebar.Contact ul li.Contact, | #container #sidebar.Contact ul li.Contact, | ||||||
| #container #sidebar.Officers ul li.Officers, | #container #sidebar.Officers ul li.Officers, | ||||||
| #container #sidebar.Staff ul li.Staff, | #container #sidebar.Staff ul li.Staff, | ||||||
| #container #sidebar.Outside ul li.Outside, | #container #sidebar.Outside ul li.Outside, | ||||||
| #container #sidebar.Filings ul li.Filings, | #container #sidebar.Filings ul li.Filings, | ||||||
|  | #container #sidebar.License ul li.License, | ||||||
| #container #sidebar.Current ul li.Current, | #container #sidebar.Current ul li.Current, | ||||||
| #container #sidebar.Services ul li.Services, | #container #sidebar.Services ul li.Services, | ||||||
| #container #sidebar.Applying ul li.Applying | #container #sidebar.Applying ul li.Applying | ||||||
|  | @ -231,6 +252,12 @@ body.conservancy-sponsors #navbar ul li.sponsors a /* NO COMMA HERE! */ | ||||||
|     font-weight: bold; |     font-weight: bold; | ||||||
|     background: #fff url(/img/nav-bg-up.png) top repeat-x; |     background: #fff url(/img/nav-bg-up.png) top repeat-x; | ||||||
| } | } | ||||||
|  | body.conservancy-campaign #navbar ul li.campaign a | ||||||
|  | {  | ||||||
|  |     color: #000033; | ||||||
|  |     font-weight: bold; | ||||||
|  |     background: url(/img/nav-bg-campaign-up.png) bottom repeat-x; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| #sponsor ul { | #sponsor ul { | ||||||
|   clear: all; |   clear: all; | ||||||
|  | @ -251,3 +278,5 @@ body.conservancy-sponsors #navbar ul li.sponsors a /* NO COMMA HERE! */ | ||||||
|    width: 200px; |    width: 200px; | ||||||
|    font-size: 12px; |    font-size: 12px; | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -50,11 +50,11 @@ function validateAmount(amount){ | ||||||
| 
 | 
 | ||||||
| <h3>Donate via Flattr</h3> | <h3>Donate via Flattr</h3> | ||||||
| <p> | <p> | ||||||
| <a href="http://www.flattr.com">Flattr</a> is a social micro-payment system that allows users to make donations via the web.  Like Google Checkout, Flattr does not charge any processing fees on donations to Conservancy.  If you are a Flattr user and you would like to "flattr" Conservancy with a donation, click on the button below: | <a href="https://www.flattr.com">Flattr</a> is a social micro-payment system that allows users to make donations via the web.  Flattr does not charge any processing fees on donations to Conservancy.  If you are a Flattr user and you would like to "flattr" Conservancy with a donation, click on the button below: | ||||||
| </p> | </p> | ||||||
| 
 | 
 | ||||||
| <a href="http://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank"> | <a href="https://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank"> | ||||||
| <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a> | <img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 12 KiB | 
							
								
								
									
										
											BIN
										
									
								
								www/conservancy/static/img/nav-bg-campaign-up.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								www/conservancy/static/img/nav-bg-campaign-up.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 224 B | 
							
								
								
									
										
											BIN
										
									
								
								www/conservancy/static/img/nav-bg-campaign.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								www/conservancy/static/img/nav-bg-campaign.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 226 B | 
							
								
								
									
										
											BIN
										
									
								
								www/conservancy/static/img/sponsors/appendTo.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								www/conservancy/static/img/sponsors/appendTo.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 7.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								www/conservancy/static/img/sponsors/mozilla.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								www/conservancy/static/img/sponsors/mozilla.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.6 KiB | 
							
								
								
									
										5248
									
								
								www/conservancy/static/img/sponsors/redhat.eps
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5248
									
								
								www/conservancy/static/img/sponsors/redhat.eps
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								www/conservancy/static/img/sponsors/redhat.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								www/conservancy/static/img/sponsors/redhat.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 6.5 KiB | 
							
								
								
									
										464
									
								
								www/conservancy/static/jquery-ui.css
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										464
									
								
								www/conservancy/static/jquery-ui.css
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,464 @@ | ||||||
|  | /*! jQuery UI - v1.8.24 - 2012-09-28 | ||||||
|  | * https://github.com/jquery/jquery-ui | ||||||
|  | * Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css | ||||||
|  | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ | ||||||
|  | 
 | ||||||
|  | /* Layout helpers | ||||||
|  | ----------------------------------*/ | ||||||
|  | .ui-helper-hidden { display: none; } | ||||||
|  | .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } | ||||||
|  | .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } | ||||||
|  | .ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } | ||||||
|  | .ui-helper-clearfix:after { clear: both; } | ||||||
|  | .ui-helper-clearfix { zoom: 1; } | ||||||
|  | .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Interaction Cues | ||||||
|  | ----------------------------------*/ | ||||||
|  | .ui-state-disabled { cursor: default !important; } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Icons | ||||||
|  | ----------------------------------*/ | ||||||
|  | 
 | ||||||
|  | /* states and images */ | ||||||
|  | .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Misc visuals | ||||||
|  | ----------------------------------*/ | ||||||
|  | 
 | ||||||
|  | /* Overlays */ | ||||||
|  | .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } | ||||||
|  | 
 | ||||||
|  | /* IE/Win - Fix animation bug - #4615 */ | ||||||
|  | .ui-accordion { width: 100%; } | ||||||
|  | .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } | ||||||
|  | .ui-accordion .ui-accordion-li-fix { display: inline; } | ||||||
|  | .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } | ||||||
|  | .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } | ||||||
|  | .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } | ||||||
|  | .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } | ||||||
|  | .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } | ||||||
|  | .ui-accordion .ui-accordion-content-active { display: block; } | ||||||
|  | 
 | ||||||
|  | .ui-autocomplete { position: absolute; cursor: default; }	 | ||||||
|  | 
 | ||||||
|  | /* workarounds */ | ||||||
|  | * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ | ||||||
|  | 
 | ||||||
|  | /* | ||||||
|  |  * jQuery UI Menu 1.8.24 | ||||||
|  |  * | ||||||
|  |  * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) | ||||||
|  |  * Dual licensed under the MIT or GPL Version 2 licenses. | ||||||
|  |  * http://jquery.org/license | ||||||
|  |  * | ||||||
|  |  * http://docs.jquery.com/UI/Menu#theming | ||||||
|  |  */ | ||||||
|  | .ui-menu { | ||||||
|  | 	list-style:none; | ||||||
|  | 	padding: 2px; | ||||||
|  | 	margin: 0; | ||||||
|  | 	display:block; | ||||||
|  | 	float: left; | ||||||
|  | } | ||||||
|  | .ui-menu .ui-menu { | ||||||
|  | 	margin-top: -3px; | ||||||
|  | } | ||||||
|  | .ui-menu .ui-menu-item { | ||||||
|  | 	margin:0; | ||||||
|  | 	padding: 0; | ||||||
|  | 	zoom: 1; | ||||||
|  | 	float: left; | ||||||
|  | 	clear: left; | ||||||
|  | 	width: 100%; | ||||||
|  | } | ||||||
|  | .ui-menu .ui-menu-item a { | ||||||
|  | 	text-decoration:none; | ||||||
|  | 	display:block; | ||||||
|  | 	padding:.2em .4em; | ||||||
|  | 	line-height:1.5; | ||||||
|  | 	zoom:1; | ||||||
|  | } | ||||||
|  | .ui-menu .ui-menu-item a.ui-state-hover, | ||||||
|  | .ui-menu .ui-menu-item a.ui-state-active { | ||||||
|  | 	font-weight: normal; | ||||||
|  | 	margin: -1px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ | ||||||
|  | .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ | ||||||
|  | button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ | ||||||
|  | .ui-button-icons-only { width: 3.4em; }  | ||||||
|  | button.ui-button-icons-only { width: 3.7em; }  | ||||||
|  | 
 | ||||||
|  | /*button text element */ | ||||||
|  | .ui-button .ui-button-text { display: block; line-height: 1.4;  } | ||||||
|  | .ui-button-text-only .ui-button-text { padding: .4em 1em; } | ||||||
|  | .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } | ||||||
|  | .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } | ||||||
|  | .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } | ||||||
|  | .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } | ||||||
|  | /* no icon support for input elements, provide padding by default */ | ||||||
|  | input.ui-button { padding: .4em 1em; } | ||||||
|  | 
 | ||||||
|  | /*button icon element(s) */ | ||||||
|  | .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } | ||||||
|  | .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } | ||||||
|  | .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } | ||||||
|  | .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } | ||||||
|  | .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } | ||||||
|  | 
 | ||||||
|  | /*button sets*/ | ||||||
|  | .ui-buttonset { margin-right: 7px; } | ||||||
|  | .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } | ||||||
|  | 
 | ||||||
|  | /* workarounds */ | ||||||
|  | button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ | ||||||
|  | 
 | ||||||
|  | .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } | ||||||
|  | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } | ||||||
|  | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } | ||||||
|  | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } | ||||||
|  | .ui-datepicker .ui-datepicker-prev { left:2px; } | ||||||
|  | .ui-datepicker .ui-datepicker-next { right:2px; } | ||||||
|  | .ui-datepicker .ui-datepicker-prev-hover { left:1px; } | ||||||
|  | .ui-datepicker .ui-datepicker-next-hover { right:1px; } | ||||||
|  | .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px;  } | ||||||
|  | .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } | ||||||
|  | .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } | ||||||
|  | .ui-datepicker select.ui-datepicker-month-year {width: 100%;} | ||||||
|  | .ui-datepicker select.ui-datepicker-month,  | ||||||
|  | .ui-datepicker select.ui-datepicker-year { width: 49%;} | ||||||
|  | .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } | ||||||
|  | .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0;  } | ||||||
|  | .ui-datepicker td { border: 0; padding: 1px; } | ||||||
|  | .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } | ||||||
|  | .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } | ||||||
|  | .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } | ||||||
|  | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } | ||||||
|  | 
 | ||||||
|  | /* with multiple calendars */ | ||||||
|  | .ui-datepicker.ui-datepicker-multi { width:auto; } | ||||||
|  | .ui-datepicker-multi .ui-datepicker-group { float:left; } | ||||||
|  | .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } | ||||||
|  | .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } | ||||||
|  | .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } | ||||||
|  | .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } | ||||||
|  | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } | ||||||
|  | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } | ||||||
|  | .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } | ||||||
|  | .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } | ||||||
|  | 
 | ||||||
|  | /* RTL support */ | ||||||
|  | .ui-datepicker-rtl { direction: rtl; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-group { float:right; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } | ||||||
|  | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } | ||||||
|  | 
 | ||||||
|  | /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ | ||||||
|  | .ui-datepicker-cover { | ||||||
|  |     position: absolute; /*must have*/ | ||||||
|  |     z-index: -1; /*must have*/ | ||||||
|  |     filter: mask(); /*must have*/ | ||||||
|  |     top: -4px; /*must have*/ | ||||||
|  |     left: -4px; /*must have*/ | ||||||
|  |     width: 200px; /*must have*/ | ||||||
|  |     height: 200px; /*must have*/ | ||||||
|  | } | ||||||
|  | .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } | ||||||
|  | .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative;  } | ||||||
|  | .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }  | ||||||
|  | .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } | ||||||
|  | .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } | ||||||
|  | .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } | ||||||
|  | .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } | ||||||
|  | .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } | ||||||
|  | .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } | ||||||
|  | .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } | ||||||
|  | .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } | ||||||
|  | .ui-draggable .ui-dialog-titlebar { cursor: move; } | ||||||
|  | 
 | ||||||
|  | .ui-progressbar { height:2em; text-align: left; overflow: hidden; } | ||||||
|  | .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } | ||||||
|  | .ui-resizable { position: relative;} | ||||||
|  | .ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; } | ||||||
|  | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } | ||||||
|  | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } | ||||||
|  | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } | ||||||
|  | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } | ||||||
|  | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } | ||||||
|  | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } | ||||||
|  | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } | ||||||
|  | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } | ||||||
|  | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} | ||||||
|  | .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } | ||||||
|  | 
 | ||||||
|  | .ui-slider { position: relative; text-align: left; } | ||||||
|  | .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } | ||||||
|  | .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } | ||||||
|  | 
 | ||||||
|  | .ui-slider-horizontal { height: .8em; } | ||||||
|  | .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } | ||||||
|  | .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } | ||||||
|  | .ui-slider-horizontal .ui-slider-range-min { left: 0; } | ||||||
|  | .ui-slider-horizontal .ui-slider-range-max { right: 0; } | ||||||
|  | 
 | ||||||
|  | .ui-slider-vertical { width: .8em; height: 100px; } | ||||||
|  | .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } | ||||||
|  | .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } | ||||||
|  | .ui-slider-vertical .ui-slider-range-min { bottom: 0; } | ||||||
|  | .ui-slider-vertical .ui-slider-range-max { top: 0; } | ||||||
|  | .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ | ||||||
|  | .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } | ||||||
|  | .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } | ||||||
|  | .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } | ||||||
|  | .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } | ||||||
|  | .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } | ||||||
|  | .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ | ||||||
|  | .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } | ||||||
|  | .ui-tabs .ui-tabs-hide { display: none !important; } | ||||||
|  | 
 | ||||||
|  | /* Component containers | ||||||
|  | ----------------------------------*/ | ||||||
|  | .ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } | ||||||
|  | .ui-widget .ui-widget { font-size: 1em; } | ||||||
|  | .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } | ||||||
|  | .ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } | ||||||
|  | .ui-widget-content a { color: #222222/*{fcContent}*/; } | ||||||
|  | .ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } | ||||||
|  | .ui-widget-header a { color: #222222/*{fcHeader}*/; } | ||||||
|  | 
 | ||||||
|  | /* Interaction states | ||||||
|  | ----------------------------------*/ | ||||||
|  | .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } | ||||||
|  | .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } | ||||||
|  | .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } | ||||||
|  | .ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } | ||||||
|  | .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } | ||||||
|  | .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } | ||||||
|  | .ui-widget :active { outline: none; } | ||||||
|  | 
 | ||||||
|  | /* Interaction Cues | ||||||
|  | ----------------------------------*/ | ||||||
|  | .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight  {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } | ||||||
|  | .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } | ||||||
|  | .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } | ||||||
|  | .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } | ||||||
|  | .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } | ||||||
|  | .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } | ||||||
|  | .ui-priority-secondary, .ui-widget-content .ui-priority-secondary,  .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } | ||||||
|  | .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } | ||||||
|  | 
 | ||||||
|  | /* Icons | ||||||
|  | ----------------------------------*/ | ||||||
|  | 
 | ||||||
|  | /* states and images */ | ||||||
|  | .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } | ||||||
|  | .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } | ||||||
|  | .ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } | ||||||
|  | .ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } | ||||||
|  | .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } | ||||||
|  | .ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } | ||||||
|  | .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } | ||||||
|  | .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } | ||||||
|  | 
 | ||||||
|  | /* positioning */ | ||||||
|  | .ui-icon-carat-1-n { background-position: 0 0; } | ||||||
|  | .ui-icon-carat-1-ne { background-position: -16px 0; } | ||||||
|  | .ui-icon-carat-1-e { background-position: -32px 0; } | ||||||
|  | .ui-icon-carat-1-se { background-position: -48px 0; } | ||||||
|  | .ui-icon-carat-1-s { background-position: -64px 0; } | ||||||
|  | .ui-icon-carat-1-sw { background-position: -80px 0; } | ||||||
|  | .ui-icon-carat-1-w { background-position: -96px 0; } | ||||||
|  | .ui-icon-carat-1-nw { background-position: -112px 0; } | ||||||
|  | .ui-icon-carat-2-n-s { background-position: -128px 0; } | ||||||
|  | .ui-icon-carat-2-e-w { background-position: -144px 0; } | ||||||
|  | .ui-icon-triangle-1-n { background-position: 0 -16px; } | ||||||
|  | .ui-icon-triangle-1-ne { background-position: -16px -16px; } | ||||||
|  | .ui-icon-triangle-1-e { background-position: -32px -16px; } | ||||||
|  | .ui-icon-triangle-1-se { background-position: -48px -16px; } | ||||||
|  | .ui-icon-triangle-1-s { background-position: -64px -16px; } | ||||||
|  | .ui-icon-triangle-1-sw { background-position: -80px -16px; } | ||||||
|  | .ui-icon-triangle-1-w { background-position: -96px -16px; } | ||||||
|  | .ui-icon-triangle-1-nw { background-position: -112px -16px; } | ||||||
|  | .ui-icon-triangle-2-n-s { background-position: -128px -16px; } | ||||||
|  | .ui-icon-triangle-2-e-w { background-position: -144px -16px; } | ||||||
|  | .ui-icon-arrow-1-n { background-position: 0 -32px; } | ||||||
|  | .ui-icon-arrow-1-ne { background-position: -16px -32px; } | ||||||
|  | .ui-icon-arrow-1-e { background-position: -32px -32px; } | ||||||
|  | .ui-icon-arrow-1-se { background-position: -48px -32px; } | ||||||
|  | .ui-icon-arrow-1-s { background-position: -64px -32px; } | ||||||
|  | .ui-icon-arrow-1-sw { background-position: -80px -32px; } | ||||||
|  | .ui-icon-arrow-1-w { background-position: -96px -32px; } | ||||||
|  | .ui-icon-arrow-1-nw { background-position: -112px -32px; } | ||||||
|  | .ui-icon-arrow-2-n-s { background-position: -128px -32px; } | ||||||
|  | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } | ||||||
|  | .ui-icon-arrow-2-e-w { background-position: -160px -32px; } | ||||||
|  | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } | ||||||
|  | .ui-icon-arrowstop-1-n { background-position: -192px -32px; } | ||||||
|  | .ui-icon-arrowstop-1-e { background-position: -208px -32px; } | ||||||
|  | .ui-icon-arrowstop-1-s { background-position: -224px -32px; } | ||||||
|  | .ui-icon-arrowstop-1-w { background-position: -240px -32px; } | ||||||
|  | .ui-icon-arrowthick-1-n { background-position: 0 -48px; } | ||||||
|  | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } | ||||||
|  | .ui-icon-arrowthick-1-e { background-position: -32px -48px; } | ||||||
|  | .ui-icon-arrowthick-1-se { background-position: -48px -48px; } | ||||||
|  | .ui-icon-arrowthick-1-s { background-position: -64px -48px; } | ||||||
|  | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } | ||||||
|  | .ui-icon-arrowthick-1-w { background-position: -96px -48px; } | ||||||
|  | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } | ||||||
|  | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } | ||||||
|  | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } | ||||||
|  | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } | ||||||
|  | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } | ||||||
|  | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } | ||||||
|  | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } | ||||||
|  | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } | ||||||
|  | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } | ||||||
|  | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } | ||||||
|  | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } | ||||||
|  | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } | ||||||
|  | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } | ||||||
|  | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } | ||||||
|  | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } | ||||||
|  | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } | ||||||
|  | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } | ||||||
|  | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } | ||||||
|  | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } | ||||||
|  | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } | ||||||
|  | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } | ||||||
|  | .ui-icon-arrow-4 { background-position: 0 -80px; } | ||||||
|  | .ui-icon-arrow-4-diag { background-position: -16px -80px; } | ||||||
|  | .ui-icon-extlink { background-position: -32px -80px; } | ||||||
|  | .ui-icon-newwin { background-position: -48px -80px; } | ||||||
|  | .ui-icon-refresh { background-position: -64px -80px; } | ||||||
|  | .ui-icon-shuffle { background-position: -80px -80px; } | ||||||
|  | .ui-icon-transfer-e-w { background-position: -96px -80px; } | ||||||
|  | .ui-icon-transferthick-e-w { background-position: -112px -80px; } | ||||||
|  | .ui-icon-folder-collapsed { background-position: 0 -96px; } | ||||||
|  | .ui-icon-folder-open { background-position: -16px -96px; } | ||||||
|  | .ui-icon-document { background-position: -32px -96px; } | ||||||
|  | .ui-icon-document-b { background-position: -48px -96px; } | ||||||
|  | .ui-icon-note { background-position: -64px -96px; } | ||||||
|  | .ui-icon-mail-closed { background-position: -80px -96px; } | ||||||
|  | .ui-icon-mail-open { background-position: -96px -96px; } | ||||||
|  | .ui-icon-suitcase { background-position: -112px -96px; } | ||||||
|  | .ui-icon-comment { background-position: -128px -96px; } | ||||||
|  | .ui-icon-person { background-position: -144px -96px; } | ||||||
|  | .ui-icon-print { background-position: -160px -96px; } | ||||||
|  | .ui-icon-trash { background-position: -176px -96px; } | ||||||
|  | .ui-icon-locked { background-position: -192px -96px; } | ||||||
|  | .ui-icon-unlocked { background-position: -208px -96px; } | ||||||
|  | .ui-icon-bookmark { background-position: -224px -96px; } | ||||||
|  | .ui-icon-tag { background-position: -240px -96px; } | ||||||
|  | .ui-icon-home { background-position: 0 -112px; } | ||||||
|  | .ui-icon-flag { background-position: -16px -112px; } | ||||||
|  | .ui-icon-calendar { background-position: -32px -112px; } | ||||||
|  | .ui-icon-cart { background-position: -48px -112px; } | ||||||
|  | .ui-icon-pencil { background-position: -64px -112px; } | ||||||
|  | .ui-icon-clock { background-position: -80px -112px; } | ||||||
|  | .ui-icon-disk { background-position: -96px -112px; } | ||||||
|  | .ui-icon-calculator { background-position: -112px -112px; } | ||||||
|  | .ui-icon-zoomin { background-position: -128px -112px; } | ||||||
|  | .ui-icon-zoomout { background-position: -144px -112px; } | ||||||
|  | .ui-icon-search { background-position: -160px -112px; } | ||||||
|  | .ui-icon-wrench { background-position: -176px -112px; } | ||||||
|  | .ui-icon-gear { background-position: -192px -112px; } | ||||||
|  | .ui-icon-heart { background-position: -208px -112px; } | ||||||
|  | .ui-icon-star { background-position: -224px -112px; } | ||||||
|  | .ui-icon-link { background-position: -240px -112px; } | ||||||
|  | .ui-icon-cancel { background-position: 0 -128px; } | ||||||
|  | .ui-icon-plus { background-position: -16px -128px; } | ||||||
|  | .ui-icon-plusthick { background-position: -32px -128px; } | ||||||
|  | .ui-icon-minus { background-position: -48px -128px; } | ||||||
|  | .ui-icon-minusthick { background-position: -64px -128px; } | ||||||
|  | .ui-icon-close { background-position: -80px -128px; } | ||||||
|  | .ui-icon-closethick { background-position: -96px -128px; } | ||||||
|  | .ui-icon-key { background-position: -112px -128px; } | ||||||
|  | .ui-icon-lightbulb { background-position: -128px -128px; } | ||||||
|  | .ui-icon-scissors { background-position: -144px -128px; } | ||||||
|  | .ui-icon-clipboard { background-position: -160px -128px; } | ||||||
|  | .ui-icon-copy { background-position: -176px -128px; } | ||||||
|  | .ui-icon-contact { background-position: -192px -128px; } | ||||||
|  | .ui-icon-image { background-position: -208px -128px; } | ||||||
|  | .ui-icon-video { background-position: -224px -128px; } | ||||||
|  | .ui-icon-script { background-position: -240px -128px; } | ||||||
|  | .ui-icon-alert { background-position: 0 -144px; } | ||||||
|  | .ui-icon-info { background-position: -16px -144px; } | ||||||
|  | .ui-icon-notice { background-position: -32px -144px; } | ||||||
|  | .ui-icon-help { background-position: -48px -144px; } | ||||||
|  | .ui-icon-check { background-position: -64px -144px; } | ||||||
|  | .ui-icon-bullet { background-position: -80px -144px; } | ||||||
|  | .ui-icon-radio-off { background-position: -96px -144px; } | ||||||
|  | .ui-icon-radio-on { background-position: -112px -144px; } | ||||||
|  | .ui-icon-pin-w { background-position: -128px -144px; } | ||||||
|  | .ui-icon-pin-s { background-position: -144px -144px; } | ||||||
|  | .ui-icon-play { background-position: 0 -160px; } | ||||||
|  | .ui-icon-pause { background-position: -16px -160px; } | ||||||
|  | .ui-icon-seek-next { background-position: -32px -160px; } | ||||||
|  | .ui-icon-seek-prev { background-position: -48px -160px; } | ||||||
|  | .ui-icon-seek-end { background-position: -64px -160px; } | ||||||
|  | .ui-icon-seek-start { background-position: -80px -160px; } | ||||||
|  | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ | ||||||
|  | .ui-icon-seek-first { background-position: -80px -160px; } | ||||||
|  | .ui-icon-stop { background-position: -96px -160px; } | ||||||
|  | .ui-icon-eject { background-position: -112px -160px; } | ||||||
|  | .ui-icon-volume-off { background-position: -128px -160px; } | ||||||
|  | .ui-icon-volume-on { background-position: -144px -160px; } | ||||||
|  | .ui-icon-power { background-position: 0 -176px; } | ||||||
|  | .ui-icon-signal-diag { background-position: -16px -176px; } | ||||||
|  | .ui-icon-signal { background-position: -32px -176px; } | ||||||
|  | .ui-icon-battery-0 { background-position: -48px -176px; } | ||||||
|  | .ui-icon-battery-1 { background-position: -64px -176px; } | ||||||
|  | .ui-icon-battery-2 { background-position: -80px -176px; } | ||||||
|  | .ui-icon-battery-3 { background-position: -96px -176px; } | ||||||
|  | .ui-icon-circle-plus { background-position: 0 -192px; } | ||||||
|  | .ui-icon-circle-minus { background-position: -16px -192px; } | ||||||
|  | .ui-icon-circle-close { background-position: -32px -192px; } | ||||||
|  | .ui-icon-circle-triangle-e { background-position: -48px -192px; } | ||||||
|  | .ui-icon-circle-triangle-s { background-position: -64px -192px; } | ||||||
|  | .ui-icon-circle-triangle-w { background-position: -80px -192px; } | ||||||
|  | .ui-icon-circle-triangle-n { background-position: -96px -192px; } | ||||||
|  | .ui-icon-circle-arrow-e { background-position: -112px -192px; } | ||||||
|  | .ui-icon-circle-arrow-s { background-position: -128px -192px; } | ||||||
|  | .ui-icon-circle-arrow-w { background-position: -144px -192px; } | ||||||
|  | .ui-icon-circle-arrow-n { background-position: -160px -192px; } | ||||||
|  | .ui-icon-circle-zoomin { background-position: -176px -192px; } | ||||||
|  | .ui-icon-circle-zoomout { background-position: -192px -192px; } | ||||||
|  | .ui-icon-circle-check { background-position: -208px -192px; } | ||||||
|  | .ui-icon-circlesmall-plus { background-position: 0 -208px; } | ||||||
|  | .ui-icon-circlesmall-minus { background-position: -16px -208px; } | ||||||
|  | .ui-icon-circlesmall-close { background-position: -32px -208px; } | ||||||
|  | .ui-icon-squaresmall-plus { background-position: -48px -208px; } | ||||||
|  | .ui-icon-squaresmall-minus { background-position: -64px -208px; } | ||||||
|  | .ui-icon-squaresmall-close { background-position: -80px -208px; } | ||||||
|  | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } | ||||||
|  | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } | ||||||
|  | .ui-icon-grip-solid-vertical { background-position: -32px -224px; } | ||||||
|  | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } | ||||||
|  | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } | ||||||
|  | .ui-icon-grip-diagonal-se { background-position: -80px -224px; } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Misc visuals | ||||||
|  | ----------------------------------*/ | ||||||
|  | 
 | ||||||
|  | /* Corner radius */ | ||||||
|  | .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } | ||||||
|  | .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } | ||||||
|  | .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } | ||||||
|  | .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } | ||||||
|  | 
 | ||||||
|  | /* Overlays */ | ||||||
|  | .ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } | ||||||
|  | .ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } | ||||||
							
								
								
									
										5
									
								
								www/conservancy/static/jquery-ui.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								www/conservancy/static/jquery-ui.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										16
									
								
								www/conservancy/static/jquery.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								www/conservancy/static/jquery.min.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -31,12 +31,12 @@ | ||||||
| <h2>I sent in my inquiry letter and/or application a long time ago.  Why haven't you replied?</h2> | <h2>I sent in my inquiry letter and/or application a long time ago.  Why haven't you replied?</h2> | ||||||
| 
 | 
 | ||||||
| <p>Conservancy receives an overwhelming level of interest and we have very few | <p>Conservancy receives an overwhelming level of interest and we have very few | ||||||
|   <a href="http://sfconservancy.org/about/staff/">staff positions</a> to |   <a href="/about/staff/">staff positions</a> to | ||||||
|   meet the interest and demand |   meet the interest and demand | ||||||
|   for <a href="http://sfconservancy.org/members/services/">Conservancy's |   for <a href="/members/services/">Conservancy's | ||||||
|   services</a> to its member projects.  Meanwhile, Conservancy always |   services</a> to its member projects.  Meanwhile, Conservancy always | ||||||
|   prioritizes needs of |   prioritizes needs of | ||||||
|   its <a href="http://sfconservancy.org/members/current/">existing member |   its <a href="/members/current/">existing member | ||||||
|   projects</a> over new inquiries and applications.  Therefore, it |   projects</a> over new inquiries and applications.  Therefore, it | ||||||
|   sometimes can take quite a while to finish the application process and |   sometimes can take quite a while to finish the application process and | ||||||
|   be offered membership, but please note that such delays mean that should |   be offered membership, but please note that such delays mean that should | ||||||
|  | @ -70,10 +70,10 @@ | ||||||
|       Source license by the Open Source Initiative</a>.  All software |       Source license by the Open Source Initiative</a>.  All software | ||||||
|       documentation for the project should be licensed under a license on |       documentation for the project should be licensed under a license on | ||||||
|       the preceding lists, or under Creative |       the preceding lists, or under Creative | ||||||
|       Commons' <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-By-SA</a> |       Commons' <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-By-SA</a> | ||||||
|       or <a href="http://creativecommons.org/licenses/by/3.0/">CC-By</a> |       or <a href="https://creativecommons.org/licenses/by/3.0/">CC-By</a> | ||||||
|       or |       or | ||||||
|         <a href="http://creativecommons.org/choose/zero/">CC-0</a>.</li> |         <a href="https://creativecommons.org/choose/zero/">CC-0</a>.</li> | ||||||
| 
 | 
 | ||||||
|    <li>The project should have an existing, vibrant, diverse community |    <li>The project should have an existing, vibrant, diverse community | ||||||
|       that develops and documents the software.  For example, projects |       that develops and documents the software.  For example, projects | ||||||
|  | @ -224,7 +224,7 @@ form their own independent tax-exempt non-profit.</p> | ||||||
|   Conservancy processes to Conservancy's general fund, which primarily is |   Conservancy processes to Conservancy's general fund, which primarily is | ||||||
|   used to pay staff.  (Details on how Conservancy spends its funds, |   used to pay staff.  (Details on how Conservancy spends its funds, | ||||||
|   including salaries of key employees, can be found |   including salaries of key employees, can be found | ||||||
|   in <a href="http://sfconservancy.org/about/filings/">Conservancy's |   in <a href="/about/filings/">Conservancy's | ||||||
|   annual filings</a>.)</p> |   annual filings</a>.)</p> | ||||||
| 
 | 
 | ||||||
| <p>Historically, Conservancy allowed projects to give less or nothing at | <p>Historically, Conservancy allowed projects to give less or nothing at | ||||||
|  |  | ||||||
|  | @ -137,7 +137,7 @@ burden on behalf of its projects.</p> | ||||||
| 
 | 
 | ||||||
| <p>Those familiar with non-profit terminology will recognize most of these | <p>Those familiar with non-profit terminology will recognize most of these | ||||||
|   services |   services | ||||||
|   as <a href="http://en.wikipedia.org/wiki/Fiscal_sponsorship">fiscal |   as <a href="https://en.wikipedia.org/wiki/Fiscal_sponsorship">fiscal | ||||||
|   sponsorship services</a>.  This term is not particularly well |   sponsorship services</a>.  This term is not particularly well | ||||||
|   known in the FLOSS community, and many are confused by that term. |   known in the FLOSS community, and many are confused by that term. | ||||||
|   However, if you are familiar with what a fiscal sponsor typically does |   However, if you are familiar with what a fiscal sponsor typically does | ||||||
|  |  | ||||||
|  | @ -0,0 +1,3 @@ | ||||||
|  | User-agent: * | ||||||
|  | Disallow: /admin | ||||||
|  | 
 | ||||||
|  | @ -15,10 +15,14 @@ support, but doesn't necessarily endorse nor promote any specific activity | ||||||
| of any of its sponsors.</p> | of any of its sponsors.</p> | ||||||
| 
 | 
 | ||||||
| <ul id="sponsor"> | <ul id="sponsor"> | ||||||
|  | <li id="sponsor"><a href="http://appendto.com/"><img src="/img/sponsors/appendTo.png" height="75" width="200" alt="appendTo" /></a></li> | ||||||
| <li id="sponsor"><a href="http://www.blackducksoftware.com/"><img src="/img/sponsors/black-duck.jpg" height="51" width="230" alt="Black Duck" /></a></li> | <li id="sponsor"><a href="http://www.blackducksoftware.com/"><img src="/img/sponsors/black-duck.jpg" height="51" width="230" alt="Black Duck" /></a></li> | ||||||
| <li id="sponsor"><a href="http://gandi.net"><img src="/img/sponsors/gandi.png" height="65" width="171" alt="Gandi.Net" /></a></li> | <li id="sponsor"><a href="http://gandi.net"><img src="/img/sponsors/gandi.png" height="65" width="171" alt="Gandi.Net" /></a></li> | ||||||
| <li id="sponsor"><a href="http://google.com"><img src="/img/sponsors/google.png" height="76" width="238" alt="Google" /></a></li> | <li id="sponsor"><a href="http://google.com"><img src="/img/sponsors/google.png" height="76" width="238" alt="Google" /></a></li> | ||||||
| <li id="sponsor"><a href="http://linuxfoundation.org"><img src="/img/sponsors/linuxfoundation.png" height="76" width="250" alt="Linux Foundation" /></a></li> | <li id="sponsor"><a href="http://linuxfoundation.org"><img src="/img/sponsors/linuxfoundation.png" height="76" width="250" alt="Linux Foundation" /></a></li> | ||||||
|  | <li id="sponsor"><a href="https://www.mozilla.org/foundation/"><img src="/img/sponsors/mozilla.png" height="101" width="250" alt="Mozilla Foundation" /></a></li> | ||||||
|  | <li id="sponsor"><a href="https://www.redhat.com/"><img src="/img/sponsors/redhat.png" height="80" width="250" alt="Red Hat" /></a></li> | ||||||
|  | <li id="sponsor"></a></li> | ||||||
| </ul> | </ul> | ||||||
| 
 | 
 | ||||||
| <!-- This section will be added when we have in-kind contributions --> | <!-- This section will be added when we have in-kind contributions --> | ||||||
|  |  | ||||||
|  | @ -8,7 +8,8 @@ | ||||||
|             <li class="Directors"><a href="/about/board/">Directors</a></li> |             <li class="Directors"><a href="/about/board/">Directors</a></li> | ||||||
|             <li class="Officers"><a href="/about/officers/">Officers</a></li> |             <li class="Officers"><a href="/about/officers/">Officers</a></li> | ||||||
|             <li class="Staff"><a href="/about/staff/">Staff</a></li> |             <li class="Staff"><a href="/about/staff/">Staff</a></li> | ||||||
|             <li class="Outside"><a href="/about/outside/">Outside Counsel & Contractors</a></li> |             <li class="Eval"><a href="/about/eval-committee/">Evaluation Committee</a></li> | ||||||
|  |             <li class="Outside"><a href="/about/outside/">Outside Counsel, et alia</a></li> | ||||||
|             <li class="Filings"><a href="/about/filings/">Filings</a></li> |             <li class="Filings"><a href="/about/filings/">Filings</a></li> | ||||||
|             <li class="License"><a href="/about/license/">License & Sources</a></li> |             <li class="License"><a href="/about/license/">License & Sources</a></li> | ||||||
|             </ul> |             </ul> | ||||||
|  |  | ||||||
|  | @ -26,6 +26,7 @@ | ||||||
|           <li class="About"><a href="/about/">About</a></li> |           <li class="About"><a href="/about/">About</a></li> | ||||||
| 	  <li class="sponsors"><a href="/sponsors/">Sponsors</a></li> | 	  <li class="sponsors"><a href="/sponsors/">Sponsors</a></li> | ||||||
| 	  <li class="donate"><a href="/donate/">Support Conservancy!</a></li> | 	  <li class="donate"><a href="/donate/">Support Conservancy!</a></li> | ||||||
|  |           <li class="campaign"><a href="/campaign/">Campaign</a></li> | ||||||
| 	</ul> | 	</ul> | ||||||
|       </div> |       </div> | ||||||
|       <div id="navbar-clear"></div> |       <div id="navbar-clear"></div> | ||||||
|  | @ -34,14 +35,14 @@ | ||||||
|     <div id="conservancyfooter"> |     <div id="conservancyfooter"> | ||||||
|       <p><a href="/">Main Page</a> | <a href="/about/contact/">Contact</a> | <a href="/sponsors/">Sponsors</a> | <a href="/privacy-policy/">Privacy Policy</a> | <a href="/feeds/omnibus/">RSS Feed</a></p> |       <p><a href="/">Main Page</a> | <a href="/about/contact/">Contact</a> | <a href="/sponsors/">Sponsors</a> | <a href="/privacy-policy/">Privacy Policy</a> | <a href="/feeds/omnibus/">RSS Feed</a></p> | ||||||
|       <p>Follow Conservancy |       <p>Follow Conservancy | ||||||
|       on <a href="http://identi.ca/conservancy">identi.ca</a> |       on <a href="https://identi.ca/conservancy">identi.ca</a> | ||||||
|       and <a href="http://twitter.com/conservancy">twitter</a>. |       and <a href="https://twitter.com/conservancy">twitter</a>. | ||||||
|       <a href="http://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank"> |       <a href="https://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank"> | ||||||
|       <img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a></p> |       <img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a></p> | ||||||
|       <p class="copyright_info"> |       <p class="copyright_info"> | ||||||
|       <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us"><img alt="Creative Commons License" style="border-width:0" src="/img/cc-by-sa_88x31.png" /></a>  |       <a rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/us"><img alt="Creative Commons License" style="border-width:0" src="/img/cc-by-sa_88x31.png" /></a>  | ||||||
|       <br />This page is licensed under a |       <br />This page is licensed under a | ||||||
|       <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us">Creative |       <a rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/us">Creative | ||||||
|       Commons Attribution-ShareAlike 3.0 USA License</a>.</p> |       Commons Attribution-ShareAlike 3.0 USA License</a>.</p> | ||||||
|     </div> |     </div> | ||||||
|   </body> |   </body> | ||||||
|  |  | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| {% ifequal obj.omnibus_type "news" %} | {% ifequal obj.omnibus_type "news" %} | ||||||
| <p><i>A <a href="http://{{ site }}/news/">news item</a> from Software Freedom Conservancy.</i></p> | <p><i>A <a href="https://{{ site }}/news/">news item</a> from Software Freedom Conservancy.</i></p> | ||||||
| {% endifequal %} | {% endifequal %} | ||||||
| {% ifequal obj.omnibus_type "event" %} | {% ifequal obj.omnibus_type "event" %} | ||||||
| <p><i>An <a href="http://{{ site }}/events/">upcoming event</a> related to the Software Freedom Conservancy.</i></p> | <p><i>An <a href="https://{{ site }}/events/">upcoming event</a> related to the Software Freedom Conservancy.</i></p> | ||||||
| {% endifequal %} | {% endifequal %} | ||||||
| {% ifequal obj.omnibus_type "blog" %} | {% ifequal obj.omnibus_type "blog" %} | ||||||
| <p><i>A <a href="http://{{ site }}/blog/">blog post</a> from Software Freedom Conservancy.</i></p> | <p><i>A <a href="https://{{ site }}/blog/">blog post</a> from Software Freedom Conservancy.</i></p> | ||||||
| {% endifequal %} | {% endifequal %} | ||||||
| {% include obj.omnibus_feed_description_template  %} | {% include obj.omnibus_feed_description_template  %} | ||||||
|  |  | ||||||
|  | @ -38,12 +38,12 @@ | ||||||
|   <a href="/feeds/blog/">blog posts</a>.</p> |   <a href="/feeds/blog/">blog posts</a>.</p> | ||||||
| 
 | 
 | ||||||
| <p>You can also follow Conservancy | <p>You can also follow Conservancy | ||||||
|  on <a href="http://identi.ca/conservancy">identi.ca</a> |  on <a href="https://identi.ca/conservancy">identi.ca</a> | ||||||
|  and <a href="http://twitter.com/conservancy">twitter</a>.</p> |  and <a href="https://twitter.com/conservancy">twitter</a>.</p> | ||||||
| 
 | 
 | ||||||
| <p> | <p> | ||||||
|     <span id="subbox"> |     <span id="subbox"> | ||||||
|         <form method="post" action="http://lists.sfconservancy.org/mailman/subscribe/announce"> |         <form method="post" action="https://lists.sfconservancy.org/mailman/subscribe/announce"> | ||||||
|           You can also subscribe to Conservancy's low-traffic email announce list <br/><input name="email" placeholder="joe@example.org"/><input type="submit" name="email-button" value="Subscribe"/> |           You can also subscribe to Conservancy's low-traffic email announce list <br/><input name="email" placeholder="joe@example.org"/><input type="submit" name="email-button" value="Subscribe"/> | ||||||
|         </form> |         </form> | ||||||
|       </span></p> |       </span></p> | ||||||
|  |  | ||||||
|  | @ -1,9 +1,33 @@ | ||||||
|  | # Copyright 2005-2008, James Garrison | ||||||
|  | # Copyright 2010, 2012 Bradley M. Kuhn | ||||||
|  | 
 | ||||||
|  | # This software's license gives you freedom; you can copy, convey, | ||||||
|  | # propagate, redistribute, modify and/or redistribute modified versions of | ||||||
|  | # this program under the terms of the GNU Affero General Public License | ||||||
|  | # (AGPL) as published by the Free Software Foundation (FSF), either | ||||||
|  | # version 3 of the License, or (at your option) any later version of the | ||||||
|  | # AGPL published by the FSF. | ||||||
|  | # | ||||||
|  | # This program is distributed in the hope that it will be useful, but | ||||||
|  | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero | ||||||
|  | # General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU Affero General Public License | ||||||
|  | # along with this program in a file in the toplevel directory called | ||||||
|  | # "AGPLv3".  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | 
 | ||||||
| from django.conf.urls.defaults import * | from django.conf.urls.defaults import * | ||||||
| from conservancy.feeds import feed_dict | from conservancy.feeds import feed_dict | ||||||
|  | from django.contrib import admin | ||||||
| 
 | 
 | ||||||
| handler404 = 'modpythoncustom.view404' | handler404 = 'modpythoncustom.view404' | ||||||
| 
 | 
 | ||||||
|  | admin.autodiscover() | ||||||
|  | 
 | ||||||
| urlpatterns = patterns('', | urlpatterns = patterns('', | ||||||
|  |     (r'^admin/doc/', include('django.contrib.admindocs.urls')), | ||||||
|  |     (r'^admin/(.*)', admin.site.root), | ||||||
|     (r'^$', 'conservancy.frontpage.view'), |     (r'^$', 'conservancy.frontpage.view'), | ||||||
|     (r'^feeds/(?P<url>.*)/?$', 'django.contrib.syndication.views.feed', |     (r'^feeds/(?P<url>.*)/?$', 'django.contrib.syndication.views.feed', | ||||||
|      {'feed_dict': feed_dict}), |      {'feed_dict': feed_dict}), | ||||||
|  |  | ||||||
|  | @ -1,32 +0,0 @@ | ||||||
| # Copyright 2005-2008, James Garrison |  | ||||||
| # Copyright 2010, Bradley M. Kuhn |  | ||||||
| 
 |  | ||||||
| # This software's license gives you freedom; you can copy, convey, |  | ||||||
| # propagate, redistribute, modify and/or redistribute modified versions of |  | ||||||
| # this program under the terms of the GNU Affero General Public License |  | ||||||
| # (AGPL) as published by the Free Software Foundation (FSF), either |  | ||||||
| # version 3 of the License, or (at your option) any later version of the |  | ||||||
| # AGPL published by the FSF. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, but |  | ||||||
| # WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero |  | ||||||
| # General Public License for more details. |  | ||||||
| # |  | ||||||
| # You should have received a copy of the GNU Affero General Public License |  | ||||||
| # along with this program in a file in the toplevel directory called |  | ||||||
| # "AGPLv3".  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| 
 |  | ||||||
| from django import http |  | ||||||
| 
 |  | ||||||
| class RedirectToNonSslSite(object): |  | ||||||
| 
 |  | ||||||
|     def process_request(self, request): |  | ||||||
|         """Redirect to non-SSL site if not an admin request |  | ||||||
|         """ |  | ||||||
| 
 |  | ||||||
|         if not request.path.startswith('/admin'): |  | ||||||
|             url = 'http://www.sfconservancy.org%s' % request.path |  | ||||||
|             return http.HttpResponseRedirect(url) |  | ||||||
| 
 |  | ||||||
|         return None |  | ||||||
|  | @ -1,24 +0,0 @@ | ||||||
| # Copyright 2005-2008, James Garrison |  | ||||||
| # Copyright 2010, Bradley M. Kuhn |  | ||||||
| 
 |  | ||||||
| # This software's license gives you freedom; you can copy, convey, |  | ||||||
| # propagate, redistribute, modify and/or redistribute modified versions of |  | ||||||
| # this program under the terms of the GNU Affero General Public License |  | ||||||
| # (AGPL) as published by the Free Software Foundation (FSF), either |  | ||||||
| # version 3 of the License, or (at your option) any later version of the |  | ||||||
| # AGPL published by the FSF. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, but |  | ||||||
| # WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero |  | ||||||
| # General Public License for more details. |  | ||||||
| # |  | ||||||
| # You should have received a copy of the GNU Affero General Public License |  | ||||||
| # along with this program in a file in the toplevel directory called |  | ||||||
| # "AGPLv3".  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| 
 |  | ||||||
| from conservancy.settings import * |  | ||||||
| 
 |  | ||||||
| ROOT_URLCONF = 'conservancy_ssl.urls' |  | ||||||
| 
 |  | ||||||
| MIDDLEWARE_CLASSES += ('conservancy_ssl.middleware.RedirectToNonSslSite',) |  | ||||||
|  | @ -1,33 +0,0 @@ | ||||||
| # Copyright 2005-2008, James Garrison |  | ||||||
| # Copyright 2010, Bradley M. Kuhn |  | ||||||
| 
 |  | ||||||
| # This software's license gives you freedom; you can copy, convey, |  | ||||||
| # propagate, redistribute, modify and/or redistribute modified versions of |  | ||||||
| # this program under the terms of the GNU Affero General Public License |  | ||||||
| # (AGPL) as published by the Free Software Foundation (FSF), either |  | ||||||
| # version 3 of the License, or (at your option) any later version of the |  | ||||||
| # AGPL published by the FSF. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, but |  | ||||||
| # WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero |  | ||||||
| # General Public License for more details. |  | ||||||
| # |  | ||||||
| # You should have received a copy of the GNU Affero General Public License |  | ||||||
| # along with this program in a file in the toplevel directory called |  | ||||||
| # "AGPLv3".  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # Start with typical conservancy url scheme.  The middleware will |  | ||||||
| # intercept non-admin requests, but having the main conservancy urlconf |  | ||||||
| # repeated here allows us to browse the automatic documentation in the |  | ||||||
| # admin interface. |  | ||||||
| 
 |  | ||||||
| from conservancy.urls import * |  | ||||||
| from django.contrib import admin |  | ||||||
| 
 |  | ||||||
| admin.autodiscover() |  | ||||||
| 
 |  | ||||||
| urlpatterns += patterns('', |  | ||||||
|                         (r'^admin/doc/', include('django.contrib.admindocs.urls')), |  | ||||||
|                         (r'^admin/(.*)', admin.site.root),) |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Martin Michlmayr
						Martin Michlmayr