summaryrefslogtreecommitdiff
path: root/papillon
diff options
context:
space:
mode:
Diffstat (limited to 'papillon')
-rw-r--r--papillon/polls/migrations/0001_initial.py183
-rw-r--r--papillon/polls/migrations/__init__.py0
-rw-r--r--papillon/settings.py.tpl32
-rw-r--r--papillon/urls.py8
4 files changed, 211 insertions, 12 deletions
diff --git a/papillon/polls/migrations/0001_initial.py b/papillon/polls/migrations/0001_initial.py
new file mode 100644
index 0000000..bbe3c98
--- /dev/null
+++ b/papillon/polls/migrations/0001_initial.py
@@ -0,0 +1,183 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+ def forwards(self, orm):
+
+ # Adding model 'Category'
+ db.create_table('polls_category', (
+ ('description', self.gf('django.db.models.fields.TextField')()),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ))
+ db.send_create_signal('polls', ['Category'])
+
+ # Adding model 'PollUser'
+ db.create_table('polls_polluser', (
+ ('email', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('password', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('modification_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ))
+ db.send_create_signal('polls', ['PollUser'])
+
+ # Adding model 'Poll'
+ db.create_table('polls_poll', (
+ ('category', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Category'], null=True, blank=True)),
+ ('hide_choices', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)),
+ ('enddate', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('modification_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+ ('author', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.PollUser'], null=True, blank=True)),
+ ('open', self.gf('django.db.models.fields.BooleanField')(default=True, blank=True)),
+ ('admin_url', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('opened_admin', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)),
+ ('base_url', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('author_name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ('public', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)),
+ ('dated_choices', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True)),
+ ('type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('description', self.gf('django.db.models.fields.CharField')(max_length=1000)),
+ ))
+ db.send_create_signal('polls', ['Poll'])
+
+ # Adding model 'Comment'
+ db.create_table('polls_comment', (
+ ('date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+ ('text', self.gf('django.db.models.fields.CharField')(max_length=1000)),
+ ('poll', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Poll'])),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('author_name', self.gf('django.db.models.fields.CharField')(max_length=100)),
+ ))
+ db.send_create_signal('polls', ['Comment'])
+
+ # Adding model 'Voter'
+ db.create_table('polls_voter', (
+ ('poll', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Poll'])),
+ ('creation_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('modification_date', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+ ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.PollUser'])),
+ ))
+ db.send_create_signal('polls', ['Voter'])
+
+ # Adding model 'Choice'
+ db.create_table('polls_choice', (
+ ('available', self.gf('django.db.models.fields.BooleanField')(default=True, blank=True)),
+ ('name', self.gf('django.db.models.fields.CharField')(max_length=200)),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('limit', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('poll', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Poll'])),
+ ('order', self.gf('django.db.models.fields.IntegerField')()),
+ ))
+ db.send_create_signal('polls', ['Choice'])
+
+ # Adding model 'Vote'
+ db.create_table('polls_vote', (
+ ('voter', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Voter'])),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ('value', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),
+ ('choice', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['polls.Choice'])),
+ ))
+ db.send_create_signal('polls', ['Vote'])
+
+
+ def backwards(self, orm):
+
+ # Deleting model 'Category'
+ db.delete_table('polls_category')
+
+ # Deleting model 'PollUser'
+ db.delete_table('polls_polluser')
+
+ # Deleting model 'Poll'
+ db.delete_table('polls_poll')
+
+ # Deleting model 'Comment'
+ db.delete_table('polls_comment')
+
+ # Deleting model 'Voter'
+ db.delete_table('polls_voter')
+
+ # Deleting model 'Choice'
+ db.delete_table('polls_choice')
+
+ # Deleting model 'Vote'
+ db.delete_table('polls_vote')
+
+
+ models = {
+ 'polls.category': {
+ 'Meta': {'object_name': 'Category'},
+ 'description': ('django.db.models.fields.TextField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'polls.choice': {
+ 'Meta': {'object_name': 'Choice'},
+ 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'limit': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'order': ('django.db.models.fields.IntegerField', [], {}),
+ 'poll': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Poll']"})
+ },
+ 'polls.comment': {
+ 'Meta': {'object_name': 'Comment'},
+ 'author_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'poll': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Poll']"}),
+ 'text': ('django.db.models.fields.CharField', [], {'max_length': '1000'})
+ },
+ 'polls.poll': {
+ 'Meta': {'object_name': 'Poll'},
+ 'admin_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.PollUser']", 'null': 'True', 'blank': 'True'}),
+ 'author_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'base_url': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Category']", 'null': 'True', 'blank': 'True'}),
+ 'dated_choices': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'description': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
+ 'enddate': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+ 'hide_choices': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
+ 'open': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'opened_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'public': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+ },
+ 'polls.polluser': {
+ 'Meta': {'object_name': 'PollUser'},
+ 'email': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'polls.vote': {
+ 'Meta': {'object_name': 'Vote'},
+ 'choice': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Choice']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'value': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+ 'voter': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Voter']"})
+ },
+ 'polls.voter': {
+ 'Meta': {'object_name': 'Voter'},
+ 'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'modification_date': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'poll': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.Poll']"}),
+ 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['polls.PollUser']"})
+ }
+ }
+
+ complete_apps = ['polls']
diff --git a/papillon/polls/migrations/__init__.py b/papillon/polls/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/papillon/polls/migrations/__init__.py
diff --git a/papillon/settings.py.tpl b/papillon/settings.py.tpl
index 1307e24..7ca2761 100644
--- a/papillon/settings.py.tpl
+++ b/papillon/settings.py.tpl
@@ -6,7 +6,9 @@
DEBUG = True
TEMPLATE_DEBUG = DEBUG
-ROOT_PATH = '/var/local/django/papillon/papillon/'
+import os.path
+PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
+
SERVER_URL = 'http://localhost/'
EXTRA_URL = 'papillon/'
BASE_SITE = SERVER_URL + EXTRA_URL
@@ -21,12 +23,18 @@ ADMINS = (
MANAGERS = ADMINS
-DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
-DATABASE_NAME = ROOT_PATH + 'papillon.db' # Or path to database file if using sqlite3.
-DATABASE_USER = '' # Not used with sqlite3.
-DATABASE_PASSWORD = '' # Not used with sqlite3.
-DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
-DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+ 'NAME': PROJECT_PATH + '/papillon.db', # Or path to database file if using sqlite3.
+ 'USER': 'postgres', # Not used with sqlite3.
+ 'PASSWORD': '', # Not used with sqlite3.
+ 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
+ 'PORT': '', # Set to empty string for default. Not used with sqlite3.
+ }
+}
+
+
# Local time zone for this installation. Choices can be found here:
# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
@@ -48,7 +56,7 @@ USE_I18N = True
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = ROOT_PATH + 'static/'
+MEDIA_ROOT = PROJECT_PATH + '/static/'
# URL that handles the media served from MEDIA_ROOT.
# Example: "http://media.lawrence.com"
@@ -83,16 +91,22 @@ TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
- ROOT_PATH + 'templates',
+ PROJECT_PATH + '/templates',
)
INSTALLED_APPS = (
+ # contribs
'django.contrib.auth',
'django.contrib.admin',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.markup',
+
+ # third parties
+ 'south',
+
+ # app
'papillon.polls',
)
diff --git a/papillon/urls.py b/papillon/urls.py
index 13aa4d0..9d1d8a3 100644
--- a/papillon/urls.py
+++ b/papillon/urls.py
@@ -29,7 +29,9 @@ feeds = {
'poll': PollLatestEntries,
}
-base = '^' + settings.EXTRA_URL[:-1]
+base = '^' + settings.EXTRA_URL
+if not base.endswith('/'):
+ base += '/'
urlpatterns = patterns('',
(base + r'admin/doc/', include('django.contrib.admindocs.urls')),
@@ -50,7 +52,7 @@ urlpatterns = patterns('',
(base + r'feeds/(?P<url>.*)$',
'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
(base + r'static/(?P<path>.*)$', 'django.views.static.serve',
- {'document_root': settings.ROOT_PATH + 'static'}),
+ {'document_root': settings.PROJECT_PATH + '/static'}),
(base + r'media/(?P<path>.*)$', 'django.views.static.serve',
- {'document_root': settings.ROOT_PATH + 'media/'}),
+ {'document_root': settings.PROJECT_PATH + '/media/'}),
)