]> git.koha-community.org Git - koha.git/log
koha.git
16 years agoimprovements to automated tests, including a testing database
Andrew Moore [Fri, 18 Apr 2008 15:58:30 +0000 (10:58 -0500)]
improvements to automated tests, including a testing database

I'm adding a bunch of additions to the test suite. There is now a test
database that is created, and a test instance of the zebra server and
daemon that are run before the tests in t/database-dependent.pl are
run. This means that you can test things that insert (or destroy)
things in the database.

To use these tests, after you 'make' your koha installation, you can
change to the 't' directory and 'make test' there.

There is now an additional question asked during installation. It asks
whether you would like to run the data-dependent tests. If so, It asks
you for some login information to a test database. I recommend that
you do not not use your production database here. It will delete all
of the data in it.

Things that need improvement:
* I suspect that there are large parts that are not very platform
  independent, so they will need to be improved.
* There are some parts of the installer that will probably be
  refactored to let this work a little bit better, including being run
  directly from a main-level 'make' target at some point.
* Lots more tests to add. Be bold! (see the t/lib directory)
* other tests in t/*.t can possibly benefit from being included in here.

There are two required perl modules for this part of the test suite. I
use:
'Test::Class' => 0.028,
'Test::Class::Load' => 0.02,
They are not listed as requirements in the top-level Makefile.PL
because they're not actually required to install or use Koha, but if
you want to run the test suite, you can install them from CPAN.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agorefactor web installer code to created C4::Installer
Galen Charlton [Fri, 18 Apr 2008 15:58:29 +0000 (10:58 -0500)]
refactor web installer code to created C4::Installer

Created a new module, C4::Installer, which embodies
most of the code from installer/install.pl that handles
identifying and loading SQL scripts and setting the
Version, marcflavour, FrameworksLoad, and NoZebra
system preferences.

With C4::Installer, it is now easier to automate
initializing and populating a Koha database.  This will
help allow the test suite to set up a test database
in order to run DB-dependent tests, as well as write
a command-line installer which may be of use to hosts
that need to support multiple Koha databases.

Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoadded another check to MARC framework test
Galen Charlton [Fri, 18 Apr 2008 22:11:42 +0000 (17:11 -0500)]
added another check to MARC framework test

Check verifies that all subfields for each tag
are assigned to the same editor tab (or are ignored).

This situation can lead to data corruption, because
if an incoming MARC record has a field whose subfields
are assigned to different tabs, the first time that
record is saved in the bib editor, the field
will be split into multiple versions, each containing
the subfields assigned to a given tab.

Errors identified by this test known
in the MARC21 frameworks - I'm working on a patch to
correct those.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agodep change: Data::Dumper 2.121_08 => 2.121
Galen Charlton [Mon, 21 Apr 2008 13:51:10 +0000 (08:51 -0500)]
dep change: Data::Dumper 2.121_08 => 2.121

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agofix crash when saving MARC21 bib with NoZebra and BiblioAddsAuthority ON
Galen Charlton [Fri, 18 Apr 2008 22:11:41 +0000 (17:11 -0500)]
fix crash when saving MARC21 bib with NoZebra and BiblioAddsAuthority ON

Needed to identify correct subfield for retrieving
the authority type.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agokohabug 2022 - fixed fine and issuing rules editors
Galen Charlton [Fri, 18 Apr 2008 18:09:19 +0000 (13:09 -0500)]
kohabug 2022 - fixed fine and issuing rules editors

Because of the way that the older fine and issuing
rule editors generate the HTML form, if a branch code,
patron category code, or item type code happened to have a
'-' or '.', the HTML form would not be parsed properly, thus
adding an implicit (rather than explicit) limit on the
characters allowed in one of those codes.

This fix removes this limitation by Base64-encoding the codes
when constructing the names for the <input> elements.

Two functions are added to C4::Koha:

  str_to_base64() - UTF-8 string to Base64
  base64_to_str() - reverse

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoUpdate yuipath syspref
Frederic Demians [Fri, 18 Apr 2008 17:53:43 +0000 (19:53 +0200)]
Update yuipath syspref

If syspref points to online 2.3.1 YUI version, edit it to 2.5.1.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoXHTML correction - readonly attribute can contain only "readonly"
Galen Charlton [Fri, 18 Apr 2008 17:03:42 +0000 (12:03 -0500)]
XHTML correction - readonly attribute can contain only "readonly"

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agorebuild_zebra.pl - add -y option
Galen Charlton [Fri, 18 Apr 2008 15:53:38 +0000 (10:53 -0500)]
rebuild_zebra.pl - add -y option

rebuild_zebra.pl will now mark all zebraqueue entries
of the affected record type(s) done when run in
normal mode to index all records (as opposed to running
it with -z to just process the zebraqueue).  This prevents
any running zebraqueue_daemon processes from attempting
to reindex the same records, redundantly.

The new -y swtich overrides this new behavior; in other words, if
running rebuild_zebra.pl without -z, you can specify
-y to *not* mark zebraqueue done.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoCompleteing port of changes in DrawSpineText API
Chris Nighswonger [Fri, 18 Apr 2008 11:15:18 +0000 (07:15 -0400)]
Completeing port of changes in DrawSpineText API

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding back text wrap funcionality for lines exceeding $text_wrap_cols; also adding...
Chris Nighswonger [Fri, 18 Apr 2008 11:06:23 +0000 (07:06 -0400)]
Adding back text wrap funcionality for lines exceeding $text_wrap_cols; also adding use of C4::Debug

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding trinaries to handle unpopulated itemcallnumber and/or barcode fields
Chris Nighswonger [Thu, 17 Apr 2008 14:48:18 +0000 (10:48 -0400)]
Adding trinaries to handle unpopulated itemcallnumber and/or barcode fields

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoUpdate 'yuipath' syspref to accomodate YUI 2.5.1 use rather than 2.3.1
Frederic Demians [Thu, 17 Apr 2008 12:45:22 +0000 (14:45 +0200)]
Update 'yuipath' syspref to accomodate YUI 2.5.1 use rather than 2.3.1

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding missing <!-- /TMPL_IF -->
Chris Nighswonger [Thu, 17 Apr 2008 10:46:27 +0000 (06:46 -0400)]
Adding missing <!-- /TMPL_IF -->

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBug Fix : Blocker 2017
Henri-Damien LAURENT [Thu, 17 Apr 2008 08:04:17 +0000 (10:04 +0200)]
Bug Fix : Blocker 2017

disabled values are not passed to CGI.
So that if you disable entry, values and subfield codes are mixed up.
I changed disabled=tru to readonly and it fixes the bug.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoTweak bullmarcimport.pl
Frederic Demians [Wed, 16 Apr 2008 16:51:17 +0000 (18:51 +0200)]
Tweak bullmarcimport.pl

* Add a new parameter -o to begin importing input file after skiping
  n records.
* Enclose input file reading in an eval directive to avoid abording
  import if few records are corrupted: they are now skipped.
* Help formating.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoUpdates to go with upgrade to YUI 2.5.1
Owen Leonard [Tue, 15 Apr 2008 18:49:48 +0000 (13:49 -0500)]
Updates to go with upgrade to YUI 2.5.1

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoUpgrading YUI library to 2.5.1
Owen Leonard [Tue, 15 Apr 2008 18:49:37 +0000 (13:49 -0500)]
Upgrading YUI library to 2.5.1

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoCorrection to cat-search.inc to avoid focus-stealing problem; Change to detail.tmpl...
Owen Leonard [Tue, 15 Apr 2008 18:49:29 +0000 (13:49 -0500)]
Correction to cat-search.inc to avoid focus-stealing problem; Change to detail.tmpl to play nice with moredetail.tmpl; Minor changes to search pages to allow greater flexibility with background customizations.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAccept or reject : Bug Fix and improvements.
Henri-Damien LAURENT [Tue, 15 Apr 2008 17:19:18 +0000 (19:19 +0200)]
Accept or reject : Bug Fix and improvements.

Improving workflow : A suggestion can be edited and status can be changed if mistaken as soon as it is not deleted or acquired.
Adding dates display.
Adding deletion of suggestions.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoTwo fixes to speed up (a little bit) installation process
Frederic Demians [Tue, 15 Apr 2008 16:10:24 +0000 (18:10 +0200)]
Two fixes to speed up (a little bit) installation process

Add a explanation on DBD::mysql installation without test suite.
Add /misc/translator/install-code.pl script that creates templates
for specified language codes.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoPorting SimpleSearch return changes to all code calling it.
Chris Nighswonger [Tue, 15 Apr 2008 12:41:56 +0000 (08:41 -0400)]
Porting SimpleSearch return changes to all code calling it.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoMore work on SimpleSearch
Chris Nighswonger [Tue, 15 Apr 2008 09:24:31 +0000 (05:24 -0400)]
More work on SimpleSearch

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoEnabling SimpleSearch to return the total number of hits to caller
Chris Nighswonger [Tue, 15 Apr 2008 09:03:31 +0000 (05:03 -0400)]
Enabling SimpleSearch to return the total number of hits to caller

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoadded preview MARC links to manage staged import
Galen Charlton [Mon, 14 Apr 2008 21:42:12 +0000 (16:42 -0500)]
added preview MARC links to manage staged import

In the list of bibs for an import batch, the sequence
number is now a link to a preview of the original
MARC record - uses the same JavaScript widget as the
preview for Z39.50 search results.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years ago/TMPL_ELSE is invalid, should be TMPL_ELSE
Paul POULAIN [Mon, 14 Apr 2008 16:55:54 +0000 (18:55 +0200)]
/TMPL_ELSE is invalid, should be TMPL_ELSE

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBUGFIX (blocking) : AddSubscription was bugguy
Paul POULAIN [Mon, 14 Apr 2008 16:55:53 +0000 (18:55 +0200)]
BUGFIX (blocking) : AddSubscription was bugguy

making the creation of a subscription silently fail, but modif is impossible.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBUGFIX : highlighting term fixes
Paul POULAIN [Mon, 14 Apr 2008 16:55:52 +0000 (18:55 +0200)]
BUGFIX : highlighting term fixes

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoCorrecting code to pass total number of hits returned to the template.
Chris Nighswonger [Mon, 14 Apr 2008 12:33:08 +0000 (08:33 -0400)]
Correcting code to pass total number of hits returned to the template.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoremoving some spaces in record.abs, that make the file invalid for Zebra
Paul POULAIN [Mon, 14 Apr 2008 09:59:07 +0000 (11:59 +0200)]
removing some spaces in record.abs, that make the file invalid for Zebra

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agomy .gitignore, to avoid having files suggested to be commited.
Paul POULAIN [Mon, 14 Apr 2008 09:59:06 +0000 (11:59 +0200)]
my .gitignore, to avoid having files suggested to be commited.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBUGFIX : don't displayt "Place Hold" when RequestOnOpac is OFF
Paul POULAIN [Mon, 14 Apr 2008 09:59:05 +0000 (11:59 +0200)]
BUGFIX : don't displayt "Place Hold" when RequestOnOpac is OFF

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBUGFIX : encoding problem & security problem
Paul POULAIN [Mon, 14 Apr 2008 09:59:04 +0000 (11:59 +0200)]
BUGFIX : encoding problem & security problem

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoCorrect bad encoding of fr-FR data loaded by web installer
Frederic Demians [Sun, 13 Apr 2008 18:23:53 +0000 (20:23 +0200)]
Correct bad encoding of fr-FR data loaded by web installer

Some informations imported into MySQL DB by web installer
were wrongly encoded. It was the case for example with
opac_news table.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoadding license tab to about page
Joshua Ferraro [Mon, 14 Apr 2008 21:48:12 +0000 (17:48 -0400)]
adding license tab to about page

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoDisplays Languages selector on opac-main.pl page
Frederic Demians [Sat, 12 Apr 2008 11:32:26 +0000 (13:32 +0200)]
Displays Languages selector on opac-main.pl page

On bottom of each OPAC pages, a languages selector is displayed
(depending of syspref). But this selector wasn't available
on OPAC home page.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoTotal overhaul of bor_issues_top report, removal from CGI::scolling_list.
Joe Atzberger [Fri, 11 Apr 2008 23:23:45 +0000 (18:23 -0500)]
Total overhaul of bor_issues_top report, removal from CGI::scolling_list.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdd authorised values descriptions to selector for "location".
Joe Atzberger [Fri, 11 Apr 2008 16:44:24 +0000 (11:44 -0500)]
Add authorised values descriptions to selector for "location".

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 1953: removing possible SQL injections from C4::Acquisition::GetHistory
Andrew Moore [Fri, 11 Apr 2008 16:32:58 +0000 (11:32 -0500)]
bug 1953: removing possible SQL injections from C4::Acquisition::GetHistory

I think this is the last sub in this module that needs to be changed.
there should be no functionality or no documentation changes with this patch.
http://bugs.koha.org/cgi-bin/bugzilla/show_bug.cgi?id=1953

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoRemove redundant name from breadrumbs, make casing consistent in patron edit
Ryan Higgins [Fri, 11 Apr 2008 14:34:40 +0000 (09:34 -0500)]
Remove redundant name from breadrumbs, make casing consistent in patron edit

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoshow zipcode with address in patron search results list
Ryan Higgins [Fri, 11 Apr 2008 14:24:15 +0000 (09:24 -0500)]
show zipcode with address in patron search results list

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBug #1855
Frederic Demians [Fri, 11 Apr 2008 13:55:30 +0000 (15:55 +0200)]
Bug #1855

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoCorrecting class.labels_conf to be classification.labels_conf
Chris Nighswonger [Fri, 11 Apr 2008 13:32:40 +0000 (09:32 -0400)]
Correcting class.labels_conf to be classification.labels_conf

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBug Fixing : Forcing USMARC format for xml
Henri-Damien LAURENT [Fri, 11 Apr 2008 13:09:59 +0000 (15:09 +0200)]
Bug Fixing : Forcing USMARC format for xml

using as_xml uses default MARC::File::XML format which is UNIMARC for marcflavour UNIMARC
And thus, causing a problem when encoding simple items marc records.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoItem-level_itypes fix, addition of ccode vector and filter.
Joe Atzberger [Fri, 11 Apr 2008 04:07:40 +0000 (23:07 -0500)]
Item-level_itypes fix, addition of ccode vector and filter.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 1953: removing possible SQL injections from C4::Acquisition::GetLateOrders
Andrew Moore [Thu, 10 Apr 2008 19:49:39 +0000 (14:49 -0500)]
bug 1953: removing possible SQL injections from C4::Acquisition::GetLateOrders

I decided to not make chagnes the the query that's executed on databases other than MySQL as I have no good way to test that.
This change provides no functinality change and requires no documentation change.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBUGFIX : encoding problem & security problem
Paul POULAIN [Thu, 10 Apr 2008 08:41:16 +0000 (10:41 +0200)]
BUGFIX : encoding problem & security problem

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBugfix: Handling cases where the image is the correct pixel dimensions
Chris Nighswonger [Thu, 10 Apr 2008 06:35:53 +0000 (02:35 -0400)]
Bugfix: Handling cases where the image is the correct pixel dimensions

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoavoid crashes if record in result set is corrupted
Joshua Ferraro [Fri, 11 Apr 2008 09:50:51 +0000 (05:50 -0400)]
avoid crashes if record in result set is corrupted

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoadded jQuery plugin Treeview 1.4.0
Galen Charlton [Fri, 4 Apr 2008 20:19:56 +0000 (15:19 -0500)]
added jQuery plugin Treeview 1.4.0

This plugin by Jörn Zaeffererr handles creating an
expandable and collapsible tree from an unordered list, and
will initially be used for the enhanced user permissions page.
The plugin is dual-licensed: MIT and GPL.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdd Default location to Staff client login.
Ryan Higgins [Thu, 10 Apr 2008 18:42:28 +0000 (13:42 -0500)]
Add Default location to Staff client login.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoremove hardcoded ccode & loc authorized values from opac-detail.
Ryan Higgins [Thu, 10 Apr 2008 18:19:08 +0000 (13:19 -0500)]
remove hardcoded ccode & loc authorized values from opac-detail.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoStill tinkering with moredetail.tmpl; Haven't solved anchor problem.
Owen Leonard [Thu, 10 Apr 2008 19:04:02 +0000 (14:04 -0500)]
Still tinkering with moredetail.tmpl; Haven't solved anchor problem.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding anchor link to updateitem redirect; Markup corrections for cat_issues_top...
Owen Leonard [Thu, 10 Apr 2008 19:03:53 +0000 (14:03 -0500)]
Adding anchor link to updateitem redirect; Markup corrections for cat_issues_top.tmpl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoQuotes in shelf name prevented editing of shelf name.
Owen Leonard [Thu, 10 Apr 2008 19:03:44 +0000 (14:03 -0500)]
Quotes in shelf name prevented editing of shelf name.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoQuotes in shelf name were causing js error.
Owen Leonard [Thu, 10 Apr 2008 19:03:38 +0000 (14:03 -0500)]
Quotes in shelf name were causing js error.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoMarkup corrections and standardizations.
Owen Leonard [Thu, 10 Apr 2008 19:03:29 +0000 (14:03 -0500)]
Markup corrections and standardizations.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBugfix for 1931 as well as a major overhaul in the presentation of the search results.
Chris Nighswonger [Thu, 10 Apr 2008 14:29:22 +0000 (10:29 -0400)]
Bugfix for 1931 as well as a major overhaul in the presentation of the search results.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agorenamed CheckSpecificUserPermissions to GranularPermissions
Galen Charlton [Thu, 10 Apr 2008 16:37:49 +0000 (11:37 -0500)]
renamed CheckSpecificUserPermissions to GranularPermissions

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agofix crash when attempting login as user w/o 'catalogue' permission
Galen Charlton [Thu, 10 Apr 2008 16:37:48 +0000 (11:37 -0500)]
fix crash when attempting login as user w/o 'catalogue' permission

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agogranular permissions - updated Tools
Galen Charlton [Thu, 10 Apr 2008 16:37:47 +0000 (11:37 -0500)]
granular permissions - updated Tools

Updated all scripts appearing on the tools page
to respect a granular permission defined for
each of them.

The tools menu and home page have been changed so
that only the specific tools that a user has
access are displayed.  This is simple, but depending on
the module and circumstance, it may be better to
display functions that the user has does not have
access to, but disable the links and do some sort
of visual styling to indicate that a function exists
but requires additional privileges to access.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agogranular permissions - update CGI script for permissions editor
Galen Charlton [Thu, 10 Apr 2008 16:37:46 +0000 (11:37 -0500)]
granular permissions - update CGI script for permissions editor

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agogranular permissions - setting user permissions
Galen Charlton [Thu, 10 Apr 2008 16:37:45 +0000 (11:37 -0500)]
granular permissions - setting user permissions

Adjusted the user permissions editing page as follows:

* Replaced table with a list
* Implemented a tree control using the jQuery Treeview plugin
* When CheckSpecificUserPermissions is ON, if a module
  flag has specific (i.e., children) permissions, allow
  them to be edited - this is where the tree control
  comes in.
* Added some hooks and an initial stab at the CSS
  to style the permissions editor tree.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoCAN_user_permission => CAN_user_permissions
Galen Charlton [Thu, 10 Apr 2008 16:37:44 +0000 (11:37 -0500)]
CAN_user_permission => CAN_user_permissions

Adjusted so that there wasn't a difference between
the 'permissions' code in userflags.flag and the
template variable.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agogranular permissions - C4::Auth
Galen Charlton [Thu, 10 Apr 2008 16:37:43 +0000 (11:37 -0500)]
granular permissions - C4::Auth

Enhanced the permission-checking functions in C4::Auth
(e.g., get_template_and_user, checkauth, check_api_auth, etc.).

If the CheckSpecificUserPermissions syspref is OFF, the behavior
of those APIs is unchanged.

If CheckSpecificUserPermissions is ON, then the value of each
key in the flagsrequired hash is considered during
the permissions check:

  1. if the value is 1, the staff user must have
     all privileges for the userflags flag (or module)
     referred to by the hash key, e.g.,

     { flaqsrequired => { tools => 1 } }

     In terms of the database, this means that the
     corresponding bit must be set in borrowers.flags.

  2. If the value is '*', the staff user must
     have at least one of the permissions for the
     userflag/module, but it doesn't matter which one.

     In terms of the database, this means ether that the
     corresponding bit must be set in borrowers.flags or
     that there at least is one row in user_permissions
     for the staff user and bit/module combination.

  3. If the value is any other string, it must be
     a permissions code defined in the permissions table.
     The staff user must have that specific permission
     or have access to all functions of the module

     In terms of the database, this means ether that the
     corresponding bit must be set in borrowers.flags or
     that there is a matching row in user_permissions
     for the staff user, bit/module, subpermission
     code combination.

In addition, get_template_and_user is modified so that the
CAN_user_XXX variables that it sets also includes the
subpermissions available (CAN_user_XXX_YYY, e.g.,
CAN_user_tools_import_patrons).  The template variables
for the specific permissions are set regardless of whether
CheckSpecificUserPermissions is ON or OFF so that the templates
don't have to test for that syspref explicitly.

In addition, the meaning of CAN_user_XXX has changed slightly -
CAN_user_tools, for example, is set to 1 in the template if the
user has access to *any* of the tools functions.  This was done
to simply the logic for deciding whether to display a menu
item in the staff interface are not.  This does mean that
when specific subpermissions are added to (say) the circulate
module, each use of CAN_user_circulate will need to be examined
to see if the intent is to allow the user to get at a circ
menu or page or if the user really should be required to have
all circulate functions.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agogranular permissions - created DB tables
Galen Charlton [Thu, 10 Apr 2008 16:37:42 +0000 (11:37 -0500)]
granular permissions - created DB tables

First big commit in a project to add more granular
staff user permissions to Koha.

* Created two new database tables

permissions:
  stores a list of defined permissions; each
  permission is to be interpreted as a child
  of a top-level permission defined in the
  existing user flags.  For example, Tools (bit 13)
  now has a separate sub-permission for each
  individual tool.

  The columns are
    module_bit  = FK referencing userflags.bit
    code        = code, e.g., import_patrons
    description = e.g., "Import patron data"

user_permissions:
  stores a list of the specific permissions that
  a staff user actually has.   For example, if
  staff user 123 has only the 'import_patrons' subpermission
  of 'Tools' (module_bit = 13), that would be represented
  by having (123, 13, 'import_patrons' in user_permissions.

  user_permissions and borrowers.flags are now interpreted
  as follows (assuming the CheckSpecificUserPermissions syspref
  is ON):
    * If the appropriate bit (e.g., bit 13 for Tools) is set
      in borrowers.flags, the staff user can access all
      Tools functions.  There should be no rows in user_permissions
      for that staff user and userflag bit combination.
    * If the bit is not set in borrowers.flags, but one or
      more rows are present in user_permissions for that
      staff user and bit combination, the staff user can
      access the specified sub-functions.
    * If the bit is not set in borrower.flags and there are
      no rows in user_permissions for that staff user and
      bit combination, the user cannot access any of the functions.

  Note that this means that if a staff user can access all
  functions for a module (because the bit is set in borrowers.flags),
  the user will automatically be able access any new subfunctions
  added to permissions by a database update.

  The columns are:
    borrowernumber = FK referencing borrowers.borrowernumber
    module_bit, code = FK referencing permissions

* Added a new system preference, CheckSpecificUserPermissions

If this system preference is ON, staff users can be assigned
specific permissions which will be respected during
authorization checks.  If this system preference is OFF, the
current userflags semantics will continue to apply.

* Defined sub-permissions for Tools.  The list of specific
  tools permissions is now:

  edit_news          Write news for the OPAC and staff interfaces
  label_creator      Create printable labels and barcodes from catalog and patron data
  edit_calendar      Define days when the library is closed
  moderate_comments  Moderate patron comments
  edit_notices       Define notices
  edit_notice_status_triggers     Set notice/status triggers for overdue items
  view_system_logs   Browse the system logs
  inventory          Perform inventory (stocktaking) of your catalogue
  stage_marc_import  Stage MARC records into the reservoir
  manage_staged_marc Manage staged MARC records, including completing and reversing imports
  export_catalog     Export bibliographic and holdings data
  import_patrons     Import patron data
  delete_anonymize_patrons    Delete old borrowers and anonymize circulation history (deletes borrower reading history)
  batch_upload_patron_images  Upload patron images in batch or one at a time
  schedule_tasks     Schedule tasks to run

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agofixed XHTML error
Galen Charlton [Thu, 10 Apr 2008 16:37:41 +0000 (11:37 -0500)]
fixed XHTML error

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 2006: do not crash when paying a lost item fine
Galen Charlton [Thu, 10 Apr 2008 14:12:44 +0000 (09:12 -0500)]
bug 2006: do not crash when paying a lost item fine

Qualified call to MarkIssueReturned with 'C4::Circulation'.
It looks like there is still a subtle bug with exporting
subs between modules that use each other.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoFix for installer languages so that only the staff client languages are visible to...
Joshua Ferraro [Thu, 10 Apr 2008 19:46:47 +0000 (15:46 -0400)]
Fix for installer languages so that only the staff client languages are visible to the installer

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoimproving english of maintenance page
Joshua Ferraro [Thu, 10 Apr 2008 06:45:21 +0000 (02:45 -0400)]
improving english of maintenance page

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 1953: removing potential SQL injection in C4::Acquisition::GetParcels
Andrew Moore [Wed, 9 Apr 2008 20:46:45 +0000 (15:46 -0500)]
bug 1953: removing potential SQL injection in C4::Acquisition::GetParcels

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 2009: fix to include "type" so that adding items to label batches works.
Andrew Moore [Wed, 9 Apr 2008 15:36:06 +0000 (10:36 -0500)]
bug 2009: fix to include "type" so that adding items to label batches works.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoInclude file required after modifications to opac-topissues.tmpl
Owen Leonard [Wed, 9 Apr 2008 13:59:01 +0000 (08:59 -0500)]
Include file required after modifications to opac-topissues.tmpl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoChanges to "Most Popular" interface: adding some default parameters to link so that...
Owen Leonard [Wed, 9 Apr 2008 13:58:52 +0000 (08:58 -0500)]
Changes to "Most Popular" interface: adding some default parameters to link so that page displays results right away. When results are shown, search form is moved into side bar, like facets. Adding tablesorter and 'place hold' links.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding whitespace to allow wrapping of long subject hierarchies
Owen Leonard [Wed, 9 Apr 2008 13:58:45 +0000 (08:58 -0500)]
Adding whitespace to allow wrapping of long subject hierarchies

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoFormatting patron expiration date output (or was there a reason why this was commente...
Owen Leonard [Wed, 9 Apr 2008 13:58:37 +0000 (08:58 -0500)]
Formatting patron expiration date output (or was there a reason why this was commented out previously?)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoFix for Bug 1828 (
Owen Leonard [Wed, 9 Apr 2008 13:58:28 +0000 (08:58 -0500)]
Fix for Bug 1828 (

Edit Details link for expired member in circulation.pl incorrect)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoIdentifying "waiting at" branch on screen.
Owen Leonard [Wed, 9 Apr 2008 13:58:20 +0000 (08:58 -0500)]
Identifying "waiting at" branch on screen.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding auto-focus to patrons resident search; Highlighting overdues count in patron...
Owen Leonard [Wed, 9 Apr 2008 13:58:14 +0000 (08:58 -0500)]
Adding auto-focus to patrons resident search; Highlighting overdues count in patron list.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoPrettying up holds print/confirm button, correcting markup in transfer slip.
Owen Leonard [Wed, 9 Apr 2008 13:58:09 +0000 (08:58 -0500)]
Prettying up holds print/confirm button, correcting markup in transfer slip.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoHighlight waiting and transfered items in the user's holds list. Statuses on transfer...
Owen Leonard [Wed, 9 Apr 2008 13:58:01 +0000 (08:58 -0500)]
Highlight waiting and transfered items in the user's holds list. Statuses on transfered items not working properly, though (Bug 2002).

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoadd items.enumchron to _koha_new_item.
Ryan Higgins [Wed, 9 Apr 2008 12:16:37 +0000 (07:16 -0500)]
add items.enumchron to _koha_new_item.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBugfix: Correcting misspelled variable
Chris Nighswonger [Wed, 9 Apr 2008 11:36:38 +0000 (07:36 -0400)]
Bugfix: Correcting misspelled variable

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding use of C4::Debug for debugging
Chris Nighswonger [Wed, 9 Apr 2008 11:28:25 +0000 (07:28 -0400)]
Adding use of C4::Debug for debugging

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobugfix : independantbranches behaviour
Paul POULAIN [Tue, 8 Apr 2008 20:14:14 +0000 (22:14 +0200)]
bugfix : independantbranches behaviour

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBiblioAddsAuthorities improvement/fix
Paul POULAIN [Tue, 8 Apr 2008 20:14:13 +0000 (22:14 +0200)]
BiblioAddsAuthorities improvement/fix

this commit restore a better behaviour :
- if ON : the librarian can enter manually an authority-linked marc field. and if it does not exist in the authorities file, it will be created automatically
- if OFF : the authority must exist in the authority file, and the librarian can't enter if manually in the MARC editor

This patch just deals with the OFF case (the ON was already here). With OFF the behaviour is now the same as in 2.2

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAdding OPACItemHolds syspref in sql syspref, added by owen on april 1st
Paul POULAIN [Tue, 8 Apr 2008 20:14:12 +0000 (22:14 +0200)]
Adding OPACItemHolds syspref in sql syspref, added by owen on april 1st

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoreintroducing the limit on itemtype when searching a biblio in subscription add
Paul POULAIN [Fri, 4 Apr 2008 09:16:01 +0000 (11:16 +0200)]
reintroducing the limit on itemtype when searching a biblio in subscription add

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoReintroducing history dates for serial-issue (see previous commit for staff // feature)
Paul POULAIN [Fri, 4 Apr 2008 09:16:00 +0000 (11:16 +0200)]
Reintroducing history dates for serial-issue (see previous commit for staff // feature)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoreintroducing history manual modification feature
Paul POULAIN [Fri, 4 Apr 2008 09:15:59 +0000 (11:15 +0200)]
reintroducing history manual modification feature

The history start date and enddate is also useful to modify manually for the same reason : your serial collection may be older than your Koha serial management.

This commit reintroduce the feature.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobugfix for saving issuing rules
Paul POULAIN [Tue, 1 Apr 2008 14:01:43 +0000 (16:01 +0200)]
bugfix for saving issuing rules

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agouse HomeOrHoldingBranch to determine if a return is valid or not
paul [Tue, 1 Apr 2008 14:01:36 +0000 (16:01 +0200)]
use HomeOrHoldingBranch to determine if a return is valid or not

in fact, i'm not 100% sure of this bugfix : I don't see the case where a return should be done directly to homebranch, when the check out has been done at holdingbranch
so maybe we could hardcode 'holdingbranch' instead of using HomeOrHoldingBranch

the patch as written won't break anything existing.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoFixing bug 2005: ISBN Search
Joshua Ferraro [Wed, 9 Apr 2008 09:15:37 +0000 (05:15 -0400)]
Fixing bug 2005: ISBN Search

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAddRenewal - handle opac-renewal, empty branch arg.
Joe Atzberger [Tue, 8 Apr 2008 22:43:52 +0000 (17:43 -0500)]
AddRenewal - handle opac-renewal, empty branch arg.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoAllow param "bornum" as in template, not just "borrowernumber". Added FIXMEs.
Joe Atzberger [Tue, 8 Apr 2008 22:43:51 +0000 (17:43 -0500)]
Allow param "bornum" as in template, not just "borrowernumber". Added FIXMEs.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoPartial fixes to enable unapi for non-zebra and non-public-facing sru
Joshua Ferraro [Tue, 8 Apr 2008 13:15:24 +0000 (09:15 -0400)]
Partial fixes to enable unapi for non-zebra and non-public-facing sru

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 2004: changes to guided reports on items
Galen Charlton [Tue, 8 Apr 2008 21:08:12 +0000 (16:08 -0500)]
bug 2004: changes to guided reports on items

* Added items.location and items.ccode to list of
  columns available for limiting
* choice of item type column (i.e., biblioitems.itemtype
  or items.itype) to limit by now respects
  item-level_itypes syspref

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agobug 1980: changes to label-item-search.pl to allow pagination over large result sets
Andrew Moore [Tue, 8 Apr 2008 19:04:20 +0000 (14:04 -0500)]
bug 1980: changes to label-item-search.pl to allow pagination over large result sets

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoBug 1980: some cleanup, getting ready to add pagination to label-item-search.pl
Andrew Moore [Tue, 8 Apr 2008 19:04:19 +0000 (14:04 -0500)]
Bug 1980: some cleanup, getting ready to add pagination to label-item-search.pl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
16 years agoDates.pm - trivial perldoc corrections
Joe Atzberger [Tue, 8 Apr 2008 16:28:40 +0000 (11:28 -0500)]
Dates.pm - trivial perldoc corrections

Signed-off-by: Joshua Ferraro <jmf@liblime.com>