Skip to content

Commit a9e16c0

Browse files
authored
Merge pull request #4 from djk2/issue#3
Issue#3
2 parents 839fea7 + 9cc8996 commit a9e16c0

File tree

14 files changed

+241
-93
lines changed

14 files changed

+241
-93
lines changed

.travis.yml

Lines changed: 171 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -3,63 +3,180 @@ language: python
33

44
matrix:
55
include:
6-
- { python 3.4, env: TOXENV=py34-djmaster-dt1.6-tests }
7-
- { python 2.7, env: TOXENV=py27-dj1.9-dt1.5-tests }
8-
- { python 2.7, env: TOXENV=py27-dj1.9-dt1.6-tests }
9-
- { python 2.7, env: TOXENV=py27-dj1.9-dtmaster-tests }
10-
- { python 2.7, env: TOXENV=py27-dj1.10-dt1.5-tests }
11-
- { python 2.7, env: TOXENV=py27-dj1.10-dt1.6-tests }
12-
- { python 2.7, env: TOXENV=py27-dj1.10-dtmaster-tests }
13-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.5-tests }
14-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.6-tests }
15-
- { python 2.7, env: TOXENV=py27-dj1.11-dtmaster-tests }
16-
- { python 3.4, env: TOXENV=py34-dj1.9-dt1.5-tests }
17-
- { python 3.4, env: TOXENV=py34-dj1.9-dt1.6-tests }
18-
- { python 3.4, env: TOXENV=py34-dj1.9-dtmaster-tests }
19-
- { python 3.4, env: TOXENV=py34-dj1.10-dt1.5-tests }
20-
- { python 3.4, env: TOXENV=py34-dj1.10-dt1.6-tests }
21-
- { python 3.4, env: TOXENV=py34-dj1.10-dtmaster-tests }
22-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.5-tests }
23-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.6-tests }
24-
- { python 3.4, env: TOXENV=py34-dj1.11-dtmaster-tests }
25-
- { python 2.7, env: TOXENV=py27-dj1.9-dt1.1-tests }
26-
- { python 2.7, env: TOXENV=py27-dj1.9-dt1.2-tests }
27-
- { python 2.7, env: TOXENV=py27-dj1.9-dt1.3-tests }
28-
- { python 2.7, env: TOXENV=py27-dj1.9-dt1.4-tests }
29-
- { python 2.7, env: TOXENV=py27-dj1.10-dt1.1-tests }
30-
- { python 2.7, env: TOXENV=py27-dj1.10-dt1.2-tests }
31-
- { python 2.7, env: TOXENV=py27-dj1.10-dt1.3-tests }
32-
- { python 2.7, env: TOXENV=py27-dj1.10-dt1.4-tests }
33-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.1-tests }
34-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.2-tests }
35-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.3-tests }
36-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.4-tests }
37-
- { python 3.4, env: TOXENV=py34-dj1.9-dt1.1-tests }
38-
- { python 3.4, env: TOXENV=py34-dj1.9-dt1.2-tests }
39-
- { python 3.4, env: TOXENV=py34-dj1.9-dt1.3-tests }
40-
- { python 3.4, env: TOXENV=py34-dj1.9-dt1.4-tests }
41-
- { python 3.4, env: TOXENV=py34-dj1.10-dt1.1-tests }
42-
- { python 3.4, env: TOXENV=py34-dj1.10-dt1.2-tests }
43-
- { python 3.4, env: TOXENV=py34-dj1.10-dt1.3-tests }
44-
- { python 3.4, env: TOXENV=py34-dj1.10-dt1.4-tests }
45-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.1-tests }
46-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.2-tests }
47-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.3-tests }
48-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.4-tests }
49-
- { python 2.7, env: TOXENV=py27-dj1.11-dt1.4-tests }
50-
- { python 3.4, env: TOXENV=py34-dj1.11-dt1.4-tests }
51-
- { python 2.7, env: TOXENV=py27-flake }
52-
- { python 3.4, env: TOXENV=py34-flake }
53-
- { python 3.4, env: TOXENV=py34-isort }
6+
- python: '3.6'
7+
env: TOXENV=py36-dj2.0-dt1.17-tests
8+
- python: '3.6'
9+
env: TOXENV=py36-dj2.0-dt1.18-tests
10+
- python: '3.6'
11+
env: TOXENV=py36-dj2.0-dt1.19-tests
12+
- python: '2.7'
13+
env: TOXENV=py27-dj1.11-dt1.17-tests
14+
- python: '2.7'
15+
env: TOXENV=py27-dj1.11-dt1.18-tests
16+
- python: '2.7'
17+
env: TOXENV=py27-dj1.11-dt1.19-tests
18+
- python: '3.6'
19+
env: TOXENV=py36-dj1.11-dt1.17-tests
20+
- python: '3.6'
21+
env: TOXENV=py36-dj1.11-dt1.18-tests
22+
- python: '3.6'
23+
env: TOXENV=py36-dj1.11-dt1.19-tests
24+
- python: '2.7'
25+
env: TOXENV=py27-dj1.9-dt1.5-tests
26+
- python: '2.7'
27+
env: TOXENV=py27-dj1.9-dt1.6-tests
28+
- python: '2.7'
29+
env: TOXENV=py27-dj1.9-dt1.7-tests
30+
- python: '2.7'
31+
env: TOXENV=py27-dj1.9-dt1.8-tests
32+
- python: '2.7'
33+
env: TOXENV=py27-dj1.9-dt1.9-tests
34+
- python: '2.7'
35+
env: TOXENV=py27-dj1.9-dt1.10-tests
36+
- python: '2.7'
37+
env: TOXENV=py27-dj1.9-dt1.11-tests
38+
- python: '2.7'
39+
env: TOXENV=py27-dj1.9-dt1.12-tests
40+
- python: '2.7'
41+
env: TOXENV=py27-dj1.9-dt1.13-tests
42+
- python: '2.7'
43+
env: TOXENV=py27-dj1.9-dt1.14-tests
44+
- python: '2.7'
45+
env: TOXENV=py27-dj1.9-dt1.15-tests
46+
- python: '2.7'
47+
env: TOXENV=py27-dj1.9-dt1.16-tests
48+
- python: '2.7'
49+
env: TOXENV=py27-dj1.10-dt1.5-tests
50+
- python: '2.7'
51+
env: TOXENV=py27-dj1.10-dt1.6-tests
52+
- python: '2.7'
53+
env: TOXENV=py27-dj1.10-dt1.7-tests
54+
- python: '2.7'
55+
env: TOXENV=py27-dj1.10-dt1.8-tests
56+
- python: '2.7'
57+
env: TOXENV=py27-dj1.10-dt1.9-tests
58+
- python: '2.7'
59+
env: TOXENV=py27-dj1.10-dt1.10-tests
60+
- python: '2.7'
61+
env: TOXENV=py27-dj1.10-dt1.11-tests
62+
- python: '2.7'
63+
env: TOXENV=py27-dj1.10-dt1.12-tests
64+
- python: '2.7'
65+
env: TOXENV=py27-dj1.10-dt1.13-tests
66+
- python: '2.7'
67+
env: TOXENV=py27-dj1.10-dt1.14-tests
68+
- python: '2.7'
69+
env: TOXENV=py27-dj1.10-dt1.15-tests
70+
- python: '2.7'
71+
env: TOXENV=py27-dj1.10-dt1.16-tests
72+
- python: '2.7'
73+
env: TOXENV=py27-dj1.11-dt1.5-tests
74+
- python: '2.7'
75+
env: TOXENV=py27-dj1.11-dt1.6-tests
76+
- python: '2.7'
77+
env: TOXENV=py27-dj1.11-dt1.7-tests
78+
- python: '2.7'
79+
env: TOXENV=py27-dj1.11-dt1.8-tests
80+
- python: '2.7'
81+
env: TOXENV=py27-dj1.11-dt1.9-tests
82+
- python: '2.7'
83+
env: TOXENV=py27-dj1.11-dt1.10-tests
84+
- python: '2.7'
85+
env: TOXENV=py27-dj1.11-dt1.11-tests
86+
- python: '2.7'
87+
env: TOXENV=py27-dj1.11-dt1.12-tests
88+
- python: '2.7'
89+
env: TOXENV=py27-dj1.11-dt1.13-tests
90+
- python: '2.7'
91+
env: TOXENV=py27-dj1.11-dt1.14-tests
92+
- python: '2.7'
93+
env: TOXENV=py27-dj1.11-dt1.15-tests
94+
- python: '2.7'
95+
env: TOXENV=py27-dj1.11-dt1.16-tests
96+
- python: '3.6'
97+
env: TOXENV=py36-dj1.9-dt1.5-tests
98+
- python: '3.6'
99+
env: TOXENV=py36-dj1.9-dt1.6-tests
100+
- python: '3.6'
101+
env: TOXENV=py36-dj1.9-dt1.7-tests
102+
- python: '3.6'
103+
env: TOXENV=py36-dj1.9-dt1.8-tests
104+
- python: '3.6'
105+
env: TOXENV=py36-dj1.9-dt1.9-tests
106+
- python: '3.6'
107+
env: TOXENV=py36-dj1.9-dt1.10-tests
108+
- python: '3.6'
109+
env: TOXENV=py36-dj1.9-dt1.11-tests
110+
- python: '3.6'
111+
env: TOXENV=py36-dj1.9-dt1.12-tests
112+
- python: '3.6'
113+
env: TOXENV=py36-dj1.9-dt1.13-tests
114+
- python: '3.6'
115+
env: TOXENV=py36-dj1.9-dt1.14-tests
116+
- python: '3.6'
117+
env: TOXENV=py36-dj1.9-dt1.15-tests
118+
- python: '3.6'
119+
env: TOXENV=py36-dj1.9-dt1.16-tests
120+
- python: '3.6'
121+
env: TOXENV=py36-dj1.10-dt1.5-tests
122+
- python: '3.6'
123+
env: TOXENV=py36-dj1.10-dt1.6-tests
124+
- python: '3.6'
125+
env: TOXENV=py36-dj1.10-dt1.7-tests
126+
- python: '3.6'
127+
env: TOXENV=py36-dj1.10-dt1.8-tests
128+
- python: '3.6'
129+
env: TOXENV=py36-dj1.10-dt1.9-tests
130+
- python: '3.6'
131+
env: TOXENV=py36-dj1.10-dt1.10-tests
132+
- python: '3.6'
133+
env: TOXENV=py36-dj1.10-dt1.11-tests
134+
- python: '3.6'
135+
env: TOXENV=py36-dj1.10-dt1.12-tests
136+
- python: '3.6'
137+
env: TOXENV=py36-dj1.10-dt1.13-tests
138+
- python: '3.6'
139+
env: TOXENV=py36-dj1.10-dt1.14-tests
140+
- python: '3.6'
141+
env: TOXENV=py36-dj1.10-dt1.15-tests
142+
- python: '3.6'
143+
env: TOXENV=py36-dj1.10-dt1.16-tests
144+
- python: '3.6'
145+
env: TOXENV=py36-dj1.11-dt1.5-tests
146+
- python: '3.6'
147+
env: TOXENV=py36-dj1.11-dt1.6-tests
148+
- python: '3.6'
149+
env: TOXENV=py36-dj1.11-dt1.7-tests
150+
- python: '3.6'
151+
env: TOXENV=py36-dj1.11-dt1.8-tests
152+
- python: '3.6'
153+
env: TOXENV=py36-dj1.11-dt1.9-tests
154+
- python: '3.6'
155+
env: TOXENV=py36-dj1.11-dt1.10-tests
156+
- python: '3.6'
157+
env: TOXENV=py36-dj1.11-dt1.11-tests
158+
- python: '3.6'
159+
env: TOXENV=py36-dj1.11-dt1.12-tests
160+
- python: '3.6'
161+
env: TOXENV=py36-dj1.11-dt1.13-tests
162+
- python: '3.6'
163+
env: TOXENV=py36-dj1.11-dt1.14-tests
164+
- python: '3.6'
165+
env: TOXENV=py36-dj1.11-dt1.15-tests
166+
- python: '3.6'
167+
env: TOXENV=py36-dj1.11-dt1.16-tests
168+
- python: '2.7'
169+
env: TOXENV=py27-flake
170+
- python: '3.6'
171+
env: TOXENV=py36-flake
172+
- python: '3.6'
173+
env: TOXENV=py36-isort
54174

55175
allow_failures:
56-
- env: TOXENV=py34-djmaster-dt1.6-tests
57-
- env: TOXENV=py27-dj1.9-dtmaster-tests
58-
- env: TOXENV=py27-dj1.10-dtmaster-tests
176+
- env: TOXENV=py36-djmaster-dtmaster-tests
177+
- env: TOXENV=py36-dj2.0-dtmaster-tests
59178
- env: TOXENV=py27-dj1.11-dtmaster-tests
60-
- env: TOXENV=py34-dj1.9-dtmaster-tests
61-
- env: TOXENV=py34-dj1.10-dtmaster-tests
62-
- env: TOXENV=py34-dj1.11-dtmaster-tests
179+
- env: TOXENV=py36-dj1.11-dtmaster-tests
63180

64181
install:
65182
- pip install tox>=2.5.0

CHANGELOG.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
CHANGELOG
22
===========
33

4+
v. 0.4.0
5+
---------
6+
* Support for django-tables2 v1.19.0 and all previous versions
7+
* Remove support for django-tables2 < v1.5.0
8+
9+
410
v. 0.3.1
511
---------
612
* Support for django-tables2 v1.5 and v1.6

README.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,21 @@ Using JQuery, Bootstrap3 or Bootstrap4 and Django >=1.9.
2424

2525
- Tested by tox with:
2626

27-
* Python :2.7, 3.4
28-
* Django : 1.9, 1.10, 1.11, 2.0-dev
29-
* django-tables2 : 1.1.8, 1.2.6, 1.3.0, 1.4, 1.5, 1.6.1, master
27+
* Python :2.7, 3.6
28+
* Django : 1.9, 1.10, 1.11, 2.0
29+
* django-tables2 : 1.5, 1.6, ..., 1.19, master
3030

3131
- Require:
3232

3333
* Django >= 1.9
34-
* django-tables2 >= 1.1.0 (earlier version probably will be work but wasn't tested)
34+
* django-tables2 >= 1.5.0 (earlier version probably will be work but wasn't tested)
3535
* **bootstrap3** or **bootstrap4**
3636
* **JQuery**
3737

3838
- Supported locale:
3939

40-
* EN - (english)
41-
* PL - (polish)
40+
* EN - (English)
41+
* PL - (Polish)
4242

4343

4444

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
VERSION = (0, 3, 1)
1+
VERSION = (0, 4, 0)
22
__version__ = ".".join(str(i) for i in VERSION)

django_tables2_column_shifter/tables.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ def __init__(self, *args, **kwargs):
1616
"""Override init for set shifter template"""
1717
super(ColumnShiftTable, self).__init__(*args, **kwargs)
1818
# Override default template
19-
self.template = self.shifter_template
19+
if hasattr(self, "template_name"):
20+
self.template_name = self.shifter_template
21+
else:
22+
self.template = self.shifter_template
2023

2124
def get_column_default_show(self):
2225
"""

django_tables2_column_shifter/tests/test_base.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# encoding: utf-8
22
from os import path
33

4+
import django_tables2 as tables
45
from django.contrib.staticfiles import finders
56
from django.test import Client, TestCase
7+
68
from django_tables2_column_shifter.tests.models import Author
79

810

@@ -60,14 +62,20 @@ def test_is_pagination(self):
6062
def test_tables_template(self):
6163
response = self.client.get('/')
6264
template_name = "django_tables2_column_shifter/bootstrap3.html"
63-
assert response.context['author_table1'].template is not None
64-
assert response.context['author_table1'].template == template_name
65-
66-
assert response.context['author_table2'].template is not None
67-
assert response.context['author_table2'].template == template_name
6865

69-
assert response.context['book_table'].template is not None
70-
assert response.context['book_table'].template == template_name
66+
# In django_table2 v1.18 was renamed Table.Meta.template to template_name
67+
version = tuple(map(int, tables.__version__.split(".")))
68+
if version < (1, 18):
69+
template_attr_name = 'template'
70+
else:
71+
template_attr_name = 'template_name'
72+
73+
assert getattr(response.context['author_table1'], template_attr_name) is not None
74+
assert getattr(response.context['author_table1'], template_attr_name) == template_name
75+
assert getattr(response.context['author_table2'], template_attr_name) is not None
76+
assert getattr(response.context['author_table2'], template_attr_name) == template_name
77+
assert getattr(response.context['book_table'], template_attr_name) is not None
78+
assert getattr(response.context['book_table'], template_attr_name) == template_name
7179

7280
def test_static_files(self):
7381
prefix = "django_tables2_column_shifter"

requirements-dev.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Django>=1.11.1
2-
django-tables2>=1.6.1
1+
Django>=2.0.2
2+
django-tables2>=1.19.0
33
tox>=2.5.0
44
flake8
55
twine

runtests.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
from django.test.utils import get_runner
1010

1111
if __name__ == "__main__":
12-
'''
13-
Testy projektu, przechodzimy po katalogu 'moduly' i dla
14-
każdego modułu wykonujemy testy zamieszczone w katalogu 'testy'
15-
'''
1612
warnings.simplefilter('always', DeprecationWarning)
1713

1814
app_dir = os.path.join(os.path.dirname(__file__), 'django_tables2_column_shifter')

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def readme():
2222
tests_require=['Django', 'django-tables2'],
2323
include_package_data=True,
2424
zip_safe=False,
25-
install_requires=['Django>=1.9', 'django-tables2>=1.1.0'],
25+
install_requires=['Django>=1.9', 'django-tables2>=1.5.0'],
2626
classifiers=[
2727
'Environment :: Web Environment',
2828
'Framework :: Django',
@@ -32,7 +32,7 @@ def readme():
3232
'Programming Language :: Python :: 2',
3333
'Programming Language :: Python :: 2.7',
3434
'Programming Language :: Python :: 3',
35-
'Programming Language :: Python :: 3.4',
35+
'Programming Language :: Python :: 3.6',
3636
'Topic :: Utilities',
3737
],
3838
keywords='django_tables2 django columns',

testproject/db.sqlite3

3 KB
Binary file not shown.

0 commit comments

Comments
 (0)