From f5a968ca497743671d4821751063484e1826c460 Mon Sep 17 00:00:00 2001 From: sax Date: Thu, 15 Sep 2022 15:33:16 +0200 Subject: [PATCH 1/5] updates Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index abbda79..8cfa43b 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ develop: clean: # cleaning - @rm -fr dist '~build' .pytest_cache .coverage src/admin_extra_buttons.egg-info + @rm -fr dist '~build' coverage.xml pytest.xml .*.sqlite .pytest_cache .coverage src/django_admin_extra_buttons.egg-info @find . -name __pycache__ -o -name .eggs | xargs rm -rf @find . -name "*.py?" -o -name ".DS_Store" -o -name "*.orig" -o -name "*.min.min.js" -o -name "*.min.min.css" -prune | xargs rm -rf From d64ea88e78a21d51731d0d7c493f7e0c173ac381 Mon Sep 17 00:00:00 2001 From: sax Date: Thu, 15 Sep 2022 23:00:14 +0200 Subject: [PATCH 2/5] allow write visbile property --- src/admin_extra_buttons/buttons.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/admin_extra_buttons/buttons.py b/src/admin_extra_buttons/buttons.py index 954baa1..26bbd68 100644 --- a/src/admin_extra_buttons/buttons.py +++ b/src/admin_extra_buttons/buttons.py @@ -96,6 +96,10 @@ def visible(self): return self._visible + @visible.setter + def visible(self, value): + self._visible = value + @property def request(self): if not self.context: # pragma: no cover From e9c3fff8ac888c672e04bb4e51e249b39672142d Mon Sep 17 00:00:00 2001 From: sax Date: Thu, 15 Sep 2022 23:22:53 +0200 Subject: [PATCH 3/5] add tests --- tests/demoapp/demo/admin.py | 4 ++++ tests/test_admin.py | 7 +++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/test_admin.py diff --git a/tests/demoapp/demo/admin.py b/tests/demoapp/demo/admin.py index 372c119..60e0bb8 100644 --- a/tests/demoapp/demo/admin.py +++ b/tests/demoapp/demo/admin.py @@ -96,6 +96,10 @@ def disabled(self, request): def enabled(self, request): pass + @link(href="https://www.google.com/", visible=lambda btn: True) + def invisible(self, button): + button.visible = False + @button() def error_message(self, request): try: diff --git a/tests/test_admin.py b/tests/test_admin.py new file mode 100644 index 0000000..3a473c9 --- /dev/null +++ b/tests/test_admin.py @@ -0,0 +1,7 @@ +from django.urls import reverse + + +def test_admin(app, admin_user): + url = reverse('admin:demo_demomodel1_changelist') + res = app.get(url, user=admin_user) + assert res.status_code == 200 From 39c464b0975ce127ca2408363049be6f05ebd4fe Mon Sep 17 00:00:00 2001 From: sax Date: Thu, 15 Sep 2022 23:23:37 +0200 Subject: [PATCH 4/5] =?UTF-8?q?Bump=20version:=201.5.3=20=E2=86=92=201.5.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- src/admin_extra_buttons/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 03c4d8c..39a105b 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.5.3 +current_version = 1.5.4 parse = (?P\d+)\.(?P\d+)\.(?P\d+) serialize = {major}.{minor}.{patch} commit = True diff --git a/src/admin_extra_buttons/__init__.py b/src/admin_extra_buttons/__init__.py index 91f9fe8..230507c 100644 --- a/src/admin_extra_buttons/__init__.py +++ b/src/admin_extra_buttons/__init__.py @@ -1,3 +1,3 @@ NAME = 'django-admin-extra-buttons' -VERSION = __version__ = '1.5.3' +VERSION = __version__ = '1.5.4' __author__ = 'sax' From 19eb2713c4b85b3d968d9ef0b7f16cbad58eed33 Mon Sep 17 00:00:00 2001 From: sax Date: Thu, 15 Sep 2022 23:24:26 +0200 Subject: [PATCH 5/5] updates CHANGES --- CHANGES | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES b/CHANGES index 0fbd21f..bf9a15b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +1.5.4 +----- +* allow overwrite visible inside handler + + 1.5.3 ----- * bug fixing