Skip to content

Commit c2600da

Browse files
authored
Merge pull request #3 from arthanson/master
master to django-1.11
2 parents c70e264 + b4916ea commit c2600da

File tree

4 files changed

+26
-25
lines changed

4 files changed

+26
-25
lines changed

LICENCE

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
Copyright (c) 2009, Weston Nielson (wnielson@gmail.com)
22
2010, Jan Schrewe (jschrewe@googlemail.com)
3+
2017, Arthur Hanson (worldnomad@gmail.com)
34

45
Permission is hereby granted, free of charge, to any person obtaining a copy
56
of this software and associated documentation files (the "Software"), to deal
@@ -17,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1718
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1819
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1920
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20-
THE SOFTWARE.
21+
THE SOFTWARE.

genericadmin/__init__.py

100644100755
File mode changed.

genericadmin/admin.py

100644100755
Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from django.contrib.contenttypes.models import ContentType
1414
try:
15-
from django.utils.encoding import force_text
15+
from django.utils.encoding import force_text
1616
except ImportError:
1717
from django.utils.encoding import force_unicode as force_text
1818
from django.utils.text import capfirst
@@ -24,7 +24,7 @@
2424
from django.contrib.admin.options import IS_POPUP_VAR
2525
from django.core.exceptions import ObjectDoesNotExist
2626

27-
JS_PATH = getattr(settings, 'GENERICADMIN_JS', 'genericadmin/js/')
27+
JS_PATH = getattr(settings, 'GENERICADMIN_JS', 'genericadmin/js/')
2828

2929
class BaseGenericModelAdmin(object):
3030
class Media:
@@ -34,26 +34,26 @@ class Media:
3434
generic_fk_fields = []
3535
content_type_blacklist = []
3636
content_type_whitelist = []
37-
37+
3838
def __init__(self, model, admin_site):
3939
try:
4040
media = list(self.Media.js)
4141
except:
4242
media = []
4343
media.append(JS_PATH + 'genericadmin.js')
4444
self.Media.js = tuple(media)
45-
45+
4646
self.content_type_whitelist = [s.lower() for s in self.content_type_whitelist]
47-
self.content_type_blacklist = [s.lower() for s in self.content_type_blacklist]
48-
47+
self.content_type_blacklist = [s.lower() for s in self.content_type_blacklist]
48+
4949
super(BaseGenericModelAdmin, self).__init__(model, admin_site)
5050

5151
def get_generic_field_list(self, request, prefix=''):
5252
if hasattr(self, 'ct_field') and hasattr(self, 'ct_fk_field'):
5353
exclude = [self.ct_field, self.ct_fk_field]
5454
else:
5555
exclude = []
56-
56+
5757
field_list = []
5858
if hasattr(self, 'generic_fk_fields') and self.generic_fk_fields:
5959
for fields in self.generic_fk_fields:
@@ -62,19 +62,19 @@ def get_generic_field_list(self, request, prefix=''):
6262
fields['inline'] = prefix != ''
6363
fields['prefix'] = prefix
6464
field_list.append(fields)
65-
else:
65+
else:
6666
for field in self.model._meta.virtual_fields:
6767
if isinstance(field, GenericForeignKey) and \
6868
field.ct_field not in exclude and field.fk_field not in exclude:
6969
field_list.append({
70-
'ct_field': field.ct_field,
70+
'ct_field': field.ct_field,
7171
'fk_field': field.fk_field,
7272
'inline': prefix != '',
7373
'prefix': prefix,
7474
})
75-
75+
7676
if hasattr(self, 'inlines') and len(self.inlines) > 0:
77-
for FormSet, inline in zip(self.get_formsets(request), self.get_inline_instances(request)):
77+
for FormSet, inline in zip(self.get_formsets_with_inlines(request), self.get_inline_instances(request)):
7878
if hasattr(inline, 'get_generic_field_list'):
7979
prefix = FormSet.get_default_prefix()
8080
field_list = field_list + inline.get_generic_field_list(request, prefix)
@@ -86,13 +86,13 @@ def wrap(view):
8686
def wrapper(*args, **kwargs):
8787
return self.admin_site.admin_view(view)(*args, **kwargs)
8888
return update_wrapper(wrapper, view)
89-
89+
9090
custom_urls = [
9191
url(r'^obj-data/$', wrap(self.generic_lookup), name='admin_genericadmin_obj_lookup'),
9292
url(r'^genericadmin-init/$', wrap(self.genericadmin_js_init), name='admin_genericadmin_init'),
9393
]
9494
return custom_urls + super(BaseGenericModelAdmin, self).get_urls()
95-
95+
9696
def genericadmin_js_init(self, request):
9797
if request.method == 'GET':
9898
obj_dict = {}
@@ -105,7 +105,7 @@ def genericadmin_js_init(self, request):
105105
obj_dict[c.id] = (val, params)
106106
elif val not in self.content_type_blacklist:
107107
obj_dict[c.id] = (val, params)
108-
108+
109109
data = {
110110
'url_array': obj_dict,
111111
'fields': self.get_generic_field_list(request),
@@ -114,15 +114,15 @@ def genericadmin_js_init(self, request):
114114
resp = json.dumps(data, ensure_ascii=False)
115115
return HttpResponse(resp, content_type='application/json')
116116
return HttpResponseNotAllowed(['GET'])
117-
117+
118118
def generic_lookup(self, request):
119119
if request.method != 'GET':
120120
return HttpResponseNotAllowed(['GET'])
121-
121+
122122
if 'content_type' in request.GET and 'object_id' in request.GET:
123123
content_type_id = request.GET['content_type']
124124
object_id = request.GET['object_id']
125-
125+
126126
obj_dict = {
127127
'content_type_id': content_type_id,
128128
'object_id': object_id,
@@ -136,20 +136,20 @@ def generic_lookup(self, request):
136136
obj_dict["object_text"] = capfirst(force_text(obj))
137137
except ObjectDoesNotExist:
138138
raise Http404
139-
139+
140140
resp = json.dumps(obj_dict, ensure_ascii=False)
141141
else:
142142
resp = ''
143143
return HttpResponse(resp, content_type='application/json')
144-
144+
145145

146146

147147
class GenericAdminModelAdmin(BaseGenericModelAdmin, admin.ModelAdmin):
148148
"""Model admin for generic relations. """
149149

150150

151151
class GenericTabularInline(BaseGenericModelAdmin, GenericTabularInline):
152-
"""Model admin for generic tabular inlines. """
152+
"""Model admin for generic tabular inlines. """
153153

154154

155155
class GenericStackedInline(BaseGenericModelAdmin, GenericStackedInline):

setup.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ def convert_readme():
1212

1313
setup(
1414
name='django-genericadmin',
15-
version='0.6.1',
15+
version='0.7.0',
1616
description="Adds support for generic relations within Django's admin interface.",
17-
author='Weston Nielson, Jan Schrewe',
18-
author_email='wnielson@gmail.com, jschrewe@googlemail.com',
19-
url='https://github.com/jschrewe/django-genericadmin',
17+
author='Weston Nielson, Jan Schrewe, Arthur Hanson',
18+
author_email='wnielson@gmail.com, jschrewe@googlemail.com, worldnomad@gmail.com',
19+
url='https://github.com/arthanson/django-genericadmin',
2020
packages = ['genericadmin'],
2121
# package_data={'genericadmin': ['static/genericadmin/js/genericadmin.js']},
2222
classifiers=[

0 commit comments

Comments
 (0)