From d2a9501275b7c980cdd61ed6bceb490e1143b73c Mon Sep 17 00:00:00 2001 From: Andrew Barrow <60839662+acbgbca@users.noreply.github.com> Date: Tue, 30 May 2023 03:41:09 +0000 Subject: [PATCH] Added ability to set title and description #118 --- bookmarks/tests/test_bookmark_new_view.py | 19 +++++++++++++++++++ bookmarks/views/bookmarks.py | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/bookmarks/tests/test_bookmark_new_view.py b/bookmarks/tests/test_bookmark_new_view.py index 83ec706..eb416d9 100644 --- a/bookmarks/tests/test_bookmark_new_view.py +++ b/bookmarks/tests/test_bookmark_new_view.py @@ -75,6 +75,25 @@ class BookmarkNewViewTestCase(TestCase, BookmarkFactoryMixin): 'placeholder=" " autofocus class="form-input" required ' 'id="id_url">', html) + + def test_should_prefill_title_from_url_parameter(self): + response = self.client.get(reverse('bookmarks:new') + '?title=Example%20Title') + html = response.content.decode() + + self.assertInHTML( + '', + html) + + def test_should_prefill_description_from_url_parameter(self): + response = self.client.get(reverse('bookmarks:new') + '?description=Example%20Site%20Description') + html = response.content.decode() + + self.assertInHTML( + '', + html) def test_should_enable_auto_close_when_specified_in_url_parameter(self): response = self.client.get( diff --git a/bookmarks/views/bookmarks.py b/bookmarks/views/bookmarks.py index c11c9a9..b541a1e 100644 --- a/bookmarks/views/bookmarks.py +++ b/bookmarks/views/bookmarks.py @@ -114,6 +114,8 @@ def convert_tag_string(tag_string: str): @login_required def new(request): initial_url = request.GET.get('url') + initial_title = request.GET.get('title') + initial_description = request.GET.get('description') initial_auto_close = 'auto_close' in request.GET if request.method == 'POST': @@ -131,6 +133,10 @@ def new(request): form = BookmarkForm() if initial_url: form.initial['url'] = initial_url + if initial_title: + form.initial['title'] = initial_title + if initial_description: + form.initial['description'] = initial_description if initial_auto_close: form.initial['auto_close'] = 'true'