[Koha-bugs] [Bug 17499] Koha objects for messaging preferences
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Fri Sep 1 08:41:18 CEST 2017
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=17499
Marcel de Rooy <m.de.rooy at rijksmuseum.nl> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #64035|0 |1
is obsolete| |
Attachment #64036|0 |1
is obsolete| |
Attachment #64037|0 |1
is obsolete| |
Attachment #64038|0 |1
is obsolete| |
Attachment #64039|0 |1
is obsolete| |
Attachment #64040|0 |1
is obsolete| |
Attachment #64041|0 |1
is obsolete| |
Attachment #64042|0 |1
is obsolete| |
Attachment #64043|0 |1
is obsolete| |
Attachment #64044|0 |1
is obsolete| |
Attachment #64795|0 |1
is obsolete| |
--- Comment #48 from Marcel de Rooy <m.de.rooy at rijksmuseum.nl> ---
Created attachment 66686
-->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=66686&action=edit
Bug 17499: Add Koha-objects for messaging preferences
This patch adds Koha-objects for messaging preferences. This patch does not
add any extra logic into these objects.
Includes test coverage for basic usage.
To test:
1. prove t/db_dependent/Koha/Patron/Message/*
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Add useful Koha::Exceptions
This patch adds some basic Koha::Exceptions that will be useful.
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Add basic validation for messaging preference
This patch adds simple validation for messaging preferences.
The validation includes
- check that only either borrowernumber or categorycode is given, but not both
- throw exception if patron for the given borrowernumber is not found
- throw exception if category for the given categorycode is not found
- throw exception if days in advance cannot be configured
- throw exception if days in advance configuration is invalid (value between
0-30)
- throw exception if digest is not available
To test:
1. Run t/db_dependent/Koha/Patron/Message/Preferences.t
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Throw an exception on duplicate messaging preference
When trying to add a duplicate messaging preference that has the same
borrowernumber or category, and message_attribute_id as another preference,
throw Koha::Exceptions::DuplicateObject.
To test:
1. Run t/db_dependent/Koha/Patron/Message/Preferences.t
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Add a method for getting messaging options
This patch adds a method for getting available messaging options.
To test:
1. Run t/db_dependent/Koha/Patron/Message/Preferences.t
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Add a method for setting default messaging preferences
This patch adds a method Koha::Patron::Message::Preference->new_from_default
that
can be used to add category's default messaging preferences to patron for a
given
message type.
Example call:
Koha::Patron::Message::Preference->new_from_default({
borrowernumber => 123,
categorycode => "ABC",
message_attribute_id => 1,
});
Also adds a simple method for Koha::Patron, set_default_messaging_preferences.
Usage: $patron->set_default_messaging_preferences()
To test:
1. Run t/db_dependent/Koha/Patron/Message/Preferences.t
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Improve object usability by enabling direct access to transport
preferences
Since messaging preference is a feature that has multiple related database
tables,
usage via Koha-objects is sometimes frustrating.
This patch adds a feature for Koha::Patron::Message::Preference which enables
access to message transport preferences directly via this object. It allows us
to skip calls to Koha::Patron::Message::Transport::Preference(s) because we can
now get and set via K::P::M::Preference.
Get:
$preference->message_transport_types
Returns a hashref, where each key is stored transport type and value for the
key
is letter code for the transport.
Set:
$preference->set({ message_transport_types => ['sms'] }) or
$preference->message_transport_types('email', 'sms') or
$preference->message_transport_types(['email', 'sms'])
Returns $self (Koha::Patron::Message::Preference object)
To test:
1. Run t/db_dependent/Koha/Patron/Message/Preferences.t
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: Simplify searching by message_name
This patch adds optional search & find parameter message_name for
Koha::Patron::Message::Preferences->search and ->find. This simplifies object
usage by allowing us to skip joins or finding the attribute id ourselves.
prove -v t/db_dependent/Koha/Patron/Message/Preferences.t turns green
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: (follow-up) Bugfix for validation
- Bugfix for days_in_advance and wants_digest validation. Have to check
definedness
of value instead the value itself.
- Fixes broken tests caused by above update.
- Adding a missing unit test for wants_digest validation
- Minor edits to exception messages.
- Throwing exception for invalid message_attribute_id. Incl. unit test
Tested again, prove -v t/db_dependent/Koha/Patron/Message/Preferences.t turns
green
prove -v t/db_dependent/Koha/Patron/Message/* turns green
Signed-off-by: Marc Véron <veron at veron.ch>
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: (follow-up) Bugfix for validation, 2
Remove duplicate validation for digest availability. This is already checked in
$preference->validate().
Set values for current object before validating messaging transport types, not
the other way around as it was before this patch.
Also prevents a crash when patron has messaging transport type selected for
a message for which it should not be available. This patch logs it with as
a warning, and only throws an exception when attempting to set it.
To test:
1. prove t/db_dependent/Koha/Patron/Message/*
Signed-off-by: Josef Moravec <josef.moravec at gmail.com>
Bug 17499: (follow-up) Add information on digest being the only option to
get_options
If a library wants to force digest on a message type, add this information to
Koha::Patron::Message::Preferences->get_options.
Signed-off-by: Marcel de Rooy <m.de.rooy at rijksmuseum.nl>
Squashed 11 commits during QA.
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list