Fixed #16050 -- BACKWARDS-INCOMPATIBLE CHANGE: Moved static files of the admin to conventional file system location.
This also removes the need for ADMIN_MEDIA_PREFIX and replaces it with the convention to find admin's static files at STATIC_URL + 'admin/'. Thanks to Jacob for the review and general help. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16487 bcc190cf-cafb-0310-a4f2-bffc1f526a37
|
@ -68,8 +68,11 @@ class BaseSettings(object):
|
||||||
"""
|
"""
|
||||||
def __setattr__(self, name, value):
|
def __setattr__(self, name, value):
|
||||||
if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'):
|
if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'):
|
||||||
warnings.warn('If set, %s must end with a slash' % name,
|
warnings.warn("If set, %s must end with a slash" % name,
|
||||||
DeprecationWarning)
|
DeprecationWarning)
|
||||||
|
elif name == "ADMIN_MEDIA_PREFIX":
|
||||||
|
warnings.warn("The ADMIN_MEDIA_PREFIX setting has been removed; "
|
||||||
|
"use STATIC_URL instead.", DeprecationWarning)
|
||||||
object.__setattr__(self, name, value)
|
object.__setattr__(self, name, value)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -593,8 +593,3 @@ STATICFILES_FINDERS = (
|
||||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||||
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
|
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
|
||||||
)
|
)
|
||||||
|
|
||||||
# URL prefix for admin media -- CSS, JavaScript and images.
|
|
||||||
# Make sure to use a trailing slash.
|
|
||||||
# Examples: "http://foo.com/static/admin/", "/static/admin/".
|
|
||||||
ADMIN_MEDIA_PREFIX = '/static/admin/'
|
|
||||||
|
|
|
@ -62,11 +62,6 @@ STATIC_ROOT = ''
|
||||||
# Example: "http://media.lawrence.com/static/"
|
# Example: "http://media.lawrence.com/static/"
|
||||||
STATIC_URL = '/static/'
|
STATIC_URL = '/static/'
|
||||||
|
|
||||||
# URL prefix for admin static files -- CSS, JavaScript and images.
|
|
||||||
# Make sure to use a trailing slash.
|
|
||||||
# Examples: "http://foo.com/static/admin/", "/static/admin/".
|
|
||||||
ADMIN_MEDIA_PREFIX = '/static/admin/'
|
|
||||||
|
|
||||||
# Additional locations of static files
|
# Additional locations of static files
|
||||||
STATICFILES_DIRS = (
|
STATICFILES_DIRS = (
|
||||||
# Put strings here, like "/home/html/static" or "C:/www/django/static".
|
# Put strings here, like "/home/html/static" or "C:/www/django/static".
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.conf import settings
|
|
||||||
from django.contrib.admin.util import (flatten_fieldsets, lookup_field,
|
from django.contrib.admin.util import (flatten_fieldsets, lookup_field,
|
||||||
display_for_field, label_for_field, help_text_for_field)
|
display_for_field, label_for_field, help_text_for_field)
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
@ -75,8 +74,8 @@ class Fieldset(object):
|
||||||
|
|
||||||
def _media(self):
|
def _media(self):
|
||||||
if 'collapse' in self.classes:
|
if 'collapse' in self.classes:
|
||||||
js = ['js/jquery.min.js', 'js/jquery.init.js', 'js/collapse.min.js']
|
js = ['jquery.min.js', 'jquery.init.js', 'collapse.min.js']
|
||||||
return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js])
|
return forms.Media(js=['admin/js/%s' % url for url in js])
|
||||||
return forms.Media()
|
return forms.Media()
|
||||||
media = property(_media)
|
media = property(_media)
|
||||||
|
|
||||||
|
|
|
@ -349,19 +349,19 @@ class ModelAdmin(BaseModelAdmin):
|
||||||
urls = property(urls)
|
urls = property(urls)
|
||||||
|
|
||||||
def _media(self):
|
def _media(self):
|
||||||
from django.conf import settings
|
js = [
|
||||||
|
'core.js',
|
||||||
js = ['js/core.js', 'js/admin/RelatedObjectLookups.js',
|
'admin/RelatedObjectLookups.js',
|
||||||
'js/jquery.min.js', 'js/jquery.init.js']
|
'jquery.min.js',
|
||||||
|
'jquery.init.js'
|
||||||
|
]
|
||||||
if self.actions is not None:
|
if self.actions is not None:
|
||||||
js.extend(['js/actions.min.js'])
|
js.append('actions.min.js')
|
||||||
if self.prepopulated_fields:
|
if self.prepopulated_fields:
|
||||||
js.append('js/urlify.js')
|
js.extend(['urlify.js', 'prepopulate.min.js'])
|
||||||
js.append('js/prepopulate.min.js')
|
|
||||||
if self.opts.get_ordered_objects():
|
if self.opts.get_ordered_objects():
|
||||||
js.extend(['js/getElementsBySelector.js', 'js/dom-drag.js' , 'js/admin/ordering.js'])
|
js.extend(['getElementsBySelector.js', 'dom-drag.js' , 'admin/ordering.js'])
|
||||||
|
return forms.Media(js=['admin/js/%s' % url for url in js])
|
||||||
return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js])
|
|
||||||
media = property(_media)
|
media = property(_media)
|
||||||
|
|
||||||
def has_add_permission(self, request):
|
def has_add_permission(self, request):
|
||||||
|
@ -1321,14 +1321,12 @@ class InlineModelAdmin(BaseModelAdmin):
|
||||||
self.verbose_name_plural = self.model._meta.verbose_name_plural
|
self.verbose_name_plural = self.model._meta.verbose_name_plural
|
||||||
|
|
||||||
def _media(self):
|
def _media(self):
|
||||||
from django.conf import settings
|
js = ['jquery.min.js', 'jquery.init.js', 'inlines.min.js']
|
||||||
js = ['js/jquery.min.js', 'js/jquery.init.js', 'js/inlines.min.js']
|
|
||||||
if self.prepopulated_fields:
|
if self.prepopulated_fields:
|
||||||
js.append('js/urlify.js')
|
js.extend(['urlify.js, prepopulate.min.js'])
|
||||||
js.append('js/prepopulate.min.js')
|
|
||||||
if self.filter_vertical or self.filter_horizontal:
|
if self.filter_vertical or self.filter_horizontal:
|
||||||
js.extend(['js/SelectBox.js' , 'js/SelectFilter2.js'])
|
js.extend(['SelectBox.js', 'SelectFilter2.js'])
|
||||||
return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js])
|
return forms.Media(js=['admin/js/%s' % url for url in js])
|
||||||
media = property(_media)
|
media = property(_media)
|
||||||
|
|
||||||
def get_formset(self, request, obj=None, **kwargs):
|
def get_formset(self, request, obj=None, **kwargs):
|
||||||
|
|
|
@ -259,7 +259,7 @@ tfoot td {
|
||||||
color: #666;
|
color: #666;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
|
||||||
border-left: 1px solid #ddd;
|
border-left: 1px solid #ddd;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
@ -311,7 +311,7 @@ thead th a:link, thead th a:visited {
|
||||||
}
|
}
|
||||||
|
|
||||||
thead th.sorted {
|
thead th.sorted {
|
||||||
background: #c5c5c5 url(../img/admin/nav-bg-selected.gif) top left repeat-x;
|
background: #c5c5c5 url(../img/nav-bg-selected.gif) top left repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
table thead th.sorted a {
|
table thead th.sorted a {
|
||||||
|
@ -319,11 +319,11 @@ table thead th.sorted a {
|
||||||
}
|
}
|
||||||
|
|
||||||
table thead th.ascending a {
|
table thead th.ascending a {
|
||||||
background: url(../img/admin/arrow-up.gif) right .4em no-repeat;
|
background: url(../img/arrow-up.gif) right .4em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
table thead th.descending a {
|
table thead th.descending a {
|
||||||
background: url(../img/admin/arrow-down.gif) right .4em no-repeat;
|
background: url(../img/arrow-down.gif) right .4em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
table thead th.sorted a span.text {
|
table thead th.sorted a span.text {
|
||||||
|
@ -368,7 +368,7 @@ table thead th.sorted a span.clear {
|
||||||
|
|
||||||
#sorting-popup-div .cancel {
|
#sorting-popup-div .cancel {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) 0 50% repeat-x;
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
@ -386,7 +386,7 @@ table.orderable tbody tr td:hover {
|
||||||
|
|
||||||
table.orderable tbody tr td:first-child {
|
table.orderable tbody tr td:first-child {
|
||||||
padding-left: 14px;
|
padding-left: 14px;
|
||||||
background-image: url(../img/admin/nav-bg-grabber.gif);
|
background-image: url(../img/nav-bg-grabber.gif);
|
||||||
background-repeat: repeat-y;
|
background-repeat: repeat-y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -416,7 +416,7 @@ input[type=text], input[type=password], textarea, select, .vTextField {
|
||||||
/* FORM BUTTONS */
|
/* FORM BUTTONS */
|
||||||
|
|
||||||
.button, input[type=submit], input[type=button], .submit-row input {
|
.button, input[type=submit], input[type=button], .submit-row input {
|
||||||
background: white url(../img/admin/nav-bg.gif) bottom repeat-x;
|
background: white url(../img/nav-bg.gif) bottom repeat-x;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
color: black;
|
color: black;
|
||||||
border: 1px solid #bbb;
|
border: 1px solid #bbb;
|
||||||
|
@ -424,31 +424,31 @@ input[type=text], input[type=password], textarea, select, .vTextField {
|
||||||
}
|
}
|
||||||
|
|
||||||
.button:active, input[type=submit]:active, input[type=button]:active {
|
.button:active, input[type=submit]:active, input[type=button]:active {
|
||||||
background-image: url(../img/admin/nav-bg-reverse.gif);
|
background-image: url(../img/nav-bg-reverse.gif);
|
||||||
background-position: top;
|
background-position: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
|
.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
|
||||||
background-image: url(../img/admin/nav-bg.gif);
|
background-image: url(../img/nav-bg.gif);
|
||||||
background-position: bottom;
|
background-position: bottom;
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button.default, input[type=submit].default, .submit-row input.default {
|
.button.default, input[type=submit].default, .submit-row input.default {
|
||||||
border: 2px solid #5b80b2;
|
border: 2px solid #5b80b2;
|
||||||
background: #7CA0C7 url(../img/admin/default-bg.gif) bottom repeat-x;
|
background: #7CA0C7 url(../img/default-bg.gif) bottom repeat-x;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: white;
|
color: white;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button.default:active, input[type=submit].default:active {
|
.button.default:active, input[type=submit].default:active {
|
||||||
background-image: url(../img/admin/default-bg-reverse.gif);
|
background-image: url(../img/default-bg-reverse.gif);
|
||||||
background-position: top;
|
background-position: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button[disabled].default, input[type=submit][disabled].default, input[type=button][disabled].default {
|
.button[disabled].default, input[type=submit][disabled].default, input[type=button][disabled].default {
|
||||||
background-image: url(../img/admin/default-bg.gif);
|
background-image: url(../img/default-bg.gif);
|
||||||
background-position: bottom;
|
background-position: bottom;
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
}
|
}
|
||||||
|
@ -485,7 +485,7 @@ input[type=text], input[type=password], textarea, select, .vTextField {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background: #7CA0C7 url(../img/admin/default-bg.gif) top left repeat-x;
|
background: #7CA0C7 url(../img/default-bg.gif) top left repeat-x;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,15 +507,15 @@ ul.messagelist li {
|
||||||
margin: 0 0 3px 0;
|
margin: 0 0 3px 0;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
color: #666;
|
color: #666;
|
||||||
background: #ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat;
|
background: #ffc url(../img/icon_success.gif) 5px .3em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.messagelist li.warning{
|
ul.messagelist li.warning{
|
||||||
background-image: url(../img/admin/icon_alert.gif);
|
background-image: url(../img/icon_alert.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.messagelist li.error{
|
ul.messagelist li.error{
|
||||||
background-image: url(../img/admin/icon_error.gif);
|
background-image: url(../img/icon_error.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
.errornote {
|
.errornote {
|
||||||
|
@ -525,7 +525,7 @@ ul.messagelist li.error{
|
||||||
margin: 0 0 3px 0;
|
margin: 0 0 3px 0;
|
||||||
border: 1px solid red;
|
border: 1px solid red;
|
||||||
color: red;
|
color: red;
|
||||||
background: #ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat;
|
background: #ffc url(../img/icon_error.gif) 5px .3em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.errorlist {
|
ul.errorlist {
|
||||||
|
@ -540,7 +540,7 @@ ul.errorlist {
|
||||||
margin: 0 0 3px 0;
|
margin: 0 0 3px 0;
|
||||||
border: 1px solid red;
|
border: 1px solid red;
|
||||||
color: white;
|
color: white;
|
||||||
background: red url(../img/admin/icon_alert.gif) 5px .3em no-repeat;
|
background: red url(../img/icon_alert.gif) 5px .3em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.errorlist li a {
|
.errorlist li a {
|
||||||
|
@ -576,7 +576,7 @@ div.system-message p.system-message-title {
|
||||||
padding: 4px 5px 4px 25px;
|
padding: 4px 5px 4px 25px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: red;
|
color: red;
|
||||||
background: #ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat;
|
background: #ffc url(../img/icon_error.gif) 5px .3em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.description {
|
.description {
|
||||||
|
@ -587,7 +587,7 @@ div.system-message p.system-message-title {
|
||||||
/* BREADCRUMBS */
|
/* BREADCRUMBS */
|
||||||
|
|
||||||
div.breadcrumbs {
|
div.breadcrumbs {
|
||||||
background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x;
|
background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x;
|
||||||
padding: 2px 8px 3px 8px;
|
padding: 2px 8px 3px 8px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: #999;
|
color: #999;
|
||||||
|
@ -600,17 +600,17 @@ div.breadcrumbs {
|
||||||
|
|
||||||
.addlink {
|
.addlink {
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
background: url(../img/admin/icon_addlink.gif) 0 .2em no-repeat;
|
background: url(../img/icon_addlink.gif) 0 .2em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.changelink {
|
.changelink {
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
background: url(../img/admin/icon_changelink.gif) 0 .2em no-repeat;
|
background: url(../img/icon_changelink.gif) 0 .2em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.deletelink {
|
.deletelink {
|
||||||
padding-left: 12px;
|
padding-left: 12px;
|
||||||
background: url(../img/admin/icon_deletelink.gif) 0 .25em no-repeat;
|
background: url(../img/icon_deletelink.gif) 0 .25em no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.deletelink:link, a.deletelink:visited {
|
a.deletelink:link, a.deletelink:visited {
|
||||||
|
@ -645,14 +645,14 @@ a.deletelink:hover {
|
||||||
.object-tools li {
|
.object-tools li {
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: left;
|
||||||
background: url(../img/admin/tool-left.gif) 0 0 no-repeat;
|
background: url(../img/tool-left.gif) 0 0 no-repeat;
|
||||||
padding: 0 0 0 8px;
|
padding: 0 0 0 8px;
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools li:hover {
|
.object-tools li:hover {
|
||||||
background: url(../img/admin/tool-left_over.gif) 0 0 no-repeat;
|
background: url(../img/tool-left_over.gif) 0 0 no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools a:link, .object-tools a:visited {
|
.object-tools a:link, .object-tools a:visited {
|
||||||
|
@ -661,29 +661,29 @@ a.deletelink:hover {
|
||||||
color: white;
|
color: white;
|
||||||
padding: .1em 14px .1em 8px;
|
padding: .1em 14px .1em 8px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
background: #999 url(../img/admin/tool-right.gif) 100% 0 no-repeat;
|
background: #999 url(../img/tool-right.gif) 100% 0 no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools a:hover, .object-tools li:hover a {
|
.object-tools a:hover, .object-tools li:hover a {
|
||||||
background: #5b80b2 url(../img/admin/tool-right_over.gif) 100% 0 no-repeat;
|
background: #5b80b2 url(../img/tool-right_over.gif) 100% 0 no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools a.viewsitelink, .object-tools a.golink {
|
.object-tools a.viewsitelink, .object-tools a.golink {
|
||||||
background: #999 url(../img/admin/tooltag-arrowright.gif) top right no-repeat;
|
background: #999 url(../img/tooltag-arrowright.gif) top right no-repeat;
|
||||||
padding-right: 28px;
|
padding-right: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools a.viewsitelink:hover, .object-tools a.golink:hover {
|
.object-tools a.viewsitelink:hover, .object-tools a.golink:hover {
|
||||||
background: #5b80b2 url(../img/admin/tooltag-arrowright_over.gif) top right no-repeat;
|
background: #5b80b2 url(../img/tooltag-arrowright_over.gif) top right no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools a.addlink {
|
.object-tools a.addlink {
|
||||||
background: #999 url(../img/admin/tooltag-add.gif) top right no-repeat;
|
background: #999 url(../img/tooltag-add.gif) top right no-repeat;
|
||||||
padding-right: 28px;
|
padding-right: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.object-tools a.addlink:hover {
|
.object-tools a.addlink:hover {
|
||||||
background: #5b80b2 url(../img/admin/tooltag-add_over.gif) top right no-repeat;
|
background: #5b80b2 url(../img/tooltag-add_over.gif) top right no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* OBJECT HISTORY */
|
/* OBJECT HISTORY */
|
||||||
|
@ -818,7 +818,7 @@ table#change-history tbody th {
|
||||||
}
|
}
|
||||||
|
|
||||||
#content-related .module h2 {
|
#content-related .module h2 {
|
||||||
background: #eee url(../img/admin/nav-bg.gif) bottom left repeat-x;
|
background: #eee url(../img/nav-bg.gif) bottom left repeat-x;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.change-list .filtered {
|
.change-list .filtered {
|
||||||
background: white url(../img/admin/changelist-bg.gif) top right repeat-y !important;
|
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 {
|
.change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull {
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
color: #666;
|
color: #666;
|
||||||
border-top: 1px solid #eee;
|
border-top: 1px solid #eee;
|
||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
background: white url(../img/admin/nav-bg.gif) 0 180% repeat-x;
|
background: white url(../img/nav-bg.gif) 0 180% repeat-x;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
#changelist #toolbar {
|
#changelist #toolbar {
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@
|
||||||
|
|
||||||
.change-list ul.toplinks {
|
.change-list ul.toplinks {
|
||||||
display: block;
|
display: block;
|
||||||
background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x;
|
background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x;
|
||||||
border-top: 1px solid white;
|
border-top: 1px solid white;
|
||||||
float: left;
|
float: left;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
|
@ -246,7 +246,7 @@
|
||||||
padding: 3px;
|
padding: 3px;
|
||||||
border-top: 1px solid #fff;
|
border-top: 1px solid #fff;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
background: white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x;
|
background: white url(../img/nav-bg-reverse.gif) 0 -10px repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
#changelist .actions.selected {
|
#changelist .actions.selected {
|
|
@ -140,7 +140,7 @@ fieldset.collapsed h2, fieldset.collapsed {
|
||||||
}
|
}
|
||||||
|
|
||||||
fieldset.collapsed h2 {
|
fieldset.collapsed h2 {
|
||||||
background-image: url(../img/admin/nav-bg.gif);
|
background-image: url(../img/nav-bg.gif);
|
||||||
background-position: bottom left;
|
background-position: bottom left;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
|
@ -161,7 +161,7 @@ fieldset.monospace textarea {
|
||||||
.submit-row {
|
.submit-row {
|
||||||
padding: 5px 7px;
|
padding: 5px 7px;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
background: white url(../img/admin/nav-bg.gif) 0 100% repeat-x;
|
background: white url(../img/nav-bg.gif) 0 100% repeat-x;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
margin: 5px 0;
|
margin: 5px 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -184,7 +184,7 @@ body.popup .submit-row {
|
||||||
}
|
}
|
||||||
|
|
||||||
.submit-row .deletelink {
|
.submit-row .deletelink {
|
||||||
background: url(../img/admin/icon_deletelink.gif) 0 50% no-repeat;
|
background: url(../img/icon_deletelink.gif) 0 50% no-repeat;
|
||||||
padding-left: 14px;
|
padding-left: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,7 +251,7 @@ body.popup .submit-row {
|
||||||
color: #666;
|
color: #666;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ body.popup .submit-row {
|
||||||
color: #666;
|
color: #666;
|
||||||
padding: 3px 5px;
|
padding: 3px 5px;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inline-group .tabular tr.add-row td {
|
.inline-group .tabular tr.add-row td {
|
||||||
|
@ -347,7 +347,7 @@ body.popup .submit-row {
|
||||||
.inline-group ul.tools a.add,
|
.inline-group ul.tools a.add,
|
||||||
.inline-group div.add-row a,
|
.inline-group div.add-row a,
|
||||||
.inline-group .tabular tr.add-row td a {
|
.inline-group .tabular tr.add-row td a {
|
||||||
background: url(../img/admin/icon_addlink.gif) 0 50% no-repeat;
|
background: url(../img/icon_addlink.gif) 0 50% no-repeat;
|
||||||
padding-left: 14px;
|
padding-left: 14px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
outline: 0; /* Remove dotted border around link */
|
outline: 0; /* Remove dotted border around link */
|
|
@ -53,5 +53,5 @@
|
||||||
/* IE doesn't know alpha transparency in PNGs */
|
/* IE doesn't know alpha transparency in PNGs */
|
||||||
|
|
||||||
.inline-deletelink {
|
.inline-deletelink {
|
||||||
background: transparent url(../img/admin/inline-delete-8bit.png) no-repeat;
|
background: transparent url(../img/inline-delete-8bit.png) no-repeat;
|
||||||
}
|
}
|
|
@ -113,7 +113,7 @@ table thead th.sorted a span.sortpos {
|
||||||
}
|
}
|
||||||
|
|
||||||
.change-list .filtered {
|
.change-list .filtered {
|
||||||
background: white url(../img/admin/changelist-bg_rtl.gif) top left repeat-y !important;
|
background: white url(../img/changelist-bg_rtl.gif) top left repeat-y !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.change-list .filtered table {
|
.change-list .filtered table {
|
||||||
|
@ -170,7 +170,7 @@ table thead th.sorted a span.sortpos {
|
||||||
}
|
}
|
||||||
|
|
||||||
.submit-row .deletelink {
|
.submit-row .deletelink {
|
||||||
background: url(../img/admin/icon_deletelink.gif) 0 50% no-repeat;
|
background: url(../img/icon_deletelink.gif) 0 50% no-repeat;
|
||||||
padding-right: 14px;
|
padding-right: 14px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.selector .selector-available h2 {
|
.selector .selector-available h2 {
|
||||||
background: white url(../img/admin/nav-bg.gif) bottom left repeat-x;
|
background: white url(../img/nav-bg.gif) bottom left repeat-x;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
float: left;
|
float: left;
|
||||||
width: 22px;
|
width: 22px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
background: url(../img/admin/chooser-bg.gif) top center no-repeat;
|
background: url(../img/chooser-bg.gif) top center no-repeat;
|
||||||
margin: 8em 3px 0 3px;
|
margin: 8em 3px 0 3px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
@ -74,12 +74,12 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.selector-add {
|
.selector-add {
|
||||||
background: url(../img/admin/selector-add.gif) top center no-repeat;
|
background: url(../img/selector-add.gif) top center no-repeat;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.selector-remove {
|
.selector-remove {
|
||||||
background: url(../img/admin/selector-remove.gif) top center no-repeat;
|
background: url(../img/selector-remove.gif) top center no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.selector-chooseall, a.selector-clearall {
|
a.selector-chooseall, a.selector-clearall {
|
||||||
|
@ -99,11 +99,11 @@ a.selector-chooseall:hover, a.selector-clearall:hover {
|
||||||
|
|
||||||
a.selector-chooseall {
|
a.selector-chooseall {
|
||||||
width: 7em;
|
width: 7em;
|
||||||
background: url(../img/admin/selector-addall.gif) left center no-repeat;
|
background: url(../img/selector-addall.gif) left center no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.selector-clearall {
|
a.selector-clearall {
|
||||||
background: url(../img/admin/selector-removeall.gif) left center no-repeat;
|
background: url(../img/selector-removeall.gif) left center no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ a.selector-clearall {
|
||||||
height: 22px;
|
height: 22px;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
margin: 0 0 3px 40%;
|
margin: 0 0 3px 40%;
|
||||||
background: url(../img/admin/chooser_stacked-bg.gif) top center no-repeat;
|
background: url(../img/chooser_stacked-bg.gif) top center no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.stacked .selector-chooser li {
|
.stacked .selector-chooser li {
|
||||||
|
@ -148,11 +148,11 @@ a.selector-clearall {
|
||||||
}
|
}
|
||||||
|
|
||||||
.stacked .selector-add {
|
.stacked .selector-add {
|
||||||
background-image: url(../img/admin/selector_stacked-add.gif);
|
background-image: url(../img/selector_stacked-add.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stacked .selector-remove {
|
.stacked .selector-remove {
|
||||||
background-image: url(../img/admin/selector_stacked-remove.gif);
|
background-image: url(../img/selector_stacked-remove.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ span.clearable-file-input label {
|
||||||
color: #666;
|
color: #666;
|
||||||
padding: 2px 3px;
|
padding: 2px 3px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) 0 50% repeat-x;
|
||||||
border-bottom: 1px solid #ddd;
|
border-bottom: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,7 +314,7 @@ span.clearable-file-input label {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
background: #C9DBED url(../img/admin/default-bg.gif) bottom left repeat-x;
|
background: #C9DBED url(../img/default-bg.gif) bottom left repeat-x;
|
||||||
padding: 1px 4px 2px 4px;
|
padding: 1px 4px 2px 4px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
@ -337,7 +337,7 @@ span.clearable-file-input label {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) 0 50% repeat-x;
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,7 +374,7 @@ ul.orderer li {
|
||||||
border-width: 0 1px 1px 0;
|
border-width: 0 1px 1px 0;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background: #e2e2e2 url(../img/admin/nav-bg-grabber.gif) repeat-y;
|
background: #e2e2e2 url(../img/nav-bg-grabber.gif) repeat-y;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.orderer li:hover {
|
ul.orderer li:hover {
|
||||||
|
@ -406,7 +406,7 @@ ul.orderer li.selected {
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.orderer li.deleted {
|
ul.orderer li.deleted {
|
||||||
background: #bbb url(../img/admin/deleted-overlay.gif);
|
background: #bbb url(../img/deleted-overlay.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.orderer li.deleted a:link, ul.orderer li.deleted a:visited {
|
ul.orderer li.deleted a:link, ul.orderer li.deleted a:visited {
|
||||||
|
@ -414,7 +414,7 @@ ul.orderer li.deleted a:link, ul.orderer li.deleted a:visited {
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.orderer li.deleted .inline-deletelink {
|
ul.orderer li.deleted .inline-deletelink {
|
||||||
background-image: url(../img/admin/inline-restore.png);
|
background-image: url(../img/inline-restore.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover {
|
ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover {
|
||||||
|
@ -426,7 +426,7 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover {
|
||||||
.inline-deletelink {
|
.inline-deletelink {
|
||||||
float: right;
|
float: right;
|
||||||
text-indent: -9999px;
|
text-indent: -9999px;
|
||||||
background: transparent url(../img/admin/inline-delete.png) no-repeat;
|
background: transparent url(../img/inline-delete.png) no-repeat;
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 15px;
|
height: 15px;
|
||||||
border: 0px none;
|
border: 0px none;
|
||||||
|
@ -465,11 +465,11 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
.editinline tr.deleted {
|
.editinline tr.deleted {
|
||||||
background: #ddd url(../img/admin/deleted-overlay.gif);
|
background: #ddd url(../img/deleted-overlay.gif);
|
||||||
}
|
}
|
||||||
|
|
||||||
.editinline tr.deleted .inline-deletelink {
|
.editinline tr.deleted .inline-deletelink {
|
||||||
background-image: url(../img/admin/inline-restore.png);
|
background-image: url(../img/inline-restore.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
.editinline tr.deleted td:hover {
|
.editinline tr.deleted td:hover {
|
||||||
|
@ -500,13 +500,13 @@ ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover {
|
||||||
.editinline-stacked .inline-splitter {
|
.editinline-stacked .inline-splitter {
|
||||||
float: left;
|
float: left;
|
||||||
width: 9px;
|
width: 9px;
|
||||||
background: #f8f8f8 url(../img/admin/inline-splitter-bg.gif) 50% 50% no-repeat;
|
background: #f8f8f8 url(../img/inline-splitter-bg.gif) 50% 50% no-repeat;
|
||||||
border-right: 1px solid #ccc;
|
border-right: 1px solid #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editinline-stacked .controls {
|
.editinline-stacked .controls {
|
||||||
clear: both;
|
clear: both;
|
||||||
background: #e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;
|
background: #e1e1e1 url(../img/nav-bg.gif) top left repeat-x;
|
||||||
padding: 3px 4px;
|
padding: 3px 4px;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
border-top: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
Before Width: | Height: | Size: 80 B After Width: | Height: | Size: 80 B |
Before Width: | Height: | Size: 838 B After Width: | Height: | Size: 838 B |
Before Width: | Height: | Size: 58 B After Width: | Height: | Size: 58 B |
Before Width: | Height: | Size: 75 B After Width: | Height: | Size: 75 B |
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 199 B |
Before Width: | Height: | Size: 212 B After Width: | Height: | Size: 212 B |
Before Width: | Height: | Size: 843 B After Width: | Height: | Size: 843 B |
Before Width: | Height: | Size: 844 B After Width: | Height: | Size: 844 B |
Before Width: | Height: | Size: 45 B After Width: | Height: | Size: 45 B |
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 711 B |
Before Width: | Height: | Size: 506 B After Width: | Height: | Size: 506 B |
Before Width: | Height: | Size: 176 B After Width: | Height: | Size: 176 B |
Before Width: | Height: | Size: 130 B After Width: | Height: | Size: 130 B |
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 299 B |
Before Width: | Height: | Size: 119 B After Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 145 B |
Before Width: | Height: | Size: 192 B After Width: | Height: | Size: 192 B |
Before Width: | Height: | Size: 119 B After Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 537 B After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 181 B After Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 319 B |
Before Width: | Height: | Size: 667 B After Width: | Height: | Size: 667 B |
Before Width: | Height: | Size: 341 B After Width: | Height: | Size: 341 B |
Before Width: | Height: | Size: 477 B After Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 781 B After Width: | Height: | Size: 781 B |
Before Width: | Height: | Size: 447 B After Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 623 B After Width: | Height: | Size: 623 B |
Before Width: | Height: | Size: 102 B After Width: | Height: | Size: 102 B |
Before Width: | Height: | Size: 116 B After Width: | Height: | Size: 116 B |
Before Width: | Height: | Size: 186 B After Width: | Height: | Size: 186 B |
Before Width: | Height: | Size: 265 B After Width: | Height: | Size: 265 B |
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B |
Before Width: | Height: | Size: 606 B After Width: | Height: | Size: 606 B |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 398 B After Width: | Height: | Size: 398 B |
Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 355 B |
Before Width: | Height: | Size: 552 B After Width: | Height: | Size: 552 B |
Before Width: | Height: | Size: 612 B After Width: | Height: | Size: 612 B |
Before Width: | Height: | Size: 401 B After Width: | Height: | Size: 401 B |
Before Width: | Height: | Size: 197 B After Width: | Height: | Size: 197 B |
Before Width: | Height: | Size: 203 B After Width: | Height: | Size: 203 B |
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
Before Width: | Height: | Size: 200 B After Width: | Height: | Size: 200 B |
Before Width: | Height: | Size: 932 B After Width: | Height: | Size: 932 B |
Before Width: | Height: | Size: 336 B After Width: | Height: | Size: 336 B |
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 351 B |
Before Width: | Height: | Size: 354 B After Width: | Height: | Size: 354 B |
|
@ -50,7 +50,7 @@ var SelectFilter = {
|
||||||
|
|
||||||
var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + "_input", 'style', 'width:16px;padding:2px');
|
var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + "_input", 'style', 'width:16px;padding:2px');
|
||||||
|
|
||||||
var search_selector_img = quickElement('img', search_filter_label, '', 'src', admin_media_prefix + 'img/admin/selector-search.gif');
|
var search_selector_img = quickElement('img', search_filter_label, '', 'src', admin_media_prefix + 'img/selector-search.gif');
|
||||||
search_selector_img.alt = gettext("Filter");
|
search_selector_img.alt = gettext("Filter");
|
||||||
|
|
||||||
filter_p.appendChild(document.createTextNode(' '));
|
filter_p.appendChild(document.createTextNode(' '));
|
||||||
|
@ -75,7 +75,7 @@ var SelectFilter = {
|
||||||
quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s'), [field_name]));
|
quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s'), [field_name]));
|
||||||
var selector_filter = quickElement('p', selector_chosen, gettext('Select your choice(s) and click '));
|
var selector_filter = quickElement('p', selector_chosen, gettext('Select your choice(s) and click '));
|
||||||
selector_filter.className = 'selector-filter';
|
selector_filter.className = 'selector-filter';
|
||||||
quickElement('img', selector_filter, '', 'src', admin_media_prefix + (is_stacked ? 'img/admin/selector_stacked-add.gif':'img/admin/selector-add.gif'), 'alt', 'Add');
|
quickElement('img', selector_filter, '', 'src', admin_media_prefix + (is_stacked ? 'img/selector_stacked-add.gif':'img/selector-add.gif'), 'alt', 'Add');
|
||||||
var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name'));
|
var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name'));
|
||||||
to_box.className = 'filtered';
|
to_box.className = 'filtered';
|
||||||
var clear_all = quickElement('a', selector_chosen, gettext('Clear all'), 'href', 'javascript: (function() { SelectBox.move_all("' + field_id + '_to", "' + field_id + '_from");})()');
|
var clear_all = quickElement('a', selector_chosen, gettext('Clear all'), 'href', 'javascript: (function() { SelectBox.move_all("' + field_id + '_to", "' + field_id + '_from");})()');
|
|
@ -50,7 +50,7 @@ var DateTimeShortcuts = {
|
||||||
var clock_link = document.createElement('a');
|
var clock_link = document.createElement('a');
|
||||||
clock_link.setAttribute('href', 'javascript:DateTimeShortcuts.openClock(' + num + ');');
|
clock_link.setAttribute('href', 'javascript:DateTimeShortcuts.openClock(' + num + ');');
|
||||||
clock_link.id = DateTimeShortcuts.clockLinkName + num;
|
clock_link.id = DateTimeShortcuts.clockLinkName + num;
|
||||||
quickElement('img', clock_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_clock.gif', 'alt', gettext('Clock'));
|
quickElement('img', clock_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/icon_clock.gif', 'alt', gettext('Clock'));
|
||||||
shortcuts_span.appendChild(document.createTextNode('\240'));
|
shortcuts_span.appendChild(document.createTextNode('\240'));
|
||||||
shortcuts_span.appendChild(now_link);
|
shortcuts_span.appendChild(now_link);
|
||||||
shortcuts_span.appendChild(document.createTextNode('\240|\240'));
|
shortcuts_span.appendChild(document.createTextNode('\240|\240'));
|
||||||
|
@ -138,7 +138,7 @@ var DateTimeShortcuts = {
|
||||||
var cal_link = document.createElement('a');
|
var cal_link = document.createElement('a');
|
||||||
cal_link.setAttribute('href', 'javascript:DateTimeShortcuts.openCalendar(' + num + ');');
|
cal_link.setAttribute('href', 'javascript:DateTimeShortcuts.openCalendar(' + num + ');');
|
||||||
cal_link.id = DateTimeShortcuts.calendarLinkName + num;
|
cal_link.id = DateTimeShortcuts.calendarLinkName + num;
|
||||||
quickElement('img', cal_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/admin/icon_calendar.gif', 'alt', gettext('Calendar'));
|
quickElement('img', cal_link, '', 'src', DateTimeShortcuts.admin_media_prefix + 'img/icon_calendar.gif', 'alt', gettext('Calendar'));
|
||||||
shortcuts_span.appendChild(document.createTextNode('\240'));
|
shortcuts_span.appendChild(document.createTextNode('\240'));
|
||||||
shortcuts_span.appendChild(today_link);
|
shortcuts_span.appendChild(today_link);
|
||||||
shortcuts_span.appendChild(document.createTextNode('\240|\240'));
|
shortcuts_span.appendChild(document.createTextNode('\240|\240'));
|
|
@ -1,11 +1,11 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
{% load i18n admin_modify adminmedia %}
|
{% load i18n static admin_modify %}
|
||||||
{% load url from future %}
|
{% load url from future %}
|
||||||
{% block extrahead %}{{ block.super }}
|
{% block extrahead %}{{ block.super }}
|
||||||
{% url 'admin:jsi18n' as jsi18nurl %}
|
{% url 'admin:jsi18n' as jsi18nurl %}
|
||||||
<script type="text/javascript" src="{{ jsi18nurl|default:"../../../../jsi18n/" }}"></script>
|
<script type="text/javascript" src="{{ jsi18nurl|default:"../../../../jsi18n/" }}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %}
|
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %}
|
||||||
{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %}
|
{% block bodyclass %}{{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %}
|
||||||
{% block breadcrumbs %}{% if not is_popup %}
|
{% block breadcrumbs %}{% if not is_popup %}
|
||||||
<div class="breadcrumbs">
|
<div class="breadcrumbs">
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{% load url from future %}<!DOCTYPE html>
|
{% load static %}{% load url from future %}<!DOCTYPE html>
|
||||||
<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
|
<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
|
||||||
<head>
|
<head>
|
||||||
<title>{% block title %}{% endblock %}</title>
|
<title>{% block title %}{% endblock %}</title>
|
||||||
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}" />
|
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" />
|
||||||
{% block extrastyle %}{% endblock %}
|
{% block extrastyle %}{% endblock %}
|
||||||
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% load adminmedia %}{% admin_media_prefix %}css/ie.css{% endblock %}" /><![endif]-->
|
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% static "admin/css/ie.css" %}{% endblock %}" /><![endif]-->
|
||||||
{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% admin_media_prefix %}css/rtl.css{% endblock %}" />{% endif %}
|
{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}" />{% endif %}
|
||||||
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";</script>
|
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin/" %}{% endfilter %}";</script>
|
||||||
{% block extrahead %}{% endblock %}
|
{% block extrahead %}{% endblock %}
|
||||||
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %}
|
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
{% load i18n admin_modify adminmedia %}
|
{% load i18n static admin_modify %}
|
||||||
{% load url from future %}
|
{% load url from future %}
|
||||||
|
|
||||||
{% block extrahead %}{{ block.super }}
|
{% block extrahead %}{{ block.super }}
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
{{ media }}
|
{{ media }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %}
|
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %}
|
||||||
|
|
||||||
{% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif %}{% endblock %}
|
{% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif %}{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
{% load adminmedia admin_list i18n %}
|
{% load i18n static admin_list %}
|
||||||
{% load url from future %}
|
{% load url from future %}
|
||||||
{% block extrastyle %}
|
{% block extrastyle %}
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/changelists.css" />
|
<link rel="stylesheet" type="text/css" href="{% static "admin/css/changelists.css" %}" />
|
||||||
{% if cl.formset %}
|
{% if cl.formset %}
|
||||||
<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />
|
<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if cl.formset or action_form %}
|
{% if cl.formset or action_form %}
|
||||||
{% url 'admin:jsi18n' as jsi18nurl %}
|
{% url 'admin:jsi18n' as jsi18nurl %}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{% load adminmedia %}
|
{% load i18n static %}
|
||||||
{% load i18n %}
|
|
||||||
{% if result_hidden_fields %}
|
{% if result_hidden_fields %}
|
||||||
<div class="hiddenfields">{# DIV for HTML validation #}
|
<div class="hiddenfields">{# DIV for HTML validation #}
|
||||||
{% for item in result_hidden_fields %}{{ item }}{% endfor %}
|
{% for item in result_hidden_fields %}{{ item }}{% endfor %}
|
||||||
|
@ -16,7 +15,7 @@
|
||||||
<span class="text">{{ header.text|capfirst }}</span>
|
<span class="text">{{ header.text|capfirst }}</span>
|
||||||
{% if header.sortable %}
|
{% if header.sortable %}
|
||||||
{% if header.sort_pos > 0 %}<span class="sortpos">
|
{% if header.sort_pos > 0 %}<span class="sortpos">
|
||||||
{% if header.sort_pos == 1 %}<img id="primary-sort-icon" src="{% admin_media_prefix %}img/admin/icon_cog.gif" alt="" /> {% endif %}
|
{% if header.sort_pos == 1 %}<img id="primary-sort-icon" src="{% static "admin/img/icon_cog.gif" %}" alt="" /> {% endif %}
|
||||||
{{ header.sort_pos }}</span>
|
{{ header.sort_pos }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<span class="clear"></span></a>
|
<span class="clear"></span></a>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{% load i18n adminmedia %}
|
{% load i18n static %}
|
||||||
<div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group">
|
<div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group">
|
||||||
<h2>{{ inline_admin_formset.opts.verbose_name_plural|title }}</h2>
|
<h2>{{ inline_admin_formset.opts.verbose_name_plural|title }}</h2>
|
||||||
{{ inline_admin_formset.formset.management_form }}
|
{{ inline_admin_formset.formset.management_form }}
|
||||||
|
@ -40,11 +40,11 @@
|
||||||
if (typeof SelectFilter != "undefined"){
|
if (typeof SelectFilter != "undefined"){
|
||||||
$(".selectfilter").each(function(index, value){
|
$(".selectfilter").each(function(index, value){
|
||||||
var namearr = value.name.split('-');
|
var namearr = value.name.split('-');
|
||||||
SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}");
|
SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% static "admin/" %}");
|
||||||
});
|
});
|
||||||
$(".selectfilterstacked").each(function(index, value){
|
$(".selectfilterstacked").each(function(index, value){
|
||||||
var namearr = value.name.split('-');
|
var namearr = value.name.split('-');
|
||||||
SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}");
|
SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% static "admin/" %}");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{% load i18n adminmedia admin_modify %}
|
{% load i18n static admin_modify %}
|
||||||
<div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group">
|
<div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group">
|
||||||
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
|
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
|
||||||
{{ inline_admin_formset.formset.management_form }}
|
{{ inline_admin_formset.formset.management_form }}
|
||||||
|
@ -86,11 +86,11 @@
|
||||||
if (typeof SelectFilter != "undefined"){
|
if (typeof SelectFilter != "undefined"){
|
||||||
$(".selectfilter").each(function(index, value){
|
$(".selectfilter").each(function(index, value){
|
||||||
var namearr = value.name.split('-');
|
var namearr = value.name.split('-');
|
||||||
SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}");
|
SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% static "admin/" %}");
|
||||||
});
|
});
|
||||||
$(".selectfilterstacked").each(function(index, value){
|
$(".selectfilterstacked").each(function(index, value){
|
||||||
var namearr = value.name.split('-');
|
var namearr = value.name.split('-');
|
||||||
SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}");
|
SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% static "admin/" %}");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
{% load i18n %}
|
{% load i18n static %}
|
||||||
|
|
||||||
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% load adminmedia %}{% admin_media_prefix %}css/dashboard.css" />{% endblock %}
|
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/dashboard.css" %}" />{% endblock %}
|
||||||
|
|
||||||
{% block coltype %}colMS{% endblock %}
|
{% block coltype %}colMS{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
{% load i18n %}
|
{% load i18n static %}
|
||||||
|
|
||||||
{% block extrastyle %}{% load adminmedia %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/login.css" />{% endblock %}
|
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/login.css" %}" />{% endblock %}
|
||||||
|
|
||||||
{% block bodyclass %}login{% endblock %}
|
{% block bodyclass %}login{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
{% load adminmedia %}
|
{% load i18n static %}
|
||||||
{% load i18n %}
|
|
||||||
{% if cl.search_fields %}
|
{% if cl.search_fields %}
|
||||||
<div id="toolbar"><form id="changelist-search" action="" method="get">
|
<div id="toolbar"><form id="changelist-search" action="" method="get">
|
||||||
<div><!-- DIV needed for valid HTML -->
|
<div><!-- DIV needed for valid HTML -->
|
||||||
<label for="searchbar"><img src="{% admin_media_prefix %}img/admin/icon_searchbox.png" alt="Search" /></label>
|
<label for="searchbar"><img src="{% static "admin/img/icon_searchbox.png" %}" alt="Search" /></label>
|
||||||
<input type="text" size="40" name="{{ search_var }}" value="{{ cl.query }}" id="searchbar" />
|
<input type="text" size="40" name="{{ search_var }}" value="{{ cl.query }}" id="searchbar" />
|
||||||
<input type="submit" value="{% trans 'Search' %}" />
|
<input type="submit" value="{% trans 'Search' %}" />
|
||||||
{% if show_result_count %}
|
{% if show_result_count %}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "admin/base_site.html" %}
|
{% extends "admin/base_site.html" %}
|
||||||
{% load i18n adminmedia %}
|
{% load i18n static %}
|
||||||
{% load url from future %}
|
{% load url from future %}
|
||||||
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% admin_media_prefix %}css/forms.css" />{% endblock %}
|
{% block extrastyle %}{{ block.super }}<link rel="stylesheet" type="text/css" href="{% static "admin/css/forms.css" %}" />{% endblock %}
|
||||||
{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %} {% trans 'Change password' %} / <a href="../logout/">{% trans 'Log out' %}</a>{% endblock %}
|
{% block userlinks %}{% url 'django-admindocs-docroot' as docsroot %}{% if docsroot %}<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / {% endif %} {% trans 'Change password' %} / <a href="../logout/">{% trans 'Log out' %}</a>{% endblock %}
|
||||||
{% block breadcrumbs %}<div class="breadcrumbs"><a href="../">{% trans 'Home' %}</a> › {% trans 'Password change' %}</div>{% endblock %}
|
{% block breadcrumbs %}<div class="breadcrumbs"><a href="../">{% trans 'Home' %}</a> › {% trans 'Password change' %}</div>{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,7 @@ from django.contrib.admin.views.main import (ALL_VAR, EMPTY_CHANGELIST_VALUE,
|
||||||
ORDER_VAR, ORDER_TYPE_VAR, PAGE_VAR, SEARCH_VAR)
|
ORDER_VAR, ORDER_TYPE_VAR, PAGE_VAR, SEARCH_VAR)
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.templatetags.static import static
|
||||||
from django.utils import formats
|
from django.utils import formats
|
||||||
from django.utils.datastructures import SortedDict
|
from django.utils.datastructures import SortedDict
|
||||||
from django.utils.html import escape, conditional_escape
|
from django.utils.html import escape, conditional_escape
|
||||||
|
@ -154,9 +155,9 @@ def result_headers(cl):
|
||||||
}
|
}
|
||||||
|
|
||||||
def _boolean_icon(field_val):
|
def _boolean_icon(field_val):
|
||||||
BOOLEAN_MAPPING = {True: 'yes', False: 'no', None: 'unknown'}
|
icon_url = static('admin/img/icon-%s.gif' %
|
||||||
return mark_safe(u'<img src="%simg/admin/icon-%s.gif" alt="%s" />' %
|
{True: 'yes', False: 'no', None: 'unknown'}[field_val])
|
||||||
(settings.ADMIN_MEDIA_PREFIX, BOOLEAN_MAPPING[field_val], field_val))
|
return mark_safe(u'<img src="%s" alt="%s" />' % (icon_url, field_val))
|
||||||
|
|
||||||
def items_for_result(cl, result, form):
|
def items_for_result(cl, result, form):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import warnings
|
||||||
from django.template import Library
|
from django.template import Library
|
||||||
from django.templatetags.static import PrefixNode
|
from django.templatetags.static import PrefixNode
|
||||||
|
|
||||||
|
@ -8,4 +9,7 @@ def admin_media_prefix():
|
||||||
"""
|
"""
|
||||||
Returns the string contained in the setting ADMIN_MEDIA_PREFIX.
|
Returns the string contained in the setting ADMIN_MEDIA_PREFIX.
|
||||||
"""
|
"""
|
||||||
|
warnings.warn(
|
||||||
|
"The admin_media_prefix template tag is deprecated. "
|
||||||
|
"Use the static template tag instead.", PendingDeprecationWarning)
|
||||||
return PrefixNode.handle_simple("ADMIN_MEDIA_PREFIX")
|
return PrefixNode.handle_simple("ADMIN_MEDIA_PREFIX")
|
||||||
|
|
|
@ -4,15 +4,16 @@ Form Widget classes specific to the Django admin site.
|
||||||
|
|
||||||
import copy
|
import copy
|
||||||
from django import forms
|
from django import forms
|
||||||
|
from django.conf import settings
|
||||||
|
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||||
from django.forms.widgets import RadioFieldRenderer
|
from django.forms.widgets import RadioFieldRenderer
|
||||||
from django.forms.util import flatatt
|
from django.forms.util import flatatt
|
||||||
|
from django.templatetags.static import static
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from django.utils.text import truncate_words
|
from django.utils.text import truncate_words
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.encoding import force_unicode
|
from django.utils.encoding import force_unicode
|
||||||
from django.conf import settings
|
|
||||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
|
||||||
|
|
||||||
class FilteredSelectMultiple(forms.SelectMultiple):
|
class FilteredSelectMultiple(forms.SelectMultiple):
|
||||||
"""
|
"""
|
||||||
|
@ -22,9 +23,8 @@ class FilteredSelectMultiple(forms.SelectMultiple):
|
||||||
catalog has been loaded in the page
|
catalog has been loaded in the page
|
||||||
"""
|
"""
|
||||||
class Media:
|
class Media:
|
||||||
js = (settings.ADMIN_MEDIA_PREFIX + "js/core.js",
|
js = ["admin/js/%s" % path
|
||||||
settings.ADMIN_MEDIA_PREFIX + "js/SelectBox.js",
|
for path in ["core.js", "SelectBox.js", "SelectFilter2.js"]]
|
||||||
settings.ADMIN_MEDIA_PREFIX + "js/SelectFilter2.js")
|
|
||||||
|
|
||||||
def __init__(self, verbose_name, is_stacked, attrs=None, choices=()):
|
def __init__(self, verbose_name, is_stacked, attrs=None, choices=()):
|
||||||
self.verbose_name = verbose_name
|
self.verbose_name = verbose_name
|
||||||
|
@ -39,22 +39,20 @@ class FilteredSelectMultiple(forms.SelectMultiple):
|
||||||
output.append(u'<script type="text/javascript">addEvent(window, "load", function(e) {')
|
output.append(u'<script type="text/javascript">addEvent(window, "load", function(e) {')
|
||||||
# TODO: "id_" is hard-coded here. This should instead use the correct
|
# TODO: "id_" is hard-coded here. This should instead use the correct
|
||||||
# API to determine the ID dynamically.
|
# API to determine the ID dynamically.
|
||||||
output.append(u'SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n' % \
|
output.append(u'SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n'
|
||||||
(name, self.verbose_name.replace('"', '\\"'), int(self.is_stacked), settings.ADMIN_MEDIA_PREFIX))
|
% (name, self.verbose_name.replace('"', '\\"'), int(self.is_stacked), static('admin/')))
|
||||||
return mark_safe(u''.join(output))
|
return mark_safe(u''.join(output))
|
||||||
|
|
||||||
class AdminDateWidget(forms.DateInput):
|
class AdminDateWidget(forms.DateInput):
|
||||||
class Media:
|
class Media:
|
||||||
js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js",
|
js = ["admin/js/calendar.js", "admin/js/admin/DateTimeShortcuts.js"]
|
||||||
settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js")
|
|
||||||
|
|
||||||
def __init__(self, attrs={}, format=None):
|
def __init__(self, attrs={}, format=None):
|
||||||
super(AdminDateWidget, self).__init__(attrs={'class': 'vDateField', 'size': '10'}, format=format)
|
super(AdminDateWidget, self).__init__(attrs={'class': 'vDateField', 'size': '10'}, format=format)
|
||||||
|
|
||||||
class AdminTimeWidget(forms.TimeInput):
|
class AdminTimeWidget(forms.TimeInput):
|
||||||
class Media:
|
class Media:
|
||||||
js = (settings.ADMIN_MEDIA_PREFIX + "js/calendar.js",
|
js = ["admin/js/calendar.js", "admin/js/admin/DateTimeShortcuts.js"]
|
||||||
settings.ADMIN_MEDIA_PREFIX + "js/admin/DateTimeShortcuts.js")
|
|
||||||
|
|
||||||
def __init__(self, attrs={}, format=None):
|
def __init__(self, attrs={}, format=None):
|
||||||
super(AdminTimeWidget, self).__init__(attrs={'class': 'vTimeField', 'size': '8'}, format=format)
|
super(AdminTimeWidget, self).__init__(attrs={'class': 'vTimeField', 'size': '8'}, format=format)
|
||||||
|
@ -134,9 +132,10 @@ class ForeignKeyRawIdWidget(forms.TextInput):
|
||||||
output = [super(ForeignKeyRawIdWidget, self).render(name, value, attrs)]
|
output = [super(ForeignKeyRawIdWidget, self).render(name, value, attrs)]
|
||||||
# TODO: "id_" is hard-coded here. This should instead use the correct
|
# TODO: "id_" is hard-coded here. This should instead use the correct
|
||||||
# API to determine the ID dynamically.
|
# API to determine the ID dynamically.
|
||||||
output.append(u'<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> ' % \
|
output.append(u'<a href="%s%s" class="related-lookup" id="lookup_id_%s" onclick="return showRelatedObjectLookupPopup(this);"> '
|
||||||
(related_url, url, name))
|
% (related_url, url, name))
|
||||||
output.append(u'<img src="%simg/admin/selector-search.gif" width="16" height="16" alt="%s" /></a>' % (settings.ADMIN_MEDIA_PREFIX, _('Lookup')))
|
output.append(u'<img src="%s" width="16" height="16" alt="%s" /></a>'
|
||||||
|
% (static('admin/img/selector-search.gif'), _('Lookup')))
|
||||||
if value:
|
if value:
|
||||||
output.append(self.label_for_value(value))
|
output.append(self.label_for_value(value))
|
||||||
return mark_safe(u''.join(output))
|
return mark_safe(u''.join(output))
|
||||||
|
@ -240,9 +239,10 @@ class RelatedFieldWidgetWrapper(forms.Widget):
|
||||||
if self.can_add_related:
|
if self.can_add_related:
|
||||||
# TODO: "id_" is hard-coded here. This should instead use the correct
|
# TODO: "id_" is hard-coded here. This should instead use the correct
|
||||||
# API to determine the ID dynamically.
|
# API to determine the ID dynamically.
|
||||||
output.append(u'<a href="%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> ' % \
|
output.append(u'<a href="%s" class="add-another" id="add_id_%s" onclick="return showAddAnotherPopup(this);"> '
|
||||||
(related_url, name))
|
% (related_url, name))
|
||||||
output.append(u'<img src="%simg/admin/icon_addlink.gif" width="10" height="10" alt="%s"/></a>' % (settings.ADMIN_MEDIA_PREFIX, _('Add Another')))
|
output.append(u'<img src="%s" width="10" height="10" alt="%s"/></a>'
|
||||||
|
% (static('admin/img/icon_addlink.gif'), _('Add Another')))
|
||||||
return mark_safe(u''.join(output))
|
return mark_safe(u''.join(output))
|
||||||
|
|
||||||
def build_attrs(self, extra_attrs=None, **kwargs):
|
def build_attrs(self, extra_attrs=None, **kwargs):
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.gis.gdal import OGRException
|
|
||||||
from django.contrib.gis.geos import GEOSGeometry, GEOSException
|
|
||||||
from django.forms.widgets import Textarea
|
from django.forms.widgets import Textarea
|
||||||
from django.template import loader, Context
|
from django.template import loader, Context
|
||||||
|
from django.templatetags.static import static
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
|
|
||||||
|
from django.contrib.gis.gdal import OGRException
|
||||||
|
from django.contrib.gis.geos import GEOSGeometry, GEOSException
|
||||||
|
|
||||||
# Creating a template context that contains Django settings
|
# Creating a template context that contains Django settings
|
||||||
# values needed by admin map templates.
|
# values needed by admin map templates.
|
||||||
geo_context = Context({'ADMIN_MEDIA_PREFIX' : settings.ADMIN_MEDIA_PREFIX,
|
geo_context = Context({'ADMIN_MEDIA_PREFIX' : static('admin/'),
|
||||||
'LANGUAGE_BIDI' : translation.get_language_bidi(),
|
'LANGUAGE_BIDI' : translation.get_language_bidi()})
|
||||||
})
|
|
||||||
|
|
||||||
class OpenLayersWidget(Textarea):
|
class OpenLayersWidget(Textarea):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
{% block extrastyle %}
|
{% block extrastyle %}
|
||||||
|
{% load static %}
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
#{{ id }}_map { width: {{ map_width }}px; height: {{ map_height }}px; }
|
#{{ id }}_map { width: {{ map_width }}px; height: {{ map_height }}px; }
|
||||||
#{{ id }}_map .aligned label { float:inherit; }
|
#{{ id }}_map .aligned label { float:inherit; }
|
||||||
#{{ id }}_admin_map { position: relative; vertical-align: top; float: {{ LANGUAGE_BIDI|yesno:"right,left" }}; }
|
#{{ id }}_admin_map { position: relative; vertical-align: top; float: {{ LANGUAGE_BIDI|yesno:"right,left" }}; }
|
||||||
{% if not display_wkt %}#{{ id }} { display: none; }{% endif %}
|
{% if not display_wkt %}#{{ id }} { display: none; }{% endif %}
|
||||||
.olControlEditingToolbar .olControlModifyFeatureItemActive {
|
.olControlEditingToolbar .olControlModifyFeatureItemActive {
|
||||||
background-image: url("{{ ADMIN_MEDIA_PREFIX }}img/gis/move_vertex_on.png");
|
background-image: url("{% static "admin/img/gis/move_vertex_on.png" %}");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
.olControlEditingToolbar .olControlModifyFeatureItemInactive {
|
.olControlEditingToolbar .olControlModifyFeatureItemInactive {
|
||||||
background-image: url("{{ ADMIN_MEDIA_PREFIX }}img/gis/move_vertex_off.png");
|
background-image: url("{% static "admin/img/gis/move_vertex_off.png" %}");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|