mirror of https://github.com/django/django.git
Fixed #19538 -- Removed window.__admin_media_prefix__ from admin templates.
This commit is contained in:
parent
b4a1bb8669
commit
d61ebc8fed
|
@ -188,7 +188,7 @@ p.mini {
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
|
|
||||||
img.help-tooltip {
|
.help-tooltip {
|
||||||
cursor: help;
|
cursor: help;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -202,6 +202,21 @@ a.active.selector-clearall {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.selector .help-icon {
|
||||||
|
background: url(../img/icon-unknown.gif) no-repeat;
|
||||||
|
display: inline-block;
|
||||||
|
height: 10px;
|
||||||
|
width: 10px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.selector .search-label-icon {
|
||||||
|
background: url(../img/selector-search.gif) 0 2px no-repeat;
|
||||||
|
display: inline-block;
|
||||||
|
height: 18px;
|
||||||
|
width: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
/* DATE AND TIME */
|
/* DATE AND TIME */
|
||||||
|
|
||||||
p.datetime {
|
p.datetime {
|
||||||
|
@ -226,6 +241,22 @@ table p.datetime {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon {
|
||||||
|
background: none no-repeat;
|
||||||
|
display: inline-block;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datetimeshortcuts .clock-icon {
|
||||||
|
background-image: url(../img/icon_clock.gif);
|
||||||
|
}
|
||||||
|
|
||||||
|
.datetimeshortcuts .date-icon {
|
||||||
|
background-image: url(../img/icon_calendar.gif);
|
||||||
|
}
|
||||||
|
|
||||||
/* URL */
|
/* URL */
|
||||||
|
|
||||||
p.url {
|
p.url {
|
||||||
|
|
|
@ -13,7 +13,7 @@ function findForm(node) {
|
||||||
}
|
}
|
||||||
|
|
||||||
window.SelectFilter = {
|
window.SelectFilter = {
|
||||||
init: function(field_id, field_name, is_stacked, admin_static_prefix) {
|
init: function(field_id, field_name, is_stacked) {
|
||||||
if (field_id.match(/__prefix__/)){
|
if (field_id.match(/__prefix__/)){
|
||||||
// Don't initialize on empty forms.
|
// Don't initialize on empty forms.
|
||||||
return;
|
return;
|
||||||
|
@ -43,14 +43,29 @@ window.SelectFilter = {
|
||||||
var selector_available = quickElement('div', selector_div);
|
var selector_available = quickElement('div', selector_div);
|
||||||
selector_available.className = 'selector-available';
|
selector_available.className = 'selector-available';
|
||||||
var title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name]));
|
var title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name]));
|
||||||
quickElement('img', title_available, '', 'src', admin_static_prefix + 'img/icon-unknown.gif', 'width', '10', 'height', '10', 'class', 'help help-tooltip', 'title', interpolate(gettext('This is the list of available %s. You may choose some by selecting them in the box below and then clicking the "Choose" arrow between the two boxes.'), [field_name]));
|
quickElement(
|
||||||
|
'span', title_available, '',
|
||||||
|
'class', 'help help-tooltip help-icon',
|
||||||
|
'title', interpolate(
|
||||||
|
gettext(
|
||||||
|
'This is the list of available %s. You may choose some by ' +
|
||||||
|
'selecting them in the box below and then clicking the ' +
|
||||||
|
'"Choose" arrow between the two boxes.'
|
||||||
|
),
|
||||||
|
[field_name]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
var filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter');
|
var filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter');
|
||||||
filter_p.className = 'selector-filter';
|
filter_p.className = 'selector-filter';
|
||||||
|
|
||||||
var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + "_input");
|
var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + "_input");
|
||||||
|
|
||||||
var search_selector_img = quickElement('img', search_filter_label, '', 'src', admin_static_prefix + 'img/selector-search.gif', 'class', 'help-tooltip', 'alt', '', 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]));
|
var search_selector_img = quickElement(
|
||||||
|
'span', search_filter_label, '',
|
||||||
|
'class', 'help-tooltip search-label-icon',
|
||||||
|
'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name])
|
||||||
|
);
|
||||||
|
|
||||||
filter_p.appendChild(document.createTextNode(' '));
|
filter_p.appendChild(document.createTextNode(' '));
|
||||||
|
|
||||||
|
@ -73,7 +88,18 @@ window.SelectFilter = {
|
||||||
var selector_chosen = quickElement('div', selector_div);
|
var selector_chosen = quickElement('div', selector_div);
|
||||||
selector_chosen.className = 'selector-chosen';
|
selector_chosen.className = 'selector-chosen';
|
||||||
var title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name]));
|
var title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name]));
|
||||||
quickElement('img', title_chosen, '', 'src', admin_static_prefix + 'img/icon-unknown.gif', 'width', '10', 'height', '10', 'class', 'help help-tooltip', 'title', interpolate(gettext('This is the list of chosen %s. You may remove some by selecting them in the box below and then clicking the "Remove" arrow between the two boxes.'), [field_name]));
|
quickElement(
|
||||||
|
'span', title_chosen, '',
|
||||||
|
'class', 'help help-tooltip help-icon',
|
||||||
|
'title', interpolate(
|
||||||
|
gettext(
|
||||||
|
'This is the list of chosen %s. You may remove some by ' +
|
||||||
|
'selecting them in the box below and then clicking the ' +
|
||||||
|
'"Remove" arrow between the two boxes.'
|
||||||
|
),
|
||||||
|
[field_name]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
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';
|
||||||
|
|
|
@ -16,18 +16,7 @@ var DateTimeShortcuts = {
|
||||||
shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts
|
shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts
|
||||||
timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch
|
timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch
|
||||||
timezoneOffset: 0,
|
timezoneOffset: 0,
|
||||||
admin_media_prefix: '',
|
|
||||||
init: function() {
|
init: function() {
|
||||||
// Get admin_media_prefix by grabbing it off the window object. It's
|
|
||||||
// set in the admin/base.html template, so if it's not there, someone's
|
|
||||||
// overridden the template. In that case, we'll set a clearly-invalid
|
|
||||||
// value in the hopes that someone will examine HTTP requests and see it.
|
|
||||||
if (window.__admin_media_prefix__ != undefined) {
|
|
||||||
DateTimeShortcuts.admin_media_prefix = window.__admin_media_prefix__;
|
|
||||||
} else {
|
|
||||||
DateTimeShortcuts.admin_media_prefix = '/missing-admin-media-prefix/';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (window.__admin_utc_offset__ != undefined) {
|
if (window.__admin_utc_offset__ != undefined) {
|
||||||
var serverOffset = window.__admin_utc_offset__;
|
var serverOffset = window.__admin_utc_offset__;
|
||||||
var localOffset = new Date().getTimezoneOffset() * -60;
|
var localOffset = new Date().getTimezoneOffset() * -60;
|
||||||
|
@ -115,7 +104,11 @@ 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/icon_clock.gif', 'alt', gettext('Clock'));
|
quickElement(
|
||||||
|
'span', clock_link, '',
|
||||||
|
'class', 'clock-icon',
|
||||||
|
'title', gettext('Choose a Time')
|
||||||
|
);
|
||||||
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'));
|
||||||
|
@ -217,7 +210,11 @@ 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/icon_calendar.gif', 'alt', gettext('Calendar'));
|
quickElement(
|
||||||
|
'span', cal_link, '',
|
||||||
|
'class', 'date-icon',
|
||||||
|
'title', gettext('Choose a Date')
|
||||||
|
);
|
||||||
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'));
|
||||||
|
|
|
@ -161,11 +161,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, options.adminStaticPrefix );
|
SelectFilter.init(value.id, namearr[namearr.length-1], false);
|
||||||
});
|
});
|
||||||
$('.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, options.adminStaticPrefix );
|
SelectFilter.init(value.id, namearr[namearr.length-1], true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -227,11 +227,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, options.adminStaticPrefix);
|
SelectFilter.init(value.id, namearr[namearr.length-1], false);
|
||||||
});
|
});
|
||||||
$(".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, options.adminStaticPrefix);
|
SelectFilter.init(value.id, namearr[namearr.length-1], true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
(function(a){a.fn.formset=function(g){var b=a.extend({},a.fn.formset.defaults,g),i=a(this);g=i.parent();var m=function(e,k,h){var j=RegExp("("+k+"-(\\d+|__prefix__))");k=k+"-"+h;a(e).prop("for")&&a(e).prop("for",a(e).prop("for").replace(j,k));if(e.id)e.id=e.id.replace(j,k);if(e.name)e.name=e.name.replace(j,k)},l=a("#id_"+b.prefix+"-TOTAL_FORMS").prop("autocomplete","off"),d=parseInt(l.val(),10),c=a("#id_"+b.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off");l=c.val()===""||c.val()-l.val()>0;i.each(function(){a(this).not("."+
|
(function(c){c.fn.formset=function(b){var a=c.extend({},c.fn.formset.defaults,b),d=c(this);b=d.parent();var k=function(a,f,l){var h=new RegExp("("+f+"-(\\d+|__prefix__))");f=f+"-"+l;c(a).prop("for")&&c(a).prop("for",c(a).prop("for").replace(h,f));a.id&&(a.id=a.id.replace(h,f));a.name&&(a.name=a.name.replace(h,f))},e=c("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off"),l=parseInt(e.val(),10),f=c("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),e=""===f.val()||0<f.val()-e.val();
|
||||||
b.emptyCssClass).addClass(b.formCssClass)});if(i.length&&l){var f;if(i.prop("tagName")=="TR"){i=this.eq(-1).children().length;g.append('<tr class="'+b.addCssClass+'"><td colspan="'+i+'"><a href="javascript:void(0)">'+b.addText+"</a></tr>");f=g.find("tr:last a")}else{i.filter(":last").after('<div class="'+b.addCssClass+'"><a href="javascript:void(0)">'+b.addText+"</a></div>");f=i.filter(":last").next().find("a")}f.click(function(e){e.preventDefault();var k=a("#id_"+b.prefix+"-TOTAL_FORMS");e=a("#"+
|
d.each(function(f){c(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});if(d.length&&e){var h;"TR"==d.prop("tagName")?(d=this.eq(-1).children().length,b.append('<tr class="'+a.addCssClass+'"><td colspan="'+d+'"><a href="javascript:void(0)">'+a.addText+"</a></tr>"),h=b.find("tr:last a")):(d.filter(":last").after('<div class="'+a.addCssClass+'"><a href="javascript:void(0)">'+a.addText+"</a></div>"),h=d.filter(":last").next().find("a"));h.click(function(b){b.preventDefault();var d=c("#id_"+a.prefix+
|
||||||
b.prefix+"-empty");var h=e.clone(true);h.removeClass(b.emptyCssClass).addClass(b.formCssClass).attr("id",b.prefix+"-"+d);if(h.is("tr"))h.children(":last").append('<div><a class="'+b.deleteCssClass+'" href="javascript:void(0)">'+b.deleteText+"</a></div>");else h.is("ul")||h.is("ol")?h.append('<li><a class="'+b.deleteCssClass+'" href="javascript:void(0)">'+b.deleteText+"</a></li>"):h.children(":first").append('<span><a class="'+b.deleteCssClass+'" href="javascript:void(0)">'+b.deleteText+"</a></span>");
|
"-TOTAL_FORMS");b=c("#"+a.prefix+"-empty");var g=b.clone(!0);g.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+l);g.is("tr")?g.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="javascript:void(0)">'+a.deleteText+"</a></div>"):g.is("ul")||g.is("ol")?g.append('<li><a class="'+a.deleteCssClass+'" href="javascript:void(0)">'+a.deleteText+"</a></li>"):g.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="javascript:void(0)">'+a.deleteText+
|
||||||
h.find("*").each(function(){m(this,b.prefix,k.val())});h.insertBefore(a(e));a(k).val(parseInt(k.val(),10)+1);d+=1;c.val()!==""&&c.val()-k.val()<=0&&f.parent().hide();h.find("a."+b.deleteCssClass).click(function(j){j.preventDefault();j=a(this).parents("."+b.formCssClass);j.remove();d-=1;b.removed&&b.removed(j);j=a("."+b.formCssClass);a("#id_"+b.prefix+"-TOTAL_FORMS").val(j.length);if(c.val()===""||c.val()-j.length>0)f.parent().show();for(var n=0,o=j.length;n<o;n++){m(a(j).get(n),b.prefix,n);a(j.get(n)).find("*").each(function(){m(this,
|
"</a></span>");g.find("*").each(function(){k(this,a.prefix,d.val())});g.insertBefore(c(b));c(d).val(parseInt(d.val(),10)+1);l+=1;""!==f.val()&&0>=f.val()-d.val()&&h.parent().hide();g.find("a."+a.deleteCssClass).click(function(b){b.preventDefault();b=c(this).parents("."+a.formCssClass);b.remove();--l;a.removed&&a.removed(b);b=c("."+a.formCssClass);c("#id_"+a.prefix+"-TOTAL_FORMS").val(b.length);(""===f.val()||0<f.val()-b.length)&&h.parent().show();for(var d=0,g=b.length;d<g;d++)k(c(b).get(d),a.prefix,
|
||||||
b.prefix,n)})}});b.added&&b.added(h)})}return this};a.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null};a.fn.tabularFormset=function(g){var b=a(this),i=function(){a(b.selector).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2")},m=function(){if(typeof SelectFilter!="undefined"){a(".selectfilter").each(function(d,
|
d),c(b.get(d)).find("*").each(function(){k(this,a.prefix,d)})});a.added&&a.added(g)})}return this};c.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null};c.fn.tabularFormset=function(b){var a=c(this),d=function(b){c(a.selector).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2")},k=function(){"undefined"!=
|
||||||
c){var f=c.name.split("-");SelectFilter.init(c.id,f[f.length-1],false,g.adminStaticPrefix)});a(".selectfilterstacked").each(function(d,c){var f=c.name.split("-");SelectFilter.init(c.id,f[f.length-1],true,g.adminStaticPrefix)})}},l=function(d){d.find(".prepopulated_field").each(function(){var c=a(this).find("input, select, textarea"),f=c.data("dependency_list")||[],e=[];a.each(f,function(k,h){e.push("#"+d.find(".field-"+h).find("input, select, textarea").attr("id"))});e.length&&c.prepopulate(e,c.attr("maxlength"))})};
|
typeof SelectFilter&&(c(".selectfilter").each(function(a,c){var b=c.name.split("-");SelectFilter.init(c.id,b[b.length-1],!1)}),c(".selectfilterstacked").each(function(a,c){var b=c.name.split("-");SelectFilter.init(c.id,b[b.length-1],!0)}))},e=function(a){a.find(".prepopulated_field").each(function(){var b=c(this).find("input, select, textarea"),d=b.data("dependency_list")||[],e=[];c.each(d,function(c,b){e.push("#"+a.find(".field-"+b).find("input, select, textarea").attr("id"))});e.length&&b.prepopulate(e,
|
||||||
b.formset({prefix:g.prefix,addText:g.addText,formCssClass:"dynamic-"+g.prefix,deleteCssClass:"inline-deletelink",deleteText:g.deleteText,emptyCssClass:"empty-form",removed:i,added:function(d){l(d);if(typeof DateTimeShortcuts!="undefined"){a(".datetimeshortcuts").remove();DateTimeShortcuts.init()}m();i(d)}});return b};a.fn.stackedFormset=function(g){var b=a(this),i=function(){a(b.selector).find(".inline_label").each(function(d){d=d+1;a(this).html(a(this).html().replace(/(#\d+)/g,"#"+d))})},m=function(){if(typeof SelectFilter!=
|
b.attr("maxlength"))})};a.formset({prefix:b.prefix,addText:b.addText,formCssClass:"dynamic-"+b.prefix,deleteCssClass:"inline-deletelink",deleteText:b.deleteText,emptyCssClass:"empty-form",removed:d,added:function(a){e(a);"undefined"!=typeof DateTimeShortcuts&&(c(".datetimeshortcuts").remove(),DateTimeShortcuts.init());k();d(a)}});return a};c.fn.stackedFormset=function(b){var a=c(this),d=function(b){c(a.selector).find(".inline_label").each(function(a){a+=1;c(this).html(c(this).html().replace(/(#\d+)/g,
|
||||||
"undefined"){a(".selectfilter").each(function(d,c){var f=c.name.split("-");SelectFilter.init(c.id,f[f.length-1],false,g.adminStaticPrefix)});a(".selectfilterstacked").each(function(d,c){var f=c.name.split("-");SelectFilter.init(c.id,f[f.length-1],true,g.adminStaticPrefix)})}},l=function(d){d.find(".prepopulated_field").each(function(){var c=a(this).find("input, select, textarea"),f=c.data("dependency_list")||[],e=[];a.each(f,function(k,h){e.push("#"+d.find(".form-row .field-"+h).find("input, select, textarea").attr("id"))});
|
"#"+a))})},k=function(){"undefined"!=typeof SelectFilter&&(c(".selectfilter").each(function(a,c){var b=c.name.split("-");SelectFilter.init(c.id,b[b.length-1],!1)}),c(".selectfilterstacked").each(function(a,c){var b=c.name.split("-");SelectFilter.init(c.id,b[b.length-1],!0)}))},e=function(a){a.find(".prepopulated_field").each(function(){var b=c(this).find("input, select, textarea"),d=b.data("dependency_list")||[],e=[];c.each(d,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))});
|
||||||
e.length&&c.prepopulate(e,c.attr("maxlength"))})};b.formset({prefix:g.prefix,addText:g.addText,formCssClass:"dynamic-"+g.prefix,deleteCssClass:"inline-deletelink",deleteText:g.deleteText,emptyCssClass:"empty-form",removed:i,added:function(d){l(d);if(typeof DateTimeShortcuts!="undefined"){a(".datetimeshortcuts").remove();DateTimeShortcuts.init()}m();i(d)}});return b}})(django.jQuery);
|
e.length&&b.prepopulate(e,b.attr("maxlength"))})};a.formset({prefix:b.prefix,addText:b.addText,formCssClass:"dynamic-"+b.prefix,deleteCssClass:"inline-deletelink",deleteText:b.deleteText,emptyCssClass:"empty-form",removed:d,added:function(a){e(a);"undefined"!=typeof DateTimeShortcuts&&(c(".datetimeshortcuts").remove(),DateTimeShortcuts.init());k();d(a)}});return a}})(django.jQuery);
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/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 LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/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 %}{% static "admin/" %}{% endfilter %}";</script>
|
|
||||||
<script type="text/javascript">window.__admin_utc_offset__ = "{% filter escapejs %}{% now "Z" %}{% endfilter %}";</script>
|
<script type="text/javascript">window.__admin_utc_offset__ = "{% filter escapejs %}{% now "Z" %}{% 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 %}
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
(function($) {
|
(function($) {
|
||||||
$("#{{ inline_admin_formset.formset.prefix }}-group .inline-related").stackedFormset({
|
$("#{{ inline_admin_formset.formset.prefix }}-group .inline-related").stackedFormset({
|
||||||
prefix: '{{ inline_admin_formset.formset.prefix }}',
|
prefix: '{{ inline_admin_formset.formset.prefix }}',
|
||||||
adminStaticPrefix: '{% static "admin/" %}',
|
|
||||||
deleteText: "{% trans "Remove" %}",
|
deleteText: "{% trans "Remove" %}",
|
||||||
addText: "{% blocktrans with verbose_name=inline_admin_formset.opts.verbose_name|capfirst %}Add another {{ verbose_name }}{% endblocktrans %}"
|
addText: "{% blocktrans with verbose_name=inline_admin_formset.opts.verbose_name|capfirst %}Add another {{ verbose_name }}{% endblocktrans %}"
|
||||||
});
|
});
|
||||||
|
|
|
@ -76,7 +76,6 @@
|
||||||
(function($) {
|
(function($) {
|
||||||
$("#{{ inline_admin_formset.formset.prefix }}-group .tabular.inline-related tbody tr").tabularFormset({
|
$("#{{ inline_admin_formset.formset.prefix }}-group .tabular.inline-related tbody tr").tabularFormset({
|
||||||
prefix: "{{ inline_admin_formset.formset.prefix }}",
|
prefix: "{{ inline_admin_formset.formset.prefix }}",
|
||||||
adminStaticPrefix: '{% static "admin/" %}',
|
|
||||||
addText: "{% blocktrans with inline_admin_formset.opts.verbose_name|capfirst as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
|
addText: "{% blocktrans with inline_admin_formset.opts.verbose_name|capfirst as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
|
||||||
deleteText: "{% trans 'Remove' %}"
|
deleteText: "{% trans 'Remove' %}"
|
||||||
});
|
});
|
||||||
|
|
|
@ -49,8 +49,8 @@ class FilteredSelectMultiple(forms.SelectMultiple):
|
||||||
output.append('<script type="text/javascript">addEvent(window, "load", function(e) {')
|
output.append('<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('SelectFilter.init("id_%s", "%s", %s, "%s"); });</script>\n'
|
output.append('SelectFilter.init("id_%s", "%s", %s); });</script>\n'
|
||||||
% (name, self.verbose_name.replace('"', '\\"'), int(self.is_stacked), static('admin/')))
|
% (name, self.verbose_name.replace('"', '\\"'), int(self.is_stacked)))
|
||||||
return mark_safe(''.join(output))
|
return mark_safe(''.join(output))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -252,6 +252,11 @@ Miscellaneous
|
||||||
|
|
||||||
* ``ValuesQuerySet`` and ``ValuesListQuerySet`` have been removed.
|
* ``ValuesQuerySet`` and ``ValuesListQuerySet`` have been removed.
|
||||||
|
|
||||||
|
* The ``admin/base.html`` template no longer sets
|
||||||
|
``window.__admin_media_prefix__``. Image references in JavaScript that used
|
||||||
|
that value to construct absolute URLs have been moved to CSS for easier
|
||||||
|
customization.
|
||||||
|
|
||||||
.. _deprecated-features-1.9:
|
.. _deprecated-features-1.9:
|
||||||
|
|
||||||
Features deprecated in 1.9
|
Features deprecated in 1.9
|
||||||
|
|
|
@ -28,10 +28,6 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pytz = None
|
pytz = None
|
||||||
|
|
||||||
admin_static_prefix = lambda: {
|
|
||||||
'ADMIN_STATIC_PREFIX': "%sadmin/" % settings.STATIC_URL,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class TestDataMixin(object):
|
class TestDataMixin(object):
|
||||||
|
|
||||||
|
@ -261,14 +257,14 @@ class FilteredSelectMultipleWidgetTest(DjangoTestCase):
|
||||||
w = widgets.FilteredSelectMultiple('test', False)
|
w = widgets.FilteredSelectMultiple('test', False)
|
||||||
self.assertHTMLEqual(
|
self.assertHTMLEqual(
|
||||||
w.render('test', 'test'),
|
w.render('test', 'test'),
|
||||||
'<select multiple="multiple" name="test" class="selectfilter">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 0, "%(ADMIN_STATIC_PREFIX)s"); });</script>\n' % admin_static_prefix()
|
'<select multiple="multiple" name="test" class="selectfilter">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 0); });</script>\n'
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_stacked_render(self):
|
def test_stacked_render(self):
|
||||||
w = widgets.FilteredSelectMultiple('test', True)
|
w = widgets.FilteredSelectMultiple('test', True)
|
||||||
self.assertHTMLEqual(
|
self.assertHTMLEqual(
|
||||||
w.render('test', 'test'),
|
w.render('test', 'test'),
|
||||||
'<select multiple="multiple" name="test" class="selectfilterstacked">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 1, "%(ADMIN_STATIC_PREFIX)s"); });</script>\n' % admin_static_prefix()
|
'<select multiple="multiple" name="test" class="selectfilterstacked">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 1); });</script>\n'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue