Commit graph

159 commits

Author SHA1 Message Date
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
7a2a241fa3 fix crash when attempting login as user w/o 'catalogue' permission
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-10 15:53:38 -05:00
Galen Charlton
70d33a82bb granular permissions - C4::Auth
Enhanced the permission-checking functions in C4::Auth
(e.g., get_template_and_user, checkauth, check_api_auth, etc.).

If the CheckSpecificUserPermissions syspref is OFF, the behavior
of those APIs is unchanged.

If CheckSpecificUserPermissions is ON, then the value of each
key in the flagsrequired hash is considered during
the permissions check:

  1. if the value is 1, the staff user must have
     all privileges for the userflags flag (or module)
     referred to by the hash key, e.g.,

     { flaqsrequired => { tools => 1 } }

     In terms of the database, this means that the
     corresponding bit must be set in borrowers.flags.

  2. If the value is '*', the staff user must
     have at least one of the permissions for the
     userflag/module, but it doesn't matter which one.

     In terms of the database, this means ether that the
     corresponding bit must be set in borrowers.flags or
     that there at least is one row in user_permissions
     for the staff user and bit/module combination.

  3. If the value is any other string, it must be
     a permissions code defined in the permissions table.
     The staff user must have that specific permission
     or have access to all functions of the module

     In terms of the database, this means ether that the
     corresponding bit must be set in borrowers.flags or
     that there is a matching row in user_permissions
     for the staff user, bit/module, subpermission
     code combination.

In addition, get_template_and_user is modified so that the
CAN_user_XXX variables that it sets also includes the
subpermissions available (CAN_user_XXX_YYY, e.g.,
CAN_user_tools_import_patrons).  The template variables
for the specific permissions are set regardless of whether
CheckSpecificUserPermissions is ON or OFF so that the templates
don't have to test for that syspref explicitly.

In addition, the meaning of CAN_user_XXX has changed slightly -
CAN_user_tools, for example, is set to 1 in the template if the
user has access to *any* of the tools functions.  This was done
to simply the logic for deciding whether to display a menu
item in the staff interface are not.  This does mean that
when specific subpermissions are added to (say) the circulate
module, each use of CAN_user_circulate will need to be examined
to see if the intent is to allow the user to get at a circ
menu or page or if the user really should be required to have
all circulate functions.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-10 15:53:13 -05:00
c51316a594 Correction to prevent js error when table has no data.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-04-01 06:41:11 -05:00
Joshua Ferraro
556721e86a Experimental XSLT-based display of results and details pages To enable, create two new YesNo sysprefs: XSLTDetailsDisplay and XSLTResultsDisplay, and set them to ON. Feature to be expanded in a future version, this experimental code is for proof of concept only and doesn't introduce any changes if sysprefs are not created.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-21 21:49:04 -05:00
7ec49e693a Fix to enable OPACUserCSS preference (allows user to add CSS globally in the OPAC via an embedded style block)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-19 15:46:21 -05:00
a4e22029cc Updates to tweak the way suggestions and suggestions links display when various suggestions-related prefs are on or off.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-19 15:46:16 -05:00
Chris Nighswonger
73dde7a03a Correcting warn concerning kohaversion.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-19 15:44:44 -05:00
80de0e0692 Fix for Bug 1951, OPACURLOpenInNewWindow doesn't do anything.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-18 15:18:45 -05:00
Joshua Ferraro
9b1d024b4c adding a <meta> field to make Koha's OPAC discoverable
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-18 10:40:17 -05:00
Andrew Moore
a59c28db3e fixing bug 1801
adding some parameters to the call to opac-auth.tmpl in C4::Auth::checkauth
This displays the additional navigational links in the masthead on the login page to unauthenticated users.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-18 09:44:43 -05:00
Joshua Ferraro
db101d35d0 fix for bug 1781 for NOZebra=OFF
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-17 22:35:19 -05:00
8a01737202 Fix for Bug 1939, OpacMainUserBlock not displaying with news.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-17 16:28:57 -05:00
Joshua Ferraro
f51890c407 Adding experimental OPACShelfBrowser feature -- to try, create a new syspref called OPACShelfBrowser, and set it to 1
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-16 20:26:30 -05:00
Joshua Ferraro
4c92790fc0 IMPORTANT: Upgrading to Amazon.com Associates Web Service 4.0
As announced this past February, Amazon.com will no longer be
accepting web services requests to Amazon E-Commerce Service
(Amazon ECS) version 3.0 beginning on March 31, 2008.

This patch upgrades to Amazon.com's Associates Web Service 4.0
for the following components:

1. Amazon.com Locale support for: Canada, Germany, France, Japan,
   UK, and US (see the new syspref called AmazonLocale)
2. Jacket Covers
3. Editorial Reviews
4. Customer Reviews
5. Amazon.com Similar Items

The following changes MUST be made to continue using Amazon.com
content:

1. Delete the system preference: AmazonDevKey (AmazonDevKeys used
   with AmazonECS 3.0 are no longer valid)
2. Add the system preferences: AmazonLocale, AWSAccessKeyID
   NOTE: steps 1, 2 are done by the web installer
3. Verify your AWSAccessKeyID:
   You may already have an Access Key ID. You can access your Access
   Key ID by going to http://aws.amazon.com, pointing to Your Web
   Services Account, then clicking View Access Key Identifiers.
   Depending on when you signed up for ECS 3.0, you may need to
   re-register for an AWS account, which includes an Access Key ID.
4. Enter your AWSAccessKeyID in the Koha syspref called
AWSAccessKeyID

For complete details on the changes in Amazon.com Associates Web
Service 4.0, and the migration process, please see: http://tinyurl.com/ysorqy

Other changes with this patch:
 * added $tabsysprefs{PatronsPerPage}="Patrons";
 * Moved OPAC Features to OPAC in sysprefs
 * removed experimental OPACXISBNAmazonSimilarItems and XISBNAmazonSimilarItems features

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-03-16 12:27:55 -05:00
Galen Charlton
ba19a4ffc1 disable OPAC login form if opacuserlogin syspref is off
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-20 20:15:28 -06:00
Henri-Damien LAURENT
552d77c8ad ordering branches by branchcodes on Auth page.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-02-11 06:10:00 -06:00
ba001f10b1 Working on the language-picker menu in the footer
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-25 16:52:07 -06:00
Joe Atzberger
0b2aeb3b2d Backend for "Session" Shelves in toolbar. Affects Auth and Context, so please test.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-23 21:31:20 -06:00
Joe Atzberger
36b609126e Auth.pm - Clarify logout conditionals, debug messages. Die on failure of get_session("").
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-23 21:31:17 -06:00
Joe Atzberger
a6e333d15b Auth.pm - _session_log calls moved before undef of vars logged, LibraryName double => removed
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-23 21:31:15 -06:00
db91682c80 Adding noItemTypeImages syspref to Auth.pm; Beginning the process of adding support for noItemTypeImages preference to intranet templtes.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-23 21:30:50 -06:00
83d8e095ae Cleanup for member entry: XHTML-compliance (close inputs, ids must match labels) and translator-friendliness (can't embed TMPL_IF inside tags); Cleanup of circ and members menus; Menu context flag for readingrec.pl; Correction to Auth.pm (updatecharge -> updatecharges)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-09 14:50:02 -06:00
Chris Cormack
53f3f1d2c3 Fix for bug 1442, if you have independent branches on and autolocation on,
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-07 01:57:49 -06:00
Joshua Ferraro
c2513fb4ba additional fixes to permissions
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-04 21:30:22 -06:00
4afc512039 Fix to enable reading history in the staff client.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-28 12:30:54 -06:00
Galen Charlton
a858e8a8b8 session management: use YAML::Syck for serialization
When using mysql and a sufficiently recent version
of DBD::mysql that actually respects the mysql_enable_utf8
option, setting the current branch to a name that
includes a diacritic causes the session to fail
and forces the user to the login screen upon
clicking another link.

This turned out to be due to the default (Data::Dumper)
serialization used by CGI::Session, which truncated the
session object at the diacritic.  By enabling
that module's YAML serialization option, the problem
was resolved.

This patch introduces a dependency on the YAML::Syck
module.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-27 17:24:02 -06:00
Joshua Ferraro
58d425cf7b fix for bug 1696: Reading record page fails
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-25 12:28:55 -06:00
Joshua Ferraro
43334b8cec bugfixing request.pl
Major Fix:
Fixing bug where 'expected' label existed for items that
were 'waiting'

Minor Cleanup:
Show correct statuses
Show itemtypes at correct levels depending on
global system preference
Display branch names, not branch codes
Adding in visibility option for 'canreservefromotherbranches' syspref

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-24 00:43:26 -06:00
Joshua Ferraro
e4799032d2 Warning: big commit Fixing moredetail.pl
Previously, about 50% of the data on this page was either incorrect or missing.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-23 20:32:34 -06:00
Joe Atzberger
90a0dcd223 Auth.pm - 3 changes: $debug instead of warn, LDAP require/import, $timeout regexp (+ instead of *).
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-14 10:02:21 -06:00
Joe Atzberger
377db43117 C4 and misc: permissions fixes
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-13 19:00:34 -06:00
Ryan Higgins
df9296696b get_template_and_user returns $flags from checkauth for in-page perms.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-12 08:03:08 -06:00
Galen Charlton
902176da56 bugfix: made yuipath available to login page template
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-06 11:27:08 -06:00
Ryan Higgins
ac12ba03fb Able to call haspermission w/o $dbh, and add error msg on deletemember.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-05 15:41:10 -06:00
Joe Atzberger
9b062e128c Auth.pm -- just the start of trying to make Auth intelligible and extensible
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-04 17:27:08 -06:00
Ryan Higgins
92e89f48f4 disable actions in moremember based on staff_access permission
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-02 15:17:56 -06:00
Ryan Higgins
06d1995848 Slight mod to getuserflags and haspermission in prep for perms bugfix
Also adding some pod

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-02 15:17:38 -06:00
Ryan Higgins
105adc6ccd changing haspermission() to require that user has ALL requiredflags, not ANYOF requiredflags
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-02 14:57:12 -06:00
8d5c262682 Moving holdings, description, editions, and related into tabs, enabling AmazonSimilarItems global preference for the staff client (but not working?)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-27 15:57:27 -06:00
bbae57c926 More work on editions in the OPAC; Need both a staff client and OPAC system pref for turning on and off XISBN stuff.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-26 19:59:42 -06:00
96fcc7137c Enabling FRBR system pref for OPAC, to enable/disable display of other editions. Adding editions display to opac-detail, and making some other cosmetic changes. Adding alterating table row colors in opac-user.pl
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-26 19:59:32 -06:00
Joshua Ferraro
db3954aabd allow timeout to be specified in days
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-25 19:41:41 -06:00
Galen Charlton
296e4909e0 MARC import: part 2 of large file support
* Added check_cookie_auth to C4::Auth
* Added permissions checks to the file upload scripts
* Added more error handling

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-25 16:45:49 -06:00
Galen Charlton
958b5a097c new C4::Auth::get_session for single place to get CGI::Session object
Refactoring to provide single place to get CGI::Session ojbject;
fixes bug for DB storage method other than 'mysql'.

This refactoring is also part of the patch series for
handling large input files for staging and processing
MARC records.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-25 16:43:26 -06:00
20ee769a6b More changes to opac suggestions, including enabling the AnonSuggestions system preference in Auth.pm and hiding delete option from anonymous users.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-21 18:07:49 -06:00
c16539a291 Bugfixing interface issues. Also enabling contextual menu highlighting for catalogue detail pages.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-21 18:07:01 -06:00
Galen Charlton
6eaf0d6a6e bibllios integration: added authentication
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-20 20:37:48 -06:00
Chris Nighswonger
8b50bde81b Ported session storage code to support PostgreSQL
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-16 07:27:24 -06:00
fa18d24cb7 Enabling yuipath system preference for choosing local or Yahoo-hosted YUI js library includes. Removing yui-toolbars.inc include.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-08 18:06:43 -06:00