Most of the time C4::Biblio::GetBiblioData is used to retrieve the title
and/or the author of a bibliographic record.
This patch replaces the easy occurrences of GetBiblioData, the ones
where the 2 joins are needed, but only data from biblio and biblioitems
table are.
Test plan:
It will be hard to test everything, I'd suggest a QAer to review this
patch and confirm that the difference occurrences of GetBiblioData have
been correctly replaced by calling Koha::Biblios->find or
$biblio->bibioitem
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
The two new columns as mentioned in the commit message of the table
revision must be used in the codebase now.
Highlighting some changes in Koha::VirtualShel[f|ves]:
[1] Additional methods is_public and is_private.
[2] Method add_biblio did not check permissions. Does now. No impact on the
interface, but one call in the unit test was affected.
[3] Method remove_biblios is signficantly simplified. Removed a FIXME.
[4] Method can_biblios_be_removed now redirects to can_biblios_be_added.
A followup report may deal with unifying those routines.
[5] Condition in get_some_shelves changed.
[6] The reference to allow_add in get_shelves_containing_record can simply
be removed.
opac-shelves.pl and shelves.pl now pass the default setting of Owner only
to the template.
Templates shelves.tt and opac-shelves.tt now include the new permission
field with three choices as mentioned in the table revision patch.
opac-addbybiblionumber.pl and addbybiblionumber now need a check on
allow_change_from_owner; search conditions slightly adjusted to the new
permission scheme.
Test plan:
When we refer to visibility in the test plan, please check the Add to-combo
on opac search results and staff results. And check opac-addbybiblionumber
by clicking Save to Lists from opac results.
The step 'Check delete' means: open the list in opac and check if you see
the Delete button below the entries (only check, do not delete).
[ 1] Create private list I01 (perm=Owner)
[ 2] Check visibility: Seen.
[ 3] Add a book. (Change by owner should be allowed.)
[ 4] Check delete: Yes.
[ 5] Edit list I01, set perm=Nobody
[ 6] Check visibility: Not seen.
[ 7] Check delete: No.
[ 8] Share list I01 with another patron.
[ 9] Check visibility for the other patron: Not seen.
[10] Check delete for the other patron: No.
[11] Change permission of list I01 to Anyone (by owner).
[12] Check visibility for the other patron: Seen.
[13] Let other patron add a book (change is allowed).
[14] Let owner delete the same book again (change allowed).
[15] Create public list U01 (perm=Owner)
[16] Check visibility: Seen.
[17] Add a book. (Change by owner should be allowed.)
[18] Login as other user. Check visibility: Not seen. Check delete: No.
[19] Change permission of U01 to Nobody (by owner)
[20] As owner: Check visibility: Not seen. Check delete: No.
[21] As other user: Check visibility: Not seen. Check delete: No.
[22] Create public list U02 (perm=Anyone)
[23] Add a book by owner.
[24] Delete the same book by other user. Add another book.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
To avoid bug like bug 16518 and to ease the readability/maintainability
of these scripts, this patch replaces the use of 'our' with 'my' to
avoid the use of global variables.
Basically the code has been moved from subroutines to the appropriate places.
Test plan:
At the intranet and OPAC sides
1/ Add items to a list
2/ Add items to a list using an existing name
3/ Add items to a list you don't have right on it (by modifying the
biblionumber in the url)
4/ At the OPAC, use the opac-addbybiblionumber.pl without being logged
in to add items to a list
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
A typo has been made during a merge conflict when rebasing bug 16517.
it should be
eval { Koha::Object->new->store; };
instead of
eval { Koha::Object->new; }->store;
Test plan:
From the result list (intranet side), check some entries and add them to
a new list
Use an existing list's name
=> Without this patch you will get a server error (exception 'Duplicate shelf
object' raised by Koha::Virtualshelf->new->store)
=> With this patch you must get a friendly error message
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This patch replaces the occurrences of
my @foo = $cgi->param('foo');
with
my @foo = $cgi->multi_param('foo');
perl -p -i -e
's/^(\s*my\s*@\w+\s*=\s*)\$(cgi|input|query)\->param\(/$1\$$2\->multi_param\(/xms'
**/*.pl
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Get rid of AddToShelf and DelFromShelf
Bug 14544: Allow a user to delete his own contents
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Koha Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
http://bugs.koha-community.org/show_bug.cgi?id=9987
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This patch just adjusts several POD stuff, and in a few cases
reorganizes a hash definition in order to use spaces instead of tabs
for the QA script to be happy.
Nothing important, really. This patch series just changes '.tmpl' for
'.tt'.
Regards
To+
PS beware that running the koha-qa.pl script can take lots of time on this one
:-D
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Since we switched to Template Toolkit we don't need to stick with the
sufix we used for HTML::Template::Pro.
This patch changes the occurences of '.tmpl' in favour of '.tt'.
To test:
- Apply the patch
- Install koha, and verify that every page can be accesed
Regards
To+
P.S. a followup will remove the glue code.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Patch resolves incorrect call to GetShelf in opac and staff. It was and is harmless, because the singlecategory variable was not really used (the category$x param was ignored in the template). Just a cleanup operation.
signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Variable "$query" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 115.
Variable "$loggedinuser" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 129.
Variable "$shelfnumber" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 134.
Variable "$newvirtualshelf" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 135.
Variable "$sortfield" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 136.
Variable "$category" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 137.
Variable "$loggedinuser" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 137.
Variable "$authorized" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 139.
Variable "$errcode" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 140.
Variable "@biblionumber" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 143.
Variable "$query" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 145.
Variable "$authorized" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 150.
Variable "$loggedinuser" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 150.
Variable "$shelfnumber" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 150.
Variable "@biblionumber" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 151.
Variable "$query" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 153.
Variable "$errcode" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 157.
Variable "$authorized" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 162.
Variable "$loggedinuser" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 162.
Variable "$shelfnumber" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 162.
Variable "$template" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 165.
Variable "$errcode" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 173.
Variable "$loggedinuser" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 178.
Variable "$template" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 180.
Variable "@biblionumber" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 188.
Variable "$template" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 196.
Variable "$template" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 204.
Variable "$newshelf" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 205.
Variable "$authorized" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 206.
Variable "$errcode" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 207.
Variable "$query" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 209.
Variable "$cookie" is not available at /srv/koha/virtualshelves/addbybiblionumber.pl line 209.
Can't call method "param" on an undefined value at /srv/koha/virtualshelves/addbybiblionumber.pl line 115.
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This lays the foundation for further changes for report 7310.
Implements following points from the wiki page List permissions:
1) Preference that controls if users may create public lists in opac.
2) New add/delete own/delete other permissions per list.
Code has been changed (in some cases refactored). New permissions are not yet visible; with this patch current functionality is kept as much as possible while resolving several issues, improving permissions and extending the code for further developments (using the new permissions and sharing lists).
Feb 23, 2012 (revision): Changed defaults for new lists. Could also remove routine GetRecentShelves by using GetSomeShelfNames in catalogue/search.pl just as opac-search.pl already did. (More consistent.)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Feb 29, 2012: Automerge version.
March 5, 2012: Rebase for pushed 4912 patch.
March 21, 2012: Rebased. Resolving some conflicts in relation to pushed report 7719.
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
C4::VirtualShelves::GetRecentShelves contained some rather confused
code The contents of the requested list are returned in an arrayref
which was in its turn being wrapped needlessly in an array
As a result the returned array always consisted of a single element
irrespective of the number of lists.
Made the routine return the arrayref, which can now be tested directly
Unfortunately rather than fixing this we had previously coded around it
assuming it to be a "design" decision. Have amended other calls of
the subroutine resulting in some hopefully less obscure code
Fixed logic error in the results template which displayed new list
within a test for the presence of lists
Removed the offset parameter from the sql in the routine as it was hardcoded
to 0 i.e. the default value
Signed-off-by: fdurand <frederic.durand@univ-lyon2.fr>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Back in the day, lists could contain item records instead or in addition
to bibs, but that hasn't been the case for a while. Therefore, removed
AddToShelfFromBiblio, which does exactly the same thing that AddToShelf does.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
In Opac :
Print lists
Carts looks more like lists
Carts "More Details" And "Brief Display" toolbar looks more alike
In Admin :
Search results toolbar now have a "Add To" button for adding to a selected list with a confirmation pop-up, like in OPAC
Signed-off-by: Henri-Damien LAURENT <henridamien.laurent@biblibre.com>
This patch allows staff users to request reserves on multiple
items at one time.
Added checkboxes, select-all, clear-all, and place-hold button to
staff search results page. Place-hold button will only appear if
the user has permission to place holds for others. Item-level
Place-Hold button will not appear for multiple holds, nor will
the vertical detail menu.
Patron input page now shows multiple items, if applicable.
Hold confirmation page shows results for multiple items, if
applicable. Those which cannot be reserved are highlighted and
are excluded from the reservation. The reservation is placed at
the biblio number (i.e. next available) level.
Fixed display of item type.
Removed side menu for multiple items; removed item-oriented button for multiple items.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Adding code to refresh "Lists" button lists display in OPAC masthead.inc
Adding javascript to force refresh of parent window to update "Lists" button menu
Adding query limits and ability to specify row count and offset in queries related to Virtualshelves.
Also added the ability to return total record counts for specified virtualshelves.
Adding C4::VirtualShelves::GetRecentShelves which returns a list of the most recently modified shelves for
a given set of parameters. This allows the user to be offered active private and open lists to add books
to in drop down menus while also allowing drop down menus to be limited to a reasonable length.
This also limits the shelves stored in the user's session to a fixed number. A further enhancement might
be to add a syspref to enable a staff member to define the limit. Currently it is hardcoded at 10 per
list type (private/public-open).
Adding pagination to list/shelf related screens
Moving refresh shelves code into C4::VirtualShelves::RefreshShelvesSummary and tidying up a bit
Correcting several inconsistancies in the shelves templates as well as handling shelf management on
the intranet side correctly.
Correcting "Add To:" drop-down list to show only lists the patron has permission to add to
Correcting a few C4::VirtualShelves::GetShelvesSummary API calls
Modifications for template consistancy
Breaking up a 1367 char line of javascript in opac-results.tmpl
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
the 3 parameters :
intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
intranetstylesheet => C4::Context->preference("intranetstylesheet"),
IntranetNav => C4::Context->preference("IntranetNav"),
are filled by Auth.pm automatically, removing them in templates
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>