Commit graph

374 commits

Author SHA1 Message Date
Galen Charlton
91b47af583 bug 2254 [3/3]: add authority type check
Added a test to the MARC framework checks to
verify that all authority types used in a framework
are defined.

Documentation changes: possible new screenshots
and text to describe the new test.

NOTE: This patch adds strings to the checkmarc template, and thus
      violates the string freeze for 3.0.  I'm submitting anyway
      because 2254 is a blocker, but if no exception is made,
      it is safe to not apply this patch for 3.0.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-25 11:39:30 -05:00
Joshua Ferraro
d4cf37450f removing maxItemsInSearchResults syspref from script 2008-06-24 07:30:43 -05:00
Joshua Ferraro
66b2a15f13 fix for 1913: Remove opaclargeimage system preference 2008-06-20 18:38:10 -05:00
Joshua Ferraro
8d18d59094 fix for bug 2255: Sys Prefs need to be moved from Local Use 2008-06-20 18:18:39 -05:00
Joe Atzberger
5d4613fde0 Use C4::Debug on warn statements.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-20 15:31:17 -05:00
Galen Charlton
5633d7a11c bug 1710 and 1739: two new sysprefs (DB rev 092)
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>
2008-06-20 14:14:47 -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
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
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
b999e12bb1 Lowering truncation threshold for display of system preference values to better accomodate average display size. Compromise fix for Bug 2132, "Sys Pref Column too Wide."
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-18 10:36:03 -05:00
Ryan Higgins
6adb17c996 replace #!/usr/bin/perl, lost on a recent commit.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:47:44 -05:00
Galen Charlton
ada25708a5 kohabug 2192 - set tabs for four system preferences
OPACItemHolds => OPAC
AutoEmailOpacUser => Patrons
AutoEmailPrimaryAddress => Patrons
serialsadditems => Acquisitions

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-05 22:46:17 -05:00
Ryan Higgins
fc98d228c2 Sort dropdowns for libraries by name instead of branchcode in several staff-side interfaces.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-06-02 00:50:33 -05:00
Joe Atzberger
ff604d4a8a Printers code paring, related to bug 2045. This does not resolve the bug,
but it converts the template to using loop_context_var, and removes unused
variables from the script.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-31 21:59:46 -05:00
Joshua Ferraro
e75102b930 Removing dbh line altogether as discussed on koha-patches 2008-05-29 07:17:59 -05:00
Henri-Damien LAURENT
8b9a04269a Bug Fix : Creating a new authority type would fail on creating subfield_structure
removing "link" field which has been removed from table auth_subfield_structure
Removing a $dbh->disconnect

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-29 07:16:53 -05:00
Ryan Higgins
c64f8f8bac Add cn_source to authorised values dropdown in marc structure editor.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-29 06:17:55 -05:00
Ryan Higgins
1aa00400c4 Fix pagination error on subfield structure editor
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-27 07:33:22 -05:00
Joshua Ferraro
2ee27fb1cc Final update to holds queue work: adds link to holds queue
from circulation dashboard, creates new sysprefs, assigns
the sysprefs to the proper tab in sysprefs (Circulation),
updatedatabase changes to do the previous, and fixing one
redundent limit in the query for build_holds_queue.pl

Note: still need to address item-level holds
2008-05-20 12:36:40 -05:00
Joshua Ferraro
bcd6262494 Fix for Bug 1955: Remove noOPACUserLogin system preference 2008-05-19 19:11:19 -05:00
Joshua Ferraro
28731b7080 Adding RenewSerialAddsSuggestion syspref to Acquisitions tab 2008-05-19 15:27:21 -05:00
a3d111ae97 Fix bug in /admin/z3950servers.pl
Third attempt to correct a bug affecting this page.
Combo lists wasn't reflecting DB content in modification.
To Joshua: You have to apply patch 2 first (patch 1 isn't required)
since I applied this quick fix without rolling back to original state!

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-17 18:45:38 -05:00
Galen Charlton
a086de137a kohabug 2100 - allow deletion of non-default MARC framework
An earlier attempt to prevent deletion of default framework
by passing a suitably constructured URL actually had
the opposite effect - the default framework could be deleted,
but ia hon-default one could not.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-16 08:18:23 -05:00
Galen Charlton
3864b9f085 MARC framework test - tests all frameworks
Changed some of the tests so that all frameworks
are tested, not just the first row.

This patch has turned up a reported error in the
unimarc_lecture_pub - items.homebranch
and items.holdinbranch for the WEB framework are
in tab -1 (i.e., ignored), but the check is expecting
them in tab 10.  Not sure if this is a real error or not:
perhaps no items should be created for bibs in that framework;
on the other hand, it is still possible to do so, in which
case the branches need to be set.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-13 17:22:19 -05:00
Henri-Damien LAURENT
5074d1199b bug Fixing 2081
Editing authorisedvalue now checks if OTHER value has the same authorised_value
before storing
id is now passed to the form so that it is used when editing authorised_value
when imageurl it is passed as '' not empty parameter

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-12 10:36:29 -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
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
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
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
Andrew Moore
5b5596a69d bug 2047: adding icons to authorized values
This patch adds the ability to associate icon images with authorized values.
They're not displayed anywhere yet, though. There's also a database update
in here. I took version "3.00.00.075", but I can change that later if it gets
taken before I commit these patches.

DOCUMENTATION CHANGES: When you add or edit authorized values, you can now
associate image icons with them. These icons come from the same icon sets
that you can have with your itemtypes, such as media type. They don't show
up anywhere yet, but that's coming. Keep an eye on
http://bugs.koha.org/cgi-bin/bugzilla/show_bug.cgi?id=2047
for more updates.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-30 20:10:31 -05:00
Andrew Moore
aef807a937 bug 2047: refactoring icon manipulation logic
I'm extracting some of the icon manipulation logic so that I can get to it from the authorized values pages.

There should be no functionality or documentation changes with this commit.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-30 20:10:09 -05:00
Andrew Moore
c41da00b4a Bug 2044: allowing multiuple icon sets
I've rearranged the two directories where media type icons live.
I've also added two more collections of icons, one from
http://apps.carleton.edu/campus/library/bridge_icons/
and one from liblime (Tina). The first has a license restriction that I added
to the "Licenses" tab on the "About" page.

Then, I've adjusted the Item Types Administration page so that it can deal
with multiple collections of icons.

I also added a test script to verify that the two identical icon directories
are actually identical.

DOCUMENTATION CHANGE: It's possible that we need to add something to the administration
documentation to indicate how you can add more sets of icons if you want. You simply add
directory to koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/ and to
koha-tmpl/opac-tmpl/prog/itemtypeimg. The icons should start showing up.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-24 11:54:18 -05:00
Joshua Ferraro
ad0d08ef33 Improvements to the results display in the OPAC, merging style
between the XSL and non-XSL stuff. Refining style of tags display,
adding back links to place hold, add to list, and add to cart on
results page
2008-04-23 16:00:46 -05:00
Joshua Ferraro
b46f98abcc Moving Tags tab into Enhanced Content to reduce the number
of tabs in sysprefs
2008-04-22 18:20:52 -05:00
Joshua Ferraro
3c6599a342 NOTE TO DOC TEAM: Moved FRBR, Amazon.com and Baker and Taylor
tabs in system preferences over to a new tab in sysprefs called
Enhanced Content
2008-04-22 18:17:14 -05:00
Joe Atzberger
9deef2c6cf Remove duplicate "use C4::Context". Once is enough, thanks.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 18:06:59 -05:00
Joe Atzberger
bb777e64dd smart-rules.pl - tighten regexp, Debug for warn statements, readable layout.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 18:02:49 -05:00
Joe Atzberger
83b7624e13 DB and syspref update for Tags and BakerTaylor
Feel free to apply this before the other related Tags/B&T patches.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 18:02:46 -05:00
f183e93477 Language corrections (mostly fixes Bug 2025)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 17:40:00 -05:00
paul
7be6d1f12b IMPROVEMENT : serialsadditems at subscription level (bump 071)
The patch update the DB by adding a row in the subscription table (serialsadditems), that is filled with the value of the syspref.
then, the syspref is deleted.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-22 17:34:33 -05:00
Galen Charlton
ac08aef495 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>
2008-04-21 11:18:19 -05:00
Galen Charlton
579a227228 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>
2008-04-21 11:17:52 -05:00
Galen Charlton
83f8e22aec renamed CheckSpecificUserPermissions to GranularPermissions
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-10 15:53:45 -05:00
Galen Charlton
cafaa26b45 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>
2008-04-10 15:53:08 -05:00
Paul POULAIN
b2c04e7c20 bugfix for saving issuing rules
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-10 02:52:50 -05:00
Ryan Higgins
8d51042a29 Add Logging module 'SYSTEMPREFERENCE', log adds, mods & deletes.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-07 15:59:51 -05:00
Chris Nighswonger
b179819d08 Correcting a small case-sensitive bug.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-01 06:45:47 -05:00