Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: peteretep/SpiritDjango
base: 82601dc70d
...
head fork: peteretep/SpiritDjango
compare: 6f567bc774
Checking mergeability… Don't worry, you can still create the pull request.
  • 3 commits
  • 144 files changed
  • 0 commit comments
  • 1 contributor
Commits on Jun 18, 2012
Peter Armstrong settings changed c182a63
Peter Armstrong removed tests 8721cbd
Commits on Jun 19, 2012
Peter Armstrong master changed to apache setup 6f567bc
Showing with 12,230 additions and 78 deletions.
  1. +3 −3 src/SpiritDjango/settings.py
  2. BIN  src/SpiritDjango/settings.pyc
  3. +1 −0  src/SpiritDjango/static/readme.txt
  4. +39 −11 src/SpiritDjango/static/spirit.css
  5. +1 −1  src/SpiritDjango/urls.py
  6. BIN  src/SpiritDjango/urls.pyc
  7. +6 −0 src/guestbook/forms.py
  8. BIN  src/guestbook/forms.pyc
  9. +10 −3 src/guestbook/models.py
  10. BIN  src/guestbook/models.pyc
  11. +27 −4 src/guestbook/views.py
  12. BIN  src/guestbook/views.pyc
  13. +16 −10 src/home/views.py
  14. BIN  src/home/views.pyc
  15. 0  src/images/__init__.py
  16. +7 −0 src/images/models.py
  17. +16 −0 src/images/tests.py
  18. +1 −0  src/images/views.py
  19. +40 −13 src/spirit.css
  20. +835 −0 src/static/admin/css/base.css
  21. +289 −0 src/static/admin/css/changelists.css
  22. +30 −0 src/static/admin/css/dashboard.css
  23. +358 −0 src/static/admin/css/forms.css
  24. +63 −0 src/static/admin/css/ie.css
  25. +57 −0 src/static/admin/css/login.css
  26. +245 −0 src/static/admin/css/rtl.css
  27. +562 −0 src/static/admin/css/widgets.css
  28. BIN  src/static/admin/img/changelist-bg.gif
  29. BIN  src/static/admin/img/changelist-bg_rtl.gif
  30. BIN  src/static/admin/img/chooser-bg.gif
  31. BIN  src/static/admin/img/chooser_stacked-bg.gif
  32. BIN  src/static/admin/img/default-bg-reverse.gif
  33. BIN  src/static/admin/img/default-bg.gif
  34. BIN  src/static/admin/img/deleted-overlay.gif
  35. BIN  src/static/admin/img/gis/move_vertex_off.png
  36. BIN  src/static/admin/img/gis/move_vertex_on.png
  37. BIN  src/static/admin/img/icon-no.gif
  38. BIN  src/static/admin/img/icon-unknown.gif
  39. BIN  src/static/admin/img/icon-yes.gif
  40. BIN  src/static/admin/img/icon_addlink.gif
  41. BIN  src/static/admin/img/icon_alert.gif
  42. BIN  src/static/admin/img/icon_calendar.gif
  43. BIN  src/static/admin/img/icon_changelink.gif
  44. BIN  src/static/admin/img/icon_clock.gif
  45. BIN  src/static/admin/img/icon_deletelink.gif
  46. BIN  src/static/admin/img/icon_error.gif
  47. BIN  src/static/admin/img/icon_searchbox.png
  48. BIN  src/static/admin/img/icon_success.gif
  49. BIN  src/static/admin/img/inline-delete-8bit.png
  50. BIN  src/static/admin/img/inline-delete.png
  51. BIN  src/static/admin/img/inline-restore-8bit.png
  52. BIN  src/static/admin/img/inline-restore.png
  53. BIN  src/static/admin/img/inline-splitter-bg.gif
  54. BIN  src/static/admin/img/nav-bg-grabber.gif
  55. BIN  src/static/admin/img/nav-bg-reverse.gif
  56. BIN  src/static/admin/img/nav-bg-selected.gif
  57. BIN  src/static/admin/img/nav-bg.gif
  58. BIN  src/static/admin/img/selector-icons.gif
  59. BIN  src/static/admin/img/selector-search.gif
  60. BIN  src/static/admin/img/sorting-icons.gif
  61. BIN  src/static/admin/img/tool-left.gif
  62. BIN  src/static/admin/img/tool-left_over.gif
  63. BIN  src/static/admin/img/tool-right.gif
  64. BIN  src/static/admin/img/tool-right_over.gif
  65. BIN  src/static/admin/img/tooltag-add.gif
  66. BIN  src/static/admin/img/tooltag-add_over.gif
  67. BIN  src/static/admin/img/tooltag-arrowright.gif
  68. BIN  src/static/admin/img/tooltag-arrowright_over.gif
  69. +20 −0 src/static/admin/js/LICENSE-JQUERY.txt
  70. +111 −0 src/static/admin/js/SelectBox.js
  71. +161 −0 src/static/admin/js/SelectFilter2.js
  72. +139 −0 src/static/admin/js/actions.js
  73. +7 −0 src/static/admin/js/actions.min.js
  74. +288 −0 src/static/admin/js/admin/DateTimeShortcuts.js
  75. +97 −0 src/static/admin/js/admin/RelatedObjectLookups.js
  76. +137 −0 src/static/admin/js/admin/ordering.js
  77. +156 −0 src/static/admin/js/calendar.js
  78. +24 −0 src/static/admin/js/collapse.js
  79. +2 −0  src/static/admin/js/collapse.min.js
  80. +47 −0 src/static/admin/js/compress.py
  81. +211 −0 src/static/admin/js/core.js
  82. +167 −0 src/static/admin/js/getElementsBySelector.js
  83. +136 −0 src/static/admin/js/inlines.js
  84. +5 −0 src/static/admin/js/inlines.min.js
  85. +8 −0 src/static/admin/js/jquery.init.js
  86. +6,240 −0 src/static/admin/js/jquery.js
  87. +154 −0 src/static/admin/js/jquery.min.js
  88. +34 −0 src/static/admin/js/prepopulate.js
  89. +1 −0  src/static/admin/js/prepopulate.min.js
  90. +94 −0 src/static/admin/js/timeparse.js
  91. +140 −0 src/static/admin/js/urlify.js
  92. BIN  src/static/img/Inishmurray.jpg
  93. BIN  src/static/img/MVSpirit_In_Rosses_Point.jpg
  94. BIN  src/static/img/Minke_Whale_Sligo.jpg
  95. BIN  src/static/img/Spirit_adventure_charter_boat.jpg
  96. BIN  src/static/img/aughris.jpg
  97. BIN  src/static/img/boat_tour_Innishmurray_Island.jpg
  98. BIN  src/static/img/boat_tour_Innishmurray_Island.png
  99. BIN  src/static/img/boat_tour_coney_island.jpg
  100. BIN  src/static/img/boat_tour_coney_island.png
  101. BIN  src/static/img/boat_tours_Clew_Bay.jpg
  102. BIN  src/static/img/cod_fishing_sligo.jpg
  103. BIN  src/static/img/dolphin_Sligo.jpg
  104. BIN  src/static/img/family_and_friends_take_a_trip_on_sligo_bay.jpg
  105. BIN  src/static/img/fishing_trip_ireland.jpg
  106. BIN  src/static/img/innishmurray.jpg
  107. BIN  src/static/img/metal_man.jpg
  108. BIN  src/static/img/passengers_boarding_cullenmore.jpg
  109. BIN  src/static/img/pollack_fishing_ireland.jpg
  110. BIN  src/static/img/seal_sligo_bay.jpg
  111. BIN  src/static/img/southSligo.jpg
  112. +1 −0  src/static/readme.txt
  113. +195 −0 src/static/spirit.css
  114. +28 −19 src/templates/base.html
  115. +3 −3 src/templates/index.html
  116. +470 −0 src/templates/photologue/.svn/entries
  117. +1 −0  src/templates/photologue/.svn/format
  118. +26 −0 src/templates/photologue/.svn/text-base/gallery_archive.html.svn-base
  119. +26 −0 src/templates/photologue/.svn/text-base/gallery_archive_day.html.svn-base
  120. +26 −0 src/templates/photologue/.svn/text-base/gallery_archive_month.html.svn-base
  121. +16 −0 src/templates/photologue/.svn/text-base/gallery_archive_year.html.svn-base
  122. +19 −0 src/templates/photologue/.svn/text-base/gallery_detail.html.svn-base
  123. +31 −0 src/templates/photologue/.svn/text-base/gallery_list.html.svn-base
  124. +20 −0 src/templates/photologue/.svn/text-base/photo_archive.html.svn-base
  125. +20 −0 src/templates/photologue/.svn/text-base/photo_archive_day.html.svn-base
  126. +20 −0 src/templates/photologue/.svn/text-base/photo_archive_month.html.svn-base
  127. +14 −0 src/templates/photologue/.svn/text-base/photo_archive_year.html.svn-base
  128. +23 −0 src/templates/photologue/.svn/text-base/photo_detail.html.svn-base
  129. +26 −0 src/templates/photologue/.svn/text-base/photo_list.html.svn-base
  130. +1 −0  src/templates/photologue/.svn/text-base/root.html.svn-base
  131. +26 −0 src/templates/photologue/gallery_archive.html
  132. +26 −0 src/templates/photologue/gallery_archive_day.html
  133. +26 −0 src/templates/photologue/gallery_archive_month.html
  134. +16 −0 src/templates/photologue/gallery_archive_year.html
  135. +19 −0 src/templates/photologue/gallery_detail.html
  136. +31 −0 src/templates/photologue/gallery_list.html
  137. +20 −0 src/templates/photologue/photo_archive.html
  138. +20 −0 src/templates/photologue/photo_archive_day.html
  139. +20 −0 src/templates/photologue/photo_archive_month.html
  140. +14 −0 src/templates/photologue/photo_archive_year.html
  141. +23 −0 src/templates/photologue/photo_detail.html
  142. +26 −0 src/templates/photologue/photo_list.html
  143. +1 −0  src/templates/photologue/root.html
  144. +11 −11 src/templates/reviews.html
View
6 src/SpiritDjango/settings.py
@@ -18,7 +18,7 @@
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
- 'NAME': '/home/peter/python/SpiritDjango/src/sqlite.db', # Or path to database file if using sqlite3.
+ 'NAME': '/var/www/sqlite.db', # Or path to database file if using sqlite3.
'USER': 'spirit', # Not used with sqlite3.
'PASSWORD': 'shit boat', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
@@ -65,7 +65,7 @@
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
-STATIC_ROOT = ''
+STATIC_ROOT = '/var/www/static/'
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
@@ -113,7 +113,7 @@
WSGI_APPLICATION = 'SpiritDjango.wsgi.application'
TEMPLATE_DIRS = (
- '/home/peter/python/SpiritDjango/src/templates/'
+ '/var/www/templates/'
# 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.
View
BIN  src/SpiritDjango/settings.pyc
Binary file not shown
View
1  src/SpiritDjango/static/readme.txt
@@ -0,0 +1 @@
+This folder contains data to be placed to customer's apache websites.
View
50 src/SpiritDjango/static/spirit.css
@@ -28,9 +28,10 @@ td, th {
#wrapper {
max-width:900px;
width: 100%;
- height: 100%;
+
font-size: 14px;
line-height:25px;
+
overflow:hidden;
-moz-border-top-right-radius: 15px;
-moz-border-top-left-radius:15px;
@@ -46,7 +47,7 @@ list-style-type:square;
#main_menu ul
{
list-style-type:none;
-margin:0;
+margin:-10px 0px 0px 0px;
padding:0;
overflow:hidden;
@@ -78,22 +79,29 @@ text-transform:uppercase;
background-color:#f33D00;
}
-#content
+#content
{
+
background-color:#F2F2F2;
+ height:100%;
+ min-height:600px;
+ border-radius:15px;
+ overflow:auto;
+}
+
+#leftside
+{
width:570px;
- height:750px;
- height:600px;
border-radius:15px 0px 0px 15px;
padding-left:15px;
float:left;
+ height:100%;
}
#right_side
{
background-color:#F2F2F2;
width:300px;
- height:600px;
border-radius: 0px 15px 15px 0px;
padding-left:15px;
float:left;
@@ -102,7 +110,24 @@ background-color:#f33D00;
.image {
border-radius:15px;
}
-.footerbox {
+
+#footer
+{
+ background-color:#F2F2F2;
+ margin-top:10px;
+ border-radius: 15px;
+ max-width:900px;
+ width:100%;
+ float:left;
+}
+
+#addressbox
+{
+ float:right;
+ padding:10px 20px 10px 0px;
+}
+
+#footerbox {
background-color:#F2F2F2;
max-width:900px;
width:100%;
@@ -110,14 +135,12 @@ height:140px;
margin-top:10px;
text-align:right;
border-radius: 15px;
-}
-.footer {
vertical-align:top;
width:300px;
padding:10px;
float:right;
-
}
+
.facebook {
vertical-align:top;
width:200px;
@@ -128,7 +151,12 @@ float:right;
.programmes {
padding-right:15px;
}
-.breadcrumb {font-size:10px;}
+
+#breadcrumb
+{
+ font-size:10px;
+ padding:10px;
+}
#review {
View
2  src/SpiritDjango/urls.py
@@ -5,7 +5,7 @@
admin.autodiscover()
urlpatterns = patterns('',
- url(r'^blog/$', 'guestbook.views.index'),
+ url(r'^review/$', 'guestbook.views.review'),
url(r'^tours/$', 'home.views.tours'),
url(r'^angling/$', 'home.views.angling'),
url(r'^wildlife/$', 'home.views.wildlife'),
View
BIN  src/SpiritDjango/urls.pyc
Binary file not shown
View
6 src/guestbook/forms.py
@@ -0,0 +1,6 @@
+from django import forms
+
+class ReviewForm(forms.Form):
+ name = forms.CharField()
+ email = forms.EmailField(required=False)
+ entry = forms.CharField(widget=forms.Textarea)
View
BIN  src/guestbook/forms.pyc
Binary file not shown
View
13 src/guestbook/models.py
@@ -1,9 +1,16 @@
from django.db import models
+from django.forms import ModelForm
+
class Review (models.Model):
name = models.CharField(max_length=200)
- email = models.CharField(max_length=200)
- entry = models.CharField(max_length=500)
+ email = models.EmailField()
+ entry = models.TextField()
+ checked = models.BooleanField()
+
+class ReviewForm(ModelForm):
+ class Meta:
+ model = Review
+ exclude = 'checked'
-# Create your models here.
View
BIN  src/guestbook/models.pyc
Binary file not shown
View
31 src/guestbook/views.py
@@ -1,11 +1,34 @@
from django.http import HttpResponse
+from django.http import HttpResponseRedirect
from guestbook.models import Review
-from django.template import Context, loader
-
+from django.template import RequestContext, loader
+from django.shortcuts import render_to_response
+from guestbook.models import ReviewForm
def index(request):
review = Review.objects.all()
t = loader.get_template('reviews.html')
- c = Context({'review':review,
+ c = RequestContext({'review':review,
})
- return HttpResponse(t.render(c))
+ return HttpResponse(t.render(c))
+
+def review(request):
+ if request.method == 'POST':
+ form = ReviewForm(request.POST)
+ if form.is_valid():
+ name = form.cleaned_data['name']
+ entry = form.cleaned_data['entry']
+ email = form.cleaned_data['email']
+ new_review=form.save()
+ new_review.name=name
+ new_review.email=email
+ new_review.entry=entry
+ new_review.save()
+ return HttpResponseRedirect('/')
+ else:
+ form = ReviewForm()
+
+ return render_to_response('reviews.html', {'form': form},
+ context_instance=RequestContext(request))
+
+
View
BIN  src/guestbook/views.pyc
Binary file not shown
View
26 src/home/views.py
@@ -10,42 +10,48 @@
import random
+
def index(request):
- reviews=random.choice(Review.objects.all())
+ okrevs = Review.objects.filter(checked = True)
+ review=random.choice(okrevs)
textblock_list=Home.objects.all()
t = loader.get_template('index.html')
- c = Context({'textblock_list':textblock_list, 'reviews':reviews
+ c = Context({'textblock_list':textblock_list, 'review':review
})
return HttpResponse(t.render(c))
def tours(request):
- reviews=random.choice(Review.objects.all())
+ okrevs = Review.objects.filter(checked = True)
+ review=random.choice(okrevs)
textblock_list=Tours.objects.all()
t = loader.get_template('index.html')
- c = Context({'textblock_list':textblock_list, 'reviews':reviews
+ c = Context({'textblock_list':textblock_list, 'review':review
})
return HttpResponse(t.render(c))
def angling(request):
- reviews=random.choice(Review.objects.all())
+ okrevs = Review.objects.filter(checked = True)
+ review=random.choice(okrevs)
textblock_list=Angling.objects.all()
t = loader.get_template('index.html')
- c = Context({'textblock_list':textblock_list, 'reviews':reviews
+ c = Context({'textblock_list':textblock_list, 'review':review
})
return HttpResponse(t.render(c))
def wildlife(request):
- reviews=random.choice(Review.objects.all())
+ okrevs = Review.objects.filter(checked = True)
+ review=random.choice(okrevs)
textblock_list=Wildlife.objects.all()
t = loader.get_template('index.html')
- c = Context({'textblock_list':textblock_list, 'reviews':reviews
+ c = Context({'textblock_list':textblock_list, 'review':review
})
return HttpResponse(t.render(c))
def book(request):
- reviews=random.choice(Review.objects.all())
+ okrevs = Review.objects.filter(checked = True)
+ review=random.choice(okrevs)
textblock_list=Book.objects.all()
t = loader.get_template('index.html')
- c = Context({'textblock_list':textblock_list, 'reviews':reviews
+ c = Context({'textblock_list':textblock_list, 'review':review
})
return HttpResponse(t.render(c))
View
BIN  src/home/views.pyc
Binary file not shown
View
0  src/images/__init__.py
No changes.
View
7 src/images/models.py
@@ -0,0 +1,7 @@
+from django.db import models
+
+
+
+# Create your models here.
+class topimage(models.Model):
+ imgpath=
View
16 src/images/tests.py
@@ -0,0 +1,16 @@
+"""
+This file demonstrates writing tests using the unittest module. These will pass
+when you run "manage.py test".
+
+Replace this with more appropriate tests for your application.
+"""
+
+from django.test import TestCase
+
+
+class SimpleTest(TestCase):
+ def test_basic_addition(self):
+ """
+ Tests that 1 + 1 always equals 2.
+ """
+ self.assertEqual(1 + 1, 2)
View
1  src/images/views.py
@@ -0,0 +1 @@
+# Create your views here.
View
53 src/spirit.css
@@ -28,9 +28,10 @@ td, th {
#wrapper {
max-width:900px;
width: 100%;
- height: 100%;
+
font-size: 14px;
line-height:25px;
+
overflow:hidden;
-moz-border-top-right-radius: 15px;
-moz-border-top-left-radius:15px;
@@ -78,22 +79,28 @@ text-transform:uppercase;
background-color:#f33D00;
}
-#content
+#content
{
background-color:#F2F2F2;
- width:600px;
- height:750px;
- height:600px;
+ height:100%;
+ min-height:600px;
+ border-radius:15px;
+ overflow:auto;
+}
+
+#leftside
+{
+ width:570px;
border-radius:15px 0px 0px 15px;
padding-left:15px;
float:left;
+ height:100%;
}
#right_side
{
background-color:#F2F2F2;
- width:270px;
- height:600px;
+ width:300px;
border-radius: 0px 15px 15px 0px;
padding-left:15px;
float:left;
@@ -102,7 +109,24 @@ background-color:#f33D00;
.image {
border-radius:15px;
}
-.footerbox {
+
+#footer
+{
+ background-color:#F2F2F2;
+ margin-top:10px;
+ border-radius: 15px;
+ max-width:900px;
+ width:100%;
+ float:left;
+}
+
+#addressbox
+{
+ float:right;
+ padding:10px 20px 10px 0px;
+}
+
+#footerbox {
background-color:#F2F2F2;
max-width:900px;
width:100%;
@@ -110,14 +134,12 @@ height:140px;
margin-top:10px;
text-align:right;
border-radius: 15px;
-}
-.footer {
vertical-align:top;
width:300px;
padding:10px;
float:right;
-
}
+
.facebook {
vertical-align:top;
width:200px;
@@ -128,11 +150,16 @@ float:right;
.programmes {
padding-right:15px;
}
-.breadcrumb {font-size:10px;}
+
+#breadcrumb
+{
+ font-size:10px;
+ padding-left:10px;
+}
#review {
- font-size:10px;
+ font-size:12px;
font-style:italic;
padding:5px;
}
View
835 src/static/admin/css/base.css
@@ -0,0 +1,835 @@
+/*
+ DJANGO Admin styles
+*/
+
+body {
+ margin: 0;
+ padding: 0;
+ font-size: 12px;
+ font-family: "Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
+ color: #333;
+ background: #fff;
+}
+
+/* LINKS */
+
+a:link, a:visited {
+ color: #5b80b2;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #036;
+}
+
+a img {
+ border: none;
+}
+
+a.section:link, a.section:visited {
+ color: white;
+ text-decoration: none;
+}
+
+/* GLOBAL DEFAULTS */
+
+p, ol, ul, dl {
+ margin: .2em 0 .8em 0;
+}
+
+p {
+ padding: 0;
+ line-height: 140%;
+}
+
+h1,h2,h3,h4,h5 {
+ font-weight: bold;
+}
+
+h1 {
+ font-size: 18px;
+ color: #666;
+ padding: 0 6px 0 0;
+ margin: 0 0 .2em 0;
+}
+
+h2 {
+ font-size: 16px;
+ margin: 1em 0 .5em 0;
+}
+
+h2.subhead {
+ font-weight: normal;
+ margin-top: 0;
+}
+
+h3 {
+ font-size: 14px;
+ margin: .8em 0 .3em 0;
+ color: #666;
+ font-weight: bold;
+}
+
+h4 {
+ font-size: 12px;
+ margin: 1em 0 .8em 0;
+ padding-bottom: 3px;
+}
+
+h5 {
+ font-size: 10px;
+ margin: 1.5em 0 .5em 0;
+ color: #666;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+}
+
+ul li {
+ list-style-type: square;
+ padding: 1px 0;
+}
+
+ul.plainlist {
+ margin-left: 0 !important;
+}
+
+ul.plainlist li {
+ list-style-type: none;
+}
+
+li ul {
+ margin-bottom: 0;
+}
+
+li, dt, dd {
+ font-size: 11px;
+ line-height: 14px;
+}
+
+dt {
+ font-weight: bold;
+ margin-top: 4px;
+}
+
+dd {
+ margin-left: 0;
+}
+
+form {
+ margin: 0;
+ padding: 0;
+}
+
+fieldset {
+ margin: 0;
+ padding: 0;
+}
+
+blockquote {
+ font-size: 11px;
+ color: #777;
+ margin-left: 2px;
+ padding-left: 10px;
+ border-left: 5px solid #ddd;
+}
+
+code, pre {
+ font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
+ background: inherit;
+ color: #666;
+ font-size: 11px;
+}
+
+pre.literal-block {
+ margin: 10px;
+ background: #eee;
+ padding: 6px 8px;
+}
+
+code strong {
+ color: #930;
+}
+
+hr {
+ clear: both;
+ color: #eee;
+ background-color: #eee;
+ height: 1px;
+ border: none;
+ margin: 0;
+ padding: 0;
+ font-size: 1px;
+ line-height: 1px;
+}
+
+/* TEXT STYLES & MODIFIERS */
+
+.small {
+ font-size: 11px;
+}
+
+.tiny {
+ font-size: 10px;
+}
+
+p.tiny {
+ margin-top: -2px;
+}
+
+.mini {
+ font-size: 9px;
+}
+
+p.mini {
+ margin-top: -3px;
+}
+
+.help, p.help {
+ font-size: 10px !important;
+ color: #999;
+}
+
+img.help-tooltip {
+ cursor: help;
+}
+
+p img, h1 img, h2 img, h3 img, h4 img, td img {
+ vertical-align: middle;
+}
+
+.quiet, a.quiet:link, a.quiet:visited {
+ color: #999 !important;
+ font-weight: normal !important;
+}
+
+.quiet strong {
+ font-weight: bold !important;
+}
+
+.float-right {
+ float: right;
+}
+
+.float-left {
+ float: left;
+}
+
+.clear {
+ clear: both;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-right {
+ text-align: right;
+}
+
+.example {
+ margin: 10px 0;
+ padding: 5px 10px;
+ background: #efefef;
+}
+
+.nowrap {
+ white-space: nowrap;
+}
+
+/* TABLES */
+
+table {
+ border-collapse: collapse;
+ border-color: #ccc;
+}
+
+td, th {
+ font-size: 11px;
+ line-height: 13px;
+ border-bottom: 1px solid #eee;
+ vertical-align: top;
+ padding: 5px;
+ font-family: "Lucida Grande", Verdana, Arial, sans-serif;
+}
+
+th {
+ text-align: left;
+ font-size: 12px;
+ font-weight: bold;
+}
+
+thead th,
+tfoot td {
+ color: #666;
+ padding: 2px 5px;
+ font-size: 11px;
+ background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
+ border-left: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+}
+
+tfoot td {
+ border-bottom: none;
+ border-top: 1px solid #ddd;
+}
+
+thead th:first-child,
+tfoot td:first-child {
+ border-left: none !important;
+}
+
+thead th.optional {
+ font-weight: normal !important;
+}
+
+fieldset table {
+ border-right: 1px solid #eee;
+}
+
+tr.row-label td {
+ font-size: 9px;
+ padding-top: 2px;
+ padding-bottom: 0;
+ border-bottom: none;
+ color: #666;
+ margin-top: -1px;
+}
+
+tr.alt {
+ background: #f6f6f6;
+}
+
+.row1 {
+ background: #EDF3FE;
+}
+
+.row2 {
+ background: white;
+}
+
+/* SORTABLE TABLES */
+
+thead th {
+ padding: 2px 5px;
+ line-height: normal;
+}
+
+thead th a:link, thead th a:visited {
+ color: #666;
+}
+
+thead th.sorted {
+ background: #c5c5c5 url(../img/nav-bg-selected.gif) top left repeat-x;
+}
+
+table thead th .text span {
+ padding: 2px 5px;
+ display:block;
+}
+
+table thead th .text a {
+ display: block;
+ cursor: pointer;
+ padding: 2px 5px;
+}
+
+table thead th.sortable:hover {
+ background: white url(../img/nav-bg-reverse.gif) 0 -5px repeat-x;
+}
+
+thead th.sorted a.sortremove {
+ visibility: hidden;
+}
+
+table thead th.sorted:hover a.sortremove {
+ visibility: visible;
+}
+
+table thead th.sorted .sortoptions {
+ display: block;
+ padding: 4px 5px 0 5px;
+ float: right;
+ text-align: right;
+}
+
+table thead th.sorted .sortpriority {
+ font-size: .8em;
+ min-width: 12px;
+ text-align: center;
+ vertical-align: top;
+}
+
+table thead th.sorted .sortoptions a {
+ width: 14px;
+ height: 12px;
+ display: inline-block;
+}
+
+table thead th.sorted .sortoptions a.sortremove {
+ background: url(../img/sorting-icons.gif) -4px -5px no-repeat;
+}
+
+table thead th.sorted .sortoptions a.sortremove:hover {
+ background: url(../img/sorting-icons.gif) -4px -27px no-repeat;
+}
+
+table thead th.sorted .sortoptions a.ascending {
+ background: url(../img/sorting-icons.gif) -5px -50px no-repeat;
+}
+
+table thead th.sorted .sortoptions a.ascending:hover {
+ background: url(../img/sorting-icons.gif) -5px -72px no-repeat;
+}
+
+table thead th.sorted .sortoptions a.descending {
+ background: url(../img/sorting-icons.gif) -5px -94px no-repeat;
+}
+
+table thead th.sorted .sortoptions a.descending:hover {
+ background: url(../img/sorting-icons.gif) -5px -115px no-repeat;
+}
+
+/* ORDERABLE TABLES */
+
+table.orderable tbody tr td:hover {
+ cursor: move;
+}
+
+table.orderable tbody tr td:first-child {
+ padding-left: 14px;
+ background-image: url(../img/nav-bg-grabber.gif);
+ background-repeat: repeat-y;
+}
+
+table.orderable-initalized .order-cell, body>tr>td.order-cell {
+ display: none;
+}
+
+/* FORM DEFAULTS */
+
+input, textarea, select, .form-row p {
+ margin: 2px 0;
+ padding: 2px 3px;
+ vertical-align: middle;
+ font-family: "Lucida Grande", Verdana, Arial, sans-serif;
+ font-weight: normal;
+ font-size: 11px;
+}
+
+textarea {
+ vertical-align: top !important;
+}
+
+input[type=text], input[type=password], textarea, select, .vTextField {
+ border: 1px solid #ccc;
+}
+
+/* FORM BUTTONS */
+
+.button, input[type=submit], input[type=button], .submit-row input {
+ background: white url(../img/nav-bg.gif) bottom repeat-x;
+ padding: 3px 5px;
+ color: black;
+ border: 1px solid #bbb;
+ border-color: #ddd #aaa #aaa #ddd;
+}
+
+.button:active, input[type=submit]:active, input[type=button]:active {
+ background-image: url(../img/nav-bg-reverse.gif);
+ background-position: top;
+}
+
+.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
+ background-image: url(../img/nav-bg.gif);
+ background-position: bottom;
+ opacity: 0.4;
+}
+
+.button.default, input[type=submit].default, .submit-row input.default {
+ border: 2px solid #5b80b2;
+ background: #7CA0C7 url(../img/default-bg.gif) bottom repeat-x;
+ font-weight: bold;
+ color: white;
+ float: right;
+}
+
+.button.default:active, input[type=submit].default:active {
+ background-image: url(../img/default-bg-reverse.gif);
+ background-position: top;
+}
+
+.button[disabled].default, input[type=submit][disabled].default, input[type=button][disabled].default {
+ background-image: url(../img/default-bg.gif);
+ background-position: bottom;
+ opacity: 0.4;
+}
+
+
+/* MODULES */
+
+.module {
+ border: 1px solid #ccc;
+ margin-bottom: 5px;
+ background: white;
+}
+
+.module p, .module ul, .module h3, .module h4, .module dl, .module pre {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+.module blockquote {
+ margin-left: 12px;
+}
+
+.module ul, .module ol {
+ margin-left: 1.5em;
+}
+
+.module h3 {
+ margin-top: .6em;
+}
+
+.module h2, .module caption, .inline-group h2 {
+ margin: 0;
+ padding: 2px 5px 3px 5px;
+ font-size: 11px;
+ text-align: left;
+ font-weight: bold;
+ background: #7CA0C7 url(../img/default-bg.gif) top left repeat-x;
+ color: white;
+}
+
+.module table {
+ border-collapse: collapse;
+}
+
+/* MESSAGES & ERRORS */
+
+ul.messagelist {
+ padding: 0 0 5px 0;
+ margin: 0;
+}
+
+ul.messagelist li {
+ font-size: 12px;
+ display: block;
+ padding: 4px 5px 4px 25px;
+ margin: 0 0 3px 0;
+ border-bottom: 1px solid #ddd;
+ color: #666;
+ background: #ffc url(../img/icon_success.gif) 5px .3em no-repeat;
+}
+
+ul.messagelist li.warning{
+ background-image: url(../img/icon_alert.gif);
+}
+
+ul.messagelist li.error{
+ background-image: url(../img/icon_error.gif);
+}
+
+.errornote {
+ font-size: 12px !important;
+ display: block;
+ padding: 4px 5px 4px 25px;
+ margin: 0 0 3px 0;
+ border: 1px solid red;
+ color: red;
+ background: #ffc url(../img/icon_error.gif) 5px .3em no-repeat;
+}
+
+ul.errorlist {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+.errorlist li {
+ font-size: 12px !important;
+ display: block;
+ padding: 4px 5px 4px 25px;
+ margin: 0 0 3px 0;
+ border: 1px solid red;
+ color: white;
+ background: red url(../img/icon_alert.gif) 5px .3em no-repeat;
+}
+
+.errorlist li a {
+ color: white;
+ text-decoration: underline;
+}
+
+td ul.errorlist {
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+td ul.errorlist li {
+ margin: 0 !important;
+}
+
+.errors {
+ background: #ffc;
+}
+
+.errors input, .errors select, .errors textarea {
+ border: 1px solid red;
+}
+
+div.system-message {
+ background: #ffc;
+ margin: 10px;
+ padding: 6px 8px;
+ font-size: .8em;
+}
+
+div.system-message p.system-message-title {
+ padding: 4px 5px 4px 25px;
+ margin: 0;
+ color: red;
+ background: #ffc url(../img/icon_error.gif) 5px .3em no-repeat;
+}
+
+.description {
+ font-size: 12px;
+ padding: 5px 0 0 12px;
+}
+
+/* BREADCRUMBS */
+
+div.breadcrumbs {
+ background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x;
+ padding: 2px 8px 3px 8px;
+ font-size: 11px;
+ color: #999;
+ border-top: 1px solid white;
+ border-bottom: 1px solid #ccc;
+ text-align: left;
+}
+
+/* ACTION ICONS */
+
+.addlink {
+ padding-left: 12px;
+ background: url(../img/icon_addlink.gif) 0 .2em no-repeat;
+}
+
+.changelink {
+ padding-left: 12px;
+ background: url(../img/icon_changelink.gif) 0 .2em no-repeat;
+}
+
+.deletelink {
+ padding-left: 12px;
+ background: url(../img/icon_deletelink.gif) 0 .25em no-repeat;
+}
+
+a.deletelink:link, a.deletelink:visited {
+ color: #CC3434;
+}
+
+a.deletelink:hover {
+ color: #993333;
+}
+
+/* OBJECT TOOLS */
+
+.object-tools {
+ font-size: 10px;
+ font-weight: bold;
+ font-family: Arial,Helvetica,sans-serif;
+ padding-left: 0;
+ float: right;
+ position: relative;
+ margin-top: -2.4em;
+ margin-bottom: -2em;
+}
+
+.form-row .object-tools {
+ margin-top: 5px;
+ margin-bottom: 5px;
+ float: none;
+ height: 2em;
+ padding-left: 3.5em;
+}
+
+.object-tools li {
+ display: block;
+ float: left;
+ background: url(../img/tool-left.gif) 0 0 no-repeat;
+ padding: 0 0 0 8px;
+ margin-left: 2px;
+ height: 16px;
+}
+
+.object-tools li:hover {
+ background: url(../img/tool-left_over.gif) 0 0 no-repeat;
+}
+
+.object-tools a:link, .object-tools a:visited {
+ display: block;
+ float: left;
+ color: white;
+ padding: .1em 14px .1em 8px;
+ height: 14px;
+ background: #999 url(../img/tool-right.gif) 100% 0 no-repeat;
+}
+
+.object-tools a:hover, .object-tools li:hover a {
+ background: #5b80b2 url(../img/tool-right_over.gif) 100% 0 no-repeat;
+}
+
+.object-tools a.viewsitelink, .object-tools a.golink {
+ background: #999 url(../img/tooltag-arrowright.gif) top right no-repeat;
+ padding-right: 28px;
+}
+
+.object-tools a.viewsitelink:hover, .object-tools a.golink:hover {
+ background: #5b80b2 url(../img/tooltag-arrowright_over.gif) top right no-repeat;
+}
+
+.object-tools a.addlink {
+ background: #999 url(../img/tooltag-add.gif) top right no-repeat;
+ padding-right: 28px;
+}
+
+.object-tools a.addlink:hover {
+ background: #5b80b2 url(../img/tooltag-add_over.gif) top right no-repeat;
+}
+
+/* OBJECT HISTORY */
+
+table#change-history {
+ width: 100%;
+}
+
+table#change-history tbody th {
+ width: 16em;
+}
+
+/* PAGE STRUCTURE */
+
+#container {
+ position: relative;
+ width: 100%;
+ min-width: 760px;
+ padding: 0;
+}
+
+#content {
+ margin: 10px 15px;
+}
+
+#header {
+ width: 100%;
+}
+
+#content-main {
+ float: left;
+ width: 100%;
+}
+
+#content-related {
+ float: right;
+ width: 18em;
+ position: relative;
+ margin-right: -19em;
+}
+
+#footer {
+ clear: both;
+ padding: 10px;
+}
+
+/* COLUMN TYPES */
+
+.colMS {
+ margin-right: 20em !important;
+}
+
+.colSM {
+ margin-left: 20em !important;
+}
+
+.colSM #content-related {
+ float: left;
+ margin-right: 0;
+ margin-left: -19em;
+}
+
+.colSM #content-main {
+ float: right;
+}
+
+.popup .colM {
+ width: 95%;
+}
+
+.subcol {
+ float: left;
+ width: 46%;
+ margin-right: 15px;
+}
+
+.dashboard #content {
+ width: 500px;
+}
+
+/* HEADER */
+
+#header {
+ background: #417690;
+ color: #ffc;
+ overflow: hidden;
+}
+
+#header a:link, #header a:visited {
+ color: white;
+}
+
+#header a:hover {
+ text-decoration: underline;
+}
+
+#branding h1 {
+ padding: 0 10px;
+ font-size: 18px;
+ margin: 8px 0;
+ font-weight: normal;
+ color: #f4f379;
+}
+
+#branding h2 {
+ padding: 0 10px;
+ font-size: 14px;
+ margin: -8px 0 8px 0;
+ font-weight: normal;
+ color: #ffc;
+}
+
+#user-tools {
+ position: absolute;
+ top: 0;
+ right: 0;
+ padding: 1.2em 10px;
+ font-size: 11px;
+ text-align: right;
+}
+
+/* SIDEBAR */
+
+#content-related h3 {
+ font-size: 12px;
+ color: #666;
+ margin-bottom: 3px;
+}
+
+#content-related h4 {
+ font-size: 11px;
+}
+
+#content-related .module h2 {
+ background: #eee url(../img/nav-bg.gif) bottom left repeat-x;
+ color: #666;
+}
+
View
289 src/static/admin/css/changelists.css
@@ -0,0 +1,289 @@
+/* CHANGELISTS */
+
+#changelist {
+ position: relative;
+ width: 100%;
+}
+
+#changelist table {
+ width: 100%;
+}
+
+.change-list .hiddenfields { display:none; }
+
+.change-list .filtered table {
+ border-right: 1px solid #ddd;
+}
+
+.change-list .filtered {
+ min-height: 400px;
+}
+
+.change-list .filtered {
+ background: white url(../img/changelist-bg.gif) top right repeat-y !important;
+}
+
+.change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull {
+ margin-right: 160px !important;
+ width: auto !important;
+}
+
+.change-list .filtered table tbody th {
+ padding-right: 1em;
+}
+
+#changelist .toplinks {
+ border-bottom: 1px solid #ccc !important;
+}
+
+#changelist .paginator {
+ color: #666;
+ border-top: 1px solid #eee;
+ border-bottom: 1px solid #eee;
+ background: white url(../img/nav-bg.gif) 0 180% repeat-x;
+ overflow: hidden;
+}
+
+.change-list .filtered .paginator {
+ border-right: 1px solid #ddd;
+}
+
+/* CHANGELIST TABLES */
+
+#changelist table thead th {
+ padding: 0;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+#changelist table thead th.action-checkbox-column {
+ width: 1.5em;
+ text-align: center;
+}
+
+#changelist table tbody td, #changelist table tbody th {
+ border-left: 1px solid #ddd;
+}
+
+#changelist table tbody td:first-child, #changelist table tbody th:first-child {
+ border-left: 0;
+ border-right: 1px solid #ddd;
+}
+
+#changelist table tbody td.action-checkbox {
+ text-align:center;
+}
+
+#changelist table tfoot {
+ color: #666;
+}
+
+/* TOOLBAR */
+
+#changelist #toolbar {
+ padding: 3px;
+ border-bottom: 1px solid #ddd;
+ background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
+ color: #666;
+}
+
+#changelist #toolbar form input {
+ font-size: 11px;
+ padding: 1px 2px;
+}
+
+#changelist #toolbar form #searchbar {
+ padding: 2px;
+}
+
+#changelist #changelist-search img {
+ vertical-align: middle;
+}
+
+/* FILTER COLUMN */
+
+#changelist-filter {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 1000;
+ width: 160px;
+ border-left: 1px solid #ddd;
+ background: #efefef;
+ margin: 0;
+}
+
+#changelist-filter h2 {
+ font-size: 11px;
+ padding: 2px 5px;
+ border-bottom: 1px solid #ddd;
+}
+
+#changelist-filter h3 {
+ font-size: 12px;
+ margin-bottom: 0;
+}
+
+#changelist-filter ul {
+ padding-left: 0;
+ margin-left: 10px;
+}
+
+#changelist-filter li {
+ list-style-type: none;
+ margin-left: 0;
+ padding-left: 0;
+}
+
+#changelist-filter a {
+ color: #999;
+}
+
+#changelist-filter a:hover {
+ color: #036;
+}
+
+#changelist-filter li.selected {
+ border-left: 5px solid #ccc;
+ padding-left: 5px;
+ margin-left: -10px;
+}
+
+#changelist-filter li.selected a {
+ color: #5b80b2 !important;
+}
+
+/* DATE DRILLDOWN */
+
+.change-list ul.toplinks {
+ display: block;
+ background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x;
+ border-top: 1px solid white;
+ float: left;
+ padding: 0 !important;
+ margin: 0 !important;
+ width: 100%;
+}
+
+.change-list ul.toplinks li {
+ padding: 3px 6px;
+ font-weight: bold;
+ list-style-type: none;
+ display: inline-block;
+}
+
+.change-list ul.toplinks .date-back a {
+ color: #999;
+}
+
+.change-list ul.toplinks .date-back a:hover {
+ color: #036;
+}
+
+/* PAGINATOR */
+
+.paginator {
+ font-size: 11px;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ line-height: 22px;
+ margin: 0;
+ border-top: 1px solid #ddd;
+}
+
+.paginator a:link, .paginator a:visited {
+ padding: 2px 6px;
+ border: solid 1px #ccc;
+ background: white;
+ text-decoration: none;
+}
+
+.paginator a.showall {
+ padding: 0 !important;
+ border: none !important;
+}
+
+.paginator a.showall:hover {
+ color: #036 !important;
+ background: transparent !important;
+}
+
+.paginator .end {
+ border-width: 2px !important;
+ margin-right: 6px;
+}
+
+.paginator .this-page {
+ padding: 2px 6px;
+ font-weight: bold;
+ font-size: 13px;
+ vertical-align: top;
+}
+
+.paginator a:hover {
+ color: white;
+ background: #5b80b2;
+ border-color: #036;
+}
+
+/* ACTIONS */
+
+.filtered .actions {
+ margin-right: 160px !important;
+ border-right: 1px solid #ddd;
+}
+
+#changelist table input {
+ margin: 0;
+}
+
+#changelist table tbody tr.selected {
+ background-color: #FFFFCC;
+}
+
+#changelist .actions {
+ color: #999;
+ padding: 3px;
+ border-top: 1px solid #fff;
+ border-bottom: 1px solid #ddd;
+ background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x;
+}
+
+#changelist .actions.selected {
+ background: #fffccf;
+ border-top: 1px solid #fffee8;
+ border-bottom: 1px solid #edecd6;
+}
+
+#changelist .actions span.all,
+#changelist .actions span.action-counter,
+#changelist .actions span.clear,
+#changelist .actions span.question {
+ font-size: 11px;
+ margin: 0 0.5em;
+ display: none;
+}
+
+#changelist .actions:last-child {
+ border-bottom: none;
+}
+
+#changelist .actions select {
+ border: 1px solid #aaa;
+ margin-left: 0.5em;
+ padding: 1px 2px;
+}
+
+#changelist .actions label {
+ font-size: 11px;
+ margin-left: 0.5em;
+}
+
+#changelist #action-toggle {
+ display: none;
+}
+
+#changelist .actions .button {
+ font-size: 11px;
+ padding: 1px 2px;
+}
View
30 src/static/admin/css/dashboard.css
@@ -0,0 +1,30 @@
+/* DASHBOARD */
+
+.dashboard .module table th {
+ width: 100%;
+}
+
+.dashboard .module table td {
+ white-space: nowrap;
+}
+
+.dashboard .module table td a {
+ display: block;
+ padding-right: .6em;
+}
+
+/* RECENT ACTIONS MODULE */
+
+.module ul.actionlist {
+ margin-left: 0;
+}
+
+ul.actionlist li {
+ list-style-type: none;
+}
+
+ul.actionlist li.changelink {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+}
View
358 src/static/admin/css/forms.css
@@ -0,0 +1,358 @@
+@import url('widgets.css');
+
+/* FORM ROWS */
+
+.form-row {
+ overflow: hidden;
+ padding: 8px 12px;
+ font-size: 11px;
+ border-bottom: 1px solid #eee;
+}
+
+.form-row img, .form-row input {
+ vertical-align: middle;
+}
+
+form .form-row p {
+ padding-left: 0;
+ font-size: 11px;
+}
+
+/* FORM LABELS */
+
+form h4 {
+ margin: 0 !important;
+ padding: 0 !important;
+ border: none !important;
+}
+
+label {
+ font-weight: normal !important;
+ color: #666;
+ font-size: 12px;
+}
+
+.required label, label.required {
+ font-weight: bold !important;
+ color: #333 !important;
+}
+
+/* RADIO BUTTONS */
+
+form ul.radiolist li {
+ list-style-type: none;
+}
+
+form ul.radiolist label {
+ float: none;
+ display: inline;
+}
+
+form ul.inline {
+ margin-left: 0;
+ padding: 0;
+}
+
+form ul.inline li {
+ float: left;
+ padding-right: 7px;
+}
+
+/* ALIGNED FIELDSETS */
+
+.aligned label {
+ display: block;
+ padding: 3px 10px 0 0;
+ float: left;
+ width: 8em;
+}
+
+.aligned ul label {
+ display: inline;
+ float: none;
+ width: auto;
+}
+
+.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField {
+ width: 350px;
+}
+
+form .aligned p, form .aligned ul {
+ margin-left: 7em;
+ padding-left: 30px;
+}
+
+form .aligned table p {
+ margin-left: 0;
+ padding-left: 0;
+}
+
+form .aligned p.help {
+ padding-left: 38px;
+}
+
+.aligned .vCheckboxLabel {
+ float: none !important;
+ display: inline;
+ padding-left: 4px;
+}
+
+.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField {
+ width: 610px;
+}
+
+.checkbox-row p.help {
+ margin-left: 0;
+ padding-left: 0 !important;
+}
+
+fieldset .field-box {
+ float: left;
+ margin-right: 20px;
+}
+
+/* WIDE FIELDSETS */
+
+.wide label {
+ width: 15em !important;
+}
+
+form .wide p {
+ margin-left: 15em;
+}
+
+form .wide p.help {
+ padding-left: 38px;
+}
+
+.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField {
+ width: 450px;
+}
+
+/* COLLAPSED FIELDSETS */
+
+fieldset.collapsed * {
+ display: none;
+}
+
+fieldset.collapsed h2, fieldset.collapsed {
+ display: block !important;
+}
+
+fieldset.collapsed h2 {
+ background-image: url(../img/nav-bg.gif);
+ background-position: bottom left;
+ color: #999;
+}
+
+fieldset.collapsed .collapse-toggle {
+ background: transparent;
+ display: inline !important;
+}
+
+/* MONOSPACE TEXTAREAS */
+
+fieldset.monospace textarea {
+ font-family: "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace;
+}
+
+/* SUBMIT ROW */
+
+.submit-row {
+ padding: 5px 7px;
+ text-align: right;
+ background: white url(../img/nav-bg.gif) 0 100% repeat-x;
+ border: 1px solid #ccc;
+ margin: 5px 0;
+ overflow: hidden;
+}
+
+body.popup .submit-row {
+ overflow: auto;
+}
+
+.submit-row input {
+ margin: 0 0 0 5px;
+}
+
+.submit-row p {
+ margin: 0.3em;
+}
+
+.submit-row p.deletelink-box {
+ float: left;
+}
+
+.submit-row .deletelink {
+ background: url(../img/icon_deletelink.gif) 0 50% no-repeat;
+ padding-left: 14px;
+}
+
+/* CUSTOM FORM FIELDS */
+
+.vSelectMultipleField {
+ vertical-align: top !important;
+}
+
+.vCheckboxField {
+ border: none;
+}
+
+.vDateField, .vTimeField {
+ margin-right: 2px;
+}
+
+.vURLField {
+ width: 30em;
+}
+
+.vLargeTextField, .vXMLLargeTextField {
+ width: 48em;
+}
+
+.flatpages-flatpage #id_content {
+ height: 40.2em;
+}
+
+.module table .vPositiveSmallIntegerField {
+ width: 2.2em;
+}
+
+.vTextField {
+ width: 20em;
+}
+
+.vIntegerField {
+ width: 5em;
+}
+
+.vForeignKeyRawIdAdminField {
+ width: 5em;
+}
+
+/* INLINES */
+
+.inline-group {
+ padding: 0;
+ border: 1px solid #ccc;
+ margin: 10px 0;
+}
+
+.inline-group .aligned label {
+ width: 8em;
+}
+
+.inline-related {
+ position: relative;
+}
+
+.inline-related h3 {
+ margin: 0;
+ color: #666;
+ padding: 3px 5px;
+ font-size: 11px;
+ background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
+ border-bottom: 1px solid #ddd;
+}
+
+.inline-related h3 span.delete {
+ float: right;
+}
+
+.inline-related h3 span.delete label {
+ margin-left: 2px;
+ font-size: 11px;
+}
+
+.inline-related fieldset {
+ margin: 0;
+ background: #fff;
+ border: none;
+}
+
+.inline-related fieldset.module h3 {
+ margin: 0;
+ padding: 2px 5px 3px 5px;
+ font-size: 11px;
+ text-align: left;
+ font-weight: bold;
+ background: #bcd;
+ color: #fff;
+}
+
+.inline-group .tabular fieldset.module {
+ border: none;
+ border-bottom: 1px solid #ddd;
+}
+
+.inline-related.tabular fieldset.module table {
+ width: 100%;
+}
+
+.last-related fieldset {
+ border: none;
+}
+
+.inline-group .tabular tr.has_original td {
+ padding-top: 2em;
+}
+
+.inline-group .tabular tr td.original {
+ padding: 2px 0 0 0;
+ width: 0;
+ _position: relative;
+}
+
+.inline-group .tabular th.original {
+ width: 0px;
+ padding: 0;
+}
+
+.inline-group .tabular td.original p {
+ position: absolute;
+ left: 0;
+ height: 1.1em;
+ padding: 2px 7px;
+ overflow: hidden;
+ font-size: 9px;
+ font-weight: bold;
+ color: #666;
+ _width: 700px;
+}
+
+.inline-group ul.tools {
+ padding: 0;
+ margin: 0;
+ list-style: none;
+}
+
+.inline-group ul.tools li {
+ display: inline;
+ padding: 0 5px;
+}
+
+.inline-group div.add-row,
+.inline-group .tabular tr.add-row td {
+ color: #666;
+ padding: 3px 5px;
+ border-bottom: 1px solid #ddd;
+ background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
+}
+
+.inline-group .tabular tr.add-row td {
+ padding: 4px 5px 3px;
+ border-bottom: none;
+}
+
+.inline-group ul.tools a.add,
+.inline-group div.add-row a,
+.inline-group .tabular tr.add-row td a {
+ background: url(../img/icon_addlink.gif) 0 50% no-repeat;
+ padding-left: 14px;
+ font-size: 11px;
+ outline: 0; /* Remove dotted border around link */
+}
+
+.empty-form {
+ display: none;
+}
View
63 src/static/admin/css/ie.css
@@ -0,0 +1,63 @@
+/* IE 6 & 7 */
+
+/* Proper fixed width for dashboard in IE6 */
+
+.dashboard #content {
+ *width: 768px;
+}
+
+.dashboard #content-main {
+ *width: 535px;
+}
+
+/* IE 6 ONLY */
+
+/* Keep header from flowing off the page */
+
+#container {
+ _position: static;
+}
+
+/* Put the right sidebars back on the page */
+
+.colMS #content-related {
+ _margin-right: 0;
+ _margin-left: 10px;
+ _position: static;
+}
+
+/* Put the left sidebars back on the page */
+
+.colSM #content-related {
+ _margin-right: 10px;
+ _margin-left: -115px;
+ _position: static;
+}
+
+.form-row {
+ _height: 1%;
+}
+
+/* Fix right margin for changelist filters in IE6 */
+
+#changelist-filter ul {
+ _margin-right: -10px;
+}
+
+/* IE ignores min-height, but treats height as if it were min-height */
+
+.change-list .filtered {
+ _height: 400px;
+}
+
+/* IE doesn't know alpha transparency in PNGs */
+
+.inline-deletelink {
+ background: transparent url(../img/inline-delete-8bit.png) no-repeat;
+}
+
+/* IE7 doesn't support inline-block */
+.change-list ul.toplinks li {
+ zoom: 1;
+ *display: inline;
+}
View
57 src/static/admin/css/login.css
@@ -0,0 +1,57 @@
+/* LOGIN FORM */
+
+body.login {
+ background: #eee;
+}
+
+.login #container {
+ background: white;
+ border: 1px solid #ccc;
+ width: 28em;
+ min-width: 300px;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 100px;
+}
+
+.login #content-main {
+ width: 100%;
+}
+
+.login form {
+ margin-top: 1em;
+}
+
+.login .form-row {
+ padding: 4px 0;
+ float: left;
+ width: 100%;
+}
+
+.login .form-row label {
+ float: left;
+ width: 9em;
+ padding-right: 0.5em;
+ line-height: 2em;
+ text-align: right;
+ font-size: 1em;
+ color: #333;
+}
+
+.login .form-row #id_username, .login .form-row #id_password {
+ width: 14em;
+}
+
+.login span.help {
+ font-size: 10px;
+ display: block;
+}
+
+.login .submit-row {
+ clear: both;
+ padding: 1em 0 0 9.4em;
+}
+
+.login .password-reset-link {
+ text-align: center;
+}
View
245 src/static/admin/css/rtl.css
<
@@ -0,0 +1,245 @@
+body {
+ direction: rtl;
+}
+
+/* LOGIN */
+
+.login .form-row {
+ float: right;
+}
+
+.login .form-row label {
+ float: right;
+ padding-left: 0.5em;
+ padding-right: 0;
+ text-align: left;
+}
+
+.login .submit-row {
+ clear: both;
+ padding: 1em 9.4em 0 0;
+}
+
+/* GLOBAL */
+
+th {
+ text-align: right;
+}
+
+.module h2, .module caption {
+ text-align: right;
+}
+
+.addlink, .changelink {
+ padding-left: 0px;
+ padding-right: 12px;
+ background-position: 100% 0.2em;
+}
+
+.deletelink {
+ padding-left: 0px;
+ padding-right: 12px;
+ background-position: 100% 0.25em;
+}
+
+.object-tools {
+ float: left;
+}
+
+thead th:first-child,
+tfoot td:first-child {
+ border-left: 1px solid #ddd !important;
+}
+
+/* LAYOUT */
+
+#user-tools {
+ right: auto;
+ left: 0;