Skip to content

Commit

Permalink
Add default fieldset if no fieldsets are defined
Browse files Browse the repository at this point in the history
  • Loading branch information
stephrdev committed Jan 16, 2025
1 parent 148a554 commit e5efbae
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 14 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Changelog
=========

2.2.0 - 2025-01-16
------------------

* Add default fieldset containing all fields if no fieldsets are defined


2.1.0 - 2025-01-16
------------------

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "django-tapeforms"
version = "2.1.0"
version = "2.2.0"
description = "A helper to render Django forms using HTML templates."
authors = [{ name = "Stephan Jaekel", email = "[email protected]" }]
requires-python = ">=3.8,<4"
Expand Down
7 changes: 1 addition & 6 deletions tapeforms/fieldsets.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ def __init__(
for rendering around (like a fieldset headline.
:return: A configured fieldset instance.
"""
assert fields or exclude is not None, "Please provide fields or exclude argument."

self.form = form
self.render_fields = fields or ()
self.exclude_fields = exclude or ()
Expand Down Expand Up @@ -176,10 +174,7 @@ def get_fieldsets(self, fieldsets=None):
prevered of the ``fieldsets`` property of the form.
:return: generator which yields fieldset instances.
"""
fieldsets = fieldsets or self.fieldsets

if not fieldsets:
return
fieldsets = fieldsets or self.fieldsets or [{}]

# Search for primary marker in at least one of the fieldset kwargs.
has_primary = any(fieldset.get("primary") for fieldset in fieldsets)
Expand Down
11 changes: 5 additions & 6 deletions tapeforms/tests/test_fieldsets.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,6 @@ def test_init_with_template(self):
fieldset = TapeformFieldset(form, fields=("my_field1",), template="fieldset.html")
assert fieldset.layout_template == "fieldset.html"

def test_init_missing_field_selection(self):
form = DummyForm()
with pytest.raises(AssertionError):
TapeformFieldset(form)

def test_repr(self):
form = DummyForm()
fieldset = TapeformFieldset(form, exclude=("my_field3",))
Expand Down Expand Up @@ -122,7 +117,11 @@ def test_get_fieldset(self):

def test_get_fieldsets_empty(self):
form = DummyFormWithEmptyFieldsets()
assert len(list(form.get_fieldsets())) == 0
fieldsets = list(form.get_fieldsets())
assert len(fieldsets) == 1
assert fieldsets[0].primary_fieldset is True
assert [row[0].name for row in fieldsets[0].visible_fields()] == [
'my_field1', 'my_field2', 'my_field4']

def test_get_fieldsets_auto_primary(self):
form = DummyFormWithFieldsets()
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e5efbae

Please sign in to comment.