Commit graph

81 commits

Author SHA1 Message Date
Jonathan Druart
88816eebd9 Bug 13021: guarantor search - main patch
This patch is the main patch.
The "common" template is improved to allow different type of picking:
"add" or "select".
The first one appends a patron to a list, the second one selects the
patron and close the result search window.

The members/guarantor_search.pl has completly changed but is quite the
same file as acqui/add_user_search.pl. Both should exist: they don't
belong to the same module (acqui vs members), the picking type is
different (add vs select) and the columns are not the same.

The changes in the common template are very powerful, it's now possible
to list the column we want! This will be very useful for further
reusability.

Before this patch, all patrons mathing the pattern were return. Now only
the first 20 are (depends on the DataTables selected value).

For QA: This patch introduces a new template plugin "To", for now it
permits to convert a perl structure to json. In the idea, it could
permit to convert foo to bar too.

Test plan:
1/ Verify there is no regression in the guarantor search. When the
selection has been done, all data from the guarantor should fill the
form in the "main address" section.
Note that the request is done when the search input in not empty and the
user stop to write for 1 sec.
2/ Verify there is no regression on the 2 other pages where this patron
search is used: link a patron to an order and to a basket (in the
acquisition module).

Signed-off-by: Morag Hills <the.invinnysible.one@gmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-03-19 14:19:34 -03:00
a7da45099f Bug 13142 - Change "mobile phone" label back to "other phone"
Labeling a phone number field "mobile phone" eliminates the usefulness
of having the labels "primary" and "secondary." Generic labels let the
user populate the fields according to their importance rather than their
type.

To test I recommend editing a patron record so that the values in the
patron record contain a label matching the table column:

borrowers.phone : 555-555-1234 (primary - phone)
borrowers.phonepro : 555-555-5678 (secondary - phonepro)
borrowers.mobile : 555-555-9012 (other - mobile)

View this patron's information in the various affected templates and
verify that the labels correctly match the data:

 - OPAC "your personal details" (opac-memberentry.pl)
 - Submit changes to primary, secondary, and other phone via the OPAC.
   In the staff client, view the confirmation for those changes.
 - Patron details in the staff client (moremember.pl)
 - Patron entry/edit in the staff client (memberentrygen.pl)
 - Patron duplicate confirmation in the staff client
   (you can navigate directly to
   /members/moremember.pl?borrowernumber=XXXX&print=brief)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-02-13 13:52:10 -03:00
fe66114e21 Bug 13450 [QA Followup] - Remove tab character from start of line
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-02-09 10:18:32 -03:00
Marc Véron
e2bbdc0b14 Bug 13450 - Title and breadcrumb of Patron form can look weird in translations
This patch moves the patron category name or category type at the end of title and breadcrumb for better translatability.

Note: It does not change anything in functionallity, it only changes display of strings.

To test:
Apply patch
Search a patron and edit it in all possible ways: 'Edit' button on top of details page, 'Edit' links in details page, 'Edit' links in search result table if multiple patrons are found)
Duplicate a patron
Create a new patron
Make sure that title and breadcrumb appear in a meaningful way with pattern similar to the following:
Modify patron Hansli Meier (Juvenile)

(Missing </div> added)

Signed-off-by: Aleisha <aleishaamohia@hotmail.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2015-02-09 10:18:27 -03:00
c7081a0852 Bug 13410 [QA Followup]
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-12-17 19:53:10 -03:00
Marc Véron
6d37e83e4d Bug 13410 - Untranslatable "Change messaging preferences to default for this category?"
To test:
In staff client, go to Home > Patrons
Click button "New patron" and choose a category
Change Patron messaging preferences
Now change Category
Make sure that following message box still appears: "Change messaging
preferences to default for this category?"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-12-17 19:53:06 -03:00
3a23bdaa29 Bug 9177 - Duplicate patron: Prepopulated fields ar cleared when setting cursor
When adding a duplicated patron record some fields are prepopulated from
the original patron record. Focusing your cursor on these fields
automatically clears them. This works well if you assume that the user
only focuses on fields which should be changed. This works badly if you
consider that a user might want to tab between all fields. I think the
disadvantages outweigh the minor benefit of not having to delete the
contents of a field.

This patch removes the clearing action.

TEST PLAN
---------
1) Log in to staff client
2) Patrons
3) Find an existing patron
4) Click on the link in the Name column
5) Click on the Duplicate button
6) Click on fields with data in them.
   -- they will clear, which is more problematic than correcting
      the entry.
7) On the line
   "Home > Patrons > {patron name} > Duplicate Adult Patron"
   click the patron name to go back.
8) Click on the Duplicate button
9) Tab through the fields
   -- the fields should remain unchanged, but sadly they clear.
10) Apply the patch
11) On the line
   "Home > Patrons > {patron name} > Duplicate Adult Patron"
   click the patron name to go back.
12) Click on the Duplicate button
13) Navigate through the fields
    -- tabbing nor clicking should clear any fields.
14) Run koha qa tests

NOTE: Had to rebase again. Yes, bug 7878 interfered.
      However, it deals with comment #6, which Owen
      appropriately noted.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Less surprises, improves accessibility by enabling to
tab through the form without losing data.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-21 19:48:31 -03:00
dcad4c38d2 Bug 12981 - Patron attribute type limit by patron category not working on patron entry form
To reproduce this bug:

- Create a patron attribute type and limit it by patron category
- Create a new patron with that category
- Observe that there is no entry field for the patron attribute type you
  created for that patron category. Inspecting the source should show
  that the entry field has been hidden.

The patron entry form tries to hide patron attribute type input fields
based on the currently selected patron category. It does this based on
the value of $("categorycode"). However, instead of pulling the data
from the categorycode input in the body of the entry form, it pulls it
from the patron search box at the top of the page. The value of that
input is always empty because no category is preselected.

This patch corrects the problem by changing the ID of the categorycode
<select> in the body of the entry form and making corresponding changes
to the JavaScript which depends on it.

To test, apply the patch and load the patron entry form for a patron
category to which a patron attribute type has been limited. That patron
attribute entry field should appear correctly.

Choose a different patron category from the "Category" dropdown. Confirm
that the patron attribute entry field has been hidden.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-21 15:25:03 -03:00
Jonathan Druart
2937eaeeae Bug 7878: (qa follow-up) Fix the sex default value
Without the previous patch, when you edited a patron, the "N/A" value
was selected for sex.
With, no checkboxes were selected.

This patch also replaces the
    IF opduplicate do nothing ELSE do something END
statement with
    UNLESS opduplicate do something END
which is more readable.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-20 09:45:53 -03:00
f9c4d6a596 Bug 7878 - When duplicating a patron too many fields carrying over
When duplicating a patron the resulting entry form contains the data
from the original patron in the following fields: Other names, Initials,
Gender, OPAC note, Staff note, and expiration date. These should be
blank for a new duplicated patron. This patch corrects this.

To test, locate or create a patron record which contains data in the
fields listed above. Duplicate that patron and confirm that those fields
are blank in the resulting patron entry form.

Confirm also that editing an existing patron with data in those fields
works correctly.

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-20 09:45:47 -03:00
Magnus Enger
290341d8db Bug 11401: Add support for Norwegian national library card
This patch makes it possible to sync patron data between Koha and the
Norwegian national patron database, in both directions.

In order to use this, the following information is necessary:
- a username/password from the Norwegian national database of libraries
  ("Base Bibliotek"), available to all Norwegian libraries
- a special key in order to decrypt and encrypt PIN-codes/passwords,
  which is only available to Norwegian library system vendors
- a norwegian library vendor username/password

See http://www.lanekortet.no/ for more information (in Norwegian).

While this is of course an implementation of a specific synchronization scheme
for borrower data, attempts have been made to prepare the ground for other sync
schemes that might be implemented later. Especially the structure of the new
borrower_sync table might be reviewed with an eye to how it might fit other
schemes.

To test:

Since the password and cryptographic key needed to use this functionality
is only available to Norwegian library system vendors, only regression testing
can be done on the submitted code. Suggested things to check:

- Apply the patch and make sure the database update is done. This should add
  the new "borrower_sync" table and five new systmpreferences under the
  "Patrons" > "Norwegian patron database" category:
  - NorwegianPatronDBEnable
  - NorwegianPatronDBEndpoint
  - NorwegianPatronDBUsername
  - NorwegianPatronDBPassword
  - NorwegianPatronDBSearchNLAfterLocalHit
- Check that patrons can be created, edited and deleted as usual, when
  NorwegianPatronDBEnable is set to "Disable"
- Check that the new tests in t/NorwegianPatronDB.pm run ok, e.g. on a
  gitified setup:
  $ sudo koha-shell -c "PERL5LIB=/path/to/kohaclone prove -v t/NorwegianPatronDB.t" instancename
- Check that all the other tests still run ok
- Check that the POD in the new files itroduced by this patch looks ok:
  - Koha/NorwegianPatronDB.pm
  - members/nl-search.pl
  - misc/cronjobs/nl-sync-from-koha.pl
  - misc/cronjobs/nl-sync-to-koha.pl
  - t/NorwegianPatronDB.t

Sponsored-by: Oslo Public Library

Update 2014-09-18:
- Rebase on master
- Split out changes to Koha::Schema
- Incorporate new way of authenticating with NL

Update 2014-10-21:
- Rebase on master
- Use Module::Load to load Koha::NorwegianPatronDB in non-NL-specific
  scripts and modules
- Fix the version number of Digest::SHA
- Fix a missing semicolon in kohastructure.sql

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-11-14 09:42:23 -03:00
Marc Véron
6f64bb2bd5 Bug 12746 - Remove empty onclick attribute from memberentrygen.tt
This patch removes empty onclick attribute from memberentrygen.tt

To test:
Apply patch.
Use git grep 'onclick=""' to make sure that there are no more empty onlick attributes
Go to Home > patrons  and click 'New patron'
Check HTML of 'Cancel' link
Make sure that 'Cancel' link still works

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Changes the link to cancel adding a manual restriction.
No regressions found.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-09-08 10:53:27 -03:00
293c0c16c2 Bug 7944 - attribute error could be clearer
If you try to create a patron and enter an extended attribute value
which is required to be unique but exists in another record the error
you receive is not clear. It uses the attribute code instead of the
description. This patch adds description to the output.

To test you must have ExtendedPatronAttributes enabled.

- Edit or create an extended patron attribute and designate it a unique
  identifier.
- Edit a patron and add a value to that attribute.
- Edit another patron and try to add the same value.

You should get an error which includes both the description of the
attribute you tried to modify and the value you submitted.

Signed-off-by: Christopher Brannon <christopher@debian.brannon.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, no problems found.
Passes tests and Qa script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-11 15:45:59 -03:00
5fc2a6dbad Bug 12407: [QA Follow-up] Rename Other Phone to Mobile in staff
Touches three member templates.
Changes label Other into Mobile.
This is consistent with database field name and OPAC.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-08-05 20:36:43 -03:00
509da0289c Bug 7462 - duplicate patron shows flags
When duplicating a patron the form fields for setting patron account
flags and restrictions should be hidden as it is when adding a patron.
This patch adds the correct logic to the template.

To test, duplicate an existing patron:

- Confirm that the "Patron account flags" and "Patron restrictions"
  sections are not visible.
- Confirm that saving a duplicated patron works correctly.
- Confirm that the edit and new patron entry forms are unaffected.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works ok, all three points confirmed
No koha-qa errors

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, small template change.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-30 14:25:00 -03:00
Pasi Kallinen
a30f9e3d65 Bug 12150 - Use more javascript string formatting in intranet for translated strings.
http://bugs.koha-community.org/show_bug.cgi?id=12150

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

No bug number on description
No commit message
No test plan
No koha-qa errors

I only signed this because it's useful for translations
but we can live without it, so is up to QA now

Tested some easy messages (e.g. syspref saving), and
updated PO files to check new strings.
Inspected the code, I think that there are no errors.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
2014-07-03 09:52:48 -03:00
Jonathan Druart
e33a016a1c Bug 766: Use a TT include instead of a method in the AV plugin
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
This gives a koha-qa error, but on another user/env not.
Really don't know

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I see the same error, but can't see where this is coming from,
code seems to work ok.
Works as described, no regressions found.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-04 23:04:35 +00:00
Jonathan Druart
f6defdf25a Bug 766: Use the new plugin to generate sort dropdown list - memberentry
Now we can use the method plugin from the memberentry form.

Test plan:
1/ Create a patron and verify sort1 and sort2 dropdown list are
   correctly generated.
2/ Select values.
3/ Save.
4/ Edit the patron and verify the selected values are displayed.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Works as described.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-05-04 23:02:48 +00:00
Jonathan Druart
2aafa78f08 Bug 11563: (follow-up) improve selector for adding noEnterSubmit to select elements
Test plan:
To test on modified pages:
- Press enter when cursor is on input or select and verify the form is not
submitted.

Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-11 18:04:36 +00:00
db3d4a0d7d Bug 11563: (follow-up) add noEnterSubmit class to pulldowns
When using Chrome on Mac OS X, form submits are triggered by hitting
enter when focused on a select. This is not an issue with any other
combination of browser and operating system that I am aware of.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Christopher Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-11 18:04:35 +00:00
Galen Charlton
556eb67718 Bug 108661: (follow-up) enshrine letting CardnumberLength specify just a maximum
This patch finishes the work started in one of the previous
follow-ups and allows CardnumberLength to be set to a value
like ',5'.  In conjunction with not including cardnumber in
BorrowerMandatoryField, this allows a cardnumber to not be
required but, if present, to not exceed the specified length.

This patch also updates t/db_dependent/Members.t so that
it runs in a transaction, tests the new return value
of checkcardnumber, and manages the CardnumberLength syspref.

To test:

[1] Verify that prove -v t/db_dependent/Members.t and
    prove -v t/Members/cardnumber.t pass.
[2] Set CardnumberLength to ",5" and take cardnubmer out of
    the BorrowerMandatoryField list.
[3] Verify that you can save a patron record without a cardnumber,
    but if you supply one, that it can be at most 5 characters long.
[4] Add cardnumber back to BorrowerMandatoryField.  This time, the
    minimum length is 1 even though CardnumberLength is ",5".

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-12 04:07:03 +00:00
Galen Charlton
22593e2e9b Bug 10861: (follow-up) use minlength/maxlength rather than pattern for client-side validation
This patch replaces use of the HTML5 pattern attribute with minlength
and maxlength, which is compatible with the jQuery validation plugin
and which, in Chrome 33.0.1750.146 at least, works better.

To test:

[1] Enter a new patron record or edit an existing one.
[2] Verify that the minimum and/or maximum length requirements
    set by the CardnumberLength syspref are validated and that
    form submission is prevented if the cardnumber doesn't
    meet the length requirements.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-12 03:05:44 +00:00
Jonathan Druart
3d938ffc82 Bug 10861: (follow-up) various refactoring
This patch refactors the previous code and moves the logic from the pl
to a new routine.

Same test plan as previous patch.

/!\ new unit test filename.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Bug 10861: Reintroduced the cardnumber length check (client side)

Previous patches has removed the pattern attribute of the input, it was
not needed. This patch reintroduces it. It will only work for new
browser version.

Moreover, it manages with the ',XX' format (see UT).

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Squashed the last two follow-ups. The pattern test did not work fully for me
in Firefox 26 (very recent). But I see the message when I clear the field.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-12 02:17:34 +00:00
Jonathan Druart
834abff631 Bug 10861: Add a check on cardnumber length
Some libraries would like to add a check on the cardnumber length.
This patch adds the ability to restrict the cardnumber to a specific
length (strictly equal to XX, or length > XX or min < length < max).
This restriction is checked on inserting/updating a patron or on importing
patrons.

This patch adds:
- 1 new syspref CardnumberLength. 2 formats: a number or a range
  (xx,yy).

- 1 new unit test file t/Members/checkcardnumber.t for the
C4::Members::checkcardnumber routine.

Test plan:
1/ Fill the pref CardnumberLength with '5,8'
2/ Create a new patron with an invalid cardnumber (123456789)
3/ Check that you cannot save
4/ With Firebug, replace the pattern attribute value (for the cardnumber
input) with ".{5,10}"
5/ You are allowed to save but an error occurred.
6/ Try the same steps for update.
7/ Go to the import borrowers tool.
8/ Play with the import borrowers tool. We must test add/update patrons
and the "record matching" field (cardnumber or a uniq patron attribute)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Tested adding, updating; importing and ran unit test.
Preliminary QA comments on Bugzilla

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-12 02:16:18 +00:00
521d717372 Bug 11707: fix editing additional attributes for patron whose category code includes a space
When editing additional attributes of a patron of a category with a
code with space (ie "CAT 3"), the Javascript is broken and Additional
attributes are not displayed.

This patch corrects by adding simple quotes around category code in JS
code.

Test plan :
- Create an patron additional attribute
- Create a new patron category with a space in code. ie "CAT 3"
- Create a new patron of this category : /cgi-bin/koha/members/memberentry.pl?op=add&categorycode=CAT 3
=> Without patch the JS is broken (Syntax error, unrecognized expression:
   [data-category_code=CAT 3]) and additional attributes are not
   displayed.
=> With patch the JS is not broken and additional attributes are
   displayed and can be edited.

Signed-off-by: Marc Véron <veron@veron.ch>

In current Koha version it is not possible to create category codes
with blanks.

To test, I changed an existing category code directly in the database.
Then I followed the Test plan.
Without patch, attribute types were not displayed.
With patch, they were displayed as expected.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I recommend not using codes with spaces and fix existing ones.
Koha doesn't allow you to add category codes with spaces, so the only way
to do it is via SQL.
This patch fixes a problem and passes all tests.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-26 16:35:52 +00:00
Jonathan Druart
a691ebc3f1 Bug 7372: Move road types from the roadtype table to the ROADTYPE AV
Currently road types are stored in a specific table in DB. Moreover, an
admin page is present in order to manage them.
This patch proposes to remove this table and this page in favour of a
new authorised value category 'ROADTYPE'.

This patch:
- adds a new AV category 'ROADTYPE' (created from the roadtype table
  content).
- remove the roadtype table.
- remove the .pl and .tt file admin/roadtype
- remove the 2 routines C4::Members::GetRoadTypes and
  C4::Members::GetRoadTypeDetails

Test plan:
1/ Execute the updatedatabase entry and verify existing roadtypes are
now stored in the AV 'ROADTYPE'.
2/ Verify you can add/update a streettype for patrons.
3/ Verify on following pages the streettype is displayed in patron
information (top left):
  circ/circulation.pl
  members/memberentry.pl
  members/moremember.pl
  members/routing-lists.pl

Signed-off-by: Sophie Meynieux <sophie.meynieux@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-21 16:00:53 +00:00
Jonathan Druart
d45c9a673b Bug 10863: Add 2 circulation permissions: force_checkout and lift_restriction
This patch adds 2 circulation permissions: force_checkout and
lift_restriction.

During upgrade, these two permission are added to existing staff
users that already have the base circulate permission.

force_checkout allows a librarian to force a checkout if a limitation
occurred.

lift_restriction allows a librarian to lift a restriction for a patron.

Test plan:
1/ Find a debarred patron and go on the checkout page. The "Lift
restriction" button should be present only if the logged librarian has
the lift_restriction permission.
2/ If the force_checkout permission is set, a librarian should be
allowed to check out in several cases:
- age restriction
- the item is issued to another patron
- the item is not for loan
- the patron has overdue items
- the item is lost
- the item is a high demand item
- the item is reserved
- another case ?

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>

Bug 10863: The force checkout permission should not affect high holds

- typo checkout => check out.
- the force checkout permission does not affect high holds.

Signed-off-by: Cedric Vita <cedric.vita@dracenie.com>

Bug 10863: Follow-up: Adding missing permissions to translated files

This patch adds the 2 new permissions to all remaining sample files.
If the permissions don't get installed, the problem is bigger than
having an English description.

Also adds back the question "Check out anyway?" for high demand items (HIGHHOLDS).

Test xt/permissions.t passes now.

Bug 10863: Rename lift_restriction with manage_restrictions

The pref manage_restrictions now takes into account "Lost card" and
"Gone no address" restrictions.

Test plan:
- log in with a user with manage_restrictions permission
- verify you can set/unset restrictions when editing a patron
- log in with a user without manage_restrictions permission
- verify you cannot set/unset restrictions when editing a patron

Signed-off-by: Mathieu Saby <mathieu.saby@univ-rennes2.fr>
Note: The AgeRestrictionOverride pref has to be set to "Allow" if you
want to override the age restriction, even if the new permission is set.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-07 03:59:53 +00:00
Dobrica Pavlinusic
165e8750b8 Bug 11216: fix bug where editing patron creates indefinite manual restriction
Editing partron data results in unintended adding of indefinite manual
restriction to it. Reason for it is hidden field add_debarment which
is wrongly initialized to 1 instead of 0. Also JavaScript code seems
to want to toggle checkbox, and since this field is hidden correct
approach would be to change its value to 1.

Test scenario:

1. edit patron data
2. verify that debarrment is wrongly added
3. remove debarrment
3. apply this patch
4. edit patron again
5. verify that debarrment wasn't added
6. intentionally add debarrment and verify that it's saved
7. add debarment, enter something in comment but press cancel
   and verify that debarment isn't added

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>

This fixes this blocker, however, with or without the patch, the date
is not saved correctly. I will file a new bug for that

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-11-14 15:39:39 +00:00
0532bdc956 Bug 2720: (follow-up) improve data entry form for manual restrictions
This follow-up to Bug 2720 makes some template changes which I think
make the interface a little more consistent and streamlined.

Instead of incorporating the manual entry form into the table it is
broken out and follows standard form structure. This lets the table be
hidden altogether if there are no existing restrictions.

The manual entry form is hidden by default and shown when you click a
link to add a manual restriction.

These changes have been applied to both the include file used for
circulation and patron detail and to the patron entry form template.

To test, add and remove manual restrictions from the circulation page,
the patron detail page, and the patron edit page. All operations should
work correctly.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-31 01:54:20 +00:00
80897930b7 Bug 2720 - Overdues which debar automatically should undebar automatically when returned
This patch adds a more extensible and flexible debarments system to Koha. The fields
borrowers.debarred and borrowers.debarredcomment are retained for compatibility and
speed.

This system supports having debarments for multiple reasons. There are currently
three types of debarments:
OVERDUES    - Generated by overdue_notices.pl if the notice should debar a patron
SUSPENSION  - A punative debarment generated on checkin via an issuing rule
MANUAL      - A debarment created manually by a librarian

OVERDUE debarments are cleared automatically when all overdue items have been returned,
if the new system preference AutoRemoveOverduesRestrictions is enabled. It is disabled
by default to retain current default functionality.

Whenever a borrowers debarments are modified, the system updates the borrowers debarment
fields with the highest expiration from all the borrowers debarments, and concatenates
the comments from the debarments together.

Test plan:
 1) Apply patch
 2) Run updatedatabase.pl
 3) Verify the borrower_debarments table has been created and
    populated with the pre-existing debarments
 4) Run t/db_dependent/Borrower_Debarments.t
 5) Manually debar a patron, with an expiration date
 6) Verify the patron cannot be issued to
 7) Add another manual debarment with a different expiration date
 8) Verify the 'restricted' message lists the date farthest into the future
 9) Add another manual debarment with no expiration date
10) Verify the borrower is now debarred indefinitely
11) Delete the indefinite debarment
12) Verify the debarment message lists an expiration date dagain
13) Enable the new system preference AutoRemoveOverduesRestrictions
14) Set an overdue notice to debar after 1 day of being overdue
15) Check out an item to a patron and backdate the due date to yesterday
16) Run overdue_notices.pl
17) Verify the OVERDUES debarment was created
18) Return the item
19) Verify the OVERDUES debarment was removed
20) Disable AutoRemoveOverduesRestrictions
21) Repeat steps 15 though 18, verify the OVERDUES debarment was *not* removed
22) Add issuing rules so that an overdue item causes a temporary debarment
23) Check out an item to a patron and backdate the due date by a year
24) Return the item
25) Verify the SUSPENSION debarment was added to the patron

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-31 01:53:22 +00:00
Galen Charlton
e52bd72c65 Bug 11002: (follow-up) use jQuery validator plugin
This patch uses the jQuery validator plugin introduced in
bug 6209 for two reasons:

[1] To supply validation for non-HTML5-compatible web
    browsers.
[2] To force use of the validator plugin rather than
    built-in validation for HTML5 browsers, which means
    that our translations will be used.

Note that a version of the function to prevent double form submission
is used as the submit handler invoked when the validator plugin
is satisified that the form is complete.

To test:

[1] Same as the main test plan, but note that the validation
    messages now appear inline rather than as pop-ups.
[2] Verify that the double form submission prevention still
    works.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-22 05:19:08 +00:00
Jonathan Druart
c900a47aa8 Bug 11002: simplify patron mandatory field validation
When the pref BorrowerMandatoryField is set and a librarian forget to
fill fields, a js popup appears with the following message:
  "The following fields are mandatory: surname, etc."
The fields are not translatable.

Test plan:
- fill the pref BorrowerMandatoryField with something like:
  title|zipcode|surname|cardnumber|branchcode
- go the members/memberentry.pl?op=add page
- verify you are not allowed to add the patron without filling all
  mandatory fields.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-22 05:18:42 +00:00
David Roberts
ace5505305 Bug 10894: Add ID to main address in member entry form
Add an ID to ease customization via jQuery; an ID is already present
on alt address but was missing from main address

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-09-20 17:17:47 +00:00
1c8c9bb0fe Bug 10769 - Simplify clearing of input fields when duplicating a patron
When duplicating a patron record an onclick event is added to many
fields in order to make then clear when focused. This patch updates the
template so that the logic for this can be simplified. A template
variable is set based on the 'opduplicate' variable, and a class added
to the relevant fields. All fields with that class are cleared on focus.

Also changed are several markup issues which were causing validation
errors.

To test, find or create a patron record which has all standard text
fields filled with data. Use the "duplicate" button on the detail view
of that patron to initiate the duplication process.

Focus on each field in the patron entry form in succession. Fields which
contain data should be cleared in the same way they were before the
patch.

Also test a regular edit operation to confirm that fields are not
cleared.

Signed-off-by: Campbell Reid-Tait <campbellreidtait@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-09-08 06:30:03 +00:00
Colin Campbell
2614e07e1e Bug 10507: improve warning about duplicate patron attribute value
If a warning about a duplicated patron attribute is returned,
the value was being passed back for display in the warning
message with the same name as the variable in errors

As the message is displayed in the context of errors
the error value 1 was being displayed not the value
duplicated as intended.

Pass the value to the template with a unique name.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

I fixed another tiny typo while signing off: "is already in use" instead
of "is already is use."

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passes koha-qa.pl, works as advertised.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-12 20:57:09 +00:00
81bfae9364 Bug 10297 - categorycode and branchcode should be required when adding patrons
categorycode and branchcode should show as required under all
circumstances, not just when they are included in the
BorrowerMandatoryField system preference. This patch adds the correct
classes and hints to those fields.

To test, view the patron entry form for a new or existing patron.
Category and Library should show that they are required.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-06-12 11:51:54 -07:00
be869ab279 Bug 8215 - Course Reserves
Adds a course reserves system for academic libraries.

The course reserves system allows libraries to create courses
and put items on reserves for those courses.

Each item with at least one reserve can have some of its attributes
modified while it is on reserve for at least one active course.
These attributes include item type, collection code, shelving location,
and holding library. If there are no active courses with this item
on reserve, it's attributes will revert to the original attributes
it had before going on reserve.

Test Plan:
  1) Create new authorised value categories DEPARTMENT and TERM
  2) Create a new course, add instructors to that course.
  3) Reserve items for that course, verify item attributes have changed.
  4) Disable course, verify item attributes have reverted.
  5) Enable course again, verify item attributes again.
  6) Delete course, verify item attributes again.
  7) Create two new courses, add the same item(s) to both courses.
  8) Disable one course, verify item attributes have not reverted.
  9) Disable both courses, verify item attributes have reverted.
 10) Enable one course, verify item attributes are again set to the
     new values.
 11) Edit reserve item attributes, verify.
 12) Disable all courses, edit reserve item attributes, verify
     the item itself still has its original attributes, verify
     the reserve item attributes have been updated.
 13) Verify the ability to remove instructors from a course.
 14) Verify new permissions, top level coursereserves, with
     subpermissions add_reserves and delete_reserves.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Corinne Bulac <corinne.hayet@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

http://bugs.koha-community.org/show_bug.cgi?id=8125
2013-05-21 15:50:55 -07:00
Jonathan Druart
537c664038 Bug 9508: Standardize the dateformat value from C4::Auth
- the dateformat value is send to all templates (from
  C4::Auth::get_template_and_user)
- remove all assignment of dateformat in all .pl files

- Remove "all" occurrences (those I found!) of dateformat_*
From now the only way to get the date format is a string comparaison
(dateformat == "metric")

Checked with the command:
  git grep "\(dateformat_us\|dateformat_metric\|dateformat_iso\)" | grep
  -v translator

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Tested all the datepickers I could find, looks good.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-05-20 09:05:01 -07:00
Jonathan Druart
09d36cee3c Bug 10053: borrowers.branchcode cannot be null
The DB field borrowers.branchcode cannot be null (`branchcode`
varchar(10) NOT NULL default ''). However, an empty value can be selected
on creating/updating a patron.

Test plan:
- Add or edit a patron and choose the empty value for library
(branchcode).
- Save (pref BorrowerMandatoryField must not contain branchcode).
- Mysql raises an error.
- Apply the path.
- Check that you are not able to select no library.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 07:37:27 -04:00
ae0d137436 Bug 9981: Handle sort1 field when duplicating patron
It is noted in Bug 5432 that during a duplicate operation one field,
'Sort1' does not automatically clear when the cursor moves into it. This
patch corrects this.

Edit a patron record to have data in the Sort1 and Sort2 fields. Perform
a duplicate operation on this patron and confirm that the Sort1 and
Sort2 fields show the information from the original patron record. When
you click on each field the contents should disappear.

Signed-off-by: David Cook <dcook@prosentient.com.au>

Works as described.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-04-03 07:16:06 -04:00
c061790f97 Bug 9783 - can hit submit twice when adding patrons
Currently, clicking twice or more on the Save button will generate
duplicate patrons when adding patrons in the Patron module. Of course,
there is handling that detects this, so you can choose to either edit
the original record (i.e. throw away the duplicate) or create a
duplicate record.

However, it shouldn't get to that point by clicking on the Save button.
That handling seems to be there to handle cases where you go through the
whole process of trying to add a new patron only to find out that they
already exist in the system (or at least their username/password do).

--

This patch uses the "preventDoubleFormSubmit" function (which is also
used in holds and fines to prevent double form submits). It was also
necessary to edit members.js, since "check_form_borrowers" was forcing
form submits despite the "preventDoubleFormSubmit" function. I've
changed it from forcing a document.form.submit to return true, which the
browser will still submit the form if it's a unique borrower, but the
"preventDoubleFormSubmit" function will still prevent multiple submits.

I've also added a "waiting" class to staff-global.js which changes the
cursor to "wait" (i.e. loading circle graphic). I've included an
"AddClass" call in "preventDoubleFormSubmit", so that the cursor graphic
will change to show users that the page is loading so that they don't
click Save again. Of course, even if they do click save again, there
will only be one submit. However, this way - as Chris Cormack mentioned
- the user knows that "something" is happening and that the form isn't
broken.

-------
Test Plan

Before applying patch...

1) Fill out the form for a new patron in the Patron module
2) Click "Save" several times
3) Once the page loads, you'll be shown a prompt that says that this
   borrower already exists. You will have the option to view the
   original record, edit the original record, or create a new patron
   anyway
4) Click on edit the existing record, and delete the patron

Apply the patch

5) Repeat steps 1 and 2
6) Notice that your cursor has changed into a little "loading" circle
   graphic when you hover over the "body" of the page, as well as any
   links or any inputs/buttons of the type "submit" within that form
7) Notice that no matter how many times you press the button, the form
   is not re-submitted. Eventually you will be taken to the new patron's
   record (no mention of duplication will occur)

Ta da! Multiple form submits are prevented and the loading graphic
signals to users that the form was submitted and that Koha is processing
their data

--

I understand that some people might want to change which elements are
given the "waiting" class. I'm happy to renegotiate this as necessary.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Looks good and works nicely.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-27 22:58:17 -04:00
Bernardo Gonzalez Kriegel
2d9f5fc69e Bug 9457: [ENH] Ordering branches should be case independent (2)
This patch replace use of CGI::scroll_list() to show list of branches.

In two files, marc21_linking_section.pl and unimarc_field_4XX.pl,
the scrolling list is created but not used in the template file,
so the code is removed.

Also minor renaming/normalizing of variables.

To test:
1) Install with some branches, records and patrons

2.1) Select a record, click 'Place hold', select user,
     there is a library pull-down next to 'Pickup at:',
     list is ordered case sensitive
2.2) Go to Reports > Average loan time,
     next to Library is a pull-down,
     list without order
2.3) Go to Reports > Catalog by item type,
     next to 'Select a library' is a pull-down,
     list is ordered case sensitive
2.4) This is tricky, go to Reports home,
     change last part of URL 'reports-home.pl' with
     'manager.pl?report_name=issues_by_borrower_category'
     (can't find a direct link), next to 'Select a library'
     is a library pull-down,
     list without order
2.5) Edit/Add a patron, on section 'Library management'
     there is a library pull-down, case sensitive
2.6) OPAC, as logged user, make a suggestion or hold,
     there is library pull-down, correct order

3) Apply the patch

4.1) Repeat 2.1), correctly ordered list
4.2) Repeat 2.2), correctly ordered list
4.3) Repeat 2.3), correctly ordered list
4.4) Repeat 2.4), correctly ordered list
4.5) This is a bit more work
     There are 3 possible situations to test:
     A) No branches, must show a message that are no
        libraries defined
     B) New patron, must show a correctly ordered
        list of branches, current branch selected
     C) Edit patron, must show a correctly ordered
        list of branches, patron branch selected
4.6) Small changes on variable names, so retest 2.6)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-20 15:35:58 -04:00
96b6f39e7a Bug 9586 - Remove $ENV{DEBUG} info from Member Template
Currently, if $ENV{DEBUG} is set (for example to 1), the debug level
will be printed on the Add/Edit Patron pages (memberentrygen.tt) in the
form of: "Debug is on (level 1)".

While many if not most folks might not set $ENV{DEBUG} on a production
system, there is no reason to have this information printing on the
member template(s).

No where else in Koha is there a template that prints $ENV{DEBUG}
information, with the exception of calendar.inc, although that doesn't
activate until at least debug level 2 or 5, so it might be worth holding
on to. It is certainly more complicated than simply printing the debug
level. I don't do development on the calendars, so I'm not going to
address that one.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Elliott Davis <elliott@bywatersolions.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-07 09:49:10 -05:00
Galen Charlton
9912e38404 Bug 9556: fix setting messaging prefs when changing patron category
As a result of accumulated changes to field names returned
by the members/default_messageprefs.pl service, the JavaScript
to change the patron messaging preferences to the category default
when changing a patron's category in the patron editor stopped
working.

To test:

[1] Turn on the EnhancedMessagingPreferences feature.
[2] Set message preference defaults for at least two
    patron categories.
[3] Before applying the patch, create a new patron record
    using one of the categories you set prefs for, then
    change the category, then change it back again.  You
    will see that numeric settings like the number of days
    for advanced notices will change, but checkboxes won't change.
[4] Apply the patch, then create a new patron record and
    try changing the patron category.  You will see that all of
    the preferences will get updated to the category default
    each time you change the category.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-02-07 08:37:17 -05:00
5431fa07d3 Bug 9529 - Adding a patron shows javascript on screen under login section
A typo in my patch for Bug 9265 (HTML5 switch) left an extra quotation
mark in a  <script> tag on the patron entry form, causing JavaScript
code to be output as text instead of interpreted. This patch corrects
it.

To test, apply the patch, enable EnhancedMessagingPreferences, and load
the patron entry form. You should see no JavaScript on screen around
the 'Patron messaging preferences' fieldset.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-02-07 07:20:35 -05:00
47609920b7 Bug 9265 - Switch to HTML5 doctype in OPAC and staff client
This patch replaces the XHTML DOCTYPE with an HTML5 one. The HTML5
validator seems to be significantly different than the XHTML one,
so I'm seeing lots of new errors. This patch includes corrections
for one: Deprecation of the "language" attribute of <script>
tags.

To test, view pages in the OPAC and staff client. They should
appear as normal. Numerous validation follow-ups will be required,
but I suggest these be handled incrementally.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
test on some intranet pages and I found no regression. (chromium and
firefox).
The w3c page about the doctype: http://www.w3.org/TR/html5-diff/#doctype

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-01-31 11:47:04 -05:00
Lyon3 Team
43ba461f39 Bug 8978: Patron's dateexpiry erroneously updated when in UnwantedField
If dateexpiry field was absent because it has been included in
UnWantedField syspref list, the script assumed that the date has
been forgotten and updated it when clicking on 'save' button.

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-10-31 18:33:44 -04:00
782e1845f3 Bug 8869 - Duplicate member check doesn't disable submit button on bottom.
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

I confirm that after applying this patch, the submit button is removed from
patron edit page, avoiding accidentaly clicking on it, without responding to
the question about possible duplicate patron?

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-10-12 21:43:23 +02:00
Fridolyn SOMERS
5a38631838 Bug 8863: When clearing a patron attribute, they are all cleared
Signed-off-by: Marc Veron <veron@veron.ch>

Tested with a set of 2 additional patron attributes. Cleard both before applying the patch.
Cleared as expected after applying the patch.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-10-12 21:39:53 +02:00
MJ Ray
1fe6e116cb fix bug 7068 - autobarcode not working when duplicating patrons
.. by blanking cardnumber in the code and showing it in the template,
instead of just not showing it in the template

Autobarcode now correctly fills in on a duplicated patron.

Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-09-13 18:23:21 +02:00