Commit graph

8445 commits

Author SHA1 Message Date
Andrew Moore
401c84cc09 Bug 2176 (2/5): adding patron interface to update messaging preferences
This patch allows patrons to update their messaging preferences. This
includes methods in C4::Members to manage patron messaging preferences.

added cgi script to allow patron to edit their messaging preferences

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 13:04:50 -05:00
Andrew Moore
3c547de448 refactor C4::Auth::get_template_and_user for readability
I'd like to add another template parameter to geta_template_and user, but found it diffiult due to unreadability.

I stanadardized the whitespace in a portion of get_template_and_user,
alphabetized the parameters, finding a duplicate in one spot,
and then extracted the common template parameters that are set the same
regardless of template type.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 13:04:48 -05:00
Andrew Moore
d8654344fa Bug 2176 (1/5): database update: adding message_queue table and tables to hold patron messaging preferences
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>
2008-06-20 12:54:52 -05:00
Chris Nighswonger
3cb7a9ac28 kohabug 2238 This patch allows patrons to add books to public open/free lists whether they are logged in or not.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 12:48:11 -05:00
Chris Nighswonger
813f4ae9d1 kohabug 1873 Fixes shelves.pl so that the date is displayed in the 'date added' column of the virtual shelf contents
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 12:48:01 -05:00
Chris Nighswonger
3d377cd7c1 kohabug 1875 Public lists/virtualshelves are displayed and viewable whether a patron is logged in or not.
NOTE: This patch introduces code which generates an anonymous session when a patron first browses to OPAC.
This anonymous session contains a minimal amount of information including the results of a query to discover
all public lists/shevles. When the user logs in, the anonymous session is cleared and a new session created
for that user.

kohabug 1875 - fix error when editing a patron record

C4::Auth::checkauth was not distinguishing between a
'userid' input from an OPAC or staff login form and
a 'userid' input from (e.g.,) the patron editor.
Consequently, adding or editing a patron record would
result in Koha trying to log in as the new patron.

To resolve this, added a hidden input to all login
forms, 'koha_login_context', to explicitly signal
when a login is occurring.  The value of this input
can be 'opac', 'intranet', or 'sco' - the value is
not used at present, but may be of use later.

C4::Auth - added debug flag to two warns

kohabug 1875 - create anonymous sessions only for OPAC

No need to create an anonymous session for the intranet.

set yuipath correct for login pages

When preparing the template parameters for a login form,
C4::Auth was overriding the value of yuipath set
by C4::Output::gettemplate(), thus causing 404 errors
if the 'yuipath' syspref was set to 'local'.

kohabug 1875 - avoid warns viewing lists anonymously

During an anonymous OPAC session, the $loggedinuser variable
is not set.  As the undefined value causes warns in
C4::VirtualShelves::Page::shelfpage, for the purpose of the
shelfpage call the loggedinuser is set to -1, which should
not correspond to any real borrower number.

This is admittedly a hack to avoid digging through all
of C4::VirtualShelves to deal with lists viewed anonymously.

kohabug 1875 Refactoring of &ModShelf to avoid overwriting list owner needlessly

kohabug 1875 Avoid warning if can't find owner of shelf

Since virtualshelves.owner is not a true FK of borrowersnumber.number,
set ownername to '' if can't find the patron

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 12:44:27 -05:00
Galen Charlton
7ac682c859 bug 2265: fix problem when cloning MARC field
Correctly set indicators when cloning a field
in the MARC editor.  Prior this fix, a cloned
field would not be saved.  Bug introduced in
patch for bug 2207.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 09:41:00 -05:00
Joshua Ferraro
71c7afd90d Darrel's patch to fix sorting by size of order 2008-06-20 09:14:17 -05:00
paul
fd06c22192 sorting authority list
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:53:08 -05:00
paul
2c8b6b617b various fixes for acquisition histsearch
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:53:07 -05:00
paul
87dea9cb0e just doing a <= / >= instead of a < / > in history search.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:48:31 -05:00
Galen Charlton
2ba08ac59a bug 2000 - remove base64 functions from C4::Koha
With the removal of admin/finesrules.pl and admin/issuingrules.pl,
the functions str_to_base64() and base64_to_str() in C4::Koha
are no longer used.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:11 -05:00
Galen Charlton
375f62bdb1 bug 2000 - remove admin/issuingrules.pl
Patch to remove issuingrules.pl in favor of
using smart-rules.pl to manage loan and fine
rules.  Several reasons for this:

* issuingrules.pl's matrix could grow rather large
  if the library has a large number of item types
  and patron categories
* successfully entering rules via issuingrules.pl
  requires placing commas within input fields
* a sparse circulation policy matrix takes the
  same amount of screen space as one that uses
  rules for a lot of specific patron category/item type
  combinations.
* having two administrative interfaces to the same
  policy settings could be confusing.
* UI design of smart-rules.pl better lends itself
  to adding more policy setting attributes to the
  rules matrix.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:10 -05:00
Galen Charlton
5a7905f440 bug 2000 - removed finesrules.pl
Removed the separate admin/finesrules.pl script
to set the fines policy matrix: since admin/finesrules.pl
and admin/issuingrules.pl both touch issuingrules.pl, creating
a specific fine rule could silently override a default issuing
rule and prevent items from being checked out.

Circulation policy matrix settings for fines are now
handled in admin/smart-rules.pl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:09 -05:00
Galen Charlton
211defee52 bug 2000 - changes to TooMany()
The C4::Circulation::TooMany() function, which determines
if a patron is at the maximum loan limit, has been
changed to work as follows:

1. Checks the issuing rule that would apply to the
   prospective loan to see if a loan limit (maxissueqty)
   has been set.
2. Counts the number of loans that the patron has
   that would fall under that loan rule.

IMPORTANT: that means that if a specific loan rule
exists for the branch, patron category, and item type
in question, *only* that rule's maxissueqty will be
checked here - it will not go on to check whether
a less specific rule has a lower loan limit.

3. If adding one more loan would bring that count
   over the limit, returns a "too many" error.
4. If the loan hasn't exceeded a specific limit, checks
   whether a branch/patron category circ rule has
   specified a loan limit, regardless of item type.
   If the patron has already reached *that* limit, returns
   the "too many" error.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:08 -05:00
Galen Charlton
95889857c7 bug 2000 - add C4::Circulation::GetBranchBorrowerCircRule
This routine retrieves the branch/patron category circulation
rules for a given branch and patron category.  The return
value is a hashref containing the following key:

maxissueqty - maximum number of loans across all item types

This will first check for a specific branch and
category match from branch_borrower_circ_rules.

If no rule is found, it will then check default_branch_circ_rules
(same branch, default category).  If no rule is found,
it will then check default_borrower_circ_rules (default
branch, same category), then failing that, default_circ_rules
(default branch, default category).

If no rule has been found in the database, it will default to
the built in rule:

maxissueqty - undef

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:06 -05:00
Galen Charlton
376c130153 bug 2000: addition changes to rules editor
* Added ability to specify total loans allowed at a library
  for the default patron category.  If set, the default
  limit is applied if no rule for the specific library
  and patron category is set.
* Added ability to specify default total loans allowed
  for the default library; this is applied if no rule
  for the specify library is set.
* Form now indicates if the number of current checkouts
  allowed is unlimited.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:05 -05:00
Galen Charlton
c9a7dd5520 bug 2000 - add total loan limit to alt. issuing rules
The alternate issuing rules editor can now allow
defining the maximum number of loans that a borrower
of a given category can take out per branch, regardless
of item type.

The form for entering this limit now appears below
the form for setting loan rules per patron category
and item type.  The form only appears if a specific
branch is chosen, not if the default branch is used.

Also, some terminology changes:

* "Amount Loanable" => "Current Checkouts Allowed"
* "Amount" => "Fine Amount"
* "Grace Period" => "Fine Grace Period"
* "Charging Interval" => "Fine Charging Interval"
* "Loan time" => "Loan Period"

Documentation change: new screenshots for the alternate
loan rules form.

squashme terminology

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:04 -05:00
Galen Charlton
9f2c77a686 bug 2000 - fix order of issuingrule lookup
Extended help on the alternate circulation rules
form to list the order of issuingrules lookup as
follows:

same library, same patron type, same item type</li>
same library, same patron type, default item type</li>
same library, default patron type, same item type</li>
same library, default patron type, default item type</li>
default library, same patron type, same item type</li>
default library, same patron type, default item type</li>
default library, default patron type, same item type</li>
default library, default patron type, default item type</li>

This includes modifying two routines in C4::Circulation to
follow this order: GetLoanLength() and GetIssuingRule().

The reason for this change is to have Koha exhaust all issuingrules
possibilities for a branch before checking the rules for
the default branch - this is consistent with what an admin
might expect from looking at the issuingrules forms, which display
settings a branch at a time, and is more consistent with how
circulation rules should work for indepdendent branches.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:03 -05:00
Galen Charlton
3e9a94c546 bug 2000 - alternate issuing rules - set sorting of rules
Issuing rules are now explicitly sorted by patron category,
then item type.  The default patron category sorts last; within
a list of item types for a given patron category, the default
item type sorts last.  This follows the order in which
the issuing rules are applied.

Since the primary sort is patron category, also moved that
to be the first column in the issuing rules table.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:03 -05:00
Galen Charlton
d6934ca397 bug 2000 - alternate issuing rules - some form cleanup
Improvements to smart-rules.pl to allow it to
replace issuingrules.pl.

* standardized "borrower type" to "patron category"
* made default item type and patron category ('Any')
  translatable
* regularized construction of parameters for rule
  deletion operatrion

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 08:19:00 -05:00
Galen Charlton
b35ebc644e bug 2000 - added several circ rules tables (DB rev 090)
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>
2008-06-20 08:18:59 -05:00
paul
5314a32914 adding string for translator
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:56 -05:00
paul
2aafe3e5b2 french translation updated (again)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:55 -05:00
paul
a1befaf8f9 updating french translation (lot of fixes)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:51 -05:00
paul
827203132c movin patron flags to template to have translatable strings
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:50 -05:00
paul
867788e8cf escaping field to deal with quotes in shelf name
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:49 -05:00
paul
2c687bc4a3 minor fixes in marc frameworks
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:48 -05:00
paul
317634b21d minor translation fixes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:46 -05:00
paul
99b6db29b2 Adding some suggestion reasons in french
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:45 -05:00
Joe Atzberger (siptest
5aecb46ad0 SIP - Lots of regexp hacking of input streams and verbose debugging feedback.
The basic problem is that the SIP logic doesn't know where the
input is coming from.  It might be a RAW socket, and it might
be telnet.  If it is telnet, although the specs declare a
character set (from MS, unfortunately), they do not specify a telnet
implementation.  So you might get telnet handshaking or
renegotiations in the middle of an otherwise peaceful session and
these should not be taken as SIP commands.  Patches include a move
towards using $CRLF from Socket to avoid problems w/ foreign platform
mapping \n and \r to \015 or \012.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 06:12:42 -05:00
Galen Charlton
c5ac051f70 bug 2264: do not clear patron zipcode and city
When edting only a part of the patron record (e.g.,
the library use section or the alternate address), the
zipcode and city were cleared due to an error in
form processing.  Now the city and zipcode are set
only of those fields are actually in the submitted form.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 20:45:54 -05:00
Galen Charlton
356e48b678 bug 2263 - transfer zipcode when selecting guarantor
The template for the guarantor search implies that
the zipcode is one of the values to be copied from
guarantor to guarantee.  Fixed so that the transfer
can actually take place.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 20:45:53 -05:00
Galen Charlton
fff5631fc7 bug 2262 - fix delete guarantor button
Added an ID attribute so that the JavaScript
for the 'delete guarantor' button could
clear the guarantorid field.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 20:45:44 -05:00
22654a5977 Redesigning and bugfixing language-picker. Switching from fixed footer positioning to one with flows with page length. Fixing major unreported bug which prevented any but the first sublanguage menu from displaying.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 13:09:42 -05:00
Galen Charlton
df1f46f9da bug 2253: improve rebuild_zebra's handling of zebraqueue
Prior to this patch, rebuild_zebra.pl -z was effectively
hanging on to a lock on the zebraqueue table, preventing
other scripts from inserting new entries into the table.
This had the effect of causing circulation operations
to time out.

Refactored by having rebuld_zebra.pl pull the active
queue into memory, then mark entries done by zebraqueue.id.
Consequently, rebuild_zebra.pl should no longer
block adding new entries into zebraqueue.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 09:49:06 -05:00
Galen Charlton
56356ced1a bug 2258 - new script to sync embedded items
Created a new script, sync_items_to_marc_bib.pl,
to replace the item tags embedded in the MARC bib
records with fresh versions taken from the items table.

This script should be run as follows:

maintenance/sync_items_to_marc_bib.pl --run-update

Assuming that you're using Zebra, rebuild_zebra.pl -b -z
or rebuild_zebra.pl -b -r should be run after running
this script.

This script should be run if you have used
link_bibs_to_authorities.pl prior to the first
patch for bug 2258.  It can also be used if there
is any reason to suspect that the embedded item tags
do not reflect the items table.

With this script I am creating a maintenance/ subdirectory of
misc/ to hold scripts that are meant to fix problems
in the database but are not (or should not be, anyway) necessary
for regular use.

Documentation: add to documentation for server side scripts

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 09:06:15 -05:00
Ryan Higgins
c5bfa45844 Remove 95c and 95r subfields from default MARC21 framework -- These have no tag definitions.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-19 08:32:09 -05:00
Joshua Ferraro
89e12081c1 Fix for bug 2260: UNIMARC misconfiguratin on itemtype
WARNING: THIS PATCH REQUIRES A REINDEX FOR UNIMARC RECORDS
2008-06-19 08:19:37 -05:00
Joshua Ferraro
5ae7d4ea97 Circulate permission misspelling 2008-06-18 19:46:13 -05:00
Andrew Moore
6e52709824 Bug: 2259: eliminate lines too long for git to use.
This patch modifies 13 HTML templates and includes that have lines in them longer than 998 characters. Lines this long are known to break git.

I believe that none of these change behaviour at all, but I'm concerned about one of them. It adds whitespace (carraige returns) inside a <title> tag. I'm not certain that all browsers will deal with this OK.

No documentation changes necessary here.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 19:25:52 -05:00
Galen Charlton
6858da97c3 bug 2258 - do not duplicate embedded items
If a MARC bib is modified by this batch job,
do not duplicate the item tags embedded in
it (e.g., 952 for MARC21).  When modifying
a bib record, any embedded item tags must
be removed before calling ModBiblio - perhaps
this should be moved to ModBiblio itself.

Also removed an error in the job's help text.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 19:25:07 -05:00
Joshua Ferraro
fee2ddc086 Fix for bug 2212: Searching with Itemtype limit doesn't work
The issue was that the index for itemtype is different depending
on whether you're using item-level or bib-level itemtypes. This
patch detects the system choice and sets the index properly
2008-06-18 13:57:22 -05:00
Joshua Ferraro
6c9b83fbdc Resolves bug 2250: RFC: New System Preference to Determine which 'Types' and associated icons to display in advanced Search
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.
2008-06-18 13:01:20 -05:00
89d34a7c48 A better fix for Bug 2229, I think. Text inside basket.js can be translated fine, this instance simply lacked the call to the dummy function for gettext. It's important /not/ to have the "Cart" text in masthead.inc because there should be no Cart link for users with javascript turned off.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 11:41:47 -05:00
d900b2a63d Adding required jquery files for update Cart notification popup.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 11:19:58 -05:00
be1ab41d2f Position of cart details popup needs to be specified numerically since jquery can't seem to accurately calculate the dimensions of the cart button.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 10:58:40 -05:00
4128725f69 Continuing work on Cart popup
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 10:58:40 -05:00
a0dfa0e5a6 Testing change to cart popup display system. Attempting to fix display flakiness associated with YUI method.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 10:58:39 -05:00
d8c60f6bdf Fix for Bug 2240, "opac-search.pl masthead does not include 'cart' and 'list' buttons, " and other minor markup corrections.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 10:36:04 -05:00