Skip to content

Commit 9a82ca0

Browse files
committed
Fixed #12879: Declaring the same JS file multiple times in a single Media instance now only includes that file once.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12663 bcc190cf-cafb-0310-a4f2-bffc1f526a37
1 parent 600aa66 commit 9a82ca0

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

django/forms/widgets.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ def __getitem__(self, name):
7575

7676
def add_js(self, data):
7777
if data:
78-
self._js.extend([path for path in data if path not in self._js])
78+
for path in data:
79+
if path not in self._js:
80+
self._js.append(path)
7981

8082
def add_css(self, data):
8183
if data:

tests/regressiontests/forms/media.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,18 @@
112112
<script type="text/javascript" src="http://media.other.com/path/to/js2"></script>
113113
<script type="text/javascript" src="https://secure.other.com/path/to/js3"></script>
114114
115+
# Regression check for #12879: specifying the same JS file multiple
116+
# times in a single Media instance should result in that file only
117+
# being included once.
118+
>>> class MyWidget4(TextInput):
119+
... class Media:
120+
... js = ('/path/to/js1', '/path/to/js1')
121+
122+
>>> w4 = MyWidget4()
123+
>>> print w4.media
124+
<script type="text/javascript" src="/path/to/js1"></script>
125+
126+
115127
###############################################################
116128
# Property-based media definitions
117129
###############################################################

0 commit comments

Comments
 (0)