- Slight overhaul of init() system; added ``edbob.init_modules()`` function.
- Added ``read_service()`` method to ``AppConfigParser`` class, for use with
Windows services.
- Added generic ``Service`` class to ``edbob.win32`` module. (File monitor now
inherits from it.)
- Tweaked ``edbob.db`` initialization somewhat. (``Base.metadata`` no longer
binds to ``edbob.db.engine``.)
- Fixed guest role bug in ``edbob.db.auth.has_permission()`` function.
- Added "automagical" enumeration support for database extensions.
- Added ``EMAIL_PREFERENCE`` enum to ``contact`` database extension.
- Tweaked ``edbob.pyramid.includeme()``.
- Tweaked ``people`` Pyramid views.
The following changes are included:
- ``edbob.pyramid.Session`` uses ``sessionmaker()`` instead of ``edbob.db.Session``.
- ``edbob.pyramid.includeme()`` now configures ``pyramid_beaker`` directly.
- ``edbob.pyramid.includeme()`` now configures auth/auth policies directly.
- Pyramid progress indicator added.
- ``edbob.pyramid.Session`` added to global template render context.
- ``request.get_referrer()`` method added (removed ``edbob.pyramid.util`` module).
- ``request.get_setting()`` and ``request.save_setting()`` methods added.
- ``Grid.column_header()`` now supports ``title`` attribute.
- ``Grid.editable`` support added.
- Template / style tweaks.
- ``text`` argument to ``disable_button()`` JS function is now optional.
- Forbidden view flash message no longer duplicated when multiple redirects
occur.
- ``CrudView`` class improved to support various workflow needs
(e.g. post-delete procesing).
- Extra renderer keyword args support added to ``GridView`` class.
- ``SearchableAlchemyGridView`` class improved to support various workflow
needs (e.g. obtaining an unsorted query).