Commit graph

5005 commits

Author SHA1 Message Date
Katrin Fischer
732dbc8755 Bug 9697: Follow-up - making QA script and tests happy
- 2x single quotes for translated string in edit-batch.tt

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 17:22:44 -04:00
1ba126efaf Bug 9697 - Replace YUI buttons on the patron cards batch edit page with Bootstrap
The patron card creator's batch edit page uses an include file to
display buttons styled by YUI. Bootstrap should be used instead.

This patch moves the contents of the include file into the main
template, this being the only page which requires it. YUI markup and
code has been removed and Bootstrap markup is added. The include file is
deleted.

To test, edit a batch of patrons in the patron card creator. Each
toolbar button should look correct and work correctly:

- Add item(s)
- Remove item(s)
- Delete batch
- Remove duplicates (Keeping Bug 9535 in mind)
- Export item(s)
- Export batch

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

Comment: all buttons works and look well. No errors.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Will fix some smaller things in a QA follow up.
Works as expected.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 17:22:29 -04:00
857e3443a6 Bug 9904 - Link to plugins management should not be in global navigation
With the addition of the Plugins feature a link was added to the global
navigation in the "More" submenu. I think this is unnecessary. The
global navigation should be limited to primary Koha functons.

This patch removes the link. To test, apply the patch and confirm that
there is no longer a link to Plugins in the header navigation under
"More."

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Template patch, works as advertised.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 17:19:13 -04:00
Jonathan Druart
db0070f330 Bug 9945: Changed display: inline to inline-block on the inline CSS styling on the li elements.
When adding/modifying an authorised values.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Improves icon set display in authorised value configuration.
CSS only.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 17:10:33 -04:00
6b7eb7a447 Bug 9928 - no way to see all purchase suggestions at all
Test Plan:
1) Apply patch
3) Create suggestions for multiple libraries
2) Select 'Any' for the 'For' field under 'Acquisition information'
3) Note you are seeing the suggestions for all branches

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Works as described

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch fixes wrong behaviour.
All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 16:58:56 -04:00
Jen Zajac
2a3341733e Bug 5648: Changed display: inline to inline-block on the inline CSS styling on the li elements.
Signed-off-by: Frédéric Durand <frederic.durand@unilim.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 08:17:27 -04:00
Jonathan Druart
3203e4eb4c Bug 8508: Followup: Simplify the separateData js function
I think this patch does the same job as previously.
+ It replaces tabulation characters with 4 spaces

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 08:14:10 -04:00
6376ca3a26 Bug 8508 - Holds to Pull : Library dropdown options are erroneously concatenated by br tags
This patch introduces a new javascript function that breaks apart option
strings that are erroneously concatenated by br tags. The split strings
are then checked against non-concatenated option strings, and pushed into
the option array if there is no duplication.

This function is nestled into the JQuery datatable function for populating
the drop-down menu.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 08:14:10 -04:00
378e928379 Bug 9196 - authorities editor overlapping box
This patch corrects a display problem in the authorities editor which
can cause the contents of a tab to overflow outside the tab's boundary.

To test open an authority record for editing. Confirm that tab contents
do not overflow their bounds on both tabs with many lines and tabs with
just one or two.

Signed-off-by: Pierre Angot <tredok.pierre@mail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 08:06:58 -04:00
Jonathan Druart
3e413c5491 Bug 9419: The highlight feature can cause a browser freeze
Test plan:
- switch on the OpacHighlightedWords syspref
- search at the opac and intranet a string with a space (e.g.
  au,wrdl:"Shakespeare,  William" note the double space after the comma)
- without the patch your browser will be frozen during a few seconds,
  after applying it, the highlight works better.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 08:03:07 -04:00
Fridolyn SOMERS
8f7929d615 Bug 9759: last subfield can be deleted
In authorities and biblios editors, a repeatable subfield can be deleted (small icon next to input).
Clone subfields are really deleted but last existing subfield is just set empty instead of deleted.
But when same field is repeated, the last subfield can be deleted.

This patch corrects this, last subfield of a field, even repeated, can not be deleted.

Test plan :
- Edit a biblio
- Choose a repeatable field with a repeatable subfield : ie 600 and $x
- Edit 600, enter a text in $x : ie "subA"
- Clone $x
- Delete second $x
=> second $x is deleted
- Delete first $x
=> $x is not deleted but set empty
- Edit 600, enter a text in $x : ie "subA"
- Clone 600
- Edit second 600, enter a text in $x : ie "subB"
- Clone $x of second 600
- Delete second $x of second 600
=> second $x of second 600 is deleted
- Delete first $x of second 600
=> with this patch : first $x of second 600 is set empty
=> without this patch : first $x of second 600 is deleted, second 600 has no $x anymore
Perform same test plan on an authority.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-29 22:48:52 -04:00
44297c2054 Bug 9803 - question mark in cataloging not clearly a link
When you hover your mouse over the MARC tag help link in cataloging the
cursor doesn't change to a standard link pointer because the <a> tag has
no "href" attribute. This patch adds a dummy href, "#" so that the
cursor will treat it as a link.

To test, apply the patch and load the MARC editor with a blank or
existing record. The "Show MARC tag documentation links" checkbox
must be checked. Hover your mouse over a "?" link in any tag. The
cursor should change to a pointer like it does on other links.

Signoff comment: The patch works as expected. Besides the cursor change,
links still work on every tab.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-29 22:44:20 -04:00
Fridolyn SOMERS
f69ebeef67 Bug 9797 - Follow up : use double quotes in javascript translatable strings
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-29 21:44:05 -04:00
c0bc0eaa2b Bug 9797 - Untranslatable strings have returned to ajax.js
The patch for Bug 8942 undid the changes to ajax.js made by Bug 9331.
This patch puts those changes back.

To test that preference-related error messages continue to work,
open the system preferences editor in two tabs. Log out in one tab and
try to save a system preference in the other. You should see correct
error messages.

Signed-off-by: Pierre Angot <tredok.pierre@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-29 21:44:05 -04:00
c061790f97 Bug 9783 - can hit submit twice when adding patrons
Currently, clicking twice or more on the Save button will generate
duplicate patrons when adding patrons in the Patron module. Of course,
there is handling that detects this, so you can choose to either edit
the original record (i.e. throw away the duplicate) or create a
duplicate record.

However, it shouldn't get to that point by clicking on the Save button.
That handling seems to be there to handle cases where you go through the
whole process of trying to add a new patron only to find out that they
already exist in the system (or at least their username/password do).

--

This patch uses the "preventDoubleFormSubmit" function (which is also
used in holds and fines to prevent double form submits). It was also
necessary to edit members.js, since "check_form_borrowers" was forcing
form submits despite the "preventDoubleFormSubmit" function. I've
changed it from forcing a document.form.submit to return true, which the
browser will still submit the form if it's a unique borrower, but the
"preventDoubleFormSubmit" function will still prevent multiple submits.

I've also added a "waiting" class to staff-global.js which changes the
cursor to "wait" (i.e. loading circle graphic). I've included an
"AddClass" call in "preventDoubleFormSubmit", so that the cursor graphic
will change to show users that the page is loading so that they don't
click Save again. Of course, even if they do click save again, there
will only be one submit. However, this way - as Chris Cormack mentioned
- the user knows that "something" is happening and that the form isn't
broken.

-------
Test Plan

Before applying patch...

1) Fill out the form for a new patron in the Patron module
2) Click "Save" several times
3) Once the page loads, you'll be shown a prompt that says that this
   borrower already exists. You will have the option to view the
   original record, edit the original record, or create a new patron
   anyway
4) Click on edit the existing record, and delete the patron

Apply the patch

5) Repeat steps 1 and 2
6) Notice that your cursor has changed into a little "loading" circle
   graphic when you hover over the "body" of the page, as well as any
   links or any inputs/buttons of the type "submit" within that form
7) Notice that no matter how many times you press the button, the form
   is not re-submitted. Eventually you will be taken to the new patron's
   record (no mention of duplication will occur)

Ta da! Multiple form submits are prevented and the loading graphic
signals to users that the form was submitted and that Koha is processing
their data

--

I understand that some people might want to change which elements are
given the "waiting" class. I'm happy to renegotiate this as necessary.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Looks good and works nicely.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-27 22:58:17 -04:00
1e9c0578ce Bug 9881 - Remove unused tablesorter plugin from offline circulation page
The offline circulation list template doesn't need to include the
tablesorter plugin, it's unused. This patch removes it.

To test, submit some circulation transactions through the Firefox
offline circulation addon. Load the offline circ page
(offline_circ/list.pl). Confirm that there are no JavaScript errors, and
that "check/uncheck all" links work correctly.

Signoff comment: Test plan works as expected. Firebug and Chrome's builtin developer tool don't raise any errors.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
One line change, followed test plan, no negative
consequences found.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-27 22:45:14 -04:00
Peter Crellan Kelly
cf75c7c92c Bug 9863: Correct casing and add arrow-heads for consistency with earlier submit messages.
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Small change to make interface a little bit more consistent.
Reran web installer to test correct behaviour.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-27 22:40:26 -04:00
Kristina D.C. Hoeppner
50c435dced Bug 9595: Change GPL license to 3.0
Change the general Koha license from 2
to 3 in the About page and also link to
the new YUI BSD license page

Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All links seem to be correct now.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-27 22:04:30 -04:00
Jared Camins-Esakov
b9db6ae0f7 Revert "Merge branch 'bug_7688' into 3.12-master"
This reverts commit 60508cb03d, reversing
changes made to 8579d07f14.

The patches for bug 7688 caused a failure in t/db_dependent/Serials.t:
not ok 8 - test getting history from sub-scription

Conflicts:

	installer/data/mysql/kohastructure.sql
	installer/data/mysql/updatedatabase.pl
	kohaversion.pl
2013-03-23 00:36:37 -04:00
Paul Poulain
f634c4cfb1 Bug 6209 follow-up, make strings translatable
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-23 00:12:59 -04:00
c28f7d7de5 Bug 6209 [Revised] Standardize on one plugin for client-side form validation
This patch adds the jQuery "Validation" plugin
(http://docs.jquery.com/Plugins/Validation) and includes it by
default in the staff client along with an include file containing
translatable strings for all of the plugin's possible messages.

The staff client's main JavaScript file has been modified to perform
automatic validation of any form with the class "validated."

For a simple example I have modified the library entry form
to mark required fields as required (something which had not
been done before). Each required field has been given a class,
"required" and the HTML5 attribute "required." The former adds
the hook for the plugin, the latter adds browser-based validation
in recent browsers (and which will be superceded by the plugin
if JavaScript is enabled).

This will check for inputs classed "required" without any
additional configuration. More complex forms (with specific
data types, for instance) will require more inline JavaScript
configuration.

$("#FormID").validate({ /* configuration details */ });

Also added to the library entry form are checks on the email and URL
fields via classes ("email" and "url", respectively). This demonstrates
validation of content without forcing the field to be required.

To test, go to Administration -> Libraries and Groups and choose
"New library." Submit the form without entering a library code
or name. You should be prevented from submitting the form and be
shown an error message by each field. Perform the same check with an
existing entry.

To test browser-based validation, disable JavaScript and follow
the same procedure.

Revision rebases the patch against current master and adds missing
"//<![CDATA["

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

Comment: Work as described with new or existing library.
No errors.
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-23 00:12:36 -04:00
Jonathan Druart
de93edb6a5 Bug 5343: Fix non english string
Replace "Not orderable" with "Cannot be ordered"
and 3 others typos

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.

Testing notes:
- Ordered same subscription multiple times
- Tried different settings of AcqCreateItem for a full
  workflow from order to receive
- Undid a receipt and checked correct behaviour
- Ordered a book in between, to see item creation and
  receiving still works.

Note for documentation:
Acquisition details on the subscription only show the
last invoice and the last order. You can of course find
all orders/invoices using the acquisition search.

Overall very nice much needed functionality!
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:47 -04:00
Jonathan Druart
7f9c747a3c Bug 5343: Fix non english string
Replace "Not orderable" with "Cannot be ordered"

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:46 -04:00
Jonathan Druart
3aef361065 Bug 5343: Followup: remove useless string on the serials result page
Signed-off-by: Leila Arkab <koha.aixmarseille@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:46 -04:00
Jonathan Druart
8e978c7ce0 Bug 5343: It is not possible to add a subscription for another supplier
If a supplier is defined for a subscription, you cannot order this
subscription to another supplier. If no supplier is defined, you can.

FIX: If a cancelled order is linked to a subscription, you can order it.

Signed-off-by: Leila Arkab <koha.aixmarseille@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:46 -04:00
Jonathan Druart
5eceb4706b Bug 5343: Followup: invoicenumber no longer exists, use invoiceid.
A previous patch replaces invoicenumber with invoiceid.

Signed-off-by: Leila Arkab <koha.aixmarseille@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:46 -04:00
Jonathan Druart
bd83d05316 Bug 5343: Followup FIX quantity received if items are created when receiving
For subscriptions, if items are created when receiving, the quantity
received is always 1, not 0.

+ UI: Show the subscription search form (instead of hidden)

Signed-off-by: Leila Arkab <koha.aixmarseille@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:46 -04:00
Jonathan Druart
ed63c13957 Bug 5343: Link serial and acqui modules
DB changements:
- Adds 2 fields: subscription.reneweddate and aqorders.subscriptionid.
- Removes 2 unused fields: aqorders.serialid and aqorders.subscription.

Main test plan:
1) Create a subscription
2) Create a bookseller and a basket
3) Add a new order 'from a subscription'
4) Search your subscription and check if results are correct
5) Click on the "order" link
6) Check the biblio information are filled in the form
7) Select a budget and fill some price information.
8) retry steps 3 and 4. Verify you cannot order the same subscription.
Message:Outstanding order (only one order per subscription is allowed).
9) click on your subscription (already added) and check you have a new
table "Acquisition details" with your price information in the "Ordered
amount" line.
10) receive this order
11) On your subscription detail page, the "Spent amount" line must be
filled with your price information.
12) Re order the same subscription. Now you are allowed to. Prices
information have to be filled with the previous information.
13) Retry some orders and click on a maximum of links in order to find a
bug :)

Signed-off-by: Leila Arkab <koha.aixmarseille@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Comments on last patch.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 23:54:43 -04:00
567988265f Bug 7740 - Followup - Add Non-XSLT Caveaut to system preference
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:57:32 -04:00
4def1cb4eb Bug 7740 - Highlight items in own library in search results/detail page in OPAC
This feature enables a particular library's items to be emphasized and moved
to the first position on the search results and details pages of the OPAC.

It is enabled by the sytem preference HighlightOwnItemsOnOPAC.

To choose which branches items are emphasized, use the system preference
HighlightOwnItemsOnOPACWhich. It has two modes.

If set to PatronBranch, the items emphasized will be those of the same
library as the patron's library. If no one is logged into the opac, no
items will be highlighted.

If set to OpacURLBranch, the library is chosen based on the Apache
environment variable BRANCHCODE.

For example, this could be added to the OPAC section of koha-httpd.conf:
SetEnv BRANCHCODE "CPL"

The point of this feature is to allow each library on a given Koha server
to have a specific subdomain for the opac where that library's items are
empasized. That was http://branch1.opac.mylibrary.org will emphasize the
items of branch1, while http://branch2.opac.mylibrary.org will emphasize
the items of branch2.

Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Nora Blake <nblake@masslibsystem.org>

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:57:29 -04:00
Julian Maurice
21fbc0b878 Bug 7688: Set firstacquidate in updatedatabase if it's not set
firstacquidate is now a mandatory field, so it must be set.
The updatedatabase process set firstacquidate value to one of:
- the planned date of the first serial for this subscription, or if not
  found,
- the subscription start date.

+ auto-select the numbering pattern when modifying a subscription.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:21:59 -04:00
Julian Maurice
ed49537002 Bug 7688 follow-up: Small fixes for QA
- # Subroutines::ProhibitExplicitReturnUndef: Got 1 violation(s) in
  C4::Serials::GetSubscriptionIrregularities
- Bad template constructions fixed in serials/subscription-add.tt

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:14:35 -04:00
Julian Maurice
dc9ff3c53d Bug 7688: Change subscription numbering pattern and frequencies
Serials numbering pattern and frequencies are no more hard-coded. Now
it's possible to create, edit and delete numbering patterns (and
frequencies). This implies new sql tables (subscription_numberpatterns
and subscription_frequencies)

Numbering patterns behave almost as before, there are still the same
values to configure (addX, everyX, settoX, whenmorethanX). lastvalueX
and innerloopX remain in subscription tables.

There is a new value in numbering patterns: numberingX. For each
"column" (X, Y or Z) you can tell how to format the number. Actually
numberingX can be set to:
 - 'dayname' (name of the day) (0-6 or 1-7 depending on which day is the
   first of the week)
 - 'monthname' (name of the month) (0-11)
 - 'season' (name of the season) (0-3) (0 is Spring)

These names are localized by using POSIX::setlocale and POSIX::strftime
and setting a 'locale' value to the subscription. Locale have to be
installed on the system.
Note that season names are not localized using POSIX::strftime (it can't
do this), so names are hardcoded into the code (available languages: en,
fr). This could be fixed in the future by using a Perl localization
framework.

Frequencies can be configured using 3 parameters:
 - 'unit': one of 'day', 'week', 'month', 'year'
 - 'issuesperunit': integer >= 1, the number of received issues per
   'unit'
 - 'unitsperissue': integer >= 1, the number of 'unit' between two
   issues
One of 'issuesperunit' and 'unitsperissue' must be equal to 1.
Examples:
  unit = 'day', issuesperunit=3, unitsperissue=1 => 3 issues per day
  unit = 'week', issuesperunit=1, unitsperissue=3 => 1 issue each 3
  weeks

Prediction pattern is now computed server-side and is more consistent
with what Koha will do. The publication date is displayed alongside the
serial number.
Irregularities can now be checked one by one, in the prediction pattern
table, or if frequency is 'day-based' (unit is 'day'), there is the
possibility to check all issues for a week day at once.

When an irregularity is found, there is the possibility to keep the
serial number unchanged, or to skip it. It is configured at subscription
creation or modification.
For instance, with a daily subscription you can have:
  skip serial number  |  keep serial number
----------------------+----------------------
 2012-01-01  ¦  No 1  | 2012-01-01  ¦  No 1
 2012-01-03  ¦  No 3  | 2012-01-03  ¦  No 2

To lighten the subscription modification page, manual history has been
moved in its own page subscription-history.pl which is accessible on
subscription-detail.pl, tab 'Planning'.

Important note: updatedatabase.pl script takes into account existing
subscriptions and create appropriate numbering patterns for them (it
tries to create as few patterns as possible). Frequency is
mapped to the correct entry in subscription_frequencies table.

This patch includes kohastructure.sql and updatedatabase.pl changes
+ sample frequencies data and sample numberpatterns data for fresh
installs (sample data is included in updatedatabase.pl)

=== TEST PLAN: ===

Create a new subscription:

  - Go to Serials module and click "New subscription" button
  - On the first page, choose a biblio and click next to go to the
    second page
  - Pick a first issue publication date
  - Choose frequency '1/day'
  - Choose a subscription length of 15 issues
  - Choose a subscription start date
  - Choose numbering pattern 'Volume, Number'
  - A table appears, fill 'Begins with' cells with '1'
  - Click on 'Test prediction pattern' button

The prediction pattern is displayed at the right of the page. You can
see in it the serial number, the publication date and a checkbox to
allow you to choose which serials will not be received (irregularities).

You can see that serial number start from "Vol 1, No 1" continue to "Vol
1, No 12" and then restart with "Vol 2, No 1".

Frequency is '1/day' so you can see that publication date is incremented
by one day line after line.

  - Now you can play a little with frequencies and numbering patterns,
    change one of them (or both) and click again on 'Test prediction
    pattern'
  - For example, choose frequency '3/weeks' and click on 'Test
    prediction pattern' button'.

There is a little behaviour change compared with current master.
Publication date will not be guessed within the week. Koha can't know
when you will receive issues. So the publication date stay the same
(monday of each week) for 3 consecutive issues and then jump to the next
week.

  - Now choose frequency '1/3 months' and numbering pattern 'Seasonal'
  - Fill 'Begins with' cells with '2012' for Year and '0' for Season
  - Click on 'Test prediction pattern'
  - You should have something like 'Spring 2012', 'Summer 2012', ...,
    'Winter 2012', 'Spring 2013'
  - Note that you can have seasons for south hemisphere by entering '2'
    in 'Year/Inner counter'
  - 2nd note: if you have some locales installed on your system, you can
    type its name in the 'Locale' field (actually it does not work for
    seasons name, only for month names and day names)

If you want to modify the numbering pattern you can still do it here:

 - Click on 'Show/Hide advanced pattern' link. The advanced pattern
   table is shown but all fields are readonly
 - Click on 'Modify pattern' button. All readonly fields are now
   editable. Note that 'Begins with' and 'Inner counter' line are
   repeated here and any modifications in the small table will be
   replicated in the big table, and vice versa.
 - Pattern name is emptied, if you type a new name, a new pattern will
   be created, and if you type the same name as an existing numbering
   pattern, this one will be modified (with a confirmation message)
 - There is two new lines in this table:
   - Label: it's what is displayed in the smaller table headers above
   - Numbering: used to format numbers in different ways. can be
     'seasons', 'monthname' or 'dayname'. Month name and day name can be
     localized using the 'Locale' field. Seasons can't (values for
     english and french are hard-coded in Serials.pm)
 - You can modify what you want in the table and click on 'Test
   prediction pattern' button each time you want to see your
   modifications. (Note that checkboxes for irregularities aren't displayed
   in this mode, and you can't save the subscription until you have saved
   or cancelled your changes).
 - To cancel your modifications, just click on 'Cancel modifications'
   button.
 - To save them, click on 'Save as new pattern'. If the pattern name is
   already existing, a confirmation box will ask you if you want to
   modify the existing numbering pattern. Otherwise a new pattern will be
   created and automatically selected.

Once you have finished modifying numbering pattern. You can click again
on 'Test prediction pattern' to define irregularities, and then click on
'Save subscription'.

Now you can check the serials module still works correctly:

 - Check the subscription detail page to confirm that nothing is
   missing. Especially the 'Frequency' and 'Number pattern' infos
 - Try to receive some issues. Check that the serial number is correctly
   generated and if irregularities you have defined are taken into
   account (if you have defined some).
 - Check that receiving is blocked once you have reached the number of
   issues you have defined in subscription length (or once you have
   reached the subscription end date)

In serials menu (to the left of almost each page of serials menu) you
have two new links: 'Manage frequencies' and 'Manage numbering
patterns'.

'Manage numbering patterns' lead to a page which list all numbering
patterns and allow you to create, edit or delete them. The interface is
almost the same as numbering pattern modification in subscription-add.pl

'Manage frequencies' lead to a page which list all frequencies and allow
you to create, edit or delete them.

Try to create a new frequency:
 - Click on 'Manage frequencies' link in the serials menu and then click
   on 'New frequency':
 - Fill in the description (mandatory).
 - Unit is one of 'day', 'week', 'month', year' or 'None' ('None' is for
   an irregular subscription)
 - If unit is different from 'None' you have to fill the two following
   fields (Issues per unit, and Units per issue)
 - Note that at least one of those must be equal to 1
 - Issues per unit is the number of received issues by 'unit' and Units
   per issue is the number of 'unit' between two issues
 - Display order is used to build the drop-down list. Leave empty and it
   will be set to 0 (top of the list)
 - Then click on 'Save'
 - Check that this new frequency appears in the frequencies table and in
   the drop-down list in subscription-add.pl

Subscription history has been moved in its own page. To test if it still
works, choose a subscription with manual history enabled (or modify an
existing subscription to turn on manual history).

 - On the detail page, tab 'Planning', you should have a link 'Edit history'.
 - Click on it
 - Modify history and click on Save
 - In tab 'Summary' you should have the infos you just entered

And finally, you can check that old subscriptions (by old I mean
subscriptions that existed before the update) are correctly linked to an
existing numbering pattern and an existing frequency. Numbering patterns
should be named 'Backup pattern X' where X is a number.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Comment: Great development! Work as described. No koha-qa errors
(with all patches applied). Please QA this fast.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:14:28 -04:00
Katrin Fischer
c634aab8d0 Bug 9604 - Follow-up: Changing labels from branch to library
Relabelling the new filters for consistency.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:05:38 -04:00
Fridolyn SOMERS
429e7c3c75 Bug 9604: filter overdues with homebranch and holdingbranch
This patch adds in overdues.pl filters on item home branch and holding branch.

Test plan :
Play with item home branch and holding branch filters and check
it filters well results.

Signed-off-by: Melia Meggs <melia@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Filters are added to the list of overdues in the circulation module.
All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 22:05:38 -04:00
719044f771 Bug 9257 - Add "groups" to normal search pulldown
This patch adds the ability to add groups to the library select
pulldown on the opac, if it is enabled.

Test Plan:
1) Apply patch
2) Run updatedatabase.pl
3) Go to Administration › Libraries and groups
4) Create a new group, or edit an existing one
5) Ensure the 'Show in search pulldown' checkbox is checked
6) Save the group
7) Enable OpacAddMastheadLibraryPulldown if it is not already enabled
8) Load the OPAC, try the group search from the libraries pulldown menu

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
Yes! Now this works, and well.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 08:20:08 -04:00
Jonathan Druart
f35dbbf42e Bug 8365: Add unit tests and fix QA issues
This patch adds some unit tests for CalcDateDue and GetLoanLength

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.

Tests done:
- Checked update works correctly for existing circulation rules.
- Adding, deleting and overwriting circulation rules works.
- Renewals work for different circulation rules and changes
  to the holiday calendar.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 07:57:02 -04:00
Jonathan Druart
8ad00bc02f Bug 8365: Add a renewal duration in the issuing rules
Renew an issue for a number of days (filled in the issuing rules).

Test if rules work for any i[item]types and if there is no regression.

- new column issuingrules.renewalperiod
- remove all occurrences of an already removed syspref (globalDueDate)
- remove an unused routine (Overdues::GetIssuingRules)

How it works:
- On existing installations, the issuingrules.renewalperiod =
  issuingrules.loanlength. So the behaviour is the same before and after
  this patch.
- when you add a rule, you can choose a renewal period (the unit value
  is the issuingrules.unit). So you can have a renewal period in hours
  or days.
- The default value for the renewal period is 21 days (same as
  loanlength)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Test comments on second patch.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-22 07:56:59 -04:00
7224e47dfe Bug 8220 - Allow koc uploads to go to process queue instead of being applied directly.
The primary advantage to the Firefox offline cirulation plugin when compared
to the offline circulation desktop application, is the ability to add offline
circulation actions to a queue so that multiple machines running offline
circ can have their circ actions combined and ordered chronologically before
being executed. This commit adds the ability to put actions from uploaded
KOC files into this queue. In this way, both the FF plugina and the desktop
application can be run side by side with no ill effects.

Signed-off-by: Bob Birchall <bob@calyx.net.au>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 20:35:37 -04:00
Jared Camins-Esakov
2a7d29beb3 Bug 4354 follow-up: correct phrasing of alert
Rather than saying "Are you sure you want to lost your changes" the
message that pops up when a user cancels changes to an existing row
should be "Are you sure you want to cancel your changes?" or something
along those lines. I went with that exact string.
2013-03-21 20:08:09 -04:00
Jonathan Druart
1cb51d7685 Bug 4354: Manage the specific case "Unlimited" value
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All good :)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 20:03:29 -04:00
Jonathan Druart
b8c8856840 Bug 4354: Followup: FIX the hardduedate copy
Before this patch, the copy was based on the string (could be
translated!). Now is base on the -1, 0, 1 values.
The trick is to backup the hardduedatecompare value for each line of the
table.

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 20:03:29 -04:00
Jonathan Druart
4243b51721 Bug 4354: Followup Add a Cancel button
New cancel button on the edit row.
Add a prevent message when editing a new row.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 20:03:29 -04:00
8367e9628b Bug 4354 - Followup - Add row highlighting
Test plan:
* Click on a row to edit
* Note that the row is highlighted in orange

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
All tests pass.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 20:03:29 -04:00
Jonathan Druart
3b01095378 Bug 4354: Cannot edit existing issuing rules
This patch adds javascript which pulls the values from the
chosen row of data and populates the last row's form with
that data. Some changes have been made to the markup to
better accommodate this.

Possibly missing is some kind of visual feedback to the user
that the edit action is taking place in a different row from
where they clicked. Comments are especially welcomed on
this aspect of the interaction.

The original author of this patch is Owen Leonard <oleonard@myacpl.org>

Test Plan:
* Edit an existing circulation rule
* Delete a circulation rule
* Create a new circulation rule
* Create a new circulation rule that is a dup of an old one
and make sure that it still overwrites the old rule like before

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

All tests passed.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Comments on last patch.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 20:03:29 -04:00
Adrien Saurat
04054653f3 Bug 8509: allows the Expected status to be chosen back
If a serial has been marked as received by mistake, it's now
possible to set it as an "Expected" serial again.

Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.

I did varoius tests on a subscription switching between the
different status (expected, arrived, late) and couldn't find
a bad side effect of this patch.

Note: The date arrived/date expected is not automatically reset,
but you can enter the date manually in the template, so I think
this could be handled in a separate bug.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 18:58:21 -04:00
Julian Maurice
d00f21833a Bug 9117 [Follow-up] Translatable string should be in double quotes
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
All tests and QA script pass.

Tests done:
- Created several reports fresh and using the new duplicate feature.
- Verified authorized values were created correctly and can be
  viewed from Administration > authorized values.
- Checked tabs and limiting on subgroups works correctly.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 18:54:10 -04:00
Julian Maurice
4fad5a7a6b Bug 9117 [Follow-up] Fix group and subgroup filtering
When a group code is contained in another group code (e.g. 'COD' and
'CODE'), filtering on the longest ('CODE') include reports of the
smallest ('COD').
Same problem for the subgroups.
This patch fixes this.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 18:54:09 -04:00
Julian Maurice
fc4cbe6884 Bug 9117 [Follow-up] Reports hierarchies management improvements
This patch avoid javascript bugs when user hasn't 'create_reports'
permission (last column is hidden in this case but <th> remains)
+ fix a typo 'selelcted' > 'selected'

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 18:54:09 -04:00
38082bfd38 Bug 9117 [Follow-up] Reports hierarchies management improvements
This patch corrects serveral markup errors in the template
introduced by this bug as well as previous patches: unescaped
ampersands, missing closing tags, typos.

To test, view various stages of the process of viewing or
creating guided reports and check the source for validity.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-21 18:54:09 -04:00