Koha/t
Jonathan Druart c631fa0924 Bug 11023: Automatic item modification by age (Was Toggle "new" status")
This patch adds:
- a new DB field items.new.
- a new page to configure this new status
  (tools/toggle_new_status.pl).
- a new cronjob script (misc/cronjobs/automatic_item_modification_by_age.pl
was misc/cronjob/toggle_new_status.pl)

Why this status is useful for some libraries ?
The use cases are:
- to know easily what are the new items (with a simple sql query).
- to display an icon in the search results.
- issuing rules can be adapt for new items. Automatically (using the
  cronjob script), the status change (depending the configuration) and
  the item can be issued, for example.
- a RSS/Atom feeds can be created on these new items.

Test plan:
- log in with a librarian having the tools > items_batchmod permission.
- navigate to Home > Tools > Automatic item modifications by age (was: Toggle new status)
- click on the edit button
- there are 3 "blocks":
  * duration: the duration during an item is considered as new.
  * conditions: the status will change only if the conditions are meet.
  * substitutions: if there is no substitution, no action will be done.
    You can add some change to apply to the matching items.
    E.g. ccode=3
         new=''
    If the value is an empty string (in other words, the input does not
    contain anything), the field will be deleted.
  You can create as many rules as you want.
- test the interface : add/remove rule, conditions, substitutions,
  submit the form, edit, etc.
  (There is a looot of JS everywhere, so certainly a looot of bugs...).
- when you have your rules defined, you can now launch the cronjob
  script without any parameter.
  A report will be displayed with the matching itemnumber and the
  substitutions to apply. Verify results are consistent.
- launch the script with the -c argument and verify values have been
  modified depending the substitution rules.

Signed-off-by: juliette et remy <juliette.levast@iepg.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: Add the ability to specify fields from biblioitems table.

Test plan:
Same as before but try with fields from the biblioitems table.

Signed-off-by: juliette et remy <juliette.levast@iepg.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: Add UT for C4::Items::ToggleNewStatus

Test plan:
prove t/db_dependent/Items/ToggleNewStatus.t

Signed-off-by: juliette et remy <juliette.levast@iepg.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: FIX - condition on biblioitems table does not work

If a rule contains a condition on the biblioitems table, the match won't
work. This patch fixes this issue.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: Use DBIx-Class to retrieve column names

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: Don't use the biblioitems fields for the subtitution

It's dangerous to allow a change on the biblioitems fields with this
feature.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: Rename the duration parameter with 'age'

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: The age parameter should be a number

The template should check if the age parameter is correctly filled
(should be a number).

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023: Change the name of the feature

Originaly this feature only permits to update the "new" field.
Now all item fields can be updated.
The name of the feature is now "Automatic item modifications by age".

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023 [QA Followup]

* Update DB version
* Fix capitalization error
* Rename misc/cronjobs/toggle_new_status.pl to misc/cronjobs/automatic_item_modification_by_age.pl

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Bug 11023 [QA Followup] - Complete the renaming of "toggle new status" to "automatic item modification by age"

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
2016-03-02 22:56:31 +00:00
..
Acquisition Bug 14778: Remove t/Acquisition/Invoices.t 2015-10-23 12:01:19 -03:00
Biblio Bug 11247: Improve tests 2015-09-02 14:36:33 -03:00
Budgets
Circulation
DataTables Bug 15252 - Patron search on start with does not work with several terms 2015-12-30 13:05:54 +00:00
db_dependent Bug 11023: Automatic item modification by age (Was Toggle "new" status") 2016-03-02 22:56:31 +00:00
External Bug 14147: Add unit tests to C4::External::OverDrive 2015-05-14 11:11:58 -03:00
Koha/Plugin Bug 12412: Add ability for plugins to convert arbitrary files to MARC from record staging tool 2015-05-04 15:33:51 -03:00
lib Bug 15081: Take transaction handling out from TestBuilder 2015-11-04 12:32:56 -03:00
Members Bug 14778: Use mock_dbh where it should be used 2015-10-23 12:01:18 -03:00
Number
Search
Serials
00-checkdatabase-version.t Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
00-deprecated.t
00-load.t
00-merge-conflict-markers.t Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
00-testcritic.t Bug 15258: Prevent unused declared variables 2015-12-30 17:24:30 -07:00
00-valid-xml.t Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
Auth_with_shibboleth.t Bug 15611: Fix another implimented vs implemented 2016-01-27 05:17:21 +00:00
AuthoritiesMarc_MARC21.t
AuthoritiesMarc_UNIMARC.t
AuthUtils.t
Barcodes_annual.t
Barcodes_EAN13.t
Barcodes_hbyymmincr.t
Barcodes_incremental.t
Biblio.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
Bookseller.t
Boolean.t Bug 13814: (QA followup) test for generated warnings 2015-03-15 09:03:33 -03:00
Borrower.t Bug 14778: Use mock_dbh where it should be used 2015-10-23 12:01:18 -03:00
Branch.t
Breeding.t
Budgets.t
Cache.t
Calendar.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
Charset.t Bug 14112: Silence warnings in t/Charset.t 2015-05-27 14:32:41 -03:00
Circulation_barcodedecode.t Bug 15151: Avoid DB access to load C4::Members 2015-11-08 13:10:13 -03:00
ClassSortRoutine.t
ClassSortRoutine_Dewey.t
ClassSortRoutine_Generic.t
ClassSortRoutine_LCC.t
ClassSource.t
Context.t Bug 14751: [QA Follow-up] Unit tests for interface method 2016-03-02 04:21:26 +00:00
Contract.t
Creators.t Bug 12194: add more tests for pdf creation 2015-10-22 09:42:21 -03:00
DateUtils.t Bug 12072: Add system preference for New dateformat dd.mm.yyyy (dmydot) 2015-11-19 13:12:00 -03:00
Debug.t Bug 14114: Silence warns and cleanup t/Debug.t 2015-05-22 09:33:34 -03:00
dummy.t
External_Syndetics.t
Form_MessagingPreferences.t
Heading.t
Images.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
ImportBatch.t
Installer_PerlDependencies.t
Installer_PerlModules.t
Installer_pm.t
ItemCirculationAlertPreference.t
Koha.t Bug 15800: Koha::AuthorisedValues - Remove C4::Koha::IsAuthorisedValueCategory 2016-03-02 03:54:16 +00:00
Koha_Email.t
Koha_MetadataRecord.t Bug 8064: Fix unit tests for createMergeHash 2015-11-09 15:08:57 -03:00
Koha_Template_Plugin_Cache.t
Koha_Template_Plugin_Koha.t Bug 13758: (QA followup) revert case change that broke the tests 2015-05-07 14:12:14 -03:00
Koha_Util_FrameworkPlugin.t Bug 13437: Preliminary changes for marc21 plugins field 008 2015-06-10 12:51:26 -03:00
Koha_Util_MARC.t Bug 8064: Fix unit tests for createMergeHash 2015-11-09 15:08:57 -03:00
Labels.t Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
Labels_split_ccn.t Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
Labels_split_ddcn.t Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
Labels_split_lccn.t Bug 9978: (followup) Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:43 -03:00
Languages.t Bug 15719: Silence warning in C4/Language.pm during web install - tests 2016-02-24 01:55:27 +00:00
Letters.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
Log.t
Logger.t Bug 14167: (QA followup) use warn instead of just STDERR 2015-07-21 10:50:17 -03:00
Matcher.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
Members_Attributes.t
Members_AttributeTypes.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
Members_Messaging.t
Message.t
NorwegianPatronDB.t
OpenLibrarySearch.t Bug 6624: Add test for OpenLibrary 2016-02-23 22:04:15 +00:00
Output.t
Output_JSONStream.t
Overdues.t
Patroncards.t
Patroncards_Batch.t
Patroncards_Layout.t
Patroncards_Lib.t
Patroncards_Patroncard.t
Patroncards_Profile.t
Patroncards_Template.t
perlcriticrc Bug 15258: Prevent unused declared variables 2015-12-30 17:24:30 -07:00
Prices.t Bug 12976: Fix some comment in tests 2015-02-19 09:46:44 -03:00
Print.t
QueryParser.t
RecordProcessor.t Bug 15777 - Test to prove initialization isn't working correctly. 2016-02-24 01:39:39 +00:00
Review.t
Ris.t
RotatingCollections.t
Scheduler.t
Scrubber.t Bug 14116: Silence noisy output for t/Scrubber. 2015-06-01 14:10:56 -03:00
Search.t
Search_PazPar2.t Bug 14117: Silence warnings t/SearchPazPar2.t 2015-06-01 14:10:14 -03:00
SimpleMARC.t Bug 14098: Implement the copy_and_replace action for MTT 2015-09-07 11:17:13 -03:00
SIP_Sip.t
smolder_smoke_signal
SMS.t
SocialData.t Bug 15150: Make t/ tests skip if Test::DBIx::Class absent 2015-11-06 12:25:27 -03:00
Stats.t
SuggestionEngine.t
SuggestionEngine_AuthorityFile.t
TmplToken.t
XSLT.t