Changeset - 12780197e5df
[Not reviewed]
0 9 0
Bradley Kuhn (bkuhn) - 13 years ago 2010-09-26 21:56:29
bkuhn@ebb.org
Adapted Django application stuff for Conservancy; and normalized to string
"conservancy" within code and templates.
9 files changed with 191 insertions and 36 deletions:
0 comments (0 inline, 0 general)
www/conservancy/feeds.py
Show inline comments
 
from django.contrib.syndication.feeds import Feed
 
from sflc.apps.news.models import PressRelease
 
from conservancy.apps.news.models import PressRelease
 

	
 
from django.shortcuts import render_to_response
 
from django.conf import settings
 
import datetime
 

	
 
class PressReleaseFeed(Feed):
 
    title = "Software Freedom Conservancy News"
 
    link = "/news/"
 
    description = ""
 

	
 
    def items(self):
 
        return PressRelease.objects.filter(pub_date__lte=datetime.datetime.now(),
 
                                           sites__id__exact=settings.SITE_ID).order_by('-pub_date')[:10]
 

	
 
    def item_pubdate(self, item):
 
        return item.pub_date
 

	
 
feed_dict = {
 
    'news': PressReleaseFeed,
 
}
 

	
 
# make each feed know its canonical url
 
for k, v in feed_dict.items():
 
    v.get_absolute_url = '/feeds/%s/' % k
www/conservancy/frontpage.py
Show inline comments
 
from django.shortcuts import render_to_response
 
from sflc.apps.news.models import PressRelease
 
from conservancy.apps.news.models import PressRelease
 
from datetime import datetime, timedelta
 

	
 
def view(request):
 
    """Conservancy front page view
 

	
 
    Performs all object queries necessary to render the front page.
 
    """
 

	
 
    press_releases = PressRelease.objects.all().filter(pub_date__lte=datetime.now(), sites=2)[:5]
 

	
 
    c = {
 
        'press_releases': press_releases,
 
    }
 
    return render_to_response("frontpage.html", c)
www/conservancy/static/privacy-policy/index.html
Show inline comments
 
{% extends "base_conservancy.html" %}
 
{% block subtitle %}Privacy Policy - {% endblock %}
 
{% block content %}
 

	
 
<h1>Privacy Policy</h1>
 

	
 
<p>The Software Freedom Conservancy ("SFC") is committed to protecting
 
<p>The Software Freedom Conservancy (&ldquo;Conservancy&rdquo;) is committed to protecting
 
the privacy of our website visitors and our supporters. In this
 
policy, "SFC" or "We" refers to the SFC Board of Directors,
 
policy, &ldquo;Conservancy&rdquo; or &ldquo;We&rdquo; refers to the Conservancy Board of Directors,
 
Management, staff, cooperating attorneys, interns, volunteers, and
 
consultants. As to all of the information described below, SFC will
 
consultants. As to all of the information described below, Conservancy will
 
not give, sell, rent, or exchange the information with anyone else
 
without your prior consent, except as compelled by law (see section on
 
Compelled Disclosure below).</p>
 

	
 
<h3>Information Collected</h3> <p>When you visit our site, SFC may
 
<h3>Information Collected</h3> <p>When you visit our site, Conservancy may
 
record the numerical Internet protocol address of the computer you are
 
using, the browser software you use and your operating system, the
 
date and time you access our site, and the Internet address of the
 
website from which you linked directly to our site, in addition to
 
other information. We use this information to measure the number of
 
visitors to different sections of the site, to diagnose and correct
 
system errors, and to improve the site. When you communicate with us
 
through our site, we may collect your name, email address, postal
 
address, and other personal, financial, legal or technical
 
information.</p>
 

	
 
<h3>Compelled Disclosure</h3> <p>If we are required by law to disclose
 
any of the information collected about you, we will attempt to provide
 
you with notice (unless we are prohibited) that a request for your
 
information has been made in order to give you an opportunity to
 
object to the disclosure. We will attempt to provide this notice by
 
email, if you have given us an email address, or by postal mail if you
 
have provided a postal address. We will independently object to overly
 
broad requests for access to information about users of our site. If
 
you do not challenge the disclosure request, we may be legally
 
required to turn over your information.</p>
 

	
 
{% endblock %}
www/conservancy/static/sfc.css
Show inline comments
 
@import "http://www.softwarefreedom.org/sflc.css";
 
* { margin: 0; padding: 0; }
 
img { border: 0; }
 
body { margin: 0; padding: 0; }
 
.clear { clear: both; }
 
.hidden { display: none; }
 

	
 
#sflcheader { background: #d4ff9d url(/img/headerbg.png) left top repeat-x; }
 

	
 
#sflcheader h1 {
 
  text-indent: 0;
 
  margin: 0;
 
  margin-left: 104px;
 
  line-height: 72px;
 
p, h1, h2, h3, h4, h5, h6, #mainContent ul, #mainContent ol {
 
  margin-top: 1em;
 
  margin-bottom: 1em;
 
}
 

	
 
#sflcheader h1 a {
 
  color: #000;
 
body {
 
  font-family: "Lucida Grande",Verdana,Lucida,Helvetica,Arial,sans-serif;
 
  font-size: 90%;
 
}
 

	
 
#affiliate-sflc {
 
a { text-decoration: none; color: #146624; }
 
a:hover { text-decoration: underline; color: #665f14; }
 

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

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

	
 
#mainContent { clear: both; margin-left: 79px; padding: 4px 25px; }
 
#mainContent ul, #mainContent ol { padding-left: 1.5em; }
 

	
 
#mainContent img { margin: 3px; }
 

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

	
 
.affiliate-link { float: right; }
 
#affiliate-conservancy, #affiliate-mr {
 
  padding: 2px 10px;
 
  white-space: nowrap;
 
  font-size: x-small;
 
  text-align: right;
 
  background: #cdeaec;
 
}
 
#affiliate-conservancy { background: #d4ff9d; }
 
#affiliate-mr { background: #ddd; }
 

	
 
/* Header */
 

	
 
#logobutton {
 
  display: block;
 
  position: absolute; left: 17px; top: 10px; height: 51px; width: 525px;
 
  background: url(/img/conservancy-logo-wide.png) left center no-repeat;
 
}
 

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

	
 
/* Highlight current location on navbar */
 
body.conservancy-about #navbar ul li.about a,
 
body.conservancy-news #navbar ul li.news a,
 
body.conservancy-blog #navbar ul li.blog a,
 
body.conservancy-podcast #navbar ul li.podcast a,
 
body.conservancy-services #navbar ul li.services a,
 
body.conservancy-resources #navbar ul li.resources a,
 
body.conservancy-technology #navbar ul li.technology a,
 
body.conservancy-contact #navbar ul li.contact a,
 
body.conservancy-donate #navbar ul li.donate a /* NO COMMA HERE! */
 
      { background: #fff url(/img/nav-bg-up.png) top repeat-x; color: #000; }
 

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

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

	
 
.singleColumn { width: 79%; }
 

	
 
.columns { margin: 0; }
 

	
 
.column-small { width: 31%; }
 
.column-large { width: 66%; }
 
.column-left { float: left; }
 
.column-right { float: right; }
 

	
 
.column h2 { font-size: 1.25em; }
 
.column h3 { font-size: 1.1em; }
 

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

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

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

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

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

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

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

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

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

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

	
 
#conservancyheader { background: #d4ff9d url(/img/headerbg.png) left top repeat-x; }
 

	
 
#conservancyheader h1 {
 
  text-indent: 0;
 
  margin: 0;
 
  margin-left: 104px;
 
  line-height: 72px;
 
}
 

	
 
#conservancyheader h1 a {
 
  color: #000;
 
}
 

	
 
#logobutton {
 
  position: absolute; left: 17px; top: 10px; height: 51px; width: 70px;
 
}
 

	
 
body.sfc-overview #navbar ul li.overview a,
 
body.sfc-members #navbar ul li.members a,
 
body.sfc-news #navbar ul li.news a,
 
body.sfc-directors #navbar ul li.directors a,
 
body.sfc-officers #navbar ul li.officers a,
 
body.sfc-contact #navbar ul li.contact a,
 
body.sfc-donate #navbar ul li.donate a /* NO COMMA HERE! */
 
body.conservancy-overview #navbar ul li.overview a,
 
body.conservancy-members #navbar ul li.members a,
 
body.conservancy-news #navbar ul li.news a,
 
body.conservancy-directors #navbar ul li.directors a,
 
body.conservancy-officers #navbar ul li.officers a,
 
body.conservancy-contact #navbar ul li.contact a,
 
body.conservancy-donate #navbar ul li.donate a /* NO COMMA HERE! */
 
  { background: #fff url(http://www.softwarefreedom.org/img/nav-bg-up.png) top repeat-x; color: #000; }
www/conservancy/templates/base_conservancy.html
Show inline comments
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 

	
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 

	
 
  <head>
 
    <title>{% block title %}{% block subtitle %}{% endblock %}Software Freedom Conservancy{% endblock %}</title>
 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 
    <meta name="description" content="The Software Freedom Conservancy provides a non-profit home and services to Free, Libre and Open Source Software (FLOSS) projects." />
 
    <meta name="keywords" content="software, law, open source, gnu, GNU, Open Source, Free and Open Source, Free and Open Source Software, FOSS, protect, protection, help, policy, privacy, Eben, Eben Moglen, Lawrence, Lawrence Lessig, Moglen, Lessig, Dan, Daniel Ravicher, Diane, Diane M. Peters, Peters, Open Source Development Labs, OSDL, Free Software Foundation, FSF, Stanford Law School, Harvard Law School, Berkman Center, Berkman Center for Internet and Society, law services, law, Daniel J. Weitzner, W3C, World Wide Web Consortium, Center for Democracy and Technology, CDT, Public Patent Foundation, PPF, MIT, internet, internet public policy, public policy, Electronic Frontier Foundation, EFF, software patents, Linux Foundation, linux" />
 
    <link rel="stylesheet" type="text/css" media="screen, projection" href="/sfc.css" />
 
    <meta name="keywords" content="software, freedom, conservancy, open source, gnu, GNU, Open Source, Free and Open Source, Free and Open Source Software, FLOSS, FOSS, protect, protection, help, policy, linux, non-profit" />
 
    <link rel="stylesheet" type="text/css" media="screen, projection" href="/conservancy.css" />
 
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
 
    {% block head %}{% endblock %}
 
  </head>
 

	
 
  <body class="sfc-{% block category %}other{% endblock %}">
 
    <div id="sflcheader">
 
  <body class="conservancy-{% block category %}other{% endblock %}">
 
    <div id="conservancyheader">
 
      <h1><a href="/">Software Freedom Conservancy</a></h1>
 
    </div>
 
    <div id="navbar-outer">
 
      <div id="navbar">
 
	<ul>
 
          <li class="overview"><a href="/overview/">Overview</a></li>
 
	  <li class="members"><a href="/members/">Member Projects</a></li>
 
          <li class="news"><a href="/news/">News</a></li>
 
          <li class="directors"><a href="/about/team/board/">Directors</a></li>
 
	  <li class="officers"><a href="/about/team/officers/">Officers</a></li>
 
          <li class="contact"><a href="/about/contact/">Contact</a></li>
 
	  <li class="donate"><a href="/donate/">Donations</a></li>
 
	</ul>
 
      </div>
 
      <div id="navbar-clear"></div>
 
    </div>
 
    <div id="mainContent">
 
      {% block outercontent %}<div class="singleColumn">{% block content %}{% endblock %}</div>{% endblock %}
 
    </div>
 
    <div id="sflcfooter">
 
    <div id="conservancyfooter">
 
      <p><a href="/">Main Page</a> | <a href="/about/contact/">Contact</a> | <a href="/privacy-policy/">Privacy Policy</a> | <a href="/feeds/news/">News Feed</a></p>
 
      <p class="copyright_info">This page is licensed under the <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons Attribution-NonCommercial-NoDerivs 2.0 license</a>.</p>
 
    </div>
 
  </body>
 
</html>
www/conservancy/templates/news/pressrelease_archive_day.html
Show inline comments
 
{% extends "base_news.html" %}
 

	
 
{% block title %}SFC News Index - {{ day|date:"F j, Y" }}{% endblock %}
 
{% block title %}Conservancy News Index - {{ day|date:"F j, Y" }}{% endblock %}
 

	
 
{% block content %}
 

	
 
<h2>SFLC News Index - {{ day|date:"F j, Y" }}</h2>
 
<h2>Conservancy News Index - {{ day|date:"F j, Y" }}</h2>
 

	
 
<ul>
 

	
 
{% for object in object_list %}
 
    <li><a href="{{ object.get_absolute_url }}"><b>{{ object.headline|safe }}</b></a><br/>
 
    <i>{{ object.pub_date|date:"F j, Y" }}</i></li>
 
{% endfor %}
 

	
 
</ul>
 

	
 
{% endblock %}
www/conservancy/templates/news/pressrelease_archive_month.html
Show inline comments
 
{% extends "base_news.html" %}
 

	
 
{% block title %}SFC News Index - {{ month|date:"F Y" }}{% endblock %}
 

	
 
{% block content %}
 

	
 
<h2>SFLC News Index - {{ month|date:"F Y" }}</h2>
 
<h2>Conservancy News Index - {{ month|date:"F Y" }}</h2>
 

	
 
<ul>
 

	
 
{% for object in object_list %}
 
    <li><a href="{{ object.get_absolute_url }}"><b>{{ object.headline|safe }}</b></a><br/>
 
    <i>{{ object.pub_date|date:"F j, Y" }}</i></li>
 
{% endfor %}
 

	
 
</ul>
 

	
 
{% endblock %}
www/conservancy/templates/news/pressrelease_archive_year.html
Show inline comments
 
{% extends "base_news.html" %}
 

	
 
{% block title %}SFC News Index - {{ year }}{% endblock %}
 
{% block title %}Conservancy News Index - {{ year }}{% endblock %}
 

	
 
{% block content %}
 

	
 
<h2>SFLC News Index - {{ year }}</h2>
 
<h2>Conservancy News Index - {{ year }}</h2>
 

	
 
<ul>
 

	
 
{% for object in object_list %}
 
    <li><a href="{{ object.get_absolute_url }}"><b>{{ object.headline|safe }}</b></a><br/>
 
    <i>{{ object.pub_date|date:"F j, Y" }}</i></li>
 
{% endfor %}
 

	
 
</ul>
 

	
 
{% endblock %}
www/conservancy/urls.py
Show inline comments
 
from django.conf.urls.defaults import *
 
from conservancy.feeds import feed_dict
 

	
 
handler404 = 'modpythoncustom.view404'
 

	
 
urlpatterns = patterns('',
 
    (r'^$', 'conservancy.frontpage.view'),
 
    (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed',
 
     {'feed_dict': feed_dict}),
 
    (r'^feeds/$', 'conservancy.feeds.view'),
 
    (r'^news/', include('sflc.apps.news.urls')),
 
    (r'^news/', include('conservancy.apps.news.urls')),
 
)
0 comments (0 inline, 0 general)