Commit graph

8082 commits

Author SHA1 Message Date
Galen Charlton
d75cc041f6 new C4 modules for patron attributes
Two new modules to support patron attributes:

- C4::Members::AttributeTypes

  OO-module for managing patron attribute types.

- C4::Members::Attributes

  Procedural module for retrieving and setting
  extended attributes belonging to a patron.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:00 -05:00
Galen Charlton
6fc62bcd32 extended patron attributes tables & syspref (DB rev 081)
Added two tables and system preference to support
a new patron alternate ID and attributes feature.

A patron attribute (or extended patron attribute) is an
additional piece of information associated with a patron
record.  Each attribute has a type that specifies
whether the attribute is repeatable, can serve as
a unique identifier, can take a password, and
whether it can be used to search for patron records
in the staff interface.

The list of attribute types is controlled by the
superlibrarian.  Once an attribute type is defined,
values for that attribute can be added to the patron record
via the staff interface or the batch patron import.

Two uses of extended attributes are:

- defining additional unique identifiers, such as
  a campus student ID number, a library staff
  HR number, and so on.  These IDs can be used
  for searching or matching and overlaying records
  during a batch import.
- additional statistical categories.  For example,
  a library could define an attribute type for
  tracking the academic major of a student patron.
  Any number of attributes of this sort could be
  defined.

The extended attributes feature is completely optional.  If
the new syspref, ExtendPatronAttributes, is OFF, the patron
attributes tables will be ignored; it will not be possible
to display, edit, search for, or match on extended
attributes.

The tables are:

[1] borrower_attribute_types - store attribute types
    defined by the administrator.

    - code
    - description
    - repeatable (whether a patron record can have
      more than value of a given attribute type)
    - unique_id (whether values of this type
      must be unique within the database)
    - opac_display (whether values of this type
      can display in the patron details page in the OPAC)
    - staff_searchable (whether values of this type
      can be used to retrieve patron records in circulation)
    - password_allowed (if set, staff patron editor will
      allow a password to be associated with a value; this
      is mostly a hook for functionality to be implemented
      in the future.
    - authorised_value_category (code of an authorised_value
      category.  If one is specified, the staff patron
      editor will use a dropdown for setting values of this type)
[2] borrower_attributes - the actual attributes.
    - code (attribute type code, FK)
    - borrowernumber (link to patron, FK)
    - attribute (the value)
    - password (password associated with value)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:00 -05:00
Galen Charlton
9ea4ce4286 kohabug 2076: more reconciliation of DB schema (DB rev 080)
Adjustments to updatedatabase.pl to help ensure that a
DB upgraded from 2.2.9, 3.0-alpha, or 3.0-beta has a schema
identical to a fresh installation.

The changes to the following columns and indexes are to
default values, field widths, position relative to other
columns or index names.

virtualshelfcontents.biblionumber
virtualshelfcontents_ibfk_1 (virtualshelfcontents)
shelfcontents_ibfk_2 (virtualshelfcontents)
sessions.id
deletedbiblioitems.marc
branchcategories.categorycode
branchrelations.categorycode
items.damaged
deleteditems.notforloan
deleteditems.damaged
deleteditems.itemlost
deleteditems.wthdrawn
currency.symbol
subscription.numberlength
subscription.weeklength
serialidx (serialitems)
items.more_subfields_xml
z3950servers.type
deleteditems.more_subfields_xml
opac_news.lang
labels_conf.formatstring

The following missing columns were added:

deletedbiblioitems.marcxml
deleteditems.itype

The 080 DB rev is specifically for syncing the schema
for users of 3.0-alpha, 3.0-beta, and 3.0-beta2, and should
be a no-op for anybody who has followed git HEAD for
the past few months:

subscription.monthlength
deleteditems.marc
aqbooksellers.name

NOTE: this patch does not handle the case of syncing
the DB of a developer or user who has been following
git HEAD since before 3.0-alpha.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:02:58 -05:00
Ryan Higgins
bd30b60a8a Alter itemBarcodeInputFilter T-Prefix.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 07:03:53 -05:00
Ryan HIggins
92ca50980f only pass needsconfirmation to template if issuing is possible
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 07:03:52 -05:00
fc03a2510c Finishing adding additional markup for increased flexibility in stylesheet customization. Patch also includes some markup corrections, but shouldn't result in any visual changes.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:50:23 -05:00
34da7fce23 Changes to enable more flexibility in template customization. Container divs allow for graphical deliniation of logical screen areas.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:50:12 -05:00
Galen Charlton
7a729c2b0a test suite: new tests for installer
Added tests of loading the DB initialization and
sampple data SQL scripts for every language
and MARC flavour combination defined in
installer/data/{dbms}.  Errors that the
new test class should catch include:

* SQL syntax errors in kohastructure.sql
* SQL errors in the sample data

For each language and MARC flavour combination,
all mandatory and optional scripts are loaded.

As of this commit, several errors are reported
by this test class; these will be fixed separately.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:49:20 -05:00
Galen Charlton
339fc5fcab test suite refactoring
Moved routines to clear and create database and manage
zebraqueue_daemon.pl to KohaTest.pm so that they're
available to test classes - needed for installation
and upgrade tests in particular.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:49:04 -05:00
Galen Charlton
dbbeb6525b C4::Installer - new method to get available MARC frameworks
For use by test suite; not a user-visible change.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:48:55 -05:00
Andrew Moore
31ad99e2b5 Bug 2094: fixing two bugs in lost items report
* I guess the limit by item type was never working. I made it look for the right database column
* I fixed the error that was returned with no items were returned.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:48:51 -05:00
Andrew Moore
20fd87d59b Bug 2094: cleanup of lost items report
Just some code cleanup of C4::Items::GetLostItems and reports/itemslist.pl.
Some whitespace changes, perltidy, and documentation improvements.
Also, I rewrote and SQL statement to try to reduce possibilities of SQL injection attacks.

No documentation or functional changes necessary with this patch.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:48:49 -05:00
Andrew Moore
c006950355 Bug 2094: implementing ability to select particular lost status in the lost items report
This patch adds a drop-down to the lost items report to let the user select a
particular lost status to display. Only items with that particluar lost status
will be dispolayed.

The documentation for the lost items report on the staff client will need to be slightly adjusted.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:48:45 -05:00
Andrew Moore
c6068880ab Bug 2047: another fix for error during search when there is no MARC::Record
This is another fix for a bug that was introduced while adding this feature.
I believe that either this patch or the one at:
http://lists.koha.org/pipermail/koha-patches/2008-May/000309.html
should be applied.

In the case that GetMarcBiblio or GetMarcStructure does not return a true value,
this returns without further processing.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:48:42 -05:00
Andrew Moore
db755a4307 bug 2088: test suite refactoring to deal with t/override_context_prefs.pm
Some minor changes to get the test suite working a bit better:
I removed a superfluous method from t/lib/KohaTest.pm.
I made each barcode for the items added in KohaTest.pm unique so that they would actually get inserted.

Then, I removed t/override_context_prefs.pm. If you need that functionality, you're a database
dependent test and should be a module in t/lib.
So, I deleted all of the trivial .t tests that just 'use'd their modules and had no other
tests and replaced them with lib/KohaTest/*pm modules that do a little bit more checking
on those modules.
I removed the references to override_context_prefs.pm in all of the other .t modules.
They all pass now with no override_context_prefs.pm module.

The database_depenedent.pl test script still does not pass entirely. There's a problem with the zebra index
not being reset each time that the tables are truncated. I'll get to that.

no functional or documentation changes here.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:48:40 -05:00
df0fccdcbf Tweaking display of "action" links in search results
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:45:20 -05:00
6b889334fb Fixing a couple of bugs, including Bug 2080, OPAC Lists : No way to remove biblios from list.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:45:15 -05:00
886fdce625 Fix for Bug 2086, Filter Button Misleading. This moves the filter form into the left-hand sidebar.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:45:11 -05:00
1942e430b2 Adding RSS icon to search results (Fix for Bug 2078, RSS Icon on OPAC)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:45:10 -05:00
460477ae1b Removing table sorting pending change to this page to allow paged display
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:45:08 -05:00
Joe Atzberger
f8fecb7863 Wrapper for Koha's use of HTML::Scrubber, with test script on usage.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:43:46 -05:00
Andrew Moore
05b334d82b bug 2083: requiring that the test database have a different name from the production database
This patch requires that the test database name be different from the production database name.
The object here is to prevent people from specifying the same database for both, and then
losing all of their data in the production database.

This may cause problems for people who want to do that, though I consider that bad practice.
It may also cause problems for people if they have two different servers, each with identically
named database, and they want to use one for testing and the other for production. If we ever
find that someone like that exists, we can deal with that case.

I don't think there are any necessary documentation changes here yet since we're recommending
that users answer "no" to the question about setting up a test database.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:43:39 -05:00
Galen Charlton
4c8a9e14a8 guided reports: make it possible to delete saved reports
Fixed JavaScript error that prevented user from deleting
a saved SQL.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:43:36 -05:00
Andrew Moore
26531a6a43 bug 2087: test cases for misc/cronjobs/longoverdue.pl
I'm adding some functional tests that demonstrate that long_overdue.pl does what we think it does.
These tests don't actually work since override_context_prefs.pm gets in the way of C4::Context::preference. I opened up bug 2088 to address that.

There are no functional or documentation changes due to this patch.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 06:43:35 -05:00
Galen Charlton
a99ba87ae0 kohabug 2076: more reconciliation of DB schema (DB rev 080)
Adjustments to updatedatabase.pl to help ensure that a
DB upgraded from 2.2.9, 3.0-alpha, or 3.0-beta has a schema
identical to a fresh installation.

The changes to the following columns and indexes are to
default values, field widths, position relative to other
columns or index names.

virtualshelfcontents.biblionumber
virtualshelfcontents_ibfk_1 (virtualshelfcontents)
shelfcontents_ibfk_2 (virtualshelfcontents)
sessions.id
deletedbiblioitems.marc
branchcategories.categorycode
branchrelations.categorycode
items.damaged
deleteditems.notforloan
deleteditems.damaged
deleteditems.itemlost
deleteditems.wthdrawn
currency.symbol
subscription.numberlength
subscription.weeklength
serialidx (serialitems)
items.more_subfields_xml
z3950servers.type
deleteditems.more_subfields_xml
opac_news.lang
labels_conf.formatstring

The following missing columns were added:

deletedbiblioitems.marcxml
deleteditems.itype

The 080 DB rev is specifically for syncing the schema
for users of 3.0-alpha, 3.0-beta, and 3.0-beta2, and should
be a no-op for anybody who has followed git HEAD for
the past few months:

subscription.monthlength
deleteditems.marc
aqbooksellers.name

NOTE: this patch does not handle the case of syncing
the DB of a developer or user who has been following
git HEAD since before 3.0-alpha.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:57:33 -05:00
Henri-Damien LAURENT
d08d9e3fb7 Addressing bug 1782
Adding New Systempreference AddPatronLists
This systempreference allow administrator to choose if patrons are created on categorycode lists or category_type ones.

Overloading GetBorrowerCategory so that if no parameter provided, it returns the list of category records
Changing memberentry.pl in order to use the categorycode when provided.
Bug Fixing Circulation.pl so that doesnot come up with Error 500
with no category selected for GetBorrowerCategory

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:49:27 -05:00
Galen Charlton
a6dd418260 kohabug 2076: add DB schema creation scripts from past versions
For test cases to be written soon, added kohastructure.sql (or equivalent)
from the following versions:

2.2.9
3.0-alpha
3.0-beta (note that schema for 3.0-beta2 is the same)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:40:47 -05:00
Galen Charlton
5833a44771 kohabug 2076: updated 2.2 -> 3.0 upgrade
Numerous changes to update22to30.pl to help ensure
that a database upgraded from 2.2.9 to 3.0 will have
a DB schema identical to that of a new installation.

These changes were testing by starting from an empty database,
loading koha.mysql from the 2.2.9 package, then running

update22to30.pl
move_marc_to_authheader.pl
move_marc_to_biblioitems.pl
dropping the following tables:
  marc_subfield_table
  auth_subfield_table
  marc_biblio
  marc_blob_subfield
  auth_word
  biblioanalysis
  borexp
  catalogueentry
  charges
  itemsprices
  marc_word
  marcrecorddone
  sessionqueries
  uploadedmarc
  users
  websites
  z3950queue
  z3950results
updatedatabase.pl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:40:46 -05:00
Galen Charlton
5c41ae54e6 kohabug 2076: more reconciliation of kohastructure.sql
Changes to kohastructure.sql to sync with changes
made via updatedatabase.pl:

aqbooksellers.name (DB rev 042)
subscription.serialsadditems (DB rev 071)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:40:43 -05:00
Galen Charlton
a76a65110c kohabug 2076: more reconciliation of DB schema (DB rev 080)
Adjustments to updatedatabase.pl to help ensure that a
DB upgraded from 2.2.9, 3.0-alpha, or 3.0-beta has a schema
identical to a fresh installation.

The changes to the following columns and indexes are to
default values, field widths, position relative to other
columns or index names.

virtualshelfcontents.biblionumber
virtualshelfcontents_ibfk_1 (virtualshelfcontents)
shelfcontents_ibfk_2 (virtualshelfcontents)
sessions.id
deletedbiblioitems.marc
branchcategories.categorycode
branchrelations.categorycode
items.damaged
deleteditems.notforloan
deleteditems.damaged
deleteditems.itemlost
deleteditems.wthdrawn
currency.symbol
subscription.numberlength
subscription.weeklength
serialidx (serialitems)
items.more_subfields_xml
z3950servers.type
deleteditems.more_subfields_xml
opac_news.lang
labels_conf.formatstring

The following missing columns were added:

deletedbiblioitems.marcxml
deleteditems.itype

The 080 DB rev is specifically for syncing the schema
for users of 3.0-alpha, 3.0-beta, and 3.0-beta2, and should
be a no-op for anybody who has followed git HEAD for
the past few months:

subscription.monthlength
deleteditems.marc
aqbooksellers.name

NOTE: this patch does not handle the case of syncing
the DB of a developer or user who has been following
git HEAD since before 3.0-alpha.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:40:35 -05:00
Galen Charlton
a78b115d35 kohabug 2076 - make biblioitems.marc longblob during upgrade
Change to match 3.0 definition of that column.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:37:18 -05:00
NCE
b369a84ec4 Fixing RSS <link>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-06 06:31:10 -05:00
Joshua Ferraro
09df0de35f Removing obsolete RSS <link> tags and the scripts 2008-05-06 06:24:50 -05:00
06a58cdcfd Tab fix
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:51 -05:00
Paul POULAIN
40e6ec2f08 synch'ing opac display with staff for scanIndexes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:49 -05:00
Henri-Damien LAURENT
366432e18f Bug fixing : loading page macles would not load existing values for macles
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:47 -05:00
Paul POULAIN
4ea4f841ee Adding subfield filter to ISBD
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:45 -05:00
Henri-Damien LAURENT
472787bf17 Debugging Macles
say you want to edit 6 fields 630:
Provided you have those in your catalogue frameworks, you just selet 6 values and it puts values into that.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:43 -05:00
Paul POULAIN
f45f85a227 ordering by biblioitemnumber for best performance
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:41 -05:00
Paul POULAIN
25b7f1b56d reserve at itemlevel was displayed only if item-level_itype
This patch just moves the checkbox out of the <tmpl_if item-level_itypes>

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:38 -05:00
Paul POULAIN
c24bcb0b9d french translation (updated)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:35 -05:00
Paul POULAIN
c4ce77a01f french translation updated
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:34 -05:00
Paul POULAIN
182bd0f1b3 bugfix : html mistake
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:45:29 -05:00
Darrell Ulm
e840742685 Intranet callnumber search link simple fix
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:39:15 -05:00
Darrell Ulm
f125e16400 Link to Intranet Similar Items Fixed (simple), pointed to OPAC
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:39:14 -05:00
Paul POULAIN
8e1844d495 missing )
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:39:13 -05:00
Paul POULAIN
1de9f62316 BUGFIX : bump to 056 was wrong when marcflavour = UNIMARC
The 652 field don't exist in UNIMARC. So linking the new enumchron to a 952 field automatically should be done only for marc21

For UNIMARC, i map it to 995$v, which has been introduced in the last release of the "recommandation 995"
adding the 995$v as well for installer

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-05 05:39:12 -05:00
Galen Charlton
af716ed56c kohabug 2076 - add browser if necessary (DB rev 078)
Ensure that the browser table is added during an upgrade
from 2.2.9.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-01 18:59:30 -05:00
Galen Charlton
bcd8b1bf76 kohabug 2076 - add authorised_values.imageurl
The column was added in updatedatabase.pl rev 075
but not added to kohastructure.sql.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-01 18:59:29 -05:00
Galen Charlton
22aa16e87f kohabug 2076 - remove three tables (DB rev 077)
Removed the categorytable, mediatypetable, and subcategorytable
tables.  These three tables appear to be from an incomplete
patch from pre-git that defined these tables to implement
additional search limits, and are not present in the 2.2.9
package.  In 3.0, these tables did nothing - the only code that
referred to them are incomplete admin editors that lack HTML
templates and are not referred to anywhere.

The updatedatabase.pl logic to remove these tables is conservative;
the tables are dropped only if they exist and are all empty.  Effectively,
this means that they'll be dropped if you've been running a fresh install
of 3.0 from git or the alphas or betas; if you've upgraded your database
from 2.2.9, these tables likely weren't in your database to begin with.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-01 18:59:28 -05:00