Koha/Koha
Tomas Cohen Arazi 71e7804d2c Bug 17425: Make Koha::Object raise exceptions
This patch makes Koha::Object raise exceptions in the following
situations:
- When a non existent accessor is called
- When a non existent property is tried to be updated using ->set

On implementing this change, we introduce Koha::Exceptions::Object class
to contain all Koha::Object-specific exception definitions.

Unit tests for this change are introduced in
t/db_dependent/Koha/Objects.t

To test:
- Apply the patches on master
- Run:
  $ prove t/db_dependent/Koha/Objects.t
=> SUCCESS: Tests return green
- Sign off

Note: A followup introduces the dependency for Try::Tiny. It needs to be
present for running the tests.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2016-10-21 17:37:50 +00:00
..
Account Bug 15675: Fix conflict with bug 15446 (type vs _type) 2016-03-02 03:24:46 +00:00
Acquisition Bug 15531: (followup) Use a quantity of 1, not null, for standing orders 2016-04-29 13:07:18 +00:00
Authority Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
BiblioUtils Bug 10455: (follow-up 3) Remove biblioitems.marc 2016-10-21 14:35:00 +00:00
Cache Bug 16088: Introduce Koha::Cache::Memory::Lite to cache the language 2016-06-04 07:43:22 +00:00
Config Bug 11998: Use Koha::Cache to cache sysprefs 2016-03-15 07:08:28 +00:00
Edifact BUG 17414 Add new GIR codes in Edifact 2016-10-11 14:14:12 +00:00
Exceptions Bug 17425: Make Koha::Object raise exceptions 2016-10-21 17:37:50 +00:00
Exporter Bug 17088: [Follow-up] Use Logger for failed exports 2016-10-10 12:24:00 +00:00
Filter/MARC Bug 16365: Selectively introduce GetMarcStructure() "unsafe" variant for better performance 2016-09-09 10:43:22 +00:00
Indexer Revert Bug 11081 - Port Koha::Contrib::Tamil indexer into Koha code base 2016-03-01 16:56:35 +00:00
Item Bug 16686: Add Koha::Object based class for Koha::Item::Transfer[s] 2016-09-02 13:56:03 +00:00
List Bug 15065: (follow-up) update license header 2013-10-14 21:50:10 +00:00
MetadataRecord Bug 16708 - (QA followup) Fix pod copy/paste error 2016-06-24 11:59:40 +00:00
Middleware Bug 16520 (Follow up) Rebase fixes 2016-10-11 12:37:17 +00:00
Misc Bug 16011: $VERSION - Remove use vars qw(); 2016-03-24 17:20:39 +00:00
Number Bug 16768 - Add official number format for Switzerland: 1'234'567.89 2016-06-24 14:00:03 +00:00
OAI/Server Bug 15527: Add a stylesheet for OAI-PMH to aid usability 2016-03-24 17:28:38 +00:00
Old Bug 14695 [QA Followup] - Fix method names 'type' to '_type' 2016-09-03 00:21:22 +00:00
Patron Bug 17080: categories.checkprevcheckout - use the default value defined in the DBIx::Class schema 2016-10-21 17:33:20 +00:00
Plugins Bug 16975 : @INC should not have '.' as its last entry 2016-08-04 19:39:11 +00:00
QueryParser/Driver Bug 15258: Fix Perl scripts declaring unused variables 2015-12-30 17:24:45 -07:00
RecordProcessor Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
REST Bug 17445: Move the params check after the authentication check 2016-10-21 17:15:25 +00:00
Schema/Result Bug 16965: [Follow-up] Adjust get_object_class 2016-10-21 17:31:14 +00:00
SearchEngine Bug 17372: Standardize Elasticsearch paths 2016-10-11 01:07:03 +00:00
Serial Bug 7677: QA followup 2016-09-12 09:13:57 +00:00
Sitemapper Bug 11190: (QA followup) for tests on jenkins 2015-08-31 10:32:34 -03:00
SMS Bug 15548 [QA Followup] - More new uses of Koha::Borrower 2016-03-03 14:39:00 -07:00
Subscription Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
SuggestionEngine Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
Template/Plugin Bug 17252 - Koha::AuthorisedValues - Remove GetAuthorisedValueByCode 2016-10-21 15:35:21 +00:00
Util Bug 17302: [Follow-up] Make Normalize.pm undef-resistent 2016-09-25 14:04:54 +00:00
Account.pm Bug 15895 - Add Koha::Account module, use Koha::Account::pay internally for recordpayment 2016-09-27 13:49:44 +00:00
AdditionalField.pm Bug 10855: Remove additional field values when subscription is removed 2015-10-02 15:10:31 -03:00
AudioAlert.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
AudioAlerts.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
AuthorisedValue.pm Bug 12478: Add Koha::AuthorisedValue[s] class 2016-04-26 20:20:10 +00:00
AuthorisedValueCategories.pm Bug 17216: Add Koha::AuthorisedValueCategory|ies classes 2016-10-11 07:30:30 +00:00
AuthorisedValueCategory.pm Bug 17216: Add Koha::AuthorisedValueCategory|ies classes 2016-10-11 07:30:30 +00:00
AuthorisedValues.pm Bug 17253: Fetch all the columns instead of only authorised_value 2016-10-21 15:35:34 +00:00
Authorities.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Authority.pm Bug 16708: Fix authority reindex for ElasticSearch 2016-06-24 11:59:40 +00:00
AuthUtils.pm Bug 16818: External auth redirect broken under Plack 2016-08-04 19:42:44 +00:00
Biblio.pm Bug 14694 - Make decreaseloanHighHolds more flexible 2016-03-07 17:48:51 +00:00
BiblioFramework.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
BiblioFrameworks.pm Bug 14889: Fix typo in Koha/BiblioFrameworks.pm 2016-03-03 20:32:47 +00:00
Biblioitem.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Biblioitems.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Biblios.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
BiblioUtils.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
Cache.pm Bug 16769: Uniformise calls to Koha::Cache->set_in_cache 2016-10-10 17:03:54 +00:00
Caches.pm Bug 11921: (QA followup) Remove remaining unused var 2016-09-08 10:29:00 +00:00
Calendar.pm Bug 16769: Uniformise calls to Koha::Cache->set_in_cache 2016-10-10 17:03:54 +00:00
Checkout.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
Checkouts.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
Cities.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
City.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Config.pm Bug 11921: (followup) Don't die on non-existent koha-conf.xml 2016-09-09 13:56:13 +00:00
CsvProfile.pm Bug 15451: Add the 2 new modules Koha::CsvProfile[s] 2016-07-22 17:18:34 +00:00
CsvProfiles.pm Bug 15451: Add the 2 new modules Koha::CsvProfile[s] 2016-07-22 17:18:34 +00:00
Database.pm Bug 10337: Add a script to populate devs' DBs with sample data 2016-10-21 14:08:06 +00:00
DateUtils.pm Bug 16848: Prevent invalid warning to be carped from output_pref 2016-08-10 13:43:34 +00:00
EDI.pm Bug 16288: Remove Reference to obsolete EAN syspref 2016-05-16 17:14:56 +00:00
Edifact.pm Bug 7736: Support Ordering via Edifact EDI messages 2016-04-01 20:03:17 +00:00
Email.pm Bug 9530: Adding a new Koha::Email module 2014-10-27 10:38:14 -03:00
Exceptions.pm Bug 14048: Add RefundLostItemFeeRule table and classes 2016-07-07 10:37:01 -06:00
FrameworkPlugin.pm Bug 9006: Remove AUTOLOAD in C4::Context 2015-07-20 10:11:41 -03:00
Hold.pm Bug 14642: Make sure the log will be written only if the hold has been deleted 2016-08-17 18:43:13 +00:00
Holds.pm Bug 17327: (QA followup) Remove Carp::Always which is not used 2016-09-24 20:55:17 +00:00
I18N.pm Bug 11848: (follow-up) update license statment 2014-05-05 04:51:42 +00:00
Issue.pm Bug 16086: Add Issues Koha object. 2016-04-07 00:31:21 +00:00
Issues.pm Bug 16086: Add Issues Koha object. 2016-04-07 00:31:21 +00:00
IssuingRule.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
IssuingRules.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Item.pm Bug 16686: Rename the transfer method to get_transfer 2016-09-02 13:56:03 +00:00
Items.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
ItemType.pm Bug 12478: Add Koha::ItemType[s] classes 2016-04-26 20:20:10 +00:00
ItemTypes.pm Bug 12478: Add Koha::ItemType[s] classes 2016-04-26 20:20:10 +00:00
Libraries.pm Bug 15758: Koha::Libraries - Move onlymine to C4::Context::only_my_library 2016-09-08 14:36:04 +00:00
Library.pm Bug 15446 [QA Followup] - Update new classes 2016-02-12 12:35:57 -07:00
LibraryCategories.pm Bug 15446 [QA Followup] - Update new classes 2016-02-12 12:35:57 -07:00
LibraryCategory.pm Bug 15629: Koha::Libraries - Remove GetBranchesInCategory (1) 2016-02-24 03:55:05 +00:00
Linktracker.pm Bug 8917 : [ Sign followup ] Track clicks to links external to Koha 2013-03-07 11:14:25 -05:00
Localization.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Localizations.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Logger.pm Bug 17088: [Follow-up] Adjust POD in Logger.pm 2016-10-10 12:24:00 +00:00
MarcSubfieldStructure.pm Bug 17249: Remove GetKohaAuthorisedValuesFromField - Add classes MarcSubfieldStructure[s] 2016-10-21 15:13:55 +00:00
MarcSubfieldStructures.pm Bug 17249: Remove GetKohaAuthorisedValuesFromField - Add classes MarcSubfieldStructure[s] 2016-10-21 15:13:55 +00:00
MetadataIterator.pm Bug 12478 - authorities can now be stored in ES 2016-04-26 20:20:03 +00:00
MetadataRecord.pm Bug 17201: (bug 16431 follow-up) Remove occurrence of marcfromkohafield 2016-09-02 14:00:11 +00:00
MetaSearcher.pm Bug 16769: Uniformise calls to Koha::Cache->set_in_cache 2016-10-10 17:03:54 +00:00
News.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
NewsItem.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
NorwegianPatronDB.pm Bug 16011: $VERSION - Remove comments 2016-03-24 17:20:29 +00:00
Object.pm Bug 17425: Make Koha::Object raise exceptions 2016-10-21 17:37:50 +00:00
Objects.pm Bug 16965: Allow Koha::Objects->result_class 2016-10-21 17:31:14 +00:00
OldIssue.pm Bug 16087: Add Koha::OldIssues objects. 2016-04-07 00:18:40 +00:00
OldIssues.pm Bug 16087: Add Koha::OldIssues objects. 2016-04-07 00:18:40 +00:00
Patron.pm Bug 16907: Make sure the log will be written only if the patron has been deleted 2016-10-21 16:20:41 +00:00
Patrons.pm Bug 15548: Move new patron related code to Patron* 2016-03-03 14:38:26 -07:00
Plugins.pm Bug 16586: [QA Follow-up] Simplify code 2016-09-09 12:13:39 +00:00
Rating.pm Bug 17089: Mark out the boundaries of ratings 2016-09-09 09:31:30 +00:00
Ratings.pm Bug 17089: Koha::Ratings - Remove GetRating 2016-09-09 09:31:29 +00:00
RecordProcessor.pm Bug 15870: potential follow up to comment #8 2016-03-24 20:15:40 +00:00
RefundLostItemFeeRule.pm Bug 14048: (QA followup) Default to 1 if no default rule 2016-07-07 10:37:01 -06:00
RefundLostItemFeeRules.pm Bug 14048: (QA followup) Default to 1 if no default rule 2016-07-07 10:37:01 -06:00
Review.pm Bug 15839: Koha::Reviews - Remove approvereview & unapprovereview 2016-09-09 10:29:57 +00:00
Reviews.pm Bug 15839: Koha::Reviews - Add Koha::Review[s] classes 2016-09-09 10:29:31 +00:00
Schema.pm Bug 11891: (follow-up) remove custom storage class 2014-06-19 11:55:03 -03:00
SearchEngine.pm Bug 12478: make things using SimpleSearch use the new version 2016-04-26 20:20:07 +00:00
SearchField.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
SearchFields.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
SearchMarcMap.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
SearchMarcMaps.pm Bug 12748: (QA followup) fix several tiny QA tools warnings 2016-04-26 20:20:13 +00:00
Serial.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Serials.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
SimpleMARC.pm Bug 16011: $VERSION - Remove the $VERSION init 2016-03-24 17:20:28 +00:00
Sitemapper.pm Bug 11190: (QA followup) for tests on jenkins 2015-08-31 10:32:34 -03:00
Subscription.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Subscriptions.pm Bug 15446: (follow-up) Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Suggestion.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
SuggestionEngine.pm Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
Suggestions.pm Bug 14757 - Allow the use of Template Toolkit syntax for slips and notices 2016-07-08 13:47:42 +00:00
Token.pm Bug 17110: Lower CSRF expiry in Koha::Token 2016-09-09 13:40:41 +00:00
Upload.pm Bug 14686: [QA Follow-up] Move allows_add_by to Upload.pm 2016-04-27 16:14:18 +00:00
Virtualshelf.pm Bug 17094: Make Koha::Virtualshelf methods return Koha::Objects-based objects 2016-10-11 13:14:46 +00:00
Virtualshelfcontent.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelfcontents.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelfshare.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelfshares.pm Bug 15446: Rename Koha::Object[s]->type with _type 2016-02-12 12:35:57 -07:00
Virtualshelves.pm Bug 16551: Display the name of lists to the search results at the OPAC 2016-09-25 15:43:07 +00:00
XSLT_Handler.pm Bug 13262 - Add parameters to XSLT Handler transform method 2015-02-05 15:24:29 -03:00