Bug 7532 - remove dependency on Date::ICal

This removes the dependency on Date::ICal (which is largely
unmaintained) and replaces it with DateTime::Format::ICal which can do
the same job. It also updates all the docs and installation scripts to
handle this change.

Note that this causes a minor behaviour change: previously the generated
times were converted to UTC, now they are left "floating" (that is, have
no timezone attached) and so will appear as the local time when imported
into a calendar. I don't anticipate this'll cause any issues however.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 7540 - add id values to the legends in the patron entry form

This adds the following IDs to the legends in the patron entry form:
 main_address_lgd contact_lgd alt_address_lgd alt_contact_lgd
 library_management_lgd library_setup_lgd opac_staff_login_lgd
 patron_messaging_prefs_lgd

With these in place, then jquery like:
$(document).ready(function(){
        $('#main_address_lgd').text('Postal Address');
        $('#alt_address_lgd').text('Residential Address');
});
in intranetuserjs can be used to rename things to taste.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
I see the id's in there, they appear consistent and complete.
Bug 6137: fix a Circulation bug. userenv null

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Bug 6137: unit tests for C4::Circulation::_GetCircControlBranch

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 6137 follow-up, moving new test to db_dependent directory
Bug 6496 - tidy the display of 710 fields on XSLT

This puts '--' between 710$b fields, and replaces the '.' with a '; ' if
there are additional authors.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 6496 - correct the order of the author display in the OPAC

This sets the order the fields are displayed in to be as it is in the
MARC (typically numerical order), rather than 100,700,110,710,... like
it was.

Basically, it's a port of the way it's done in the staff client. As
such, it should be able to handle a lot more than it could previously,
including relator codes.

(replaces the previous commit, just removing an erronious comment and
making the commit message more accurate)

Conflicts:

	koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 7113: Standardize vendor id name in templates and scripts

New revision updates for current master and cleans up new
instances introduced by recent commits.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2 problems found, fixing those in follo up patches:
- late orders don't allow more than 1 order to be selected
- basketgroups: 'Edit vendor' does the same as 'Manage orders'
Bug 7113: Fix 'Edit vendor' link on basketgroup page

'Edit vendor' didn't open the vendor page for editing.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Bug 7133: Late orders don't allow to select more than one order

To test:

Fix selection of orders from vendors
1) Make sure you have at least 2 late orders each for 2 different vendors
2) Filter list to show only late orders of one vendor
3) Use Check all/Uncheck all
4) Select more than 1 order manually
5) Remove filter on vendor, show all late orders
6) When checking an order from one vendor, checkboxes for other vendors get blocked
7) Check you can select all late orders for one vendor

Display fix: show vendor id in first column instead of ()
1) Veryfy first column of table looks something like: (2) 19/01/2012 (8 days) and has no empty ()

http://bugs.koha-community.org/show_bug.cgi?id=7113
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 4054 - Double-clicking the 'place hold' button can result in duplicate holds

This commit adds a new jquery function to staff-global.js, preventDoubleFormSubmit().
When used thusly: $('#form-id').preventDoubleFormSubmit();
It will prevent a submitted form from being submitted a second time.
It is currently only added to the Place Hold form in reserve/request.pl

http://bugs.koha-community.org/show_bug.cgi?id=4045
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Tested:
Double clicking no longer causes identical double holds to be placed.
passes prove t xt t/db_dependent in line with current master.

Reminder: this will need to be added to the OPAC as well.
Bug 4054 - Double-clicking the 'place hold' button can result in duplicate holds - Part 2: OPAC

This commit adds a new jquery function to functions.js, preventDoubleFormSubmit().
When used thusly: $('#form-id').preventDoubleFormSubmit();
It will prevent a submitted form from being submitted a second time.
This commit uses said function to prevent double processing a hold
request from the opac.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Rapid clicking on the place hold button no longer causes duplicate holds!
Passes prove t xt t/db_dependent in line with current master.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 6488 - followup - fixes issue with bibs with no items and serials being suppressed

To test:

* create a bib with no items
* update your index
	serial records and your new bib with no items should be displayed.
* add something to the OPACHiddenItems syspref (I like itype: [BK] from the test data)
*** test both ways, with something in there and with the syspref empty.
* add an item to your new bib that would be suppressed
* update your index
* search for the bib
	The item should not show
* change the item into a state where it would no longer be suppressed
* update your index
* search for the bib
	The item should show in the opac
* just for fun, delete your item
* update your index
* Search for the bib - it should still display.

I tested on MARC21 - please test UNIMARC as well.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge remote-tracking branch 'origin/new/bug_6488'
Bug 7554: Clean newlines in browse script

Records with a newline in the title will break the Javascript search pagination
on the OPAC without this patch.

To test:
1. Import a record with a newline in the title (an example is attached to this
   bug)
2. Do a search that turns up the record and at least one other
3. View the detail page for one of the other records
4. Observe that there is a javascript error
5. Apply patch
6. Repeat search
7. Observe that there is no javascript error

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

Simple template change, works well

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Bug 6875 de nesting C4::Biblio

C4::Biblio is used in many many places. The goal of this cleaning is to do from C4::Biblio a package with as many dependancies as possible.

* C4::Heading is called only in 1 place, highly rarely used (only in 1 misc/link_bibs_to_authorities.pl), moving to require
* PrepareItemrecordDisplay is a sub that is more related to Items, moving it here. It means some scripts that used this sub must be checked against use C4::Items
* C4::Items is needed in EmbedItemsInMarcBiblio, moving it only in this sub, and switching to require
* 2 subs are totally useless z3950_extended_services and set_service_options, removing them

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
No test plan included, but tested some opac and cataloging functions.
Code looks good. Marked as Passed QA.
Bug 6875 de-nesting C4::Items

C4::Branch is used only in CheckItemPresave, moving from a use to a require in the sub
C4::Reserve:
    This package is loaded just for C4::Reserves::CheckReserves called in C4::Items::GetItemsInfo
    The GetItemsInfo stores the result of CheckReserves in a hash entry, count_reserve, that is used only in opac_detail to display the status of a hold. We could remove the reserve_count hash entry and inline C4::Reserves::CheckReserves directly from opac-detail.pl page
    in opac-detail.pl, instead of
    if( $itm->{'count_reserves'} eq "Waiting"){ $itm->{'waiting'} = 1; }
    write :
    if ( C4::Reserves::CheckReserves(<<parameters>>) eq "Waiting"){ $itm->{'waiting'} = 1; }
C4::Acquisition is used only in MoveItemFromBiblio, a sub that is rarely called. Moving from a use to a require in the sub
C4::Charset is used only in _parse_unlinked_item_subfields_from_xml. Moving from a use to require in the sub

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Checked opac-detail and cataloging. Code looks good.
Merge remote-tracking branch 'origin/new/bug_6875'
bug_7231: Call GetMarcPrice() in acqui/neworderempty.pl for staged imports

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 6193 - Follow up: use SetEnv and remove memcached from koha-conf.xml

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Confirmed that memcached is still being used after the memcached configuration
in koha-conf.xml was removed, and the following two lines were added to
both virtual hosts in koha-httpd.conf:
SetEnv MEMCACHED_SERVERS "127.0.0.1:11211"
SetEnv MEMCACHED_NAMESPACE "KOHA"