Koha/t
Jonathan Druart 110c665a4b Bug 12164: Close a budget period (budget)
This is the main patch.

On closing a budget period, all unreceived orders are moved from the
old/previous fiscal year into the new fiscal year.

You can rollover funds unused in the previous fiscal year to the new
fiscal year.

This patch set is based on bug 12168 (bugfix) and can be tested on top
of bug 11578 (easier to see the fund structure).

The patch set is cut in 6 main patches:

- Move the budget period clone logic into C4::Budgets
  The code is moved from the pl to Budgets.pm and unit tests are provided.
  The original code should certainly be buggy since a typo existed.
- On cloning budget period, mark original budget as inactive
  Cloning a budget period is already possible in Koha, this patch adds a
  checkbox to mark as inactive the original budget. That avoids to edit
  the budget and click the "inactive" checkbox. Both do the same action.
- On cloning budget periods, add a "reset all funds" option
  Same as before, a new checkbox is added on cloning a budget period. If
  you check it, all fund amounts will be set to 0. Otherwise, no change
  compared to the existing behavior.
- Close a budget period (budget)
  The goal of this patch set is to move unreceived orders from a budget to
  another. This patch adds a C4::Budgets::MoveOrders routine which does
  this job.
  This action is only possible if the fund structure is the same for both
  budgets, the budget_code field should be the same.
- On closing budget period, move unspent amount
  Unspent amount will be move from the previous budget structure to the
  new one.
- Add UI report
  This patch only adds a report when closing a budget is done.

Test plan:
Wording: below, budget is a "budget period" and fund is a "budget".
Prerequisite: Having 1 active budget with some funds (with different
levels and different amounts). Order and receive some orders (not all).
1/ Go on the budgets administration page (admin/aqbudgetperiods.pl) and
duplicate the structure of this budget ("Duplicate" link in the
"Actions" column).
2/ Enter start and end date for this budget and mark the original budget
as inactive.
3/ Note that a new budget is created, with the same fund structures (and
same value) and that the old one is marked as inactive (see
admin/aqbudgets.pl page with patches from bug 11578).
4/ Try to close the new budget: it is not possible, there is no
unreceived orders for this budget.
5/ You can close the inactive budget ("Close" link in the "Actions"
column).
6/ Verify the number of "Unreceived orders" is correct and select the
new budget in the budget list. Click on the "Move remaining unspent
funds" if you want to move unspent amounts.
7/ A report view is displayed and show you the ordernumber which have
been impacted (grouped by fund).
8/ Try different configuration, depending on the selected checkboxes.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-24 14:17:15 -03:00
..
Acquisition bug 8854: fix some invoice search filters 2013-11-19 16:12:31 +00:00
Biblio Bug 12343: Add regression test for TransformKohaToMarc 2014-06-15 11:27:20 -03:00
Budgets Bug 12019: ensure that it is optional to define an owner if a fund is restricted 2014-05-03 19:00:08 +00:00
Circulation Bug 11630: (follow-up) unit tests can be independent of DB 2014-04-16 14:55:39 +00:00
DataTables Bug 9811: Patron search improvement 2014-07-01 09:57:09 -03:00
db_dependent Bug 12164: Close a budget period (budget) 2014-07-24 14:17:15 -03:00
Koha/Plugin Bug 7804 - Add Koha Plugin System - QA Followup 2 2013-03-20 14:50:19 -04:00
lib Bug 10298: Mock C4::Context->preference 2013-08-09 16:34:50 +00:00
Members Bug 108661: (follow-up) enshrine letting CardnumberLength specify just a maximum 2014-03-12 04:07:03 +00:00
Search Bug 10807: Add an authority search history for the OPAC 2014-05-05 02:32:27 +00:00
searchengine Bug 10298: Adapt existing code 2013-08-09 16:36:17 +00:00
Serials Bug 7688: (follow-up) rewrite 'for' loop in unit tests 2013-10-30 00:38:52 +00:00
00-checkdatabase-version.t Bug 9191 follow-up: remove example updatedatabase stanzas 2012-12-11 08:29:11 -05:00
00-deprecated.t Bug 5105 Regression test for switch statement 2010-11-11 21:32:31 +13:00
00-load.t Bug 10807: (follow-up) exclude C4::Search::History from t/00-load.t 2014-05-05 21:59:50 +00:00
00-merge-conflict-markers.t Test suite: ignoring backups from vi (files ending with a ~) 2011-12-07 15:17:54 +01:00
00-testcritic.t Bug 8798: (follow-up) remove DBIC_DONT_VALIDATE_RELS 2013-10-14 22:51:44 +00:00
00-valid-xml.t bug 5393 [SIGNED-OFF]: add test case to check well-formedness of XML/XSLT files 2010-11-13 11:51:49 +13:00
AuthoritiesMarc_MARC21.t Bug 5327 added unit tests for C4/AuthoritiesMarc/MARC21.pm 2012-01-31 17:21:47 +01:00
AuthoritiesMarc_UNIMARC.t Added unit test for AuthoritiesMarc/UNIMARC.pm 2011-12-15 13:41:41 +01:00
AuthUtils.t Bug 9611: (follow-up) move new password hashing routines to separate module 2013-10-09 03:29:22 +00:00
Barcodes_annual.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_EAN13.t Bug 6448 [2/3] Barcodes::EAN13 autoBarcode 2012-08-02 18:41:44 +02:00
Barcodes_hbyymmincr.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_incremental.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Barcodes_ValueBuilder.t Bug 8524 follow-up: fix broken test 2012-08-31 17:42:44 +02:00
Biblio.t Bug 11032: Check a valid MARC::Record passed to Biblio 2013-12-10 05:01:54 +00:00
Bookseller.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Boolean.t Added missing reference case to Boolean.t and corrected count 2011-12-15 13:50:41 +01:00
Branch.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
Breeding.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Budgets.t C4::Bookfund no longer exists, removing the test 2009-12-20 14:31:37 +01:00
Cache.t Bug 12041 - improve Koha::Cache 2014-06-19 13:05:04 -03:00
Calendar.t Bug 9209: Skip tests for older DBD::Mock 2012-12-28 20:15:36 -05:00
Charset.t Bug 11540: (follow-up) add a couple of tests more 2014-01-14 21:29:49 +00:00
Circulation_barcodedecode.t Bug 6448 [1/3] EAN-13/UPC-A itemBarcodeInputFilter 2012-08-02 18:41:40 +02:00
ClassSortRoutine.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ClassSortRoutine_Dewey.t Bug 9770: test case for sorting of Dewey call numbers that contain prefixes 2013-07-15 16:12:47 +00:00
ClassSortRoutine_Generic.t Bug 5327 added unit tests for C4/ClassSortRoutine/Generic 2012-01-17 15:31:55 +01:00
ClassSortRoutine_LCC.t bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers 2013-06-10 07:56:53 -07:00
ClassSource.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Context.t Bug 11848: Fix C4::Context::interface, add POD and UT 2014-05-05 04:32:31 +00:00
Contract.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Creators.t Bug 8375: (follow-up) final adjustment to t/Creators.t 2014-05-07 01:00:34 +00:00
Dates.t Fix for Bug 4473 - Recent comments view for the OPAC 2010-12-13 09:43:01 +13:00
DateUtils.t Bug 11148: (follow-up) add more test cases 2014-04-18 21:51:09 +00:00
Debug.t Added extra unit tests to Debug.t 2011-01-18 11:59:07 +13:00
dummy.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
External_Overdrive.t Followup for bug 10320: minor bugfixes and style improvements 2013-09-08 07:04:02 +00:00
External_Syndetics.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Form_MessagingPreferences.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Heading.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Images.t Bug 5327: Testing c4 Images 2012-09-07 14:42:18 +02:00
ImportBatch.t Create Unit Test for ImportBatch 2010-10-31 10:32:29 +13:00
Input.t Input.t permissions fix 2007-11-16 13:24:37 -06:00
Installer_PerlDependencies.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Installer_PerlModules.t bug 11544: increasing test coverage for Installer_PerlModules.pm 2014-01-14 21:48:43 +00:00
Installer_pm.t Bug 4905 Runtime errors in about.pl 2010-06-24 14:16:36 -04:00
ItemCirculationAlertPreference.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
ItemType.t Bug 10513: display a warning/message when returning a chosen item type 2013-09-16 17:45:31 +00:00
Koha.t Bug 12288: add regression test 2014-05-19 19:59:40 +00:00
Koha_MetadataRecord.t Bug 9755 QA follow-up: move MARC-specific functionality to utility class 2013-07-23 23:10:21 +00:00
Koha_Template_Plugin_Cache.t Bug 11452: Add unit tests for Koha::Template::Plugin::Cache 2014-01-10 15:42:23 +00:00
Koha_Util_MARC.t Bug 5202: merge authorities from the authority file and reservoir 2013-10-10 21:32:27 +00:00
Labels.t Bug 11402: (follow-up) add one more unit test 2013-12-30 16:23:10 +00:00
Labels_split_ccn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_ddcn.t fixing various links to point to *.koha-community.org 2010-10-21 22:08:24 -04:00
Labels_split_lccn.t bug 9370: add invalid call number to LC splitting test cases 2013-06-12 07:44:05 -07:00
Languages.t Bug 11848: Move language detection function in C4::Languages 2014-05-05 04:29:34 +00:00
Letters.t Bug 11742: (QA followup) wrong number of tests 2014-06-23 15:23:37 -03:00
Log.t Bug 11537: (follow-up) mock C4::Context::preference 2014-01-14 19:27:07 +00:00
Matcher.t Bug 5327 Tests for C4::Matcher 2012-09-07 14:31:52 +02:00
Members_Attributes.t Remove diagnostic output from t/Members_Attributes.t 2009-12-20 14:31:39 +01:00
Members_AttributeTypes.t Bug 7919: Fix unit test (Members_AttributeTypes.t) 2012-12-07 18:26:37 -05:00
Members_Messaging.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Message.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Output.t Bug 10016: force zero browser-side caching of SCO pages 2013-10-21 18:05:12 +00:00
Output_JSONStream.t Bug 11480: Fix invalid assumptions in JSONStream test 2014-01-10 15:42:17 +00:00
Overdues.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Patroncards_Batch.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Layout.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Lib.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Patroncard.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Profile.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
Patroncards_Template.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
perlcriticrc Updating perlcriticrc to allow Modern::Perl to suffice instead of use warnings; and use strict; 2012-01-27 11:33:15 +01:00
Print.t bug 11542: Increase test coverage for Print.pm 2014-01-14 20:41:31 +00:00
QueryParser.t Bug 9972: (follow-up) add new indexes to the QueryParser config 2014-04-20 16:47:28 +00:00
RecordProcessor.t Bug 7417: Include see from references in bibliographic searches 2012-09-13 14:19:28 +02:00
Review.t create unit test files 2010-10-30 20:12:50 +13:00
Ris.t bug 5327 added unit tests for C4/Ris.pm 2012-01-31 17:21:49 +01:00
RotatingCollections.t Bug 5327: Add basic unit tests to some C4 modules 2010-10-30 20:12:53 +13:00
Scheduler.t Bug 5327 added unit tests for C4/Scheduler.pm 2012-01-31 17:21:49 +01:00
Scrubber.t Added unit tests for Scrubber 2011-12-15 13:41:43 +01:00
Search.t Bug 12443: (QA followup) Unit tests for _build_initial_query 2014-06-27 08:52:13 -03:00
Search_PazPar2.t Bug 5327 added unit tests for C4/Search_PazPar2.pm 2012-01-31 17:21:50 +01:00
SimpleMARC.t Bug 8015: Add unit tests for SimpleMARC and MarcModificationTemplates routines 2013-10-31 22:50:11 +00:00
SIP_Sip.t Added unit tests for Sip Checksum.pm 2011-12-15 13:41:37 +01:00
smolder_smoke_signal Bug 2524: Adding script to submit test reports to smolder server 2008-08-18 07:16:35 -05:00
SMS.t Bug 12455: (QA followup) license text missing 2014-06-30 12:28:23 -03:00
SocialData.t Bug 5327: Unit tests for C4 socialdata 2012-09-07 14:32:00 +02:00
Stats.t Total Test Overhaul! Most of these were stubs, and still are. 2007-10-18 16:26:44 -05:00
SuggestionEngine.t Bug 8726 follow-up: fix QA issues 2012-09-28 17:14:15 +02:00
SuggestionEngine_AuthorityFile.t Merge remote-tracking branch 'origin/new/bug_8209' 2012-10-01 16:39:52 +02:00
TmplToken.t Bug 5327 added unit tests for C4/TmplToken.pm 2012-01-31 17:21:50 +01:00
VirtualShelves_Merge.t Bug 5327: More basic unit tests for C4 modules 2010-11-01 15:35:50 +13:00
XSLT.t bug 10292: improve fallback logic for picking XSLT 2013-05-29 07:39:41 -07:00