Commit graph

8195 commits

Author SHA1 Message Date
Ryan Higgins
f230264b24 C4::Calendar::addDate now handles negative offsets properly.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:29:09 -05:00
Ryan Higgins
0b92b75ff8 Alter C4::Calendar::daysBetween() to take C4::Dates objects.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:29:07 -05:00
Paul POULAIN
bc11a3bce2 BUGFIX (bloquing) moredetail & item edition
this patch introduce the same behaviour as for additem.pl, ie : edit only own homebranch items, except for superlibrarians

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:24:48 -05:00
Paul POULAIN
feae120738 BUGFIX : script to fix & fill onloan field in items table.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:24:43 -05:00
Galen Charlton
e3826229eb adjusted new C4::Scrubber test cases
Removed reference to override_context_prefs that
Andrew Moore had just factored out.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:23:44 -05:00
Galen Charlton
5cafd551be patron attributes - batch import
When ExtendedPatronAttributes is ON, the batch
patron import tool's behavior changes as follows:

[1] A new (required) column is added to the input CSV
    format.  This column should contain a list of
    attributes to set for the record, each value
    preceded by its type code.  For example, if
    the superlibrarian has defined two types,
    a unique identifier INSTID and a repeatable
    BASEBALL, this field could contain:

    "INSTID:12345,BASEBALL:Cubs"

    This field must be wrapped in quotes if multiple
    values are defined.  Since values can contain
    spaces, additional doubled-quotes may be required:

    "INSTID:12345,BASEBALL:Cubs,""BASEBALL:White Sox"""

    When replacing a patron record, any attributes specified
    in the input file replace all of the attribute values
    of any type that were previously assigned to the patron
    record.

[2] It is possible to specify a field other than the
    cardnumber to use for looking for matching patrons.
    Specifically, any attribute marked as a unique ID
    can be used.  The operator is asked to specify
    which ID type to use; if an input record has an
    attribute value of that type, and exactly one patron
    record in the database has that value, then the
    record will be overlaid or ignored according to the
    overlay setting.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:10 -05:00
Galen Charlton
944063b247 patron attributes - staff search and display
If ExtendedPatronAttributes is ON, patron attributes
can be displayed and edited by staff members.

The patron attributes are displayed and edited
in a new section (step 4) of the patron details page.  Each
attribute is identified by its type (including type code
and type description) and value (included value description
if the attribute is controlled by an authorised value category).

Note: if, for a repeatable attribute type, the staff member
enters multiple copies of that type with the same value, duplicates
are removed when the patron record is saved.  Also, if the type
is repeatable, a JavaScript link allows the staff member to
create new attributes of that type.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:09 -05:00
Galen Charlton
477bbe4d15 template changes for OPAC display of patron attributes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:08 -05:00
Galen Charlton
8138b6dcac patron attributes - OPAC display
If ExtendedPatronAttributes is ON, any patron attributes
whose type is marked as displayble in the OPAC are now
displayed in the 'my details' page in the OPAC (assuming
that the patron is logged in).  These appear in the
'Library Use' section.

Currently, it is not possible for a patron to suggest
changes to any of their extended attributes using
opac-userupdate.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:07 -05:00
Galen Charlton
6418322bb1 corrected base class of a test
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:05 -05:00
Galen Charlton
5c1d14d822 C4::Members::SearchMember - support attributes
Modified SearchMember() so that if the patron attributes
feature is on (i.e., ExtendedPatronAttributes is ON), it
is possible to search for patrons on any attributes whose
type is set as staff searchable.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:04 -05:00
Galen Charlton
e30c9d00dd new editor for patron attribute types
Added new script under the Administration menu
to create, update, and delete patron attribute types.

Some things to note:

- once an attribute is created, its code cannot be changed
- the repeatibility and unique_id settings of an
  attribute type cannot be changed after creation -
  this is to avoid having to deal with changing
  constraints if an attribute type is already in use
  by patron records
- an attribute type cannot be deleted if it is
  used by any patron records
- this administration page is always displayed regardless
  of the value of the ExtendedPatronAttributes syspref.  If
  the syspref is off, the page will prompt the superlibrarian
  to turn it on if desired.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:03 -05:00
Galen Charlton
7e8ff3f4b8 C4::Koha - added GetAuthorisedValueCategories
New convenience function to get list of authorised
value categories.

No user-visible changes.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 09:03:02 -05:00
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