Django-ify website.
authorDave Page <dpage@pgadmin.org>
Sat, 25 May 2013 15:59:01 +0000 (11:59 -0400)
committerDave Page <dpage@pgadmin.org>
Sat, 25 May 2013 15:59:01 +0000 (11:59 -0400)
47 files changed:
images/.DS_Store [deleted file]
images/nav_tbl_btm_lft.png [deleted file]
images/nav_tbl_btm_rgt.png [deleted file]
images/nav_tbl_top_lft.png [deleted file]
images/nav_tbl_top_rgt.png [deleted file]
index.html [deleted file]
media/css/base.css [moved from css/base.css with 84% similarity]
media/css/geckofixes.css [moved from css/geckofixes.css with 100% similarity]
media/css/global.css [moved from css/global.css with 100% similarity]
media/css/iefixes.css [moved from css/iefixes.css with 100% similarity]
media/css/layout.css [moved from css/layout.css with 98% similarity]
media/css/navigation.css [moved from css/navigation.css with 92% similarity]
media/css/showdown_preview.css [new file with mode: 0644]
media/css/table.css [moved from css/table.css with 81% similarity]
media/css/text.css [moved from css/text.css with 100% similarity]
media/favicon.ico [moved from images/favicon.ico with 100% similarity]
media/img/layout/blt_blu_arrow.png [new file with mode: 0644]
media/img/layout/blt_gry_arrow.png [moved from images/blt_gry_arrow.png with 100% similarity]
media/img/layout/box_bottom.gif [new file with mode: 0644]
media/img/layout/box_top.gif [new file with mode: 0644]
media/img/layout/hdr_fill.png [moved from images/hdr_fill.png with 100% similarity]
media/img/layout/hdr_left.png [moved from images/hdr_left.png with 100% similarity]
media/img/layout/hdr_right.png [moved from images/hdr_right.png with 100% similarity]
media/img/layout/nav_fill.png [moved from images/nav_fill.png with 100% similarity]
media/img/layout/nav_lft.png [moved from images/nav_lft.png with 100% similarity]
media/img/layout/nav_rgt.png [moved from images/nav_rgt.png with 100% similarity]
media/img/layout/nav_tbl_btm.png [moved from images/nav_tbl_btm.png with 100% similarity]
media/img/layout/nav_tbl_top.png [moved from images/nav_tbl_top.png with 100% similarity]
media/img/layout/usr_tbl_btm.png [new file with mode: 0644]
media/img/layout/usr_tbl_top.png [new file with mode: 0644]
pgcac/manage.py [new file with mode: 0644]
pgcac/pgcac/__init__.py [new file with mode: 0644]
pgcac/pgcac/__init__.pyc [new file with mode: 0644]
pgcac/pgcac/settings.py [new file with mode: 0644]
pgcac/pgcac/settings.pyc [new file with mode: 0644]
pgcac/pgcac/urls.py [new file with mode: 0644]
pgcac/pgcac/urls.pyc [new file with mode: 0644]
pgcac/pgcac/views.py [new file with mode: 0644]
pgcac/pgcac/views.pyc [new file with mode: 0644]
pgcac/pgcac/wsgi.py [new file with mode: 0644]
pgcac/pgcac/wsgi.pyc [new file with mode: 0644]
privacypolicy.html [deleted file]
template/about/privacypolicy.html [new file with mode: 0644]
template/about/website.html [new file with mode: 0644]
template/base.html [new file with mode: 0644]
template/index.html [new file with mode: 0644]
website.html [deleted file]

diff --git a/images/.DS_Store b/images/.DS_Store
deleted file mode 100644 (file)
index 2bae25d..0000000
Binary files a/images/.DS_Store and /dev/null differ
diff --git a/images/nav_tbl_btm_lft.png b/images/nav_tbl_btm_lft.png
deleted file mode 100644 (file)
index 958a364..0000000
Binary files a/images/nav_tbl_btm_lft.png and /dev/null differ
diff --git a/images/nav_tbl_btm_rgt.png b/images/nav_tbl_btm_rgt.png
deleted file mode 100644 (file)
index 8db9779..0000000
Binary files a/images/nav_tbl_btm_rgt.png and /dev/null differ
diff --git a/images/nav_tbl_top_lft.png b/images/nav_tbl_top_lft.png
deleted file mode 100644 (file)
index ccdec2f..0000000
Binary files a/images/nav_tbl_top_lft.png and /dev/null differ
diff --git a/images/nav_tbl_top_rgt.png b/images/nav_tbl_top_rgt.png
deleted file mode 100644 (file)
index d2a76c3..0000000
Binary files a/images/nav_tbl_top_rgt.png and /dev/null differ
diff --git a/index.html b/index.html
deleted file mode 100644 (file)
index cd88d10..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr">
- <head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <title>PostgreSQL Community Association of Canada</title>
-  
-  <link rel="shortcut icon" href="/images/favicon.ico">
-  <style type="text/css" media="screen" title="Normal Text">@import url("css/base.css");</style>
- </head>
- <body>
-  <div id="pgContainerWrap">
-   <div id="pgContainer">
-    <div id="pgHeaderContainer">
-        <div id="pgHeader">
-         <div id="pgHeaderLogoLeft">
-          <a href="/"><img alt="PostgreSQL Community Association of Canada" height="80" width="230" src="images/hdr_left.png"></a>
-         </div>
-         <div id="pgHeaderLogoRight">
-          <a href="/index.html"><img width="210" height="80" alt="PostgreSQL Canada" src="images/hdr_right.png"></a>
-         </div>
-        </div> <!-- pgHeader -->
-
-        <div id="pgTopNav">
-         <div id="pgTopNavLeft"><img width="7" height="23" alt="" src="images/nav_lft.png"></div>
-         <div id="pgTopNavRight"><img width="7" height="23" alt="" src="images/nav_rgt.png"></div>
-         <ul id="pgTopNavList">
-          <li><a href="/index.html" title="Home">Home</a></li>
-         </ul>
-        </div> <!-- pgTopNav -->
-       </div> <!-- pgHeaderContainer -->
-       <div id="pgContent">
-
-<div id="pgFrontRight">
- <div class="pgFrontBox">
-  <h1>Help us out!</h1>
-  <p>In the future you will be able to help PostgreSQL Canada by donating, but in the meantime
-  why not help out in the <a href="http://www.postgresql.org/community">PostgreSQL community</a>.
-  </p>
- </div>
-
- <div class="pgFrontBox">
-  <h1>Other usergroups</h1>
-  <ul>
-   <li><a href="http://www.postgresql.eu/">PostgreSQL Europe</a></li>
-   <li><a href="http://www.postgresql.us/">PostgreSQL US</a></li>
-  </ul>
- </div>
-
- <div class="pgFrontBox">
-  <h1>Related organisations</h1>
-  <ul>
-   <li><a href="http://www.postgresql.org/">PostgreSQL</a></li>
-  </ul>
- </div>
-</div>
-
-<div id="pgFrontLeft">
- <div id="pgFrontWelcome" class="pgFrontBox">
-  <h1>Welcome to PostgreSQL Canada</h1>
-  <p>
-Welcome to the PostgreSQL Community Association of Canada, a non-profit organisation
-setup to steward assets such as domain names and trademarks for the <a 
-href="http://www.postgresql.org">PostgreSQL Project</a>.
-  </p>
-  <p>
-We're just finishing off the legal work at the moment, so please visit again in the near
-future to see how we're getting on.
-  </p>
- </div>
- <div id="pgFrontNews" class="pgFrontBox">
-  <h1>Latest news</h1>
-  
-  <div class="pgFrontNewsItem">
-   <h2>Board members confirmed</h2>
-   <h3>15 February 2012</h3>
-    
-    <p>The PostgreSQL Community Association of Canada's board now consists of:</p>
-     <ul>
-     <li>Marc Fournier (Chair)</li>
-     <li>Dave Page (Vice-chair)</li>
-     <li>Josh Berkus (Secretary)</li>
-     <li>Chris Browne (Treasurer)</li>
-     <li>Dan Langille</li>
-     <li>Jaime Casanova</li>
-    </ul>
-  </div>
-    
- </div> <!-- pgFrontNews -->
-</div> <!-- pgFrontLeft -->
-
-     <br class="pgClearBoth">
-    </div> <!-- pgContent -->
-       <div id="pgFooter">
-         <a class="navFooter" href="/privacypolicy.html">Privacy Policy</a> |
-         <a class="navFooter" href="/website.html">About the website</a><br>
-        Copyright © 2012 PostgreSQL Community Association of Canada
-       </div> <!-- pgFooter -->
-   </div>
-  </div> <!-- pgContainerWrap -->
-
-</body></html>
similarity index 84%
rename from css/base.css
rename to media/css/base.css
index f8ffa1f482e51ed108e6f43a6b8911d536bf400b..66eec8586102aeb63e547291a32905c6664d81e9 100644 (file)
@@ -4,5 +4,4 @@
 @import url("navigation.css");
 @import url("table.css");
 
-@import url("geckofixes.css");
 @import url("iefixes.css");
similarity index 100%
rename from css/geckofixes.css
rename to media/css/geckofixes.css
similarity index 100%
rename from css/global.css
rename to media/css/global.css
similarity index 100%
rename from css/iefixes.css
rename to media/css/iefixes.css
similarity index 98%
rename from css/layout.css
rename to media/css/layout.css
index 05904a4c636c0b9a91f6f30db0dc2abd47a6d5a3..e83f1a444b5a68564ddfe2ce9a32c10a8f558f24 100644 (file)
@@ -27,7 +27,7 @@
 
 #pgHeader {
   position: relative;
-  background: url("../images/hdr_fill.png") repeat-x;
+  background: url("/media/img/layout/hdr_fill.png") repeat-x;
   height: 80px;
   margin: 0;
   padding: 0;
@@ -293,4 +293,4 @@ div.electionSeparator {
 }
 tr.electionError {
     background-color: #ffb6b6;
-}
+}
\ No newline at end of file
similarity index 92%
rename from css/navigation.css
rename to media/css/navigation.css
index 1361db53c987d968b131b15fdc9de809f1eaa2fe..e8ddae5f6c70b182832ceb13b28b267a31e1e094 100644 (file)
@@ -11,7 +11,7 @@
   margin: 0;
   padding: 0;
   height: 23px;
-  background: #B7B7B7 url("../images/nav_fill.png") top left repeat-x;
+  background: #B7B7B7 url("/media/img/layout/nav_fill.png") top left repeat-x;
   overflow: visible;
   margin-top: 2px;
 }
 #pgSideNav {
   width: 150px;
   background-color: #F5F5F5;
-  background-image: url(../images/nav_tbl_top.png);
+  background-image: url(/media/img/layout/nav_tbl_top.png);
   background-position: top right;
   background-repeat: no-repeat;
 }
 
 #pgSideNav ul {
-  background-image: url(../images/nav_tbl_btm.png);
+  background-image: url(/media/img/layout/nav_tbl_btm.png);
   background-position: bottom left;
   background-repeat: no-repeat;
   padding: 10px 0 10px 0;
   border-bottom: 1px solid #EFEFEF;
   margin: 0;
   padding-left: 12px;
-  background-image: url(../images/blt_gry_arrow.png);
+  background-image: url(/media/img/layout/blt_gry_arrow.png);
   background-repeat: no-repeat;
   background-position: 12px 0.65em;
 }
diff --git a/media/css/showdown_preview.css b/media/css/showdown_preview.css
new file mode 100644 (file)
index 0000000..ba7a5dd
--- /dev/null
@@ -0,0 +1,12 @@
+div.markdownpreview {
+   margin-top: 2px;
+   border: 1px solid black;
+   float: left;
+   overflow: auto;
+}
+
+div.markdownpreview p {
+   margin-left: 0px !important;
+   padding-left: 0px !important;
+}
+
similarity index 81%
rename from css/table.css
rename to media/css/table.css
index 3206391bd3a32c771a1b94c583d43bcab56df47a..98c91958616678b6f5989095481d6223ccd560ae 100644 (file)
@@ -7,7 +7,7 @@ div.tblBasic h2 {
 }
 
 div.tblBasic table {
-        background: #F5F5F5 url(../images/gnav_tbl_top_lft.png) top left no-repeat;
+        background: #F5F5F5 url(/media/img/layout/gnav_tbl_top_lft.png) top left no-repeat;
         margin-bottom: 15px;
 }
 
@@ -46,25 +46,25 @@ div.tblBasic table.tblCompact tr.lastrow td {
 
 div.tblBasic table tr.lastrow td.colFirstT,
 div.tblBasic table tr.lastrow td.colFirst {
-        background: url(../images/gnav_tbl_btm_lft.png) bottom left no-repeat;
+        background: url(/media/img/layout/gnav_tbl_btm_lft.png) bottom left no-repeat;
 }
 
 div.tblBasic table.tblBasicGrey th.colLast,
 div.tblBasic table.tblCompact th.colLast {
-        background: #F5F5F5 url(../images/gnav_tbl_top_rgt.png) top right no-repeat;
+        background: #F5F5F5 url(/media/img/layout/gnav_tbl_top_rgt.png) top right no-repeat;
 }
 
 div.tblBasic table.tblBasicGrey tr.lastrow td.colLastT,
 div.tblBasic table.tblBasicGrey tr.lastrow td.colLast,
 div.tblBasic table.tblCompact tr.lastrow td.colLast,
 div.tblBasic table.tblCompact tr.lastrow td.colLastT{
-        background: #F5F5F5 url(../images/gnav_tbl_btm_rgt.png) bottom right no-repeat;
+        background: #F5F5F5 url(/media/img/layout/gnav_tbl_btm_rgt.png) bottom right no-repeat;
 }
 
 div.tblBasic table.tblBasicGrey tr.firstrow td.colLastT,
 div.tblBasic table.tblBasicGrey tr.firstrow td.colLast,
 div tblBasic table.tblCompact tr.firstrow td.colLast {
-        background: #F5F5F5 url(../images/gnav_tbl_top_rgt.png) top right no-repeat;
+        background: #F5F5F5 url(/media/img/layout/gnav_tbl_top_rgt.png) top right no-repeat;
 }
 
 div.tblBasic table th.colMid,
similarity index 100%
rename from css/text.css
rename to media/css/text.css
similarity index 100%
rename from images/favicon.ico
rename to media/favicon.ico
diff --git a/media/img/layout/blt_blu_arrow.png b/media/img/layout/blt_blu_arrow.png
new file mode 100644 (file)
index 0000000..32ae5e3
Binary files /dev/null and b/media/img/layout/blt_blu_arrow.png differ
diff --git a/media/img/layout/box_bottom.gif b/media/img/layout/box_bottom.gif
new file mode 100644 (file)
index 0000000..5d29384
Binary files /dev/null and b/media/img/layout/box_bottom.gif differ
diff --git a/media/img/layout/box_top.gif b/media/img/layout/box_top.gif
new file mode 100644 (file)
index 0000000..a4d927d
Binary files /dev/null and b/media/img/layout/box_top.gif differ
diff --git a/media/img/layout/usr_tbl_btm.png b/media/img/layout/usr_tbl_btm.png
new file mode 100644 (file)
index 0000000..b62d0c1
Binary files /dev/null and b/media/img/layout/usr_tbl_btm.png differ
diff --git a/media/img/layout/usr_tbl_top.png b/media/img/layout/usr_tbl_top.png
new file mode 100644 (file)
index 0000000..42eaab0
Binary files /dev/null and b/media/img/layout/usr_tbl_top.png differ
diff --git a/pgcac/manage.py b/pgcac/manage.py
new file mode 100644 (file)
index 0000000..7d6fc8c
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/env python
+import os
+import sys
+
+if __name__ == "__main__":
+    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pgcac.settings")
+
+    from django.core.management import execute_from_command_line
+
+    execute_from_command_line(sys.argv)
diff --git a/pgcac/pgcac/__init__.py b/pgcac/pgcac/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/pgcac/pgcac/__init__.pyc b/pgcac/pgcac/__init__.pyc
new file mode 100644 (file)
index 0000000..77252fe
Binary files /dev/null and b/pgcac/pgcac/__init__.pyc differ
diff --git a/pgcac/pgcac/settings.py b/pgcac/pgcac/settings.py
new file mode 100644 (file)
index 0000000..ddb1309
--- /dev/null
@@ -0,0 +1,155 @@
+# Django settings for pgcac project.
+
+DEBUG = True
+TEMPLATE_DEBUG = DEBUG
+
+ADMINS = (
+    # ('Webmaster', 'webmaster@postgresql.ca'),
+)
+
+MANAGERS = ADMINS
+
+DATABASES = {
+    'default': {
+        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
+        'NAME': 'pgcac',                      # Or path to database file if using sqlite3.
+        # The following settings are not used with sqlite3:
+        'USER': 'pgcac',
+        'PASSWORD': 'pgcac',
+        'HOST': '127.0.0.1',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
+        'PORT': '',                      # Set to empty string for default.
+    }
+}
+
+# Hosts/domain names that are valid for this site; required if DEBUG is False
+# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
+ALLOWED_HOSTS = []
+
+# Local time zone for this installation. Choices can be found here:
+# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
+# although not all choices may be available on all operating systems.
+# In a Windows environment this must be set to your system time zone.
+TIME_ZONE = 'America/Chicago'
+
+# Language code for this installation. All choices can be found here:
+# http://www.i18nguy.com/unicode/language-identifiers.html
+LANGUAGE_CODE = 'en-us'
+
+SITE_ID = 1
+
+# If you set this to False, Django will make some optimizations so as not
+# to load the internationalization machinery.
+USE_I18N = True
+
+# If you set this to False, Django will not format dates, numbers and
+# calendars according to the current locale.
+USE_L10N = True
+
+# If you set this to False, Django will not use timezone-aware datetimes.
+USE_TZ = True
+
+# Absolute filesystem path to the directory that will hold user-uploaded files.
+# Example: "/var/www/example.com/media/"
+MEDIA_ROOT = ''
+
+# URL that handles the media served from MEDIA_ROOT. Make sure to use a
+# trailing slash.
+# Examples: "http://example.com/media/", "http://media.example.com/"
+MEDIA_URL = ''
+
+# Absolute path to the directory static files should be collected to.
+# Don't put anything in this directory yourself; store your static files
+# in apps' "static/" subdirectories and in STATICFILES_DIRS.
+# Example: "/var/www/example.com/static/"
+STATIC_ROOT = ''
+
+# URL prefix for static files.
+# Example: "http://example.com/static/", "http://static.example.com/"
+STATIC_URL = '/static/'
+
+# Additional locations of static files
+STATICFILES_DIRS = (
+    # Put strings here, like "/home/html/static" or "C:/www/django/static".
+    # Always use forward slashes, even on Windows.
+    # Don't forget to use absolute paths, not relative paths.
+)
+
+# List of finder classes that know how to find static files in
+# various locations.
+STATICFILES_FINDERS = (
+    'django.contrib.staticfiles.finders.FileSystemFinder',
+    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
+#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
+)
+
+# Make this unique, and don't share it with anybody.
+SECRET_KEY = '&34od1@006ml)ioumwb#x3w1=dyi-=cmd344$+mpwv+4tr28jz'
+
+# List of callables that know how to import templates from various sources.
+TEMPLATE_LOADERS = (
+    'django.template.loaders.filesystem.Loader',
+    'django.template.loaders.app_directories.Loader',
+#     'django.template.loaders.eggs.Loader',
+)
+
+MIDDLEWARE_CLASSES = (
+    'django.middleware.common.CommonMiddleware',
+    'django.contrib.sessions.middleware.SessionMiddleware',
+    'django.middleware.csrf.CsrfViewMiddleware',
+    'django.contrib.auth.middleware.AuthenticationMiddleware',
+    'django.contrib.messages.middleware.MessageMiddleware',
+    # Uncomment the next line for simple clickjacking protection:
+    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+)
+
+ROOT_URLCONF = 'pgcac.urls'
+
+# Python dotted path to the WSGI application used by Django's runserver.
+WSGI_APPLICATION = 'pgcac.wsgi.application'
+
+TEMPLATE_DIRS = (
+    '../template',
+    '../../template',
+)
+
+INSTALLED_APPS = (
+    'django.contrib.auth',
+    'django.contrib.contenttypes',
+    'django.contrib.sessions',
+    'django.contrib.sites',
+    'django.contrib.messages',
+    'django.contrib.staticfiles',
+    # Uncomment the next line to enable the admin:
+    'django.contrib.admin',
+    # Uncomment the next line to enable admin documentation:
+    'django.contrib.admindocs',
+)
+
+# A sample logging configuration. The only tangible logging
+# performed by this configuration is to send an email to
+# the site admins on every HTTP 500 error when DEBUG=False.
+# See http://docs.djangoproject.com/en/dev/topics/logging for
+# more details on how to customize your logging configuration.
+LOGGING = {
+    'version': 1,
+    'disable_existing_loggers': False,
+    'filters': {
+        'require_debug_false': {
+            '()': 'django.utils.log.RequireDebugFalse'
+        }
+    },
+    'handlers': {
+        'mail_admins': {
+            'level': 'ERROR',
+            'filters': ['require_debug_false'],
+            'class': 'django.utils.log.AdminEmailHandler'
+        }
+    },
+    'loggers': {
+        'django.request': {
+            'handlers': ['mail_admins'],
+            'level': 'ERROR',
+            'propagate': True,
+        },
+    }
+}
diff --git a/pgcac/pgcac/settings.pyc b/pgcac/pgcac/settings.pyc
new file mode 100644 (file)
index 0000000..75b571c
Binary files /dev/null and b/pgcac/pgcac/settings.pyc differ
diff --git a/pgcac/pgcac/urls.py b/pgcac/pgcac/urls.py
new file mode 100644 (file)
index 0000000..7b4239a
--- /dev/null
@@ -0,0 +1,26 @@
+from django.conf.urls import patterns, include, url
+
+# Uncomment the next two lines to enable the admin:
+from django.contrib import admin
+admin.autodiscover()
+
+urlpatterns = patterns('',
+    # Static pages
+    url(r'^$', 'pgcac.views.index', name='index'),
+    url(r'^about/privacypolicy$', 'pgcac.views.privacypolicy', name='privacypolicy'),
+    url(r'^about/website$', 'pgcac.views.website', name='website'),
+
+    # Uncomment the admin/doc line below to enable admin documentation:
+    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
+
+    # Uncomment the next line to enable the admin:
+    url(r'^admin/', include(admin.site.urls)),
+
+    # This should not happen in production - serve by apache!
+    url(r'^media/(.*)$', 'django.views.static.serve', {
+        'document_root': '../media',
+    }),
+    url(r'^(favicon.ico)$', 'django.views.static.serve', {
+        'document_root': '../media',
+    }),
+)
diff --git a/pgcac/pgcac/urls.pyc b/pgcac/pgcac/urls.pyc
new file mode 100644 (file)
index 0000000..21f33db
Binary files /dev/null and b/pgcac/pgcac/urls.pyc differ
diff --git a/pgcac/pgcac/views.py b/pgcac/pgcac/views.py
new file mode 100644 (file)
index 0000000..58ec222
--- /dev/null
@@ -0,0 +1,21 @@
+# Index has a very special view that lives out here
+from django.shortcuts import render_to_response
+from django.http import HttpResponse, Http404
+from django.template import TemplateDoesNotExist, loader, Context
+
+import datetime
+
+# Handle the static pages
+def index(request):
+        return render_to_response('index.html', {
+        })
+
+def privacypolicy(request):
+        return render_to_response('about/privacypolicy.html', {
+        })
+
+def website(request):
+        return render_to_response('about/website.html', {
+        })
+
+
diff --git a/pgcac/pgcac/views.pyc b/pgcac/pgcac/views.pyc
new file mode 100644 (file)
index 0000000..9232969
Binary files /dev/null and b/pgcac/pgcac/views.pyc differ
diff --git a/pgcac/pgcac/wsgi.py b/pgcac/pgcac/wsgi.py
new file mode 100644 (file)
index 0000000..f110380
--- /dev/null
@@ -0,0 +1,32 @@
+"""
+WSGI config for pgcac project.
+
+This module contains the WSGI application used by Django's development server
+and any production WSGI deployments. It should expose a module-level variable
+named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
+this application via the ``WSGI_APPLICATION`` setting.
+
+Usually you will have the standard Django WSGI application here, but it also
+might make sense to replace the whole Django WSGI application with a custom one
+that later delegates to the Django one. For example, you could introduce WSGI
+middleware here, or combine a Django application with an application of another
+framework.
+
+"""
+import os
+
+# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
+# if running multiple sites in the same mod_wsgi process. To fix this, use
+# mod_wsgi daemon mode with each site in its own daemon process, or use
+# os.environ["DJANGO_SETTINGS_MODULE"] = "pgcac.settings"
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pgcac.settings")
+
+# This application object is used by any WSGI server configured to use this
+# file. This includes Django's development server, if the WSGI_APPLICATION
+# setting points here.
+from django.core.wsgi import get_wsgi_application
+application = get_wsgi_application()
+
+# Apply WSGI middleware here.
+# from helloworld.wsgi import HelloWorldApplication
+# application = HelloWorldApplication(application)
diff --git a/pgcac/pgcac/wsgi.pyc b/pgcac/pgcac/wsgi.pyc
new file mode 100644 (file)
index 0000000..2c32d1d
Binary files /dev/null and b/pgcac/pgcac/wsgi.pyc differ
diff --git a/privacypolicy.html b/privacypolicy.html
deleted file mode 100644 (file)
index b7aada4..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr">
- <head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <title>Privacy policy</title>
-  
-  <link rel="shortcut icon" href="/images/favicon.ico">
-  <style type="text/css" media="screen" title="Normal Text">@import url("css/base.css");</style>
- </head>
- <body>
-  <div id="pgContainerWrap">
-   <div id="pgContainer">
-    <div id="pgHeaderContainer">
-        <div id="pgHeader">
-         <div id="pgHeaderLogoLeft">
-          <a href="/"><img alt="PostgreSQL Community Association of Canada" height="80" width="230" src="images/hdr_left.png"></a>
-         </div>
-         <div id="pgHeaderLogoRight">
-          <a href="/index.html"><img width="210" height="80" alt="PostgreSQL Canada" src="images/hdr_right.png"></a>
-         </div>
-        </div> <!-- pgHeader -->
-
-        <div id="pgTopNav">
-         <div id="pgTopNavLeft"><img width="7" height="23" alt="" src="images/nav_lft.png"></div>
-         <div id="pgTopNavRight"><img width="7" height="23" alt="" src="images/nav_rgt.png"></div>
-         <ul id="pgTopNavList">
-          <li><a href="/index.html" title="Home">Home</a></li>
-         </ul>
-        </div> <!-- pgTopNav -->
-       </div> <!-- pgHeaderContainer -->
-       <div id="pgContent">
-
-<h1>Privacy policy</h1>
-
-<p>
-When you visit our website, our servers automatically log your IP address and/or host name.
-</p>
-
-<p>
-We store information such as your email address, name and locality only if you decide
-to send us such information by completing a survey, or registering as a user on one
-of our sites. We collect this information to help us improve the content of our
-sites, customize the layout of our web pages and to contact people for technical
-and support purposes. We will not share your email address with other organizations
-unless required by law.
-</p>
-
-<p>
-We may collect demographic and interest category information from people via surveys,
-volunteered information, suggestions from members, and other means. Our members may
-voluntarily provide information, including that regarding personal, interests,
-geography, and demographics. The purpose of this data collection is to ensure
-we continue to understand the needs and wants of the PostgreSQL community, and
-therefore can provide the most relevant information, guides, and content.
-</p>
-
-    </div> <!-- pgContent -->
-       <div id="pgFooter">
-         <a class="navFooter" href="/privacypolicy.html">Privacy Policy</a> |
-         <a class="navFooter" href="/website.html">About the website</a><br>
-        Copyright © 2012 PostgreSQL Community Association of Canada
-       </div> <!-- pgFooter -->
-   </div>
-  </div> <!-- pgContainerWrap -->
-
-</body></html>
diff --git a/template/about/privacypolicy.html b/template/about/privacypolicy.html
new file mode 100644 (file)
index 0000000..67632f5
--- /dev/null
@@ -0,0 +1,29 @@
+{%extends "base.html" %}
+{%block title%}Privacy Policy{%endblock%}
+{%block layoutblock%}
+
+<h1>Privacy policy</h1>
+
+<p>
+When you visit our website, our servers automatically log your IP address and/or host name.
+</p>
+
+<p>
+We store information such as your email address, name and locality only if you decide
+to send us such information by completing a survey, or registering as a user on one
+of our sites. We collect this information to help us improve the content of our
+sites, customize the layout of our web pages and to contact people for technical
+and support purposes. We will not share your email address with other organizations
+unless required by law.
+</p>
+
+<p>
+We may collect demographic and interest category information from people via surveys,
+volunteered information, suggestions from members, and other means. Our members may
+voluntarily provide information, including that regarding personal, interests,
+geography, and demographics. The purpose of this data collection is to ensure
+we continue to understand the needs and wants of the PostgreSQL community, and
+therefore can provide the most relevant information, guides, and content.
+</p>
+
+{%endblock%}
diff --git a/template/about/website.html b/template/about/website.html
new file mode 100644 (file)
index 0000000..062238b
--- /dev/null
@@ -0,0 +1,35 @@
+{%extends "base.html" %}
+{%block title%}Website{%endblock%}
+{%block layoutblock%}
+
+<h1>About the website</h1>
+
+<p>
+When you visit our website, our servers automatically log your IP address and/or host name.
+</p>
+
+<p>
+We store information such as your email address, name and locality only if you decide
+to send us such information by completing a survey, or registering as a user on one
+of our sites. We collect this information to help us improve the content of our
+sites, customize the layout of our web pages and to contact people for technical
+and support purposes. We will not share your email address with other organizations
+unless required by law.
+</p>
+
+<p>
+The full sourcecode for this website is available in
+<a href="http://git.postgresql.org/gitweb?p=pgcac-website.git;a=summary">our
+GIT repository</a> under the PostgreSQL licence.
+</p>
+
+<p>
+We may collect demographic and interest category information from people via surveys,
+volunteered information, suggestions from members, and other means. Our members may
+voluntarily provide information, including that regarding personal, interests,
+geography, and demographics. The purpose of this data collection is to ensure
+we continue to understand the needs and wants of the PostgreSQL community, and
+therefore can provide the most relevant information, guides, and content.
+</p>
+
+{%endblock%}
diff --git a/template/base.html b/template/base.html
new file mode 100644 (file)
index 0000000..984424d
--- /dev/null
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr">
+ <head>
+  <title>{%block title%}{%endblock%} - PostgreSQL Community Association of Canada</title>
+  <meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" />
+  <link rel="shortcut icon" href="/favicon.ico" />
+  <style type="text/css" media="screen" title="Normal Text">@import url("/media/css/base.css");</style>
+  <style type="text/css" media="screen" title="Normal Text">@import url("/media/css/geckofixes.css");</style>
+{%comment%}
+  <link rel="alternate" type="application/rss+xml" title="PostgreSQL Europe News" href="/feeds/news/" />
+  <link rel="alternate" type="application/rss+xml" title="PostgreSQL Europe Events" href="/feeds/events/" />
+{%endcomment%}
+{%block extrahead%}{%endblock%}
+ </head>
+ <body>
+  <div id="pgContainerWrap">
+   <div id="pgContainer">
+    <div id="pgHeaderContainer">
+        <div id="pgHeader">
+         <div id="pgHeaderLogoLeft">
+          <a href="/"><img alt="PostgreSQL Community Association of Canada" height="80" width="230" src="/media/img/layout/hdr_left.png" /></a>
+         </div>
+         <div id="pgHeaderLogoRight">
+          <a href="/"><img width="210" height="80" alt="PostgreSQL Community Association of Canada" src="/media/img/layout/hdr_right.png" /></a>
+         </div>
+        </div> <!-- pgHeader -->
+
+        <div id="pgTopNav">
+         <div id="pgTopNavLeft"><img width="7" height="23" alt="" src="/media/img/layout/nav_lft.png" /></div>
+         <div id="pgTopNavRight"><img width="7" height="23" alt="" src="/media/img/layout/nav_rgt.png" /></div>
+         <ul id="pgTopNavList">
+          <li><a href="/" title="Home">Home</a></li>
+         </ul>
+        </div> <!-- pgTopNav -->
+       </div> <!-- pgHeaderContainer -->
+       <div id="pgContent">
+{%block layoutblock%}{%endblock%}
+     <br class="pgClearBoth" />
+    </div> <!-- pgContent -->
+       <div id="pgFooter">
+         <a class="navFooter" href="/about/privacypolicy">Privacy Policy</a> |
+         <a class="navFooter" href="/about/website">About the website</a><br/>
+        Copyright &copy; 2012-2013 PostgreSQL Community Association of Canada
+       </div> <!-- pgFooter -->
+   </div>
+  </div> <!-- pgContainerWrap -->
+ </body>
+</html>
diff --git a/template/index.html b/template/index.html
new file mode 100644 (file)
index 0000000..a8acb68
--- /dev/null
@@ -0,0 +1,63 @@
+{%extends "base.html" %}
+{%block title%}Welcome{%endblock%}
+{%block layoutblock%}
+
+<div id="pgFrontRight">
+ <div class="pgFrontBox">
+  <h1>Help us out!</h1>
+  <p>In the future you will be able to help PostgreSQL Canada by donating, but in the meantime
+  why not help out in the <a href="http://www.postgresql.org/community">PostgreSQL community</a>.
+  </p>
+ </div>
+
+ <div class="pgFrontBox">
+  <h1>Other usergroups</h1>
+  <ul>
+   <li><a href="http://www.postgresql.eu/">PostgreSQL Europe</a></li>
+   <li><a href="http://www.postgresql.us/">PostgreSQL US</a></li>
+  </ul>
+ </div>
+
+ <div class="pgFrontBox">
+  <h1>Related organisations</h1>
+  <ul>
+   <li><a href="http://www.postgresql.org/">PostgreSQL</a></li>
+  </ul>
+ </div>
+</div>
+
+<div id="pgFrontLeft">
+ <div id="pgFrontWelcome" class="pgFrontBox">
+  <h1>Welcome to PostgreSQL Canada</h1>
+  <p>
+Welcome to the PostgreSQL Community Association of Canada, a non-profit organisation
+setup to steward assets such as domain names and trademarks for the <a 
+href="http://www.postgresql.org">PostgreSQL Project</a>.
+  </p>
+  <p>
+We're just finishing off the legal work at the moment, so please visit again in the near
+future to see how we're getting on.
+  </p>
+ </div>
+ <div id="pgFrontNews" class="pgFrontBox">
+  <h1>Latest news</h1>
+  
+  <div class="pgFrontNewsItem">
+   <h2>Board members confirmed</h2>
+   <h3>15 February 2012</h3>
+    
+    <p>The PostgreSQL Community Association of Canada's board now consists of:</p>
+     <ul>
+     <li>Marc Fournier (Chair)</li>
+     <li>Dave Page (Vice-chair)</li>
+     <li>Josh Berkus (Secretary)</li>
+     <li>Chris Browne (Treasurer)</li>
+     <li>Dan Langille</li>
+     <li>Jaime Casanova</li>
+    </ul>
+  </div>
+ </div> <!-- pgFrontWelcome -->
+</div> <!-- pgFrontLeft -->
+{%endblock%}
+
diff --git a/website.html b/website.html
deleted file mode 100644 (file)
index 58b53e2..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr">
- <head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <title>About the website</title>
-  
-  <link rel="shortcut icon" href="/images/favicon.ico">
-  <style type="text/css" media="screen" title="Normal Text">@import url("css/base.css");</style>
- </head>
- <body>
-  <div id="pgContainerWrap">
-   <div id="pgContainer">
-    <div id="pgHeaderContainer">
-        <div id="pgHeader">
-         <div id="pgHeaderLogoLeft">
-          <a href="/"><img alt="PostgreSQL Community Association of Canada" height="80" width="230" src="images/hdr_left.png"></a>
-         </div>
-         <div id="pgHeaderLogoRight">
-          <a href="/index.html"><img width="210" height="80" alt="PostgreSQL Canada" src="images/hdr_right.png"></a>
-         </div>
-        </div> <!-- pgHeader -->
-
-        <div id="pgTopNav">
-         <div id="pgTopNavLeft"><img width="7" height="23" alt="" src="images/nav_lft.png"></div>
-         <div id="pgTopNavRight"><img width="7" height="23" alt="" src="images/nav_rgt.png"></div>
-         <ul id="pgTopNavList">
-          <li><a href="/index.html" title="Home">Home</a></li>
-         </ul>
-        </div> <!-- pgTopNav -->
-       </div> <!-- pgHeaderContainer -->
-       <div id="pgContent">
-
-<h1>About the website</h1>
-
-<p>
-When you visit our website, our servers automatically log your IP address and/or host name.
-</p>
-
-<p>
-We store information such as your email address, name and locality only if you decide
-to send us such information by completing a survey, or registering as a user on one
-of our sites. We collect this information to help us improve the content of our
-sites, customize the layout of our web pages and to contact people for technical
-and support purposes. We will not share your email address with other organizations
-unless required by law.
-</p>
-
-<p>
-The full sourcecode for this website is available in
-<a href="http://git.postgresql.org/gitweb?p=pgcac-website.git;a=summary">our
-GIT repository</a> under the PostgreSQL licence.
-</p>
-
-<p>
-We may collect demographic and interest category information from people via surveys,
-volunteered information, suggestions from members, and other means. Our members may
-voluntarily provide information, including that regarding personal, interests,
-geography, and demographics. The purpose of this data collection is to ensure
-we continue to understand the needs and wants of the PostgreSQL community, and
-therefore can provide the most relevant information, guides, and content.
-</p>
-
-    </div> <!-- pgContent -->
-       <div id="pgFooter">
-         <a class="navFooter" href="/privacypolicy.html">Privacy Policy</a> |
-         <a class="navFooter" href="/website.html">About the website</a><br>
-        Copyright © 2012 PostgreSQL Community Association of Canada
-       </div> <!-- pgFooter -->
-   </div>
-  </div> <!-- pgContainerWrap -->
-
-</body></html>