Commit graph

38 commits

Author SHA1 Message Date
92782d3832 Bug 7067 - OPAC Borrower Self Registration
This development will add the ability for a new patron to register
himself or herself. The self-registration will attempt to match this
newly inputted data to any existing patrons and if any possible matches
are found, ask if the patron is sure he or she doesn't already have an
account at the library. A system preference may be set to prevent patron
self-registration if the system detects the possibility that the person
may already have an account.

Once the patron has registered, passing a captcha (or similar
bot-stopper), the patron will then be optionally verified a second time
via email. At this point, the patron will be able to print a temporary
library card (optional by system preference), and will be provided any
details necessary to access electronic resources (this body of text
would be a template in the slips and notices system). At the library's
choice, this new patron would either be set to a temporary patron status
(patron type set via system preference), or a fully-fledged patron
(allow patron type to be determined by age and/or other attributes).
Assuming the library uses temporary patron types for OPAC registrations,
this patron will next enter a queue and would need to physically enter
the library to verify himself and become a fully-fledged patron (most
likely by bringing in physical proof of address, etc.). The librarian
would look up the patron record and modify the patron type. If a
temporary patron has not been verified within a certain time frame
(defined by a system preference), the patron record will be deleted
from the system via a cron job.

For registered patrons, the system will allow each person to also
update his or her personal data via the OPAC. When a patron updates his
or her information, the changes will be entered into a queue to be
verified by a librarian (preventing a patron from inputting obviously
bogus data). The staff client home page will display the number of
patron records with changes awaiting approval. A librarian would then be
able to click through a list of modification requests, and approve or
deny each (with approval and denial alerts being sent to the patron via
the standard messaging system).

NEW SYSTEM PREFERENCES
* PatronSelfRegistration
* PatronSelfRegistrationDetectDuplicates
* PatronSelfRegistrationVerifyByEmail
* PatronSelfRegistrationPrintTemporaryCard
* PatronSelfRegistrationUseTemporaryStatus
* PatronSelfRegistrationExpireTemporaryAccountsDelay

NEW NOTICE
* Verify by email notice

NEW SLIP
* Temporary card slip

NEW CRON JOB
* delete_expired_opac_registrations.pl
  - Deletes patrons that have not been upgraded from the temporary
    status within the specified delay
* delete_unverified_opac_registrations.pl
  - Deletes the unverified patrons based on the length of time specified
    in the PatronSelfRegistrationExpireTemporaryAccountsDelay

The patron will register from self_registration.pl, linked off opac-main.pl if enabled. The registration page will be translatable to other languages in the same way that existing templates are.

Test Plan:
1) Enable PatronSelfRegistration
2) Set PatronSelfRegistrationExpireTemporaryAccountsDelay to a number
   of days
3) Create a self-registered borrower category
4) Set PatronSelfRegistrationUseTemporaryStatus
5) Set PatronSelfRegistrationVerifyByEmail to "Don't require"
6) Go to OPAC, log out if logged in.
7) You should see the "Register here" link below the login box
8) Attempt to register yourself
9) Verify you can log in with your temporary password.
10) Set PatronSelfRegistrationVerifyByEmail to "Require"
11) Attempt another self-registration
12) Check the messages table, you should see a new message with a
    verification link.
13) Copy and paste the link into a web browser to verify the registration
14) Log in with the given credentials to verify the account was created.

Test Plan - Part 2 - Borrower Modifications

1) Log in to OPAC, go to "my personal details" tab.
2) Make some modifications to your details.
3) Repeat steps 1 and 2 for two more borrowers.
4) Log in to Koha intranet with a user that can modify borrowers.
5) At the bottom of mainpage.pl, you should see:
  Patrons requesting modifications: 3
6) Click the link
7) Approve one change, deny a different one, and ignore the third, then
   submit.
8) Check the records, you should see the changes take affect on the
   approved one, and no changes to the other two. You should also see
   "Patrons requesting modifications: 1" at the bottom of mainpage.pl
   now.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Bug 7067 - OPAC Borrower Self Registration - Followup

* Rename PatronSelfRegistrationUseTemporaryStatus to PatronSelfRegistrationDefaultCategory
* Hide register link unless PatronSelfRegistrationDefaultCategory is set.
* Add invalid token page
* Add documentation and switches to cron scripts
* Add required fields check for editing exiting patrons
* Don't force require email address for existing patrons when
  PatronSelfRegistrationVerifyByEmail is enabled.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-14 08:08:59 -05:00
Jared Camins-Esakov
6456162544 Bug 9053: Test::MockModule and DBD::Mock should be required
Test::MockModule and DBD::Mock are required for the unit tests in t/
to run. This is good, but means they should be required.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-11-12 09:43:40 -05:00
Robin Sheat
ba8be1f2f9 Bug 8636 - add Moose dependency to the dependencies
Koha::SearchEngine requires moose, but it wasn't declared as a
dependency.

Also update the debian/control dependencies to match the current state
of the requirements.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-11-01 09:25:15 -04:00
Paul Poulain
6eeb518042 Merge remote-tracking branch 'origin/new/bug_8636' 2012-10-12 11:55:14 +02:00
Jared Camins-Esakov
54d56e303a Bug 8636: Add dependency on Test::Deep
The test t/db_dependent/Koha.t uses Test::Deep to compare data
structures, but that dependency was not listed for the installer.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-10-12 11:54:19 +02:00
1e1422e8ba Bug 7963 Parallel HTTP requests when checking URLs
Current script check-url.pl checks URL found in 856$u by sending HTTP
requests, one by one. The next request can't be sent before the previous
one get a result, which can be very slow for dead URL. I propose a new
script which send multiple requests simultaneously which improve
drastically URL checking execution time.

This script is based on AnyEvent and AnyEvent::HTTP CPAN modules.
Add new dependencies AnyEvent & AnyEvent::HTTP.

See doc: perldoc check-url-quick.pl

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
2012-10-05 11:44:52 +02:00
Mark Tompsett
a6542d4205 Bug 8780 - Lower dependency version for DateTime::TimeZone
The fresh install of Debian, with the debian.koha-community.org
repository, only has version 1.20 by default. As only the most
basic functionality is being used, this version number should be
lowered from 1.26 to 1.20 in ./C4/Installer/PerlDependencies.pm
to make git installations cleaner.

Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-26 18:58:36 +02:00
Paul Poulain
2b69f7f7f0 Revert "Bug 6679 - [SIGNED-OFF] fix 2 perlcritic violations in C4/Installer/PerlModules.pm"
This reverts commit afff4e8d6a.
2012-09-20 14:49:18 +02:00
afff4e8d6a Bug 6679 - [SIGNED-OFF] fix 2 perlcritic violations in C4/Installer/PerlModules.pm
Expression form of "eval" at line 71, column 9.  See page 161 of PBP.  (Severity: 5)

Expression form of "eval" at line 85, column 13.  See page 161 of PBP.  (Severity: 5)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-20 12:01:40 +02:00
Jared Camins-Esakov
f9980f6b31 Bug 8649: Add unit test for C4::Search
This patch adds a unit test for C4::Search in t/db_dependent. In order
to test the functioning of the Zebra search, this patch actually includes
an entire Zebra sandbox, and pre-indexed files, which are stored in
t/db_dependent/data (the configuration files are generated on the fly).

This test depends on Test::Warn, Test::MockModule, and DBD::Mock.

To test:
1) Run the test. There should be no failures, and no warnings.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2012-09-13 11:55:39 +02:00
Jared Camins-Esakov
3752cd4304 Bug 5327 follow-up: add DBD::Mock dependency
In order for the awesome new t/ItemType.t test to work, we need
DBD::Mock.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2012-09-07 14:31:49 +02:00
Jared Camins-Esakov
b64fd7b83a Bug 8636: Add missing dependencies
Cache::Memcached::Fast is used for caching
Test::YAML::Valid is used for tests
Signed-off-by: Marc Veron <veron@veron.ch>

Dependencies appear as expected...
...and I see that they are not instaled yet on my server  :-)

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-29 13:49:01 +02:00
5e10c0ad87 7368 Adjustments for Perl dependencies
HTML::FormatText is used by Template::Plugin::HtmlToText which is called in the template for opac-sendbasket.pl.
This is not a core Perl 5.10 module. I had to install it additionally on a test server. So I am adding it to PerlDependencies.
I just picked an old version 1.23 that I still could find as min_ver.

Changed the version information for Test::Strict too (not required, only for tests).

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-25 14:33:03 +02:00
Katrin Fischer
3b2db76402 Bug 7411: Follop-up: Add Text::Unaccent to PerlDependencies.pm
Adds new dependency Text::Unaccent to PerlDependencies.pm

Module is used currently to remove diacricits from automatically
created userid (<first name>.<surname>) in the patron module.

Test scenario:
1. open About Koha > Perl modules
2. verify that Text::Unaccent is there

Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-13 14:23:10 +02:00
Jared Camins-Esakov
7ddf7cbb03 Bug 8383: Add test to check that Perl scripts compile
This patch adds t/db_dependent/00-strict.pl which tests that all Perl
scripts compile. I chose to use Test::Strict so that in the future we
can also have the test check that "use strict" and "use warnings" are
enabled.

To test:
1. Run t/db_dependent/00-strict.pl.
2. Run around waving your arms in the air that we have a couple of
   scripts that don't compile.
3. Actually, that's about it. You could test my patch for bug 8384 next.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Moved test to t/db_dependent

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-07-10 11:13:40 +02:00
Jonathan Druart
b82d386ecd Bug 8233: Followup: Search engine layer: Add dependencies. 2012-07-06 16:53:54 +02:00
Chris Cormack
509d673f10 Bug 7941 : Fix version numbers in modules
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-11 17:29:38 +02:00
1f5bfbd0aa Bug 8062 [SIGNED-OFF] Perl module dependency Template::Plugin::HtmlToText
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-09 19:33:30 +02:00
Jared Camins-Esakov
841f8f4d63 Bug 8092 follow-up: Add optional dependency on CHI
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-06-09 13:08:18 +02:00
Chris Nighswonger
4953b57fcd Bug 7977: Adding DateTime::Format::MySQL as a core dependency
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Mason James <mtj@kohaaloha.com>
2012-05-24 14:14:03 +02:00
Colin Campbell
c82d114f1e Bug 5549 : Add Extra Perl Dependencies
Add:
  DateTime::Timezone
  DateTime::Format::DateParse
  DateTime::Set
  DateTime::Event::ICal
  Readonly
  Readonly::XS
2012-03-20 13:21:50 +13:00
Robin Sheat
70d95b515e Bug 7532 - remove dependency on Date::ICal
This removes the dependency on Date::ICal (which is largely
unmaintained) and replaces it with DateTime::Format::ICal which can do
the same job. It also updates all the docs and installation scripts to
handle this change.

Note that this causes a minor behaviour change: previously the generated
times were converted to UTC, now they are left "floating" (that is, have
no timezone attached) and so will appear as the local time when imported
into a calendar. I don't anticipate this'll cause any issues however.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-02-17 11:49:05 +01:00
Chris Cormack
c1ee7a750f Bug 6836: Adding dependency on Modern::Perl
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-27 11:33:16 +01:00
Ian Walls
d52095b48c Bug 7078: Remove HTML::Template::Pro from Koha perl dependencies list
Removes HTML::Template::Pro as a requirement (since we're now on Template::Toolkit).

To test:

On a system without, HTML::Template::Pro installed, run perl koha_perl_deps.pl -m -u

Shouldn't return anything about HTML::Template::Pro

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-22 09:01:26 +13:00
Chris Cormack
80ba84159d Fixing missing padding on module version 2011-07-21 20:04:02 +12:00
Francois Marier
d50d4568e2 Bug 6298 : Add optional dependency on Gravatar::URL 1.03
This CPAN module is needed for the ShowReviewerPhoto functionality.

Unfortunately the version in Squeeze (1.02) is not sufficient so it
has to be installed from CPAN:

  sudo apt-get install libnet-dns-perl libtest-warn-perl
  sudo cpan Gravatar::URL

Signed-off-by: Francois Marier <francois@debian.org>
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-05 15:01:14 +12:00
Ricardo Dias Marques
7457243d4d Lower dependency on Storable to 2.20 in PerlDependencies.pm
This patch lowers the dependency on the "Storable" Perl package
(also known as module/distribution) from version 2.21 to 2.20

This patch created today (14-Apr-2011) does, in PerlDependencies.pm,
the same as a previous patch dated 30-Mar-2010 from Lars Wirzenius
did, in Makefile.PL :

[Koha-patches] [PATCH] Lower dependency on Storable to 2.20.
http://lists.koha-community.org/pipermail/koha-patches/2010-March/011560.html

The reason for this patch is the same that Lars gave for his:

" The Debian squeeze system has only 2.20, and the 2.21 does not seem
 to be required for all tests to pass. Also, checked with
Galen Charlton and Henri-Damien LAURENT (who added the 2.21 dependency)
on IRC that 2.21 did not have anything that was required, compared
to 2.20. "

I believe this patch should be applied to the "master" branch
and should also be "cherry-picked" for the "3.2.x" branch.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-15 10:45:02 +12:00
Chris Cormack
bacd210c73 Bug 5917 : Updating dependencies 2011-04-10 21:50:35 +12:00
e1a0b4ab53 bug 4865: added dependency for using memcached for sessions
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-04 10:38:51 +12:00
Chris Cormack
9e3dbeaf39 Fixing FSF address in license statements 2011-04-01 15:55:06 +13:00
11d54188f8 bug 5389: mark Business::ISBN as a required dependency
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Nighswonger <cnighswonger@foundations.edu>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-12 14:31:56 +13:00
e4f37fde48 Bug 4305 Get Amazon book covers for ISBN13
The way Koha get book cover from Amazon doesn't work from biblio records
having ISBN13 because Amazon expect an ISBN10. This patch transforms
ISBN13 into ISBN10 before sending it to Amazon.

Warning! On some devel installations, you will have to install by hand a
new CPAN depency:

  Business::ISBN

Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 06:18:48 -04:00
Colin Campbell
6a1191bb3f Bug 4905 Runtime errors in about.pl
Calls to VERSION were generating errors when called on a string.
Use a bit of sleight of hand to avoid this
Added a couple of tests on Installer/PerlModules
Module needs better coverage testing (esp on newer perls)
Sorted to list of modules to make koha_perl_deps.pl more
human-friendly

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-24 14:16:36 -04:00
Colin Campbell
b3489aa045 Bug #4864 Add SIPServer Perl Module Dependencies
SIPServer requires Net::Server and UNIVERSAL::require

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-09 08:29:51 -04:00
Lars Wirzenius
3944230624 Add YAML as a dependency, since C4/Record.pm uses it.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-02 07:14:38 -04:00
Lars Wirzenius
2fcc4fe94e Add tools to update debian/control's build dependencies.
The canonical list of Perl module dependencies are in
C4::Installer::PerlDependencies::PERL_DEPS now. Add a script
(debian/list-deps) to turn that into a list of Debian package names.

Because that is a slow process, and the output rarely changes, do
not do that at build time. Also, doing it at build time would require
modifying debian/control in evil ways.

Instead, add another tool, debian/update-control, which reads the
new file debian/control.in, and adds the output of debian/list-deps to
Build-Depends and creates a new debian/control.

debian/control.in is the master file. If changes are needed, that should
be edited. For performance and convenience reasons, the output is also kept
in git, but don't edit debian/control directly, please. Such changes
might get lost by the next commit by someone else.

Whenever PERL_DEPS changes, debian/update-control should be run as well
and the result committed to git.

This is not quite as automatic as it might be, but should be good enough.
It avoids keeping the list of Perl modules in two places.

Note that since it seems impossible to automatically figure out the Debian
package version that corresponds to a Perl module version, I have not
tried to do that at all.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-02 07:14:36 -04:00
Chris Nighswonger
a7f56922eb Backing down the required version of Graphics::Magick
This brings the required version into line with the latest version available in the Debian and Ubuntu repos.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-17 10:29:51 -04:00
Chris Nighswonger
1f32ecbc8e Enhancement Bug 4444: Centralize Code Handling Perl Dependencies
This patch adds two modules: C4::Installer::PerlModule and C4::Installer::PerlDependencies. The latter provides a single point
of reference for cataloging Koha Perl dependencies. The former provides an OO style interface to the dependency catalog.

The format of C4::Installer::PerlDependencies is very simply an anonymous hash of hashes. Each second level hash takes this form:

'Foo::Bar' => {
  'usage'    => 'FooBar Feature',
  'required' => '1', # 0 if optional
  'min_ver'  => '0.01',
},

New modules can be appended to C4::Installer::PerlDependencies as needed and will be picked up by every piece of code which needs
this information.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-17 09:01:37 -04:00