diff --git a/www/conservancy/__init__.py b/www/conservancy/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/www/conservancy/feeds.py b/www/conservancy/feeds.py new file mode 100644 index 00000000..699a0251 --- /dev/null +++ b/www/conservancy/feeds.py @@ -0,0 +1,32 @@ +from django.contrib.syndication.feeds import Feed +from sflc.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 + +def view(request): + """Listing of all available feeds + """ + + return render_to_response("feeds.html", {'feeds': feed_dict.values()}) diff --git a/www/conservancy/frontpage.py b/www/conservancy/frontpage.py new file mode 100644 index 00000000..a07215ec --- /dev/null +++ b/www/conservancy/frontpage.py @@ -0,0 +1,16 @@ +from django.shortcuts import render_to_response +from sflc.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) diff --git a/www/conservancy/settings.py b/www/conservancy/settings.py new file mode 100644 index 00000000..4cfc5267 --- /dev/null +++ b/www/conservancy/settings.py @@ -0,0 +1,16 @@ +from djangocommonsettings import * + +SITE_ID = 2 +MEDIA_ROOT = '/var/www/external-website/conservancy/static/media/' +MEDIA_URL = 'http://conservancy.softwarefreedom.org/media' +ROOT_URLCONF = 'conservancy.urls' +FORCE_CANONICAL_HOSTNAME = "conservancy.softwarefreedom.org" + +TEMPLATE_DIRS = ( + '/var/www/external-website/conservancy/templates', +) + +try: + from djangodebug import conservancy_hostname as FORCE_CANONICAL_HOSTNAME +except: + pass diff --git a/www/conservancy/static/401error.html b/www/conservancy/static/401error.html new file mode 100644 index 00000000..19ad5a38 --- /dev/null +++ b/www/conservancy/static/401error.html @@ -0,0 +1,10 @@ +{% extends "base_error.html" %} +{% block content %} + +

401 Error

+ +

The page you request at conservancy.softwarefreedom.org +requires authorization. Please use the navigation items to find a +page that you are authorized to see.

+ +{% endblock %} diff --git a/www/conservancy/static/403error.html b/www/conservancy/static/403error.html new file mode 100644 index 00000000..74ca56ce --- /dev/null +++ b/www/conservancy/static/403error.html @@ -0,0 +1,10 @@ +{% extends "base_error.html" %} +{% block content %} + +

403 Error

+ +

The page you request at conservancy.softwarefreedom.org +does not have read permission. Please use the navigation items to +find a page that you are authorized to see.

+ +{% endblock %} diff --git a/www/conservancy/static/404error.html b/www/conservancy/static/404error.html new file mode 100644 index 00000000..05abe708 --- /dev/null +++ b/www/conservancy/static/404error.html @@ -0,0 +1,10 @@ +{% extends "base_error.html" %} +{% block content %} + +

404 Error

+ +

The page you request at conservancy.softwarefreedom.org +was not found. Please use the navigation items to find a page that is +available.

+ +{% endblock %} diff --git a/www/conservancy/static/500error.html b/www/conservancy/static/500error.html new file mode 100644 index 00000000..92644de1 --- /dev/null +++ b/www/conservancy/static/500error.html @@ -0,0 +1 @@ +{% extends "500.html" %} diff --git a/www/conservancy/static/about/contact/index.html b/www/conservancy/static/about/contact/index.html new file mode 100644 index 00000000..8676f4e1 --- /dev/null +++ b/www/conservancy/static/about/contact/index.html @@ -0,0 +1,27 @@ +{% extends "base_conservancy.html" %} +{% block subtitle %}Contact - {% endblock %} +{% block category %}contact{% endblock %} +{% block content %} + +

Contact the Conservancy

+ +

The best way to contact the Conservancy is via email to <info@sfconservancy.org>. +We do our best to respond to all email within a reasonable time +period. If you don't hear from us within a few days, please try +again.

+ +

Telephone

+

+1-212-461-3245 tel
++1-212-580-0898 fax

+ +

Postal Address

+

Software Freedom Conservancy
+1995 Broadway FL 17
+New York, NY 10023-5882

+ +

Internet Relay Chat

+ +

Our IRC room is #conservancy on irc.freenode.net.

+ +{% endblock %} diff --git a/www/conservancy/static/about/index.html b/www/conservancy/static/about/index.html new file mode 100644 index 00000000..359fde77 --- /dev/null +++ b/www/conservancy/static/about/index.html @@ -0,0 +1,51 @@ +{% comment %}THIS PAGE IS UNLINKED +{% extends "base_conservancy.html" %} +{% block subtitle %}About - {% endblock %} +{% block content %} + +

About

+ +

The Software Freedom Conservancy, Inc. is a not-for-profit organization +that promotes the use and development of free and open source software by +providing a range of pro-bono services to Free, Libre and Open Source +Software (FLOSS) projects.

+ +

We hold, protect and manage copyrights and trademarks for FLOSS +projects. Conservancy aims to act as long-term caretakers for our member +projects, ensuring that free software stays free.

+ +

Conservancy frees FLOSS projects to concentrate on what they do best: +writing code. We do this by shouldering some of the administrative burden +that comes with running a FOSS project. Our fiscal sponsorship program +gives projects all the benefits of a not-for-profit structure without the +overhead of managing a corporation. We can help projects with +organizational structure, contributor's license agreements, financial +controls, accounting, fund-raising and more.

+ +

In addition to our relationship with individual projects, Conservancy +facilitates communication and coordination between FLOSS projects. We act +as a central store of knowledge and experience and help advance the goals +of both individual FOSS projects and the movement as a whole.

+ +

If we might be able to help your FLOSS project, email us +at conservancy@softwarefreedom.org.

+ +

Public Filings

+ +

Like all USA non-profits, the Conservancy files an annual Form 990 and, as +a non-profit in the State of New York, files an annual CHAR-500 with New +York State. Below, Conservancy makes available these filings for public +inspection:

+ +