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.
* use C4::Branch is loaded only to call GetBranchNAme in PrepareSerialsData
and set branchname in the hashresult. This sub PrepareSerialsData is used
in the following scripts :
opac/opac-serial-issues.pl: my $subscriptioninformation=PrepareSerialsData($subscriptions); => no use of branchname after
serials/serials-collection.pl: $subscriptions=PrepareSerialsData(\@subscriptioninformation); => no use of branchname after
=> we can remove the ->{branchname} from the result, and remove the C4::Branch dependancy
* moves use C4::Items to require C4::Items, to call AddItemFromMarc, when
receiving a serial, with Recieving create an item set in the subscription.
* removed use C4::Letters and C4::Search, that are useless
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Use dataTables plugin
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
getroutinglist returns a count variable to indicate how many elements
are in the array. This is almost always a serious code smell. (We are
programming in a list manipulating language) The routine was executing
am unnecessary loop just to maintain that var.
Removed the variable from the routine and perldoc
refactored calls of the routine removed the c-style loops for
more idiomatic and maintainable for loops
renamed some opaquely named variables
removed a call to the routine where nothing was done with the data
moved some html out of the calling script and into the template
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The full title of a serial is now displayed even
if several lines have the same title.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
If $string or $issn is passed to GetSubscriptions, the request is false.
See Bug 5864, especially the last comment from Frédérick Capovilla.
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Thanks Stefano Bargioni for the typo fix
[2011.09.16] Thanks Paul for catching the display error.
[2011.10.11] Thanks Katrin for finding display error on OPAC.
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested prediction pattern and display in OPAC.
No problems found.
Perl 5.14 will issue warnings in cases where it is assumed that
() will magically appear around qw() as the interpreter
will stop fooling itself that they are there
Added the missing () in the couple of cases they were required
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The 'first' element in the structure PrepareSerialsData
was only used in the opac template. Remove assignment
as it is now obsolete (and potentially confusing )
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4/Serials does not need to retrieve full item data
just to check if barcode is unique. Replace with
a lighter weight subroutine make code logic clearer and
cleaner
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Don't display junk in empty fields
Don't generate errors
Merged some changes to make variable names moremeaningful in loops ( within loops)
Thanks to M De Rooy for spotting a couple of issues in the original patch
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
waiting issues which where planned for an old date were not "claimable"
This also fixes a bug from commit
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
This fix in serials search, for repeatables titles.
Now we use biblionumber to detect repeated serials.
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Subscription expiration date was not calculated on creation of a subscription
(cherry picked from commit 263e9217c8cd736924f66d699981949e29b4c200)
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
No subscription id was set
Also entered a default arrived date on the supplement
And removed errors due to bad dates returned from GetSerials
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Routine never executed query due to syntax error
and returned undef
made the call to fetchrow_array explicit as the old fetchrow alias
is no longer documented in perldoc DBI
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Routine was checking undefinedness but such dates were
normalized on retrieval to 0000-00-00
Also planned/received date should also be checked
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The empty vendor created by the select if any subscriptions
have no associated vendor generates a 'wrong-looking' display
and selecting it gives no options
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The blank line was being caused by the SELECT statement in the getroutinglist fuction of C4::Serials. The LEFT join in the select statement was creating a single row result of NULL. Changed the LEFT join to an INNER join.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
While the idea of showing the number of late serials against the
vendor name was nice it does not scale and on large sites selecting claims
was just timing out. Improved the speed of the initial query but have removed
the big query for each user just to get a count.
Check for 0000-00-00 dates so that C4::Dates does not log error
Removed a variable that was never set and the bit of template used
if the impossible happened
Ensured returns were documented
Fixed some language issues
Removed the host of podchecker warnings about missing lists
added a couple of explicit returns when subroutines
'fell off the end' to remove any ambiguity
Change obvious warning generators:
( use of string comparisons in numeric comparison)
( declaration of variable in comnditional )
also some errors caused by undefined values:
abouttoexpire was not checking for undef values
Pass a valid planneddate in generation of next expected
(undef here causes odd results)
Add a basic test script
test is minimal but I fell over a bug this would have caught
Removed some useless counts from serials-edit / Serials interfaces
Removed old commented out code. Unrequired variables
Reformatted some code so that improving logic can be done
more easily
Also cleaned the interface to the claims related functions
in C4::Serials so they do not return an extra count variable
moved generation of dropdown to template instead of inline code
- Formatting links to different subscription views as tabs like the links to MARC view, ISBD, etc.
- Styling display of brief subscription view for better clarity
- Moving filter form on full subscription view to sidebar
- jQuery-fying some full subscription view scripts
- Adding branch name to output of full subscription information
- Styling year links for visibility and clarity (I'm not styling them as standard tabs because
they wouldn't wrap well with many many years' worth of subscriptions)
Get SuppliersWithLateIssues should return a list of suppliers
If you have subscriptions with no supplier it also returned a
invalid supplier with a null id and null name.
This patch ignores the non-supplier supplier
If we really wanted to delete all items linked to a subscription when we delete a subscription
we should change the database structure as such :
ALTER TABLE serialitems ADD FOREIGN KEY ( itemnumber ) REFERENCES items (itemnumber) ON DELETE CASCADE ;
ALTER TABLE serial CHANGE subscriptionid subscriptionid INT( 11 ) NOT NULL
ALTER TABLE serial ADD INDEX subscription ( subscriptionid )
ALTER TABLE serial ADD FOREIGN KEY ( subscriptionid ) REFERENCES subscription (subscriptionid) ON DELETE CASCADE ;