Skip to content

Commit 33eee4d

Browse files
committed
Merge branch 'release/1.5.5'
* release/1.5.5: bump version updates
2 parents 3cb7200 + 95d65dd commit 33eee4d

File tree

7 files changed

+22
-9
lines changed

7 files changed

+22
-9
lines changed

.bumpversion.cfg

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[bumpversion]
2-
current_version = 1.5.4
2+
current_version = 1.5.5
33
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)
44
serialize = {major}.{minor}.{patch}
5-
commit = True
5+
commit = False
66
tag = False
77
allow_dirty = True
88

CHANGES

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
1.5.5
2+
-----
3+
* minor refactoring of get_urls()
4+
5+
16
1.5.4
27
-----
38
* allow overwrite visible inside handler

setup.py

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def read(*parts):
3939
'wheel',
4040
]
4141
dev_require = ['autopep8',
42+
'bump2version',
4243
'check-manifest',
4344
'django',
4445
'pip-tools',

src/admin_extra_buttons/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
NAME = 'django-admin-extra-buttons'
2-
VERSION = __version__ = '1.5.4'
2+
VERSION = __version__ = '1.5.5'
33
__author__ = 'sax'

src/admin_extra_buttons/buttons.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ def enabled(self):
8484
def model_admin(self):
8585
return self.handler.model_admin
8686

87+
@property
88+
def admin_site(self):
89+
return self.handler.model_admin.admin_site
90+
8791
@property
8892
def visible(self):
8993
if not self.context: # pragma: no cover
@@ -132,9 +136,9 @@ def get_url(self, context):
132136
detail = len(self.handler.sig.parameters) > self.default_change_form_arguments
133137
try:
134138
if self.change_form and self.original and detail:
135-
url_ = reverse(f'admin:{self.handler.url_name}', args=[self.original.pk])
139+
url_ = reverse(f'{self.admin_site.name}:{self.handler.url_name}', args=[self.original.pk])
136140
elif self.change_list:
137-
url_ = reverse(f'admin:{self.handler.url_name}')
141+
url_ = reverse(f'{self.admin_site.name}:{self.handler.url_name}')
138142
else:
139143
return None
140144
filters = get_preserved_filters(self.request)

src/admin_extra_buttons/mixins.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,11 @@ def get_common_context(self, request, pk=None, **kwargs):
122122
context['original'] = self.object
123123
return context
124124

125-
def get_urls(self):
125+
def get_extra_urls(self) -> list:
126126
self.extra_button_handlers = {}
127127
handlers = {}
128128
extra_urls = []
129129
opts = self.model._meta
130-
original = super().get_urls()
131130
for cls in inspect.getmro(self.__class__):
132131
for method_name, method in cls.__dict__.items():
133132
if callable(method) and isinstance(method, BaseExtraHandler):
@@ -145,7 +144,12 @@ def get_urls(self):
145144
name=handler.url_name))
146145
if hasattr(handler, 'button_class'):
147146
self.extra_button_handlers[handler.func.__name__] = handler
148-
return extra_urls + original
147+
return extra_urls
148+
149+
def get_urls(self):
150+
urls = self.get_extra_urls()
151+
urls.extend(super().get_urls())
152+
return urls
149153

150154
def get_changeform_buttons(self, context):
151155
return [h for h in self.extra_button_handlers.values() if h.change_form in [True, None]]

src/admin_extra_buttons/templates/admin_extra_buttons/includes/change_form_buttons.html

-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
{% for button in buttons %}
44
{% if button.can_render and button.change_form %}
55
{{ button }}
6-
{# {% include "admin_extra_buttons/includes/button.html" with button=button %}#}
76
{% endif %}
87
{% endfor %}

0 commit comments

Comments
 (0)