----------------
- added link to cache settings view in zmi
[agitator]
- fix: ``getPropertiesForUser`` uses principals ``_properties`` mapping now
to map to the column used for ``zope_id`` id this is needed.
[jensens]
- do not expect a configured database connection on plugin install time in
order to play nice with collective.saconnect. Also be less verbose if there
is no connection configured.
[jensens]
- fix: different custom setup un-/install marker for install and uninstall
[jensens]
- Standardize name of installation profile to ``default``.
[jensens]
- modernized: Pep8, Travis CI, ...
[jensens]
- using _get_principal_by_id to get principal in doChangeUser,
doDeleteUser, and allowPasswordSet methods
[gborelli]
- using '__mapper__' instead of '__table__' to check Column type.
It allows to customize user model in another class with
polymorphic_identity
[gborelli]
- fixed getPropertiesForUser, return None if principal doesn't exist
[gborelli]
- check if principal exists before updating its properties
[gborelli]
- Fixed methods ``doSetProperty`` and ``setPropertiesForUser`` such
that they accept a generic principal and not necessarily an instance
of the plugin's principal class.
[malthe]
- Wrap user properties in an actually mutable user property sheet
(which writes changes back to the plugin). Previously, a mutable
property sheet was returned, but this is incorrect since changes
aren't persisted.
While the PAS interface specifies that a dict should be returned for
an immutable result, we opt for a hybrid: a dict-aware user property
sheet which does not promise mutability. The motivation is that the
pluggable authentication service only supports a select list of
property value types and not, for instance, Python's own date and
time classes. By returning a property sheet, we can provide a schema
explicitly and not force the authentication service to "guess"
(infer) it.
[malthe]