Loading django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js +18 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,24 @@ event.preventDefault(); opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); }); $('body').on('click', '.related-widget-wrapper-link', function(e) { e.preventDefault(); if (this.href) { var event = $.Event('django:show-related', {href: this.href}); $(this).trigger(event); if (!event.isDefaultPrevented()) { showRelatedObjectPopup(this); } } }); $('body').on('change', '.related-widget-wrapper select', function(e) { var event = $.Event('django:update-related'); $(this).trigger(event); if (!event.isDefaultPrevented()) { updateRelatedObjectLinks(this); } }); $('.related-widget-wrapper select').trigger('change'); }); })(django.jQuery); django/contrib/admin/static/admin/js/change_form.js +0 −18 Original line number Diff line number Diff line Loading @@ -20,24 +20,6 @@ showRelatedObjectLookupPopup(this); } }); $('body').on('click', '.related-widget-wrapper-link', function(e) { e.preventDefault(); if (this.href) { var event = $.Event('django:show-related', {href: this.href}); $(this).trigger(event); if (!event.isDefaultPrevented()) { showRelatedObjectPopup(this); } } }); $('body').on('change', '.related-widget-wrapper select', function(e) { var event = $.Event('django:update-related'); $(this).trigger(event); if (!event.isDefaultPrevented()) { updateRelatedObjectLinks(this); } }); $('.related-widget-wrapper select').trigger('change'); if (modelName) { $('form#' + modelName + '_form :input:visible:enabled:first').focus(); Loading docs/releases/1.9.1.txt +3 −0 Original line number Diff line number Diff line Loading @@ -61,3 +61,6 @@ Bugfixes * Fixed ``migrate --fake-initial`` detection of many-to-many tables (:ticket:`25922`). * Restored the functionality of the admin's ``list_editable`` add and change buttons (:ticket:`25903`). tests/admin_views/admin.py +5 −2 Original line number Diff line number Diff line Loading @@ -87,8 +87,11 @@ class ChapterXtra1Admin(admin.ModelAdmin): class ArticleAdmin(admin.ModelAdmin): list_display = ('content', 'date', callable_year, 'model_year', 'modeladmin_year', 'model_year_reversed') list_display = ( 'content', 'date', callable_year, 'model_year', 'modeladmin_year', 'model_year_reversed', 'section', ) list_editable = ('section',) list_filter = ('date', 'section') view_on_site = False fieldsets = ( Loading tests/admin_views/tests.py +28 −0 Original line number Diff line number Diff line Loading @@ -4558,6 +4558,34 @@ class SeleniumAdminViewsFirefoxTests(AdminSeleniumWebDriverTestCase): self.assertEqual(Pizza.objects.count(), 1) self.assertEqual(Topping.objects.count(), 2) def test_list_editable_popups(self): """ list_editable foreign keys have add/change popups. """ s1 = Section.objects.create(name='Test section') Article.objects.create( content='<p>Middle content</p>', date=datetime.datetime(2008, 3, 18, 11, 54, 58), section=s1, ) self.admin_login(username='super', password='secret', login_url=reverse('admin:index')) self.selenium.get(self.live_server_url + reverse('admin:admin_views_article_changelist')) # Change popup self.selenium.find_element_by_id('change_id_form-0-section').click() self.wait_for_popup() self.selenium.switch_to.window(self.selenium.window_handles[-1]) self.wait_for_text('#content h1', 'Change section') self.selenium.close() self.selenium.switch_to.window(self.selenium.window_handles[0]) # Add popup self.selenium.find_element_by_id('add_id_form-0-section').click() self.wait_for_popup() self.selenium.switch_to.window(self.selenium.window_handles[-1]) self.wait_for_text('#content h1', 'Add section') self.selenium.close() self.selenium.switch_to.window(self.selenium.window_handles[0]) class SeleniumAdminViewsChromeTests(SeleniumAdminViewsFirefoxTests): webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver' Loading Loading
django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js +18 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,24 @@ event.preventDefault(); opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); }); $('body').on('click', '.related-widget-wrapper-link', function(e) { e.preventDefault(); if (this.href) { var event = $.Event('django:show-related', {href: this.href}); $(this).trigger(event); if (!event.isDefaultPrevented()) { showRelatedObjectPopup(this); } } }); $('body').on('change', '.related-widget-wrapper select', function(e) { var event = $.Event('django:update-related'); $(this).trigger(event); if (!event.isDefaultPrevented()) { updateRelatedObjectLinks(this); } }); $('.related-widget-wrapper select').trigger('change'); }); })(django.jQuery);
django/contrib/admin/static/admin/js/change_form.js +0 −18 Original line number Diff line number Diff line Loading @@ -20,24 +20,6 @@ showRelatedObjectLookupPopup(this); } }); $('body').on('click', '.related-widget-wrapper-link', function(e) { e.preventDefault(); if (this.href) { var event = $.Event('django:show-related', {href: this.href}); $(this).trigger(event); if (!event.isDefaultPrevented()) { showRelatedObjectPopup(this); } } }); $('body').on('change', '.related-widget-wrapper select', function(e) { var event = $.Event('django:update-related'); $(this).trigger(event); if (!event.isDefaultPrevented()) { updateRelatedObjectLinks(this); } }); $('.related-widget-wrapper select').trigger('change'); if (modelName) { $('form#' + modelName + '_form :input:visible:enabled:first').focus(); Loading
docs/releases/1.9.1.txt +3 −0 Original line number Diff line number Diff line Loading @@ -61,3 +61,6 @@ Bugfixes * Fixed ``migrate --fake-initial`` detection of many-to-many tables (:ticket:`25922`). * Restored the functionality of the admin's ``list_editable`` add and change buttons (:ticket:`25903`).
tests/admin_views/admin.py +5 −2 Original line number Diff line number Diff line Loading @@ -87,8 +87,11 @@ class ChapterXtra1Admin(admin.ModelAdmin): class ArticleAdmin(admin.ModelAdmin): list_display = ('content', 'date', callable_year, 'model_year', 'modeladmin_year', 'model_year_reversed') list_display = ( 'content', 'date', callable_year, 'model_year', 'modeladmin_year', 'model_year_reversed', 'section', ) list_editable = ('section',) list_filter = ('date', 'section') view_on_site = False fieldsets = ( Loading
tests/admin_views/tests.py +28 −0 Original line number Diff line number Diff line Loading @@ -4558,6 +4558,34 @@ class SeleniumAdminViewsFirefoxTests(AdminSeleniumWebDriverTestCase): self.assertEqual(Pizza.objects.count(), 1) self.assertEqual(Topping.objects.count(), 2) def test_list_editable_popups(self): """ list_editable foreign keys have add/change popups. """ s1 = Section.objects.create(name='Test section') Article.objects.create( content='<p>Middle content</p>', date=datetime.datetime(2008, 3, 18, 11, 54, 58), section=s1, ) self.admin_login(username='super', password='secret', login_url=reverse('admin:index')) self.selenium.get(self.live_server_url + reverse('admin:admin_views_article_changelist')) # Change popup self.selenium.find_element_by_id('change_id_form-0-section').click() self.wait_for_popup() self.selenium.switch_to.window(self.selenium.window_handles[-1]) self.wait_for_text('#content h1', 'Change section') self.selenium.close() self.selenium.switch_to.window(self.selenium.window_handles[0]) # Add popup self.selenium.find_element_by_id('add_id_form-0-section').click() self.wait_for_popup() self.selenium.switch_to.window(self.selenium.window_handles[-1]) self.wait_for_text('#content h1', 'Add section') self.selenium.close() self.selenium.switch_to.window(self.selenium.window_handles[0]) class SeleniumAdminViewsChromeTests(SeleniumAdminViewsFirefoxTests): webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver' Loading