diff --git a/_docs/changelog.md b/_docs/changelog.md index 8a90d7ba9..2c1676503 100644 --- a/_docs/changelog.md +++ b/_docs/changelog.md @@ -3,6 +3,12 @@ layout: docs title: Change Log short_title: Change Log --- +## [1.6.1](https://github.com/jhpyle/docassemble/releases/tag/v1.6.1) - 2024-12-07 + + +### Fixed +- Rendering issue with radio buttons and checkboxes on Safari. + ## [1.6.0](https://github.com/jhpyle/docassemble/releases/tag/v1.6.0) - 2024-11-30 diff --git a/_docs/objects.md b/_docs/objects.md index 74961920b..a6c9bf86c 100644 --- a/_docs/objects.md +++ b/_docs/objects.md @@ -1056,6 +1056,33 @@ client.getattr_fresh('total_income') This should only be used on attributes that are defined by `code` blocks. +The +`raise_undefined_attribute_error()` method raises the same type of +exception that a `DAObject` raises when the interview logic requires a +definition of an object attribute that is undefined. + +This can be useful when you are using the `@property` decorator to +implement getter/setter methods. + +{% highlight python %} +from docassemble.base.util import DAObject + +__all__ = ['MyObject'] + +class MyObject(DAObject): + + @property + def foo(self): + if not hasattr(self, '_foo'): + self.raise_undefined_attribute_error('foo') + return self._foo + + @foo.setter + def foo(self, val): + self._foo = val + +{% endhighlight %} + ### Language methods The `possessive()` method is a