Fixes the following problem:
When deleting a patron record via the intranet or the cleanborrowers tool,
patron records are deleted but are not copied to deletedborrowers.
C4::Members::MoveMemberToDeleted() fails with the following error:
deletemem.pl: DBD::mysql::st execute failed: Column count doesn't match value
count at row 1 at C4/Members.pm line 1672.,
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Allows specification of how many issues of a subscription to display
at a global and subscription-specific level. Also adds a link to the
detail page to a specific subscription.
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
www.babeltheque.com is a LibraryThings for Libraries equivalent.
This patch enables this service on OPAC.
* Replace previous patch in order to apply onto last master HEAD
and solve conflicts induced by last pushed pateches:
1bb9f76e66
* Modify kohaversion.pl
* It uses v3.01.00.016 slot.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
- new table, item_circulation_alert_preferences
- new data:
- letter -- 2 new templates
- message_transport_types -- feed
- message_attributes -- Item Check-in and Item Checkout
- message_transports -- for each attribute and for each transport_type...
Signed-off-by: Daniel Sweeney <daniel.sweeney@liblime.com>
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Two new subpermissions of circulate were added:
- circulate_remaining_permissions
- override_renewals
Also, the following schema alterations were made
- permissions.code : varchar(30) => varchar(64)
- user_permissions.code : varchar(30) => varchar(64)
(The reason for this was because "circulate_remaining_permissions"
was greater than 30 characters long and wouldn't fit.)
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Because of a query on biblioitems.issn in
C4::Breeding::ImportBreeding(), libraries doing a lot
of bib imports were experiencing performance problems,
which adding an index will alleviate.
A possible longer term solution is to index all
reservoir/import batch records in a Zebra database.
[LL bug 232]
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Originally by Jesse Weaver <jesse.weaver@liblime.com>
This patch creates a new system preference, AllowRenewalLimitOverride,
that, if YES, allows the renewal limit to be manually overridden. It
updates C4::Circulation and reserve/renewscript.pl to obey this.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Corrects loans whose issuedate was set to NULL
during a renewal as follows:
* First, tries to extract the loan date from
the statistics table.
* For any remaining rows, sets the issue date
to the date of the last renewal.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
For bug 2522, add a new table called hold_fill_targets to
implement hold request targeting. This table
has the following columns:
borrowernumber - identify request
biblionumber - ditto
itemnumber - item targeted to fill request
source_branchcode - current location of item
item_level_request - if 1, request is item-level
For bug 2331, adds a column called item_level_request
to tmp_holdsqueue.
Note: both of the item_level_request columns can
go away once reserves is modified so that
it is clear whether a request is item-level or
bib-level.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
This patch adds warnings to the OPACShelfBrowser, CataloguingLog, and NoZebra system preferences. Using
them on busy koha installations has proven to be rather resource intensive.
This is considered a stopgap solution. Making these features less resource using to run
would be preferred.
Note to documentation writers: screenshots of these system preferences could be updated, but
no functionality has changed.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Previously, the SMSSendDriver system preference was set as a local use system
preference. This patch makes it an official system preference under the "Patron" tab.
This system preference determines which SMS::Send driver is used to send SMS messages.
I have attempted to take care to not overwrite this system preference if it has already
been set.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Preference was removed in patch for bug 2234; completing
removal in existing 3.0 installations via DB rev 104.
No documentation changes (deprecation of noOPACHolds
done in an earlier patch)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
From the bug report:
The serialsadditems syspref was ostensibly removed in DB rev 071
(http://git.koha.org/cgi-bin/gitweb.cgi?p=Koha;a=commit;h=5c41ae54e68866f9661e853376537059f4d83f70)
in favor of a new serialsadditems column in the subscription table.
However, this removal was incomplete. It is still created for new installations by:
installer/data/mysql/en/mandatory/sysprefs.sql
installer/data/mysql/fr-FR/1-Obligatoire/unimarc_standard_systemprefs.sql
and is used in
serials/serials-recieve.pl
serials/serials-edit.pl
admin/systempreferences.pl
Since the system preference was not removed from the sample data scripts, it
is necessary to add another DB rev to remove it - a user may have made a
fresh install of Koha after DB rev 071.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The current serialitems table structure does not provide for a *:1 relationship with
the serial table. This causes a problem when attempting to add multiple items to a given
serial. The db throws an error when attempting to INSERT in serialitems due to serialid.serialitems
being a unique key. A further side effect is that the marc record is updated with the
item inspite of the error. The mods to the serialitems table structure in this patch
drop serialid.serialitems as a key and make itemnumber.serialitems the primary key
creating a *:1 relationship with the serial table. This patch also makes serialid.serialitems
a foreign key referencing serialid.serial to maintain referential integrity.
Fix for duplicate barcode check
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
I didn't implement a way for patrons to get their advance notices and other
messages through RSS, so I'm removing it from the list of available transport types.
This will cause the "RSS" column in the patron messasging pages to be
unavailable. When we implement RSS, we can add it back in and the checkboxes will return.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
I added three fields to the message_queue table:
- to_address
- from_address
- content_type: necessary to hold email header for attachments
I changed one field in message_queue:
- borrowernumber can now be NULL for messages sent to the admin
These can be used to override the default addresses used. By default, emails are sent to
the borrowers.email address and sent from the KohaAdminEmailAddress syspref address. These
values are still used if the to_address or from_address values are NULL. These changes
are necessary to let overdue_notices.pl be backwards compatible.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
In borrower_message_preferences, wants_digets => wants_digest
Note that the typo is present only in databases that had
borrower_message_preferences created via updatedatabase.pl.
Signed-off-by: Andrew Moore <andrew.moore@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Corrected two errors found in the authority types used
in the MARC21 frameworks:
* one subfield that used "Meeting Name" instead of "MEETI_NAME"
* various subfields that used "CORP0_NAME" instead of "CORPO_NAME"
The biggest visible consequence of this change is that corporate
name headings (110, 610, 710, 810, etc.) will now link correctly
to their authority records.
In addition, brought the fr-FR MARC21 framework scripts up-to-date
with respect to the changes made to the English versions.
No documentation changes.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
As part of fixing hold request bugs 1710 and 1739,
two new system preferences are defined:
AllowOnShelfHolds: YesNo, default value OFF
* if ON, allow item-level hold requests to be
placed for available items that are not on loan
AllowHoldsOnDamagedItems: YesNo, default value ON
* if OFF, item-level hold requests cannot
be placed on items that are marked damaged.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
Updates to kohastructure.sql and updatedatabase.pl:
- add new message_queue table
- add message_transport_types table
- add message_attributes table
- add message_transports table
- add borrower_message_preferences table
- add borrower_message_transport_preferences table
- adding EnhancedMessagingPreferenes to sysprefs SQL.
Added column to borrowers table to hold SMS Alert Number.
Added some more sample notices (letters) that will be sent for patron alerts
added some sample SQL to configure messaging.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
The first new table is branch_borrower_circ_rules.
This table is used to store circulation rule attributes
that apply to a combination of patron category and branch
across all item types. The one attribute defined is
maxissueqty, which sets the maximum number of loans
that a patron of a given category can take out at a given
branch.
Note that branch_borrower_circ_rules is for attributes
that apply across all item types. This means that
issuingrules.maxissueqty has a different meaning: it is
the maximum number of loans per branch, category, and item type;
if issuingrules.itemtype is '*', that is a *default*
circulation rule used if no more specific rule is found.
The new table will allow the implementation of total
loan limit across item types without making the wildcard
'*' in issuingrules ambiguous. Specifically, if branchcode,
categorycode, or itemtype is issuingrules is '*', that will now
always mean a loan rule to be applied if a more specific rule cannot be found.
Setting issuingrules.itemtype to '*' will no longer mean
to set a total limit across item types for maxissueqty.
The remaining new tables are used to store default
rules for the default branch, the default patron category,
or both:
default_branch_circ_rules - for a given branch, specify
the rule to apply if no more specific rule on
branch and patron category is found (i.e. patron category is default)
default_borrower_circ_rules - for a given patron category,
specify the rule to apply if no more specific rule
on branch patron category is found (i.e., branch is default)
default_circ_rules - global default if no more specify rule
on patron category and branch is available. Note that this
table is constructed so that it can have at most
one row.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
For documentation, please indicate that as part of profiling,
staff can refer to the AdvancedSearchTypes system preference to
choose where to draw the advanced search 'Types' from. Currently
this is implemented as a choice, between itemtypes and ccodes,
but it's been designed to work with any authorised value so long
as an index exists for searching by that authorised value.
By default, and if this syspref doesn't exist, it will pull from
itemtypes as before.
OPACItemHolds
OPACShelfBrowser
have been added to updatedatabase.
The xslt sysprefs have also been added with a note stating they
only work with MARC21.
used for reporting picklist for holds in multi-location
libraries. This is a temporary workaround to a longer-term
post-3.0 cleanup of the holds process.
Following this will be a cron job for managing the
holds picklist queue as well as a report for viewing
the list of items from circulation
Update MARC21 bib framework to ensure that subfield $9 in 110,
110, 111, 130, 240, 243, 440, 410, 411, and 440 remain
in same bib editing tab as rest of subfields in those fields.
This helps ensure that authority-controlled fields are not
mangled when editing a bib record.
Change also fixes editing tab for subfields in the 037, 584, and
760.
This is DB rev 085.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
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>
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>
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>