koha.git
7 years agoBug 6739: (follow-up) fix various issues
Kyle M Hall [Tue, 12 Mar 2013 17:46:41 +0000 (13:46 -0400)]
Bug 6739: (follow-up) fix various issues

- translation issues
- wording issues

Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 6739: make it possible to block expired patrons from OPAC actions
Chris Hall [Sun, 19 Feb 2012 21:07:13 +0000 (10:07 +1300)]
Bug 6739: make it possible to block expired patrons from OPAC actions

Test Plan:
 1) Apply patch
 2) Run updatedatabase.pl
 3) Pick a patron, note the patron's category
 5) Issue an item to this patron
 4) Edit that category, set "Block expired patrons" to "Block"
 5) Verify the patron cannot renew or place holds in the OPAC
 6) Edit the category again, set "Block expired patrons" to
    "Don't block"
 7) Verify the patron *can* renew and place holds in the OPAC
 8) Edit the category again, set "Block expired patrons" to
    "Follow system preference BlockExpiredPatronOpacActions"
 9) Set the system preference BlockExpiredPatronOpacActions to
    "Block"
10) Verify the patron cannot renew or place holds in the OPAC
11) Set the system preference BlockExpiredPatronOpacActions to
    "Don't block"
12) Verify the patron *can* renew and place holds in the OPAC

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Testing notes on last patch in series.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7442: (follow-up) apply change to Bootstrap theme
Galen Charlton [Mon, 5 May 2014 01:30:45 +0000 (01:30 +0000)]
Bug 7442: (follow-up) apply change to Bootstrap theme

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7442: (follow-up) restore display of heading type for non-UNIMARC
Galen Charlton [Mon, 5 May 2014 01:27:33 +0000 (01:27 +0000)]
Bug 7442: (follow-up) restore display of heading type for non-UNIMARC

This patch restores the display of the authority type summary for
MARC21, where at present the heading type (i.e., "Topical Term",
"Personal Names") come over for display in the template.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7442 (follow-up) ensuring that summary is display when searching on all types...
Fridolyn SOMERS [Thu, 18 Jul 2013 16:13:12 +0000 (18:13 +0200)]
Bug 7442 (follow-up) ensuring that summary is display when searching on all types of authorities

This patch corrects a small bug :

Authorities search on all types does not show summary because it is computed
with selected type (which is empty) instead of using found authority type.

Test plan :
- Go to intranet autorities search
- Perform a search on all authorities types
- Look at results
  => Without this patch, results rows do not display the autority summary, only
     authorized headings

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7442: fix crash when selecting an authority with 200$x or 200$y (UNIMARC)
Fridolyn SOMERS [Thu, 18 Jul 2013 11:59:07 +0000 (13:59 +0200)]
Bug 7442: fix crash when selecting an authority with 200$x or 200$y (UNIMARC)

From a biblio record, if one wants to add a 600$a information, a pop-up
appears.  On this new window, on search terms typed and validated, a table
result is displayed, with a column "Get It!" allowing the selection of an
authority.  From here, different cases:

1) If we have a simple authority with 200$a and 200$b subfields, a link
   "choose" is displayed, working correctly.

2) If the authority has different occurences of 200$a/200$b, numeric links (1 2
   and so on) are displayed, one for each occurence.  In the example of my
   screenshot, the line with a "Paul, Korky -- Pauline, Korkette" summary
   possesses two links : "1" will add "Paul, Korky" whereas "2" will add
   "Pauline, Korkette" (couldn't come up with a better name ;)).

3) If the authority has 200$x or 200$y subfields defined, several links are
   also created, when it should not be the case.  In our example, "Niclausse,
   Paul -- Expositions" will create a link "1" for "Niclausse, Paul" and a link
   "2" for "Expositions".  Clicking on the 2nd link leads to the following
   error: Software error: Can't call method "subfields" on an undefined value
   at
   /home/asaurat/workspace/versions/community/authorities/blinddetail-biblio-search.pl
   line 86.  Only the cases 1 and 2 should be handled. The creation of links
   for subfields like 200$x or 200$y should be removed.

This problem is caused by the use of " -- " has separator of authorities with
several headings, but also in some heading between main part and subdivisions.
This patch corrects this by using an array in authorities summary so that
presentation is computed in template. I've choosen to use the pipe separator
between authorities with several headings. This may be changed to be
configurable.

Test plan :

- Edit an authority type summary : for example subject (heading on 250) :
  summary "[250a][ -- 250x]"
- Create an authority A1 with one heading and a subdivision : for example a
  subject : 250$a "History" 250$x "20th century"
- Create an authority A2 with several headings. for example a subject : 250$a
  "History" 250$a "Legends"
- Rebuild Zebra queue
- Go to OPAC and click on "Authority search" and search on "History"
  => You will find A1 and A2 :
    History -- 20th century
    History | Legends
- Go to intranet autorities search and search on "History"
  => You will find A1 and A2 :
    History -- 20th century
    History | Legends
- Edit a record using this autorities type as thesaurus : for example on 606$a
- Click on thesaurus link and search on "History"
  => You will find A1 and A2 :
    History -- 20th century ; 0 times ; choose ; Edit authority
    History | Legends       ; 0 times ; 1 2    ; Edit authority
- Click on link "2" to chosse "Legends"
  => You get "Legends" in heading field : for example 606$a

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
I can confirm the problem and the solution. I have tested the patch on a large
DB with authorities having multiples headings. There is no regression on bug
4838.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Without the patch I couldn't choose between multiple headings
in the authority plugin, but with the patch it works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11278: (follow-up) Return an exit value (1) if the module is not found.
Jonathan Druart [Mon, 27 Jan 2014 13:45:21 +0000 (14:45 +0100)]
Bug 11278: (follow-up) Return an exit value (1) if the module is not found.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11278: Followup for customize command line parameter
Marcel de Rooy [Mon, 25 Nov 2013 13:24:42 +0000 (14:24 +0100)]
Bug 11278: Followup for customize command line parameter

The initial patch for this bug did not include a specific command line
option for customization. If a module LocalChanges.pm existed, it would
be used without asking.
This patch adds a command line option enabling the customization option
and offering the extra possibility of using another module name. If no file
name is passed, we default to LocalChanges.
Without the -custom option, behavior is as it was.
Also some POD lines are added to document the feature.

Test plan:
[1] Make a LocalChanges.pm in migration_tools. Verify that it is not used,
    if you do not enable the -cust parameter.
[2] Run the script again with -cust. Verify that it is called now.
[3] Copy LocalChanges.pm to Whatever.pm. Make some change. Run with
    -cust Whatever and verify that the new module is used.
[4] Copy Whatever.pm to another dir, make some change. Run with -cust and the
    full name. Verify that the latest change was used.
[5] Run without any option. Check the pod documentation.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11278: Adjusting bulkmarcimport.pl for customization routine and verbose printing
Marcel de Rooy [Thu, 21 Nov 2013 10:29:59 +0000 (11:29 +0100)]
Bug 11278: Adjusting bulkmarcimport.pl for customization routine and verbose printing

This patch makes two adjustments:
[1] For the verbose option, verbose level 2 now means print the
formatted version of each record.
[2] If a module LocalChanges.pm is found in misc/migration_tools, the
routine "customize" in this module is called for each marc record.
This allows you to make local changes to these marc records before
importing them.

Test plan:
[1] Test the verbose option: a single -v for medium verbosity and two
-v to dump a human-readable version of the record to standard output.
(Do not yet copy LocalChanges.pm in the folder.)
You may used the attached example file on Bugzilla:
perl misc/migration_tools/bulkmarcimport.pl -file zztest01.xml -v -v -b -m XML -t | more
Note the option t for test; no records will be imported.
[2] Copy LocalChanges.pm in the migration_tools folder. You may use the
example provided on Bugzilla (in a patch). If you use the example module,
check the contents of 001, 005 and 590 fields. (The -v -v option allows
you to easily check that.)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11117: Fix text mixup in facets where RTL text + facet count showed
Tomas Cohen Arazi [Thu, 24 Apr 2014 17:19:52 +0000 (14:19 -0300)]
Bug 11117: Fix text mixup in facets where RTL text + facet count showed

This patch adds classes for both the facet label and count, and adds
'inline-block' to the 'facet-count' class so text shows properly.

To reproduce:
- Have facets to show some right to left text (example on the bug
  report) in English language templates.
- Enable the displayFacetCount.
- Check it displays like the attached screenshot.

To test:
- Apply the patch
- Do a search that previously reproduced the problem on the staff
  interface
=> Shows correctly
- Repeat for OPAC (the three themes)
=> Shows correctly

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Still work as described. Checked in Arabic with Arabic records.
No koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Confirmed bug and that the patch fixes it, tested in staff,
prog, ccsr and bootstrap.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 8231: display warning at check in if borrower is restricted
Lyon3 Team [Mon, 13 Jan 2014 11:09:01 +0000 (12:09 +0100)]
Bug 8231: display warning at check in if borrower is restricted

Display, at check in, a reminder of an already existing suspension date
even if the returned document is not late.

Test plan :
1) Apply the patch
2) Go to a borrower checkout page and checkout some documents with
   different passed duedate using "Specify due date" function. Checkout out
   one with the default duedate.
3) Check in the document with the bigger delay :
   You will get the message : 'X is now restricted until ...'
4) Check in one of the document with a smaller delay :
   You'll get a different message : 'Reminder : Patron was earlier
   restricted until...'.
5) Check in the document which is not late :
   You 'll get the same message as the previous one

Signed-off-by: JMBroust <jean-manuel.broust@univ-lyon2.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11466: (follow-up) add additional test
Galen Charlton [Sun, 4 May 2014 23:24:06 +0000 (23:24 +0000)]
Bug 11466: (follow-up) add additional test

This adds an additional test case to document the behavior
that if AdvancedSearchTypes contains 'itemtypes' or /is/
'itemtypes', that it returns the same results.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11466: improve selection of item types for purchase order desired format list
Olli-Antti Kivilahti [Thu, 2 Jan 2014 08:21:49 +0000 (10:21 +0200)]
Bug 11466: improve selection of item types for purchase order desired format list

This patch ensures that the list of desired formats for a purchase
suggestion includes the list of item types so long as the
AdvancedSearchTypes system preference includes 'itemtypes'.

--------------
-- Synopsis --
--------------

When system preference AdvancedSearchTypes has other values than 'itemtypes',
for ex 'itemtypes|loc', itemtypes selection in opac-suggestions.pl
is not populated with available itemtypes.

This patch fixes the issue by broadening the strict comparison of
($advanced_search_types eg 'itemtypes') #fails 'itemtypes|loc'
to
($advanced_search_types =~ 'itemtypes') #succeeds 'itemtypes|loc'

Unit tests included

---------------
-- Test plan --
---------------

REPLICATING THE ISSUE
1. Set system preference  AdvancedSearchTypes to itemtypes|loc
2. Go to opac-suggestions.pl and observe Item type <select> dropdown list
2.1. List should have only the default value

AFTER APPLYING THIS PATCH
1. Set system preference  AdvancedSearchTypes to itemtypes|loc
2. Go to opac-suggestions.pl and observe Item type <select> dropdown list
2.1. List should have itemtypes available for selection

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Tests worked as expected. Placed a suggestion and saw the whole
list of item types, chose one, saved, checked staff and it loaded
as expected. Changed item type in staff and it applied in both
views.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes all tests including new regression tests.
Restores old functionality.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: (follow-up) improve usage comments in new TT include
Galen Charlton [Sun, 4 May 2014 23:11:34 +0000 (23:11 +0000)]
Bug 766: (follow-up) improve usage comments in new TT include

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: (follow-up) point acqui/ajax-getauthvaluedropbox.pl at the new location...
Galen Charlton [Sun, 4 May 2014 23:10:17 +0000 (23:10 +0000)]
Bug 766: (follow-up) point acqui/ajax-getauthvaluedropbox.pl at the new location of GetAuthvalueDropbox

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: (follow-up) move copyright statement back to the top
Galen Charlton [Sun, 4 May 2014 23:08:03 +0000 (23:08 +0000)]
Bug 766: (follow-up) move copyright statement back to the top

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: Update POD for AuthorisedValues TT plugin
Jonathan Druart [Wed, 23 Apr 2014 13:45:46 +0000 (15:45 +0200)]
Bug 766: Update POD for AuthorisedValues TT plugin

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: (follow-up) fix encoding issues
Jonathan Druart [Tue, 22 Apr 2014 11:30:01 +0000 (13:30 +0200)]
Bug 766: (follow-up) fix encoding issues

This patch deals with the current master code. It should be removed when
patches for bug 11944 will be pushed.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No side effects.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixes encoding problem, until this can be resolved properly.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: Use a TT include instead of a method in the AV plugin
Jonathan Druart [Mon, 17 Mar 2014 11:36:55 +0000 (12:36 +0100)]
Bug 766: Use a TT include instead of a method in the AV plugin

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
This gives a koha-qa error, but on another user/env not.
Really don't know

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I see the same error, but can't see where this is coming from,
code seems to work ok.
Works as described, no regressions found.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: remove disused routine buildCGISort
Jonathan Druart [Thu, 6 Mar 2014 16:12:26 +0000 (17:12 +0100)]
Bug 766: remove disused routine buildCGISort

buildCGISort can be deleted.

Test plan:
  git grep buildCGISort
should return no result.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No more buildCGISort

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: Use the new plugin to generate sort dropdown list - memberentry
Jonathan Druart [Thu, 6 Mar 2014 16:08:37 +0000 (17:08 +0100)]
Bug 766: Use the new plugin to generate sort dropdown list - memberentry

Now we can use the method plugin from the memberentry form.

Test plan:
1/ Create a patron and verify sort1 and sort2 dropdown list are
   correctly generated.
2/ Select values.
3/ Save.
4/ Edit the patron and verify the selected values are displayed.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: Create a plugin routine to build dropdown list
Jonathan Druart [Thu, 6 Mar 2014 16:07:08 +0000 (17:07 +0100)]
Bug 766: Create a plugin routine to build dropdown list

On this way, dropdown list could be generated from the templates.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 766: Move GetAuthvalueDropbox to C4::Koha
Jonathan Druart [Thu, 6 Mar 2014 16:05:53 +0000 (17:05 +0100)]
Bug 766: Move GetAuthvalueDropbox to C4::Koha

GetAuthvalueDropbox is in C4::Budgets, this does not make sense.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9593: (follow-up) don't make currency.isocode required
Galen Charlton [Sun, 4 May 2014 22:21:17 +0000 (22:21 +0000)]
Bug 9593: (follow-up) don't make currency.isocode required

This patch changes the price parsing so that it can fall
back on the currency name if an ISO code is not supplied; this allows
for handling the very common situation where the currency name
as entered was already the same as the ISO code.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9593: update DBIC files
Galen Charlton [Sun, 4 May 2014 22:05:31 +0000 (22:05 +0000)]
Bug 9593: update DBIC files

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9593: DBRev 3.15.00.044
Galen Charlton [Sun, 4 May 2014 22:04:14 +0000 (22:04 +0000)]
Bug 9593: DBRev 3.15.00.044

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9593: (QA Followup)
Kyle M Hall [Tue, 22 Apr 2014 11:13:19 +0000 (07:13 -0400)]
Bug 9593: (QA Followup)

- use "ISO" instead of "iso"
- move hint text

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9593: improve parsing of prices from staged files
Lyon3 Team [Tue, 15 Apr 2014 10:13:05 +0000 (12:13 +0200)]
Bug 9593: improve parsing of prices from staged files

Initial bug :
When there's a round price with no decimals after it,
or when the symbol is after the digits, the price is not captured
by regular expression in MungeMarcPrice routine and the variable
is not initialized.

Enhancement :
The MungeMarcPrice routine had been widely modified.
It's still possible to priority pick the active currency but
unlike the previous mechanism that worked only for prices preceded
by the currency sign, it's now valid wherever the symbol is situated.
As symbol you may enter a pure currency sign as well as a string
including it like '$US'. Moreover, an 'isocode' column had been
added in currency table (editable in the staffo interface from
Administration/Currencies and exchange rates). So the active
currency can be picked either through its symbol or through its iso
code.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests, especially t/db_dependent/MungeMarcPrice.t
Checked currencies can be added, edited and deleted.
Notes: new ISO code field is mandatory.
       Sample sql files need to be updated (bug 12146)

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10875: (follow-up) make displaying/hiding inactive funds work cross-browser
Galen Charlton [Sun, 4 May 2014 21:55:02 +0000 (21:55 +0000)]
Bug 10875: (follow-up) make displaying/hiding inactive funds work cross-browser

This uses the idea introduced by the patch for bug 8659 by Maxime
Pelletier.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) restore ability to select bibs in middle of import batch
Galen Charlton [Sun, 4 May 2014 21:29:41 +0000 (21:29 +0000)]
Bug 7180: (follow-up) restore ability to select bibs in middle of import batch

This patch repairs the JavaScript that selectively removes unselected
bibs from the form submission, fixing a problem where selecting
bibs from the middle or end of the list would cause them to be ordered
without the appropriate quantities, funds, and prices.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) fix regression on bug 6074
Galen Charlton [Sun, 4 May 2014 21:12:33 +0000 (21:12 +0000)]
Bug 7180: (follow-up) fix regression on bug 6074

This patch ensures that bibs selected for ordering are marked
as imported in their import batch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) fix warnings
Galen Charlton [Sun, 4 May 2014 21:06:50 +0000 (21:06 +0000)]
Bug 7180: (follow-up) fix warnings

This patch fixes some warnings (not introduced by the main
patches) regarding fetching the number of bibs in a batch
and fetching the list of batches.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10875: (follow-up) preselect the fund located in the record
Jonathan Druart [Fri, 25 Apr 2014 09:14:00 +0000 (11:14 +0200)]
Bug 10875: (follow-up) preselect the fund located in the record

It is useless to copy the fund list in a new node. It seems easier to
hide/show inactive/active funds.

This patch also adds a "(inactive)" marker in the fund list for
inactive funds. If the fund located in the record is inactive, it is
displayed by default and cannot be hidden.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10875: ensure adding order from a staged file does not display inactive funds...
Jonathan Druart [Wed, 11 Sep 2013 08:01:34 +0000 (10:01 +0200)]
Bug 10875: ensure adding order from a staged file does not display inactive funds by default

When adding an order from a staged file, a link
"show all funds" is now added on the top of the
page. All inactive funds are hidden by default.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Works as described.
- Loading the page, a fund needs to be selected. Before
  the patch the first fund was preselected.
- Checking the checkbox, inactive funds show up, but
  are not visible otherwise.
- If the fund is selected from the MARC file, the
  correct fund will be selected, even if it's inactive.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) require an authenticated session to use the AJAX authval dropbox
Galen Charlton [Sun, 4 May 2014 20:14:09 +0000 (20:14 +0000)]
Bug 7180: (follow-up) require an authenticated session to use the AJAX authval dropbox

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) point to new location of the jQuery checkboxes plugin
Galen Charlton [Sun, 4 May 2014 20:06:39 +0000 (20:06 +0000)]
Bug 7180: (follow-up) point to new location of the jQuery checkboxes plugin

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: DBRev 3.15.00.043
Galen Charlton [Sun, 4 May 2014 20:01:10 +0000 (20:01 +0000)]
Bug 7180: DBRev 3.15.00.043

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) use "MARC record" instead of "marcrecord"
Galen Charlton [Sun, 4 May 2014 20:00:04 +0000 (20:00 +0000)]
Bug 7180: (follow-up) use "MARC record" instead of "marcrecord"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) reset statistic values on reloading the page
Jonathan Druart [Wed, 23 Apr 2014 07:56:26 +0000 (09:56 +0200)]
Bug 7180: (follow-up) reset statistic values on reloading the page

On the "Default accounting details", if a dropdown list was created for
a statistic value, on reloading the page it still exist. It should not
given the fund value is reset.

The CGIsort variable is useless and can be remove: the dropdown list
is generated using the ajax call.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) fix various issues
Jonathan Druart [Wed, 16 Apr 2014 09:01:24 +0000 (11:01 +0200)]
Bug 7180: (follow-up) fix various issues

1/ showmarc.pl takes the importid for staged files.
2/ small note to indicate that the vendor's discount will be used if no
discount is filled.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) fix various issues
Jonathan Druart [Tue, 15 Apr 2014 14:31:18 +0000 (16:31 +0200)]
Bug 7180: (follow-up) fix various issues

* fix calculation of discount
* add CSS for unselected rows
* fix Javascript error
* correct capitalization
* use “Statistic” instead of “Planning value”
* improve description of system preference

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) remove disused script fetch_sort_dropbox.pl
Jonathan Druart [Thu, 6 Mar 2014 16:19:20 +0000 (17:19 +0100)]
Bug 7180: (follow-up) remove disused script fetch_sort_dropbox.pl

Test plan:
  git grep fetch_sort_dropbox
should return no result.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (followup) fix case where discount was divided by 100 twice.
Jonathan Druart [Fri, 27 Sep 2013 14:42:44 +0000 (16:42 +0200)]
Bug 7180: (followup) fix case where discount was divided by 100 twice.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) remove useless rrp variable
Jonathan Druart [Mon, 16 Sep 2013 10:45:52 +0000 (12:45 +0200)]
Bug 7180: (follow-up) remove useless rrp variable

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) restore the "Add order" link
Jonathan Druart [Thu, 12 Sep 2013 12:59:56 +0000 (14:59 +0200)]
Bug 7180: (follow-up) restore the "Add order" link

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) correct minor language issues
Kyle M Hall [Thu, 12 Sep 2013 12:35:41 +0000 (08:35 -0400)]
Bug 7180: (follow-up) correct minor language issues

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: QA followup
Jonathan Druart [Thu, 12 Sep 2013 09:44:25 +0000 (11:44 +0200)]
Bug 7180: QA followup

- fix unit tests (use a transaction).
- add 3 tabs on the page in order to be more understandable.
- fix a warn in logs

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) update license version
Jonathan Druart [Wed, 11 Sep 2013 07:35:16 +0000 (09:35 +0200)]
Bug 7180: (follow-up) update license version

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: make neworderempty code use getAuthValueDropbox.
Jonathan Druart [Tue, 10 Sep 2013 08:31:11 +0000 (10:31 +0200)]
Bug 7180: make neworderempty code use getAuthValueDropbox.

The js function fetchSortDropbox has been deleted in previous patch.
The new function is getAuthValueDropbox.

Test plan:
- link authorized values to some funds
- open an existing order and verify value are correctly filled in the
  sort1 and sort2 values
- create a new order and verify behavior is the same as before

Note: This patch generates 2 ajax queries (max) if the budget is linked
to 2 av categories for sort1 and sort2. This could be improved using a
template plugin for values display on load.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) change syspref description
Jonathan Druart [Tue, 10 Sep 2013 08:30:25 +0000 (10:30 +0200)]
Bug 7180: (follow-up) change syspref description

- the blank line is now useless
- add an example for the syspref value

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) fix minor issues
Katrin Fischer [Mon, 9 Sep 2013 20:53:49 +0000 (22:53 +0200)]
Bug 7180: (follow-up) fix minor issues

- Fixed some labels from Budget to Fund
- Added the system preference to sysprefs.sql
- Fixed some untranslatable Javascript strings

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) ensure that the default quantity is 1
Jonathan Druart [Mon, 15 Jul 2013 08:05:06 +0000 (10:05 +0200)]
Bug 7180: (follow-up) ensure that the default quantity is 1

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: QA followup
Jonathan Druart [Mon, 1 Jul 2013 13:59:14 +0000 (15:59 +0200)]
Bug 7180: QA followup

Ergonomic improvements:
- Remove the green color the selected record.
- Use fieldset.rows (and legend).
- Use the required css class for quantity inputs.
- Replace "budget" with "fund".
- fix the "undefined" string
- Add a "show MARC" link
- replace "no_match" with a text.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: Add UT for C4::Budgets::GetBudgetByCode
Jonathan Druart [Thu, 21 Mar 2013 12:27:39 +0000 (13:27 +0100)]
Bug 7180: Add UT for C4::Budgets::GetBudgetByCode

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: (follow-up) fix getAuthValueDropbox should display the selected value
Jonathan Druart [Wed, 20 Mar 2013 11:32:07 +0000 (12:32 +0100)]
Bug 7180: (follow-up) fix getAuthValueDropbox should display the selected value

If the no AV match the name/category or if no category is defined, the
input field should contain the value.

Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 7180: Order from staged file improvements
Jonathan Druart [Thu, 8 Mar 2012 16:25:06 +0000 (17:25 +0100)]
Bug 7180: Order from staged file improvements

This patch adds:
- 1 syspref MarcFieldsToOrder
- 1 Ajax script acqui/ajax-getauthvaluedropbox.pl
- 1 routine C4::Budgets::GetBudgetByCode

Before this patch you were not able to order 1 or all the records from
your staged file. You were allowed to specify some information ("Import
All" and "Accounting details" areas) for the order.

With this patch, the previous behaviour still exists.
But now you can *select* which records you want to ordered.
For these ones you can specify independently quantity,
price, budget, sort1 and sort2.

The cherry on the cake is that you can pre-fill these fields  with
values from the MARC record.

Test plan:
1. Fill the new syspref MarcFieldsToOrder with something like:
==BEGIN==
price: 947$c
quantity: 969$h
budget_code: 922$a
rrp: 010$d
discount: 969$d
sort1: 923$a
sort2: 924$a

==END==
The empty line at the end is mandatory!
The budget (corresponding to your budget_code) can be filled with
authorized value categories (statistic 1 and 2).
The sort1 and sort2 values can be filled with the an authorized value
(of the category previously selected)

2. Choose randomly one or more biblio(s) and fill fields with what is
   relevant.

3. Export the biblio and import it (with the "Stage MARC records for
   import" tool).

4. Go on a basket and add an order from a staged file. Select your
   staged file.

5. Well. Now you can see your biblio (or biblios if your had exported
   more than one). For each one, fields should be pre-filled with the
   biblio values. The budget should be selected on the budget
   corresponding to the budget_code (in the field 922$a) and the
   "planning values" too (with fields 923$a and 924$a).
   You can modify these values (or not) and choose a default value for
   budget and planning values (in the "Accounting details" area).

6. Save and check the prices values. Modify the order and check that
   budget and sort* are good

Prices are calculated following some parameters:
if there is no price => listprice = 0
else =>
  - the gstrate value for your order is the gstrate value of the bookseller
  - discount = if filled : the discount value / 100
               else: the discount value of the bookseller
  - if the bookseller includes tax( List item price includes tax: Yes )
        if a discount exists:
            ecost = price
            rrp   = ecost / ( 1 - discount )
        else: # a discount does not exist
            ecost = price * ( 1 - discount )
            rrp   = price
    else # the bookseller does not include tax
        if a discount exists:
            ecost = price / ( 1 + gstrate )
            rrp   = ecost / ( 1 - discount )
        else: # a discount does not exist
            rrp   = price / ( 1 + gstrate )
            ecost = rrp * ( 1 - discount )
  - in all cases:
        listprice = rrp / currency rate
        unitprice = ecost
        total = ecost * quantity

7. Retry with different parameters

8. Check the 'Import all' action still works

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10613: (follow-up) fix QA issues
Jonathan Druart [Mon, 24 Mar 2014 09:11:47 +0000 (10:11 +0100)]
Bug 10613: (follow-up) fix QA issues

This patch fixes the following QA issue:

 FAIL    acqui/invoice.pl
   FAIL      valid
        Useless use of private variable in void context

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch passes all tests and QA script. Specifically checked
the t/db_depenedent/Acq* tests.

A test plan could be:
0) Add a value in the gist pref (0.1 or 0.25 or something else easy).
1)
  a) Create a supplier "10613 0 0" with
    List item price includes tax: No
    Invoice item price includes tax: No
    Tax: 10%
  b) Create a supplier "10613 0 1" with
    List item price includes tax: No
    Invoice item price includes tax: Yes
    Tax: 10%
  c) Create a supplier "10613 1 0" with
    List item price includes tax: Yes
    Invoice item price includes tax: No
    Tax: 10%
  d) Create a supplier "10613 1 1" with
    List item price includes tax: Yes
    Invoice item price includes tax: Yes
    Tax: 10%
2) Create a basket for each supplier
  a) 00 List price: 10.00 (11.00 with 10% taxes)
  b) 01 List price: 10.00 (11.00 with 10% taxes)
  c) 10 List price: 10.00 (9.09 without taxes)
  d) 11 List price: 10.00 (9.09 without taxes)
  Note: Information on the basket page is shown correctly.
  If you look at the list of ordered items for the fund,
  the list price is used.
3) Create 1+ order(s) with 1+ item(s) for each basket with
   a discount and a gst value.
4) Close the baskets
5) Receive the items
   Left actual price as suggested:
   a) 00 Actual cost: 10.00
   b) 01 Actual cost: 11.00
   c) 10 Actual cost:  9.09
   d) 11 Actual cost: 10.00
   Calculations on the invoice page now all appear to be correct.
   Note: When you take a look at the 'ordered' list for the fund,
   the actual price is used as entered.
6) Go on acqui/invoice.pl?invoiceid=XX acqui/basket.pl?basketno=YY for
   each basket/invoice, click on the "Show all details" checkbox
   and verify that the values are all correct.

Calculations are exactly the same for tax registered yes and no.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10613: (follow-up) fix typo supplierid vs booksellerid
Jonathan Druart [Fri, 25 Oct 2013 11:51:03 +0000 (13:51 +0200)]
Bug 10613: (follow-up) fix typo supplierid vs booksellerid

GetInvoiceDetails returns a hashref with a key named booksellerid, not
supplierid.
The bookseller was not retrieved from the DB and the listincgst value
was always false.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10613: calculate the GST rate correctly on the invoice page.
Jonathan Druart [Fri, 19 Jul 2013 09:44:51 +0000 (11:44 +0200)]
Bug 10613: calculate the GST rate correctly on the invoice page.

Test plan:
Defined a GST rate on creating an order, receive it and check that all
prices are correctly calculated.
/!\ Behavior change function of supplier parameters (Include/Don't
include tax for list prices and invoice prices)

Notes: patch tested with Bug 11755 applied first; confirmed that:
- price calculations are correct for all combinations of
  listincgst/invoiceincgst settings in the vendor record
- unitprice (aka "Actual cost") is taken into account on the
  invoice page instead of rrp/ecost, like it should.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11665: (follow-up) simplify code
Galen Charlton [Sun, 4 May 2014 19:13:44 +0000 (19:13 +0000)]
Bug 11665: (follow-up) simplify code

This patch replaces some of the logic with more direct
Boolean expressions.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11665: An ability to place orders directly from hold ratios list
Jacek Ablewicz [Sun, 2 Feb 2014 17:04:00 +0000 (18:04 +0100)]
Bug 11665: An ability to place orders directly from hold ratios list

This enhancement introduces a possibility to place orders
from hold ratios list:

- new option "Add order to basket" -> "From titles w/ highest hold ratios";
(user gets redirected from acqusition to "hold ratios" list in circulation)

- "N to order" in "Items needed" column now becomes a link - when clicked,
user gets redirected back to acquisition, directly to order form for
a choosen title (suggested quantity "N to order" is being preserved)

- in the "Items needed" column, there is an additional indication if
there are any pending (not yet received) orders for a given title

This solution is not exactly ideal.. most important drawback: to use
it librarian needs both acquisition & circulation priviledges; if not
having both - new options will not show / wouldn't be active. But it
requires relatively small amount of changes in the code.

To test:
- apply patch,
- test new functions (try to place some orders using an newly added
option, examine resulting order records etc.)
- check modified hold ratios list for possible problems (for user
with only circulation priviledges, additional information regarding
pending orders should be still visible, but not the link
to order form)
- ensure the two following existing options for adding orders to basket
("From an existing record", "From a new (empty) record") a still working
properly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Minor edit in signoff: Changed "w/" to "with"

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
This works nicely in my tests, neat new addition.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11763: (follow-up) do not display anything in actions column if user cannot manag...
Galen Charlton [Sun, 4 May 2014 18:41:33 +0000 (18:41 +0000)]
Bug 11763: (follow-up) do not display anything in actions column if user cannot manage a budget

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12019: ensure that it is optional to define an owner if a fund is restricted
Jonathan Druart [Mon, 14 Apr 2014 11:11:12 +0000 (13:11 +0200)]
Bug 12019: ensure that it is optional to define an owner if a fund is restricted

Before this patch, the C4::Budgets::CanUserUseBudget assumed that
budget_owner_id was set if a restriction (budget_permission) exists.
see
        && $budget->{budget_owner_id}
        && $budget->{budget_owner_id} != $borrower->{borrowernumber}

Actually a restriction could exists on users and/or library without
being forced to define an owner.

Test plan:
Create a fund A without restriction
Create a fund B restricted to an owner
Create a fund C restricted to a non defined owner
Create a fund D restricted to owner and users (try defining/no
defining an owner and/or users)
Create a fund E restricted to owner, users and library (try
defining/no defined an owner and/or users)

With different logged in users, try to show/edit these differents funds.
The restriction should be correctly applied.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested various permission combinatons, visibility of funds is now ok.
- not superlibrarian, no buget_manage_all,
  no owner, no users, no library, no restrictions on the fund
  = visible
- changed: library = staff patron library,
  restriction = Owner, users and library
  = visible
- changed: library = not staff patron library
  = invisible
- changed: budget_manage_all
  = visible
- changed: owner = staff patron
  no budget_manage_all
  = visible
- changed: no owner, user = staff patron
  = visible
- changed: no user, owner = another user, restriction = owner
  = invisible
- changed: budget_manage_all
  = visible
- changed: no budget_manage_all but superlibrarian
  = visible
...

Passes tests and QA script, also t/Budgets/*

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 12019: FIX budget_owner_id node is duplicated
Jonathan Druart [Wed, 2 Apr 2014 11:27:08 +0000 (13:27 +0200)]
Bug 12019: FIX budget_owner_id node is duplicated

The input witht the budget_owner_id id is duplicated.
It breaks the jQuery selector
  $('#budget_owner_id').val('');

Signed-off-by: marjorie barry-vila <marjorie.barry-vila@ccsr.qc.ca>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11763 - Consolidate fund action links into menu
Owen Leonard [Fri, 14 Feb 2014 14:53:41 +0000 (09:53 -0500)]
Bug 11763 - Consolidate fund action links into menu

This patch moves the fund Edit/Delete/Add child links on the fund view
into a pop-up menu, allow the table to be more compact and the links to
be more distinct.

To test you must apply the patches on Bug 11578 if necessary.

Apply the patch and view the funds list page (Administration -> Funds).
For each line there should be an "Actions" menu containing the
Edit/Delete/Add cihld links. Each should function correctly. Test with
inactive budgets shown and hidden.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
It is unusual to open the action list above the button, but it works.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) fix JavaScript error
Galen Charlton [Sat, 3 May 2014 18:32:34 +0000 (18:32 +0000)]
Bug 11578: (follow-up) fix JavaScript error

Fix error that can occur when using the DataTable filter
to filter the table down to just one fund.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) fix budgets grouping
Jonathan Druart [Wed, 30 Apr 2014 10:34:08 +0000 (12:34 +0200)]
Bug 11578: (follow-up) fix budgets grouping

If 2 budgets (budget periods) have the same description, the funds will
be grouped into the same "block".
This patch adds a distinction adding the id of the budget next to the
description.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) fix funds grouping
Jonathan Druart [Wed, 30 Apr 2014 10:12:07 +0000 (12:12 +0200)]
Bug 11578: (follow-up) fix funds grouping

The datatables sort options were wrong.
The funds for a budget could be ungrouped.
To reproduce:
- Create 3 budgets A, B, C.
- Create 1 or more funds for A, B, C
- Mark B and C as inactive.
- Create another fund for A
- Go on the fund list view, click on "show inactive funds"
=> The last fund is not grouped without other funds of budget A.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) fix show inactive link
Jonathan Druart [Wed, 30 Apr 2014 09:54:29 +0000 (11:54 +0200)]
Bug 11578: (follow-up) fix show inactive link

Before this patch, the inactive funds were displayed by default.
The active funds should be displayed by default.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: QA follow-up
Jonathan Druart [Mon, 28 Apr 2014 17:52:29 +0000 (19:52 +0200)]
Bug 11578: QA follow-up

This patch removes the error raised by tt_valid
 FAIL   koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgets.tt
   FAIL   tt_valid
                lines 310

Actually, it fails because translate script does not match strings in
attribute value. In this case, we don't want to translate. This fix is
not necessary.

This patch also adds the licence for the new jQuery treetable plugin.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) hide filters if a budget (budgetperiod) is chosen
Jonathan Druart [Tue, 22 Apr 2014 14:03:33 +0000 (16:03 +0200)]
Bug 11578: (follow-up) hide filters if a budget (budgetperiod) is chosen

If a budget_period_id is given, the filters should not be displayed.
Moreover, it does not make sense to display the links for
displaying/hiding inactive budgets in this case.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) align budget names
Jonathan Druart [Fri, 14 Feb 2014 09:39:41 +0000 (10:39 +0100)]
Bug 11578: (follow-up) align budget names

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) hide inactive budgets by default
Jonathan Druart [Fri, 14 Feb 2014 09:38:35 +0000 (10:38 +0100)]
Bug 11578: (follow-up) hide inactive budgets by default

This patch hides inactive budgets by default.
They can be shown/hidden using 2 new links "Hide/Show inactive budgets".

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: (follow-up) add some CSS
Jonathan Druart [Fri, 17 Jan 2014 14:35:09 +0000 (15:35 +0100)]
Bug 11578: (follow-up) add some CSS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: Improve the funds list view
Jonathan Druart [Fri, 17 Jan 2014 14:29:18 +0000 (15:29 +0100)]
Bug 11578: Improve the funds list view

The current funds list view does not allow to search in the table and
the ergonomics of the page is quite bad.

This patch add the datatables plugin combined to the treetable plugin in
order to offer a better view of the budgets/funds.

Test plan:
- Verify there is no regression on this page: try to add/modify/delete a
fund and a budget.
- Verify the funds hierarchy is correctly displayed.
- Filter the funds using the branch and the budget filters.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11578: Upgrade the treetable jquery plugin
Jonathan Druart [Fri, 17 Jan 2014 14:24:37 +0000 (15:24 +0100)]
Bug 11578: Upgrade the treetable jquery plugin

This patch upgrade the treetable jquery plugin to the last version
(3.1.0).
It is only used on the funds list view.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11369: (follow-up) generate searchid in browser.js
Fridolin Somers [Wed, 26 Feb 2014 16:14:04 +0000 (17:14 +0100)]
Bug 11369: (follow-up) generate searchid in browser.js

The search browser feature uses nearly only the browser.js file.
That is why I propose to move the searchid generation from search.pl
to browser.js.
We then use Date.getTime() to use current timestamp as searchid,
prefixed by 'scs_' like before.

Test by using test plan of main patch :
Too many search cursor cookies overflow HTTP-header size, when
making multiple searches in the staff client

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes tests and QA script.
Tested the browse functionality in staff by using the different
options (back to results, next, previous, etc) and the batch
modifications for items. An old cookie can cause a Javascript error,
but after restarting the browser/deleting cookies it all works
correctly.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11369: (follow-up) Correct usage of me.searchid in browser.js
Fridolin Somers [Wed, 26 Feb 2014 16:03:13 +0000 (17:03 +0100)]
Bug 11369: (follow-up) Correct usage of me.searchid in browser.js

In browser.js, at creation of browser, the searchid is transmited to
JS object into me.searchid.
To be consistant, me.searchid should always be use, never searchid alone.
In browseRecords function, setting searchid as parameter is useless
because it is defined in me.searchid.

Test with test plan of Bug 10404

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11369: fix issue that can cause staff client searches to stop working
Olli-Antti Kivilahti [Wed, 11 Dec 2013 12:28:53 +0000 (14:28 +0200)]
Bug 11369: fix issue that can cause staff client searches to stop working

This patch fixes an issue where too many search cursor cookies overflow
the HTTP-header size after making multiple searches in the staff client.

To replicate this issue, make multiple searches in catalogue/search.pl.
50+ Should be enough to cause the HTTP-request header to overgrow.
One can verify this issue by observing the searchCookie growth in
browser's stored cookies.

-------------
- TEST PLAN -
-------------

Keep making searches.
One should never have more than 10 searchCookies. Browser might display
only 9, because for some reason the newest js-generated cookie is not
included in Firefox's cookies listing.

------------
- DRAWBACK -
------------

Removing these cookies disables the search cursor for traversing search
results (next/previous) for the removed cookie. This maybe be problematic
in some cases,
(for ex when multiple search tabs need to be open and they need to be
 traversed)
One easy solution is to grow the amount of stored searchCookies from 10 to
20, but 10 is chosen so there will be plenty of room for other cookies as
well.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11369 - Updating the jquery.cookie.js-plugin
Olli-Antti Kivilahti [Tue, 10 Dec 2013 17:12:01 +0000 (19:12 +0200)]
Bug 11369 - Updating the jquery.cookie.js-plugin

The current jquery.cookie-plugin crashes when trying to fetch
all cookies using $.cookie();
Downloaded the newest plugin version and minified it.
Now works as intended.

Encountered an issue with the plugin now returning null when
no cookies are found, and applied a fix in browser.js.

-------------
- Test plan -
-------------
Plugin is used in browser.js and batchMod.js so testing both

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694: (follow-up) display the note about restricted patrons consistently
Galen Charlton [Fri, 2 May 2014 22:48:02 +0000 (22:48 +0000)]
Bug 10694: (follow-up) display the note about restricted patrons consistently

This patch ensures that the note displayed when checking in a loan
to a restricted patron (and setting the return date) is displayed
whether or not the circulation staffer has chosen the make the return
date override sticky.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694: (follow-up) fix problems with the new Borrowers plugin
Galen Charlton [Fri, 2 May 2014 22:46:23 +0000 (22:46 +0000)]
Bug 10694: (follow-up) fix problems with the new Borrowers plugin

TT plugins should *not* be duplicating business logic found
in other modules.  This patch replaces the copy-and-paste of the
old IsDebarred logic with a call to the appropriate routine and
updates the POD.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694: (follow-up) remove truncate table from test case
Galen Charlton [Fri, 2 May 2014 22:00:45 +0000 (22:00 +0000)]
Bug 10694: (follow-up) remove truncate table from test case

Doing a truncate of a table in MySQL causes an implicit commit.
Consequently, they should not be used in DB-dependent test cases,
as they will cause the changes to NOT be rolled back.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694: DBrev 3.15.00.042
Galen Charlton [Fri, 2 May 2014 21:48:14 +0000 (21:48 +0000)]
Bug 10694: DBrev 3.15.00.042

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694: (follow-up) add unit tests, improve AddReturn POD
Kyle M Hall [Wed, 23 Apr 2014 11:38:11 +0000 (07:38 -0400)]
Bug 10694: (follow-up) add unit tests, improve AddReturn POD

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694: (follow-up) fix various issues
Kyle M Hall [Sun, 20 Oct 2013 22:39:15 +0000 (18:39 -0400)]
Bug 10694: (follow-up) fix various issues

- new TT plugin for Borrowers, that at present supplies
  a method for determining if the patron is restricted
- setting the default value of SpecifyReturnDate to false
  during upgrade to avoid an unwelcome surprise
- validate the return date on the client side before
  allowing the form to be submitted.

Signed-off-by: Petter Goksoyr Asen <boutrosboutrosboutros@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10694 - Allow arbitrary backdating of returns
Kyle M Hall [Fri, 13 Sep 2013 15:26:30 +0000 (11:26 -0400)]
Bug 10694 - Allow arbitrary backdating of returns

Sometimes libraries need to backdate returns further back in time than
Koha's dropbox mode will allow. The returns backdating will check in an
item as if it had been returned on the specified date, and will reduce
any fine accordingly.

This feature is activated by a new system preference, SpecifyReturnDate.

Test Plan:
1) Apply this patch
2) Check out an item, and backdate the due date by 1 month or so
   * This issue needs to generate a fine
3) Run fines.pl to generate the fine
4) Browse to returns.pl
5) Specify a return date of the day after the specified due date
6) Check the borrowers issue history, you should see the backdated
   return date, rather than today's date
7) Check the fine, it should be reduced to a fine for a single day
   overdue, rather than the previous larger fine.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Barbara Knibbs <BKnibbs@farmingtonlibraries.org>
Signed-off-by: Petter Goksoyr Asen <boutrosboutrosboutros@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) standardize case of message transport type columns
Galen Charlton [Fri, 2 May 2014 21:17:49 +0000 (21:17 +0000)]
Bug 9016: (follow-up) standardize case of message transport type columns

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) treat missing transports for overdue notices as warnings
Galen Charlton [Fri, 2 May 2014 21:11:30 +0000 (21:11 +0000)]
Bug 9016: (follow-up) treat missing transports for overdue notices as warnings

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) treat missing transports for predue and item due notices as...
Galen Charlton [Fri, 2 May 2014 21:01:45 +0000 (21:01 +0000)]
Bug 9016: (follow-up) treat missing transports for predue and item due notices as warnings, not fatal errors

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) treat missing transports for hold available notices as warnings...
Galen Charlton [Fri, 2 May 2014 20:54:55 +0000 (20:54 +0000)]
Bug 9016: (follow-up) treat missing transports for hold available notices as warnings, not fatal errors

This patch fixes a situation where a patron that has preferences
set for transport of a notice via a method that is not supported
for that notice type can result in a failure.  Rather than
make it a fatal error during checkin, simply log a warning and skip.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 9016: (follow-up) move insertAtCaret plugin out of language-specific directory
Galen Charlton [Fri, 2 May 2014 19:40:42 +0000 (19:40 +0000)]
Bug 9016: (follow-up) move insertAtCaret plugin out of language-specific directory

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11696: ensure that print overdue notices use the print template
Jonathan Druart [Thu, 6 Feb 2014 10:41:35 +0000 (11:41 +0100)]
Bug 11696: ensure that print overdue notices use the print template

This reordering avoids the case where a print notice is sent with an
email or sms template is no email or SMS is defined.

Test plan:
Check print, sms and email for an overdue rule
Don't define an email address and generate an overdue for a user
Define 3 templates for the notice used
Launch the cronjob script and verify the print notice is generated using
the print template.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 3.15.00.041: DBrev 11867
Galen Charlton [Fri, 2 May 2014 19:30:51 +0000 (19:30 +0000)]
Bug 3.15.00.041: DBrev 11867

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11867: (follow-up) Change the sql query in order to win beauty prices
Jonathan Druart [Fri, 2 May 2014 15:03:56 +0000 (17:03 +0200)]
Bug 11867: (follow-up) Change the sql query in order to win beauty prices

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 11867: MTT: Manage *_PHONE notices
Jonathan Druart [Thu, 27 Feb 2014 13:57:55 +0000 (14:57 +0100)]
Bug 11867: MTT: Manage *_PHONE notices

The *_PHONE notices (HOLD_PHONE, PREDUE_PHONE and OVERDUE_PHONE) should
be "merged" into the main code (i.e. HOLD, PREDUE and OVERDUE).

Test plan:
1/ Make sure you have HOLD_PHONE, PREDUE_PHONE and OVERDUE_PHONE notices
2/ Execute the update DB entry
3/ Verify the 3 notices have been merged into "phone" template of the
HOLD, PREDUE and OVERDUE notices
4/ Verify there is no regression in the Talking Tech feature (how?)

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No koha-qa errors

Verified that notices are merged
TalkingTech_itiva_outbound.pl runs without problem... but can't produce
any output, may be not correctly configured (my setup), no warnings
nor log messages

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10833: (follow-up) add message transport type to a warning message
Olli-Antti Kivilahti [Fri, 3 Jan 2014 13:29:48 +0000 (15:29 +0200)]
Bug 10833: (follow-up) add message transport type to a warning message

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10833: Multi transport types for advanced notices
Jonathan Druart [Fri, 6 Sep 2013 09:39:51 +0000 (11:39 +0200)]
Bug 10833: Multi transport types for advanced notices

Test plan:
- Choose 2 patrons P1 and P2
- Edit "Patron messaging preferences" and
check SMS + email with 2 days in advance for P1
check email with 5 days in advance for P2
- defined a message for the letter code PREDUE for sms and email
  (tools/letters.pl).
- select 2 barcodes (B1, B2).
    * checkout B1 to P1 with a due date = NOW - 2 days
    * checkout B2 to P2 with a due date = NOW - 5 days
- into the mysql cli, note the value of unsent message:
  select count(*) from message_queue where status != "send";
- launch the cronjob:
  perl misc/cronjobs/advance_notices.pl -c
- retry the previous sql query, you should have X + 3 unsent messages
  (depending of current checkouts in your DB!).
- view all unsent message:
  select borrowernumber, letter_code, message_transport_type, content
  from message_queue where status != "send";
  You should see:
    2 messages for P1, 1 for sms, 1 for email and the letter code PREDUE
    1 message for P2, email and the letter code PREDUE

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10832: (follow-up) add the transport type in the warning message
Jonathan Druart [Wed, 23 Apr 2014 15:35:33 +0000 (17:35 +0200)]
Bug 10832: (follow-up) add the transport type in the warning message

If no template is defined for a letter and the needed MTT, we
should display the MTT.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
7 years agoBug 10832: (follow-up) fix case where some print overdue notices were not being sent
Jonathan Druart [Thu, 13 Feb 2014 13:54:45 +0000 (14:54 +0100)]
Bug 10832: (follow-up) fix case where some print overdue notices were not being sent

If overdues should be sent to some patron (on the same branch), only the
first one was notified.

This patch fixes this issue.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>