Commit graph

234 commits

Author SHA1 Message Date
70a59fc694
Bug 23529: (QA follow-up) Fix closing bracket, add label
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-25 13:18:20 +01:00
Andrew Isherwood
370ee3203e
Bug 23529: (follow-up) Fix syntax error
As mentioned by Magnus in comment #8

Sorry Magnus, definitely fixed this time!

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-25 13:18:11 +01:00
Andrew Isherwood
04e9885c0f
Bug 23529: Narrow scope of changed
Whilst working on something else, it came to light that the previous fix
in bug 23229 was waaaaay too heavy handed and basically kills all ILL
related JS :( This is obviously a big problem, this patch fixes that.

The main problem is that all the ILL related JS is in a single file,
which isn't ideal as bits of it are used on different pages. Ideally,
we'd refactor it out into more manageable chunks which can be included
as required. Until such a time, this patch will do, it just prevents the
"get all requests" AJAX request unless you're on the ILL list page.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-25 13:17:34 +01:00
Matthias Meusburger
e5bf671357
Bug 23697: (follow-up) Add autocompletion search in patron module
- Rename CircAutocompl system preference to PatronAutocompletion
 - Take this system preference into consideration for patron search

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-08 14:51:04 +01:00
Matthias Meusburger
a777b6376d
Bug 23697: Add autocompletion search in patron module
Test plan:

  - Apply the patch
  - Go to "Patrons" (members/members-home.pl)
  - Check that autocomplete is enabled for patron search

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-08 14:50:51 +01:00
0ae7c6a343
Bug 21245: Move 'Last patron' button into 'breadcrumb' bar
This patch moved the 'Last patron' button introduced in bug 20312 inline
with the breadcrumb bar from floating above it.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-08 14:18:21 +01:00
Charles Farmer
ef897b41f5
Bug 18421: (follow-up) QA fixes
Use the community's terminology, change coce.js's path, update <script>
to Asset, remove forbidden patterns

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-07 14:09:12 +01:00
Charles Farmer
3c0cdedfb0
Bug 18421: Add Coce to the staff intranet
TEST PLAN:
    1) Apply the patch with git-bz
    2) Run updatedatabase.pl
        2.1) Console output should confirm database modification
    3) Visit the 'Enhanced Content' tab of admin/syspref
        3.1) ressource is /cgi-bin/koha/admin/preferences.pl?tab=enhanced_content
        3.2) You should see that the previous preference, Coce, is now CoceOPAC,
             and that a new preference was added, CoceIntranet
    4) Activate CoceIntranet
    5) Do a search for a book for which you have a Coce cover
        5.1) The cover image url should now point to a provider you defined in Coce
        5.2) Your Coce log should show a query
    6) Click on the book's name to visit the detail.pl page
        6.1) The book's cover should also be provided by Coce on that page

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-07 14:09:12 +01:00
Christophe Croullebois
c66cebf744
Bug 23252: Adds noEnterSubmit class in ajax context
In cataloging.js $(document).ready adds noEnterSubmit class.
This does not work in ajax context, it works with $(document).ajaxSuccess.

Test plan :
1)
1.1) Verify you have an item subfield linked to items.itemnotes, ie 952$z
1.2) Verify 952$z exists in ACQ framework
2)
2.1) Verify system preference "AcqCreateItem" is on "placing an order"
2.2) Go to an acquisition basket
2.3) Click "Add to basket" and "From a new (empty) record"
2.4) Go to "Item" block
2.5) Verify that $z has "noEnterSubmit" class
2.6) Verify that typing enter in $z does not submit the form
3)
3.1) Change system preference "AcqCreateItem" to "receiving an order"
3.2) Go to "Receive shipment"
3.3) Receive an order
3.4) Go to "Item" block
3.5) Verify that $z has "noEnterSubmit" class
3.6) Verify that typing enter in $z does not submit the form

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Bouzid Fergani <bouzid.fergani@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-10-03 10:25:13 +01:00
87302a1abf
Bug 22744: Changes for opac and remove JS
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-09-23 11:57:46 +01:00
247dca3064
Bug 23013: Upgrade DataTables in the staff client
This patch upgrades DataTables and makes some style changes to the
default DataTables toolbar style. DataTables assets are now combined and
minified using their download customizer, bundling together these
elements:

 - JSZip 2.5.0
 - pdfmake 0.1.36
 - DataTables 1.10.18
 - Buttons 1.5.6
 - Column visibility 1.5.6
 - HTML5 export 1.5.6
 - Print view 1.5.6
 - FixedHeader 3.1.4

DataTables assets have been moved from lib/jquery/plugins to
lib/datatables. The global header and footer include files are updated
correspondingly.

This patch removes the custom "four_button" pagination configuration and
updates pages which used it to use the built-in "full" type instead.
This is done for the sake of consistency and upgradability. This change
touches a lot of files.

Table-specific CSS has been moved from staff-global.scss to a new
include, _tables.scss. A second common include, _mixins.scss has some
variable definitions used in both files.

Many images have been made obsolete by this change and have been
removed.

To test, apply the patch and regenerate the staff client CSS. View
various pages in the staff client with tables:

 - Not formatted by DataTables:
   - Reports -> Most circulated items
   - Catalog -> Search results
 - Formatted by DataTables without column configuration
   - Acquisitions -> Vendor search
   - Lists
 - Formatted by DataTables with column configuration
   - Administration -> Libraries
   - Administration -> Item types
   - Reports -> Saved SQL reports
 - Non-standard DataTables configurations:
   - Circulation -> Checkouts
   - Administration -> System preferences
   - Reports -> Lost items

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-08-22 15:23:19 +01:00
f827064bad
Bug 14570: (QA follow-up) Fix issues in Guarantee context
Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-08-20 16:05:41 +01:00
109334102f
Bug 14570: Make it possible to add multiple guarantors to a record
This patch adds the ability to set an unlimited number of guarantors
for a given patron. As before, each guarantor may be linked to another
Koha patron, and all the behavior that applies to a given guarantor
remains the same.

Test Plan:
 1) Apply this patch
 2) Run updatedatabase.pl
 3) Find some patrons with guarantors, verify the still have their guarantor
 4) Test adding and removing guarantors on a patron record, both Koha users and not
 5) Verify the "Add child" button works
 6) Verify NoIssuesChargeGuarantees still works
 7) Verify tools/cleanborrowers.pl will not delete a guarantor
 8) Verify the guarantors are displayed on moremember.pl
 9) Verify the guarantor is removed by members/update-child.pl
10) Verify the guarantor is removed by misc/cronjobs/j2a.pl
11) Verify import patrons converts guarantor_id, relationship, contactfirstname,
  and contactsurname into a guarantor
12) prove t/Patron.t
13) prove t/db_dependent/Circulation.t
14) prove t/db_dependent/Circulation/NoIssuesChargeGuarantees.t
15) prove t/db_dependent/Items.t
16) prove t/db_dependent/Koha/Patrons.t
17) prove t/db_dependent/Members.t
18) prove t/db_dependent/Patron/Relationships.t

Signed-off-by: Kim Peine <kmpeine@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-08-20 16:04:48 +01:00
Ere Maijala
ee44dce285
Bug 11529: Clean up subtitle usage
Unify and clean up subtitle usage so that it's always used as a simple array and not the old hash structure.

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-08-05 15:03:18 +01:00
Alex Arnaud
a72d8dbb0f
Bug 22249: Mana - Move comment process in a dedicated sub
Test plan:
  - Go to a subscription's detail page,
  - click on "Report mistake" => "New comment",
  - check Koha logs file,
  - you can see the following warning:
    Can't locate object method "find" via package "Koha::Resource_comments"
  - Apply this patch,
  - same test again,
  - no wraning

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-07-26 16:08:08 +01:00
2c600bf439
Bug 23278: Reopen last panel upon "Save and continue" in notices
This patch modifies the Notices edit process so that if the user chooses
the "Save and continue" option the page reloads with the same panel open
which they were previously editing in.

To test, apply the patch and go to Tools -> Notices and Slips.

 - Open a notice for editing.
 - Expand one of the sections.
 - Choose "Save and continue" from the button menu in the toolbar.
   - When the page reloads, the section you expanded should be open
     again.
 - Test each section and test with no sections expanded.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-07-19 14:07:36 +01:00
Pasi Kallinen
84855d75c1
Bug 23048: Hide non-pickup branches from hold modification select
When modifying holds in staff client via reserve/request.pl or
the holds-tab in members/moremember.pl, the pickup library dropdown
lists libraries not marked for pickup. Hide those branches,
unless the branch is marked as a pick-up branch for already
existing hold.

The reason for showing a non-pickup branch for the holds created
before the branch was marked as non-pickup: If the non-pickup branch
wasn't shown, the branch in those holds would get set to the first
branch in the select if the hold was modified.

Test plan:
1) Create a hold for a patron, to be picked up from a certain branch.
2) Edit the branch and another branch so they are no longer
   pickup locations.
3) Go to members/moremember.pl for that patron, check the Holds-tab
   Pickup library -drop down. It lists both of the non-pickup branches.
4) Go to reserve/request.pl for that biblio. The hold-table
   Pickup library -drop down lists both of the non-pickup branches.
5) Apply patch.
6) Repeat 3 & 4, drop down no longer lists the non-pickup branch, but
   should still list the branch where the hold was marked to be picked
   from.

Signed-off-by: Pasi Kallinen <pasi.kallinen@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-07-19 13:49:38 +01:00
bb3a0e5dbc
Bug 22768: Global search form keyboard navigation broken
Bug 22045 made changes to the global staff client JavaScript which
broken keyboard navigation for the most common forms in the resident
search form("Check out, Check in, Renew, Search). This patch
reimplements the tab selection code on the basic MARC editor page so
that the keyboard shortcut behavior can be restored.

To test, apply the patch go to Cataloging.

 - Search for an existing record and edit it in the basic MARC editor.
   - Test that the numbered tabs (0-9) at the top work correctly.
 - Select a tab other than 0 and choose Save -> Save and continue
   editing. When the page reloads you should be returned to the tab you
   were on when you saved.
 - Go to the Circulation home page. Test the keyboard shortcuts for
   switching tabs in header area:

   - Alt-u (Check out)
   - Alt-r (Check in)
   - Alt-w (Renew)
   - Alt-q (Search)

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Nadine Pierre <nadine.pierre@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-07-15 12:45:27 +01:00
e269d6e6e6
Bug 18707: Background jobs post disabled inputs
For example, in Tools > Batch item modification input of deleted subfields are disabled.
This form is posted using background job via JS code.
Looks like this JS code converts a POST form into a GET URL, including inputs that are disabled :

koha-tmpl/intranet-tmpl/prog/js/background-job-progressbar.js
function submitBackgroundJob(f) {
...
$(':input', f).each(function() {
...

This patch add a :enabled to selector

Test plan :
<to define>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-07-15 11:27:59 +01:00
f748443822
Bug 20959: Style checkin form more like the checkout form, with collapsed settings panel
This patch modifies the structure of the checkin form so that settings
(Specify return date, book drop mode, forgive overdue charges) are in a
collapsed panel when inactive. The style of the barcode field and the
mode notification messages has been changed to reduce the vertical
motion of the form when selecting options.

Some class names have been changed in circulation.tt and circulation.js
to make them appropriate for use on both forms.

To test, apply the patch and rebuild the staff client CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).
Clear your browser cache if necessary.

 - View the checkin page. The "checkin settings" panel should be
   collapsed by default.
 - Confirm that the settings panel collapses and expands as it should.
 - Confirm that selecting "Forgive overdue charges" or "Book drop mode"
   trigger the display of the correct message and that the style of the
   barcode field is changed.
 - Confirm that after submitting a barcode for check-in, the
   settings panel stays open and your selected settings are still
   selected.
 - Confirm that specifying a due date and selecting "remember" shows
   a new message with the selected date.
   - Confirm that unchecking "remember" hides the message.
   - Confirm that date settings are remembered and the correct message
     displayed (or not) during check-in.
 - Test with CircSidebar enabled and disabled.

Signed-off-by: Arthur Bousquet <arthur.bousquet@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-07-02 09:17:36 +01:00
f50afc1fc0
Bug 23183: Reindent cataloging.js
This patch makes some very minor corrections to indentation in
cataloging.js, a JavaScript file used by the bibliographic and item
records editors.

To test, apply the patch and perform a diff against master using the
'-w' flag:

git diff -w origin/master

There should be no changes reported.

Signed-off-by: Nadine Pierre <nadine.pierre@inLibro.com>
Signed-off-by: Bin Wen <bin.wen@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-28 14:37:05 +01:00
115f4f2045
Bug 22862: Normalize SMS messaging numbers before validating them
Librarians often copy and paste patron data, including phone numbers. SMS phone numbers are now being validated to conform to the E.164 specification. It would be nice to try to normalize that data by stripping non-numeric data from the paste (i.e. dashes, parens, etc ).

Test Plan:
1) Apply this patch
2) On the staff side, Attempt to enter invalid characters the SMS number field
3) Note you cannot enter invalid characters
4) Attempt to paste a phone number with invalid characters
5) Note those characters are removed on paste
6) Repeat these steps on the OPAC

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-24 15:01:36 +01:00
7a80483a13
Bug 15814: Handle correctly MMTA edit button
The MARC modification template action edit buton does not correctly
handle variable escaping.
Assigning a JS variable containing the JSON representation of the
hashref will make the processing much more easier.

Test plan:
Create a MARC Modification Template with several actions.
In the description you should use the following characters, to try to
break this patch: \ ' " \n \r
(not sure what we handled \n and \r)
Then edit the action, modify and save again.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-21 13:07:32 +01:00
Katrin Fischer
ad9338e419
Bug 22633: Link barcodes in hold summary in patron account to moredetail page
Bug 21070 links the barcode on holds to the item on moredetail.pl.
This patch makes the same change to the hold lists in the staff
patron account.

To test:
- Create some holds, have at least
  - one item level hold
  - one hold waiting for pick-up
- Take a look at the details and checkouts tabs
  in the patron account on staff side
- Verify that the barcodes link to the record detail page
- Apply patch
- Verify the barcodes now link to the moredetail page

Signed-off-by: Axel Amghar <axel.amghar@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-13 12:33:32 +01:00
ac41566cdd
Bug 14794: (follow-up) Add tooltip to filter box
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-13 12:04:41 +01:00
07d6e9f142
Bug 14794: Display JS tooltip whenever dateofbirth is being searched
This updates the code that adds a tooltip for the correct date format
to display after the initial search

To test:
1 - Do a patron search, choosing date of birth as the search field
2 - Note on choosing that field you get a tooltip defining the format
3 - Do a search
4 - Note tooltip is gone, but date fo birth is still selected as the field to search
5 - Apply patch, reload
6 - Note tooltip shows after initial search and until field is changed

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-13 12:04:32 +01:00
Pasi Kallinen
88cfa94ea4
Bug 23074: Holds table sort does not understand dateformat
Holds table does not sort correctly when the dateformat is eg. DD.MM.YYYY.

Test plan:
1) Create multiple holds for a patron with different hold creation
   and expiration dates, with different years, months and days.
2) Change the dateformat to DD.MM.YYYY.
3) Resort the holds table (in circ/circulation or members/moremember)
   by the hold date or expiration date.
   The table sorts the date by the day number.
4) Apply patch
5) Redo 3 - the table now sorts correctly.

Signed-off-by: Pasi Kallinen <pasi.kallinen@koha-suomi.fi>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Arthur Bousquet <arthur.bousquet@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-11 08:35:18 +01:00
8c38904627
Bug 22867: UniqueItemFields preference value should be pipe-delimited
This patch updates the UniqueItemFields system preference so that it
contains pipe-delimited data instead of space-delimited data. This makes
it consistent with other system preferences which contain lists of
database column names, and enables the selection process provided by Bug
22844.

This patch includes a database update to convert space-delimited values
in UniqueItemFields to pipe-delimited.

To test you should have two or more space-delimited items table columns
saved in the UniqueItemFields system preference. Apply the patch and run
the database update.

 - Go to Administration -> System preferences -> Acquisitions and
   confirm that the value of UniqueItemFields is now pipe-delimited.
 - Set the AcqCreateItem system preference to "placing an order."
 - Go to Acquisitions -> Vendor -> Basket -> Add to basket -> From a new
   (empty) record.
   - Fill out the item add form, including those fields specified in
     UniqueItemFields.
   - Click the "Add multiple items" button and specify one or more
     items.
   - Click "Add" and verify that in the table of items added, the fields
     specified in UniqueItemFields were not duplicated.
   - Edit one or more of those items and add duplicate values to one or
     more of the fields specified in UniqueItemFields.
   - Click "Save" and confirm that you are presented with an error
     highlighting the duplicated data.
   - Correct the data to remove the duplicates and click "Save" again.
     It should save correctly.

  - Set the AcqCreateItem system preference to "receiving an order."
  - Repeat the test above during the process of receiving an order.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-06 16:08:47 +01:00
Liz Rea
6d046c2e3d
Bug 8558: (QA follow-up) a little more text clean up
You can take or leave it, honestly, I just thought
we could be a little more explicit about what we were overwriting.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-06 15:47:39 +01:00
Aleisha Amohia
e4d1318550
Bug 8558: Improve confirmation message for importing frameworks
This patch updates the confirmation message from:
"Do you really want to import the framework fields and subfields? This
will overwrite the current configuration. For safety reasons please use
the export option to make a backup"
to:
"Are you sure you want to import the [% frameworkcode %]
framework structure? This will overwrite the current configuration. For
safety reasons, it is recommended to use the export option to make a
backup first."

To test:
1) Go to Administration -> MARC bibliographic frameworks
2) Export one of the frameworks
3) Create a new test framework
4) Import the new test framework structure using the exported file
5) Upon clicking Confirm, confirm the message is improved and makes
sense.

Sponsored-by: Catalyst IT
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2019-06-06 15:47:28 +01:00
f5894d41d2 Bug 22904: Untranslatable strings in members-menu.js
This patch moves several English strings out of members-menu.js and into
str/members-menu.inc where they can be picked up by the translation
process. The following strings are affected:

"Are you sure you want to renew this patron's registration?"
"Are you sure you want to update this child to an Adult category?  This
cannot be undone."
"Dates of birth should be entered in the format 'MM/DD/YYYY'"
"Dates of birth should be entered in the format 'YYYY-MM-DD'"
"Dates of birth should be entered in the format 'DD/MM/YYYY'"
"Dates of birth should be entered in the format 'DD.MM.YYYY'"

This patch also makes a correction to members-toolbar.inc in order to
enable the presence of the "Update child to Adult" menu item.

To test:

 - Install and update a language.
 - Check the po-file for that language. You should find no msgid for
   the strings listed above.
 - Apply the patch.
 - Update the language you installed.
 - You should find entries for all the strings above.
 - Translate those messages and update the translated templates.
 - Reinstall the translation.

In the staff client:

 - Select your updated translation.
 - Open an expired patron's account and choose "Renew patron" from the
   "More" button in the toolbar. You should be prompted for confirmation
   using the translation you provided.
 - To test the "Update child" confirmation you should have only one
   patron category in the "Adult" category.
   - Open a patron record with a child category and choose "Update
     child" from the "More" menu in the toolbar. You should be prompted
     for confirmation using the translation you provided.
 - To test the date format messages: From the patrons home page, expand
   the advanced search options in the header search form. Select "Date
   of birth" under "Search fields." A correctly-translated tooltip
   should appear above the search field.

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-30 10:06:18 +00:00
a6840d14d2 Bug 22802: Check item funds, order funds, and default funds when ordering from a file
This patch tries to centralise the logic of order funds requirements into a single routine.
If propogates defaults down into items/order as necessary, it also prevents unsetting lower values if
a default is set.

To test:
1 - Populate 'MarcItemFieldsToOrder'
2 - Add to a basket from a file
3 - Use a file containing some item records with funds defined or not
4 - Confirm if all items have funds defined, you can order
5 - Confirm that setting the default for an order populates items and you can order
6 - Confirm that setting the default for all orders populates items if present/ order if not
7 - Confirm that if defaults are set the lower levels cannot be unset
8 - Try various settings and confirm all work as expected

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-23 15:12:29 +00:00
94c4a268ac Bug 22811: Add button to clear DataTables filtering
This patch adds a "clear filter" button to the global
DataTables configuration. The button will appear if:

 - There is no custom DOM configuration applied to the DataTable
   instance.
 - The DataTable has the search form enabled.

The new button should be disabled by default. Entering a search term in
the form should enable it.

To test, apply the patch and clear your browser cache if necessary. View
various pages with various DataTables configurations and confirm that
everything looks correct and the new "Clear filter" button doesn't
appear when there is no DataTable search field. For example:

 - Administration -> Libraries
 - Administration -> Currencies
 - Reports -> Saved reports
 - Circulation -> Check out
 - Tools -> News

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-09 19:30:05 +00:00
Andrew Isherwood
5f3c849014 Bug 7088: (follow-up) Modify checkbox enabling
As described in comment #50, we need to only enable renewal on items
that are disabled in line with which sysprefs are enabled. So we now
only enable renewal of on hold items if the AllowRenewalOnHoldOverride
syspref is on and we only enable renewal of all other limited items
when the AllowRenewalLimitOverride syspref is on.

NOTE: The test plan below has changed substantially from previous
iterations

Test plan (you might want to make a coffee first...):

- Apply patch
- Rebuild CSS

- Go to the Patron Details page for a patron who has an item on loan that would fulfil an outstanding loan request.
- The patron also needs to have an item on loan that cannot be renewed for some other reason, say renewal limit has been reached
=> TEST: Observe that it is NOT possible to select either item for renewal

- Enable the "AllowRenewalLimitOverride" syspref
- Return to the Patron Details page
- Check the "Override renewal restrictions" checkbox
=> TEST: Observe that it IS possible to select the the item that has reached the renewal limit, but not the item that is on hold

- Disable the "AllowRenewalLimitOverride" syspref
- Enable the "AllowRenewalOnHoldOverride" syspref
- Return to the Patron Details page
- Check the "Override renewal restrictions" checkbox
=> TEST: Observe that it is NOT possible to select the the item that has reached the renewal limit, but it IS possible to select the item on hold

- Enable the "AllowRenewalLimitOverride" syspref
- Enable the "AllowRenewalOnHoldOverride" syspref
- Return to the Patron Details page
- Check the "Override renewal restrictions" checkbox
=> TEST: Observe that it IS possible to select the the item that has reached the renewal limit, AND it IS possible to select the item on hold

- Select the item that is on hold
=> TEST: Observe that an additional "On hold due date" input box is displayed
- De-select the item
=> TEST: Observe that an additional "On hold due date" input box is hidden
- Select the item
- In the "On hold due date" input box, select a due date for the item
- Click "Renew or check in selected items"
=> TEST: Observe that the item is renewed as usual
- In the "Renewal due date" input box, select a due date
- Remove the contents of the "On hold due date" input box
- Click "Renew or check in selected items"
=> TEST: Observe that the item is renewed by falling back to the "Renewal due date" value if a value is not specified in the "On hold due date" input box
- Remove the contents of the "Renewal due date" input box
- Click "Renew or check in selected items"
=> TEST: Observe that the standard loan period is used for the renewal period if no due date is specified in either box
- In the "On hold due date" input box, select a due date for the item
- In the "Renewal due date" input box, select a different due date
- Click "Renew all"
=> TEST: Observe that all non on hold items are renewed using the value in "Renewal due date" and on hold items are renewed using the value in "On hold due date"
- From the main staff client from page, choose "Circulation", then choose "Renew"
- Enter the barcode of an item that you know to be on hold and submit
=> TEST: In the alert box that appears, observe that a date picker is
displayed
- Choose a due date for this item, then click "Override and renew"
=> TEST: In the "Item renewed" box, observe that the item has been
renewed to the date specified

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-09 14:40:49 +00:00
Andrew Isherwood
70c6c5dd93 Bug 7088: (follow-up) AllowRenewalLimitOverride fix
This patch causes the click event listener on the #override_limit to be
created if EITHER the AllowRenewalOnHoldOverride OR
AllowRenewalLimitOverride sysprefs are enabled. Previously, it would
only be created if the AllowRenewalLimitOverride syspref was enabled,
which would cause the checkbox to be displayed but do nothing.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-09 14:40:49 +00:00
Andrew Isherwood
770212d134 Bug 7088: (follow-up) Default hold checkbox display
As per item 4 here:
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7088#c24

Now, the checkbox for renewing on hold items behaves the same way as the
checkbox for renewing items that have reached their renew limit. It is
necessary to check the re-labelled "Override renewal restrictions"
checkbox before it is possible to select on-hold items for renewal.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-09 14:40:49 +00:00
Andrew Isherwood
cda1f7a656 Bug 7088: (follow-up) Fix renewal limit bug
There was a bug in that altering the state of the "Override renewal
limit" checkbox was altering the appearance of the per-item "On hold"
checkbox. This is incorrect, the "Override renewal limit" checkbox is
unconnected with this bug.

Sponsored-by: Cheshire Libraries Shared Services
Sponsored-by: Halton Borough Council
Sponsored-by: Sefton Council

Signed-off-by: Andrew Farthing <Andrew.Farthing@sefton.gov.uk>

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-09 14:40:49 +00:00
Andrew Isherwood
c48af49ded Bug 7088: Allow renew on hold items with due date
This patch adds the ability for items that are on hold to be renewed with a due date specfied by the user. It is enabled by the new "AllowRenewalOnHoldOverride" syspref. It is manifested in two locations:

1. In the "Checkouts" table on the Patron Details screen. It is now possible to select on loan items that would otherwise fulfil a hold request to be renewed. When such an item is selected, an additional date selection box is displayed to allow the user to specify the due date for all on hold items that are to be renewed.

2. In the Circulation > Renew alert screen. When a barcode of an on loan item that would ordinarily fulfil a hold request is entered, the usual alert is displayed indicating that the item is on hold, it is still possible to override this, and renew, however it is now also possible to specify a due date.

Test plan:

- Go to the Patron Details page for a patron who has an item on loan that would fulfil an outstanding loan request.
- TEST: Observe that it is NOT possible to select this item
- Enable the "AllowRenewalOnHoldOverride" syspref
- Return to the Patron Details page for a patron who has an item on loan that would fulfil an outstanding loan request.
- TEST: Observe that it IS possible to select this item
- Select the item
- TEST: Observe that an additional "On hold due date" input box is displayed
- De-select the item
- TEST: Observe that an additional "On hold due date" input box is hidden
- Select the item
- In the "On hold due date" input box, select a due date for the item
- Click "Renew or check in selected items"
- TEST: Observe that the item is renewed as usual
- In the "Renewal due date" input box, select a due date
- Remove the contents of the "On hold due date" input box
- Click "Renew or check in selected items"
- TEST: Observe that the item is renewed by falling back to the "Renewal due date" value if a value is not specified in the "On hold due date" input box
- Remove the contents of the "Renewal due date" input box
- Click "Renew or check in selected items"
- TEST: Observe that the standard loan period is used for the renewal period if no due date is specified in either box
- In the "On hold due date" input box, select a due date for the item
- In the "Renewal due date" input box, select a different due date
- Click "Renew all"
- TEST: Observe that all non on hold items are renewed using the value in "Renewal due date" and on hold items are renewed using the value in "On hold due date"
- From the main staff client from page, choose "Circulation", then choose "Renew"
- Enter the barcode of an item that you know to be on hold and submit
- TEST: In the alert box that appears, observe that a date picker is
displayed
- Choose a due date for this item, then click "Override and renew"
- TEST: In the "Item renewed" box, observe that the item has been
renewed to the date specified

Sponsored-by: Cheshire Libraries Shared Services
Sponsored-by: Halton Borough Council
Sponsored-by: Sefton Council

Signed-off-by: Andrew Farthing <Andrew.Farthing@sefton.gov.uk>

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-05-09 14:40:49 +00:00
10faf56c8e Bug 22408: Subscription entry form cleanup
This patch makes a number of changes to the subscription entry form:

  - Make the default layout single-column.
  - Switch the layout to two-column only when testing prediction
    pattern.
    - Add a button to hide the prediction pattern test pane.
  - Change the style of some buttons and links. Add Font Awesome icons
    to some.
  - Clean up some issues with capitalization and spacing.
  - Make it clearer when form fields are read-only: Move "locked" form
    field style from addbiblio.css to staff-global.css and improve it
    with regard to mouse interactions

To test, apply the patch and regenerate the staff client CSS. Clear your
browser cache if necessary.

 - Go to Serials -> New subscription.
 - Readonly fields under "Vendor" and "Record" should show a small
   padlock icon.
 - Test the process of adding a subscription, paying special attention
   to the advanced pattern controls: Showing, hiding, modifying,
   canceling.
 - Test the process of editing a subscription in the same way.

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-30 12:54:30 +00:00
Maryse Simard
f98037ac53 Bug 8000: (QA follow-up) Add email validation to system preferences
This patch uses the JQuery validator plugin to add validation to preferences of class email in the system preferences page. A field containing an invalid value (even if not modified) should prevent saving.

To test, confirm that when entering an invalid email address in the SendAllEmailsTo field, an error message appears and saving is prevented.
Correcting the value should hide the message and let you save as normal.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-29 15:08:47 +00:00
c9927a97ab Bug 22669: Fix item editing on receiving an order
Since
  commit 1253975389
  Bug 21091: Move add item template JavaScript to a separate file

items cannot longer be edited when receiving an order.
When moving the code to the JS file, the JS variable "opisadd" was
always set to "true":
  var opisadd = '[% opisadd | html %]';
Even if the TT variable is 0, opisadd will be "0", which is evaluated to
true in Javascript

To clean the situation it is easier to remove this variable and use "op"
instead.

Test plan:
- Make sure acqcreateitem is set to "when placing an order"
- Create a basket with some orders
- Close the basket
- Go to your vendor and receive an order
- On the receive page, try to edit your item
=> Without the patch, the pop up page will open and then close, not allowing the item to be edited.
=> With this patch applied you will see the item edit form. Save and
confirm that the parent window is updated with the new value (actually
it's refreshed)

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-26 10:17:21 +00:00
78a7d5aada Bug 14576: Allow arbitrary automatic update of location on checkin
This patch adds a new syspref "UpdateItemLocationOnCheckin" which
accepts pairs of shelving locations.  On check-in the items location is
compared ot the location on the left and, if it matches, is updated to
the location on the left.

This preference replaces ReturnToShelvingCart and
InProcessingToShelvingCart preferences.  The update statement should
insert values that replciate these functions.  Note existing
functionality of all items in PROC location being returned to
permanent_location is preserved by default.  Also, any items issued from
CART location will be returned to their permanent location on issue (if
it differs)

Special values for this pref are:
_ALL_ - used on left side only to affect all items
_BLANK_ - used on either side to match on/set to blank (actual blanks
        will work, but this is an easier to read option)
_PERM_ - used on right side only to return items to permanent location

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Set the new system preference UpdateitemLocationOnCheckin
   to the following (assuming sample data):
   NEW: FIC
   FIC: GEN
4) Create an item, set its location to NEW
5) Check in the item, note its location is now FIC
6) Check in the item again, note its location is now GEN
7) Check in the item again, note its location remains GEN
8) Test using _ALL_, _BLANK_ and _PERM_ for updates
9) Try entering various incorrect syntax in the pref and note you are warned

Sponsored by:
    Arcadia Public Library (http://library.ci.arcadia.ca.us/)
    Middletown Township Public Library (http://www.mtpl.org/)
    Round Rock Public Library (https://www.roundrocktexas.gov/departments/library/)

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-25 11:36:23 +00:00
f0fd89fd9c Bug 22734: Fund not marked as mandatory when ordering from a staged file
This patch does some refactoring of JavaScript to make handling of
required fields more robust. It also moves some template JavaScript to
the footer and some to a separate file.

A fallback "pattern" attribute is added to the quantity field, requiring
0-9+ values.

The "required" property of the funds dropdown is now dependent on the
value set under the "Default accounting details" tab. If a default is
selected, the individual item funds are preselected and not marked
required.

To test, apply the patch and begin the process of ordering from a staged
file.

 - Select all items to import.
   - Under each item, the fund should be marked mandatory.
   - The quantity field should accept only numbers.
   - Select the "Default accounting details" tab and select a default
     fund.
     - Return to the "Select to import" tab. Your selected default fund
       should now be preselected under each item. The fund should no
       longer be marked required.

       Un-selecting a default fund should result in each item fund
       select becoming required.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-25 11:36:23 +00:00
729987f40d Bug 22175: (follow-up) Identify columns to exclude from export
Bug 21216 added a way to designate DataTables columns to include in
export operations (Copy, CSV, print, etc). However, this solution did
not take hidden columns into account. This patch revises the global
columns configuration settings so that exports will include only visible
columns and will exclude columns with a "noExport" class on the <th>.

To test, apply the patch and clear your browser cache if necessary.

 - Go to Tools -> Stock rotation
 - In the table of rotas, hide some columns in the table and verify that
   export operations include only your visible selections, excluding the
   last column with buttons.
 - Choose a rota and select Manage -> Items. Test that this table works
   in the same way.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-18 10:53:05 +00:00
8bf043b94d Bug 22175: Make stock rotation table sortable
This patch adds sorting and column configuration to the stock
rotation tables, both rotas and items. No new defaults for the table are
defined.

To test, apply the patch and clear your browser cache if necessary.

 - Go to Tools -> Stock rotation.
   - In the table of rotas test that sorting works correctly.
   - Test that the "Column visibility" button works to show and hide
     columns. The "actions" column should be excluded.
   - Test that export options (Excel, CSV, etc) exclude the "actions"
     column.
   - Choose a rota with multiple items on it and select manage ->
     items. Repeat the above DataTables functionality tests.

 - Go to Administration -> Columns settings and edit the default
   configuration of the stock rotation tables. Confirm that these
   changes are reflected in the corresponding tables.

Signed-off-by: Jose-Mario Monteiro-Santos <jose-mario.monteiro-santos@inLibro.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-18 10:53:05 +00:00
4605d76a73 Bug 3766: Cities/Towns only on one address
This patch ties the alternate address and alternate contact address
fields in the patron entry form to the cities and towns data. This
provides a dropdown of predefined city data to these address fields.

To test, apply the patch and edit a patron record.

Test city selection for all three address fields: Main address,
alternate address, and alternate contact. Confirm that city selection
works correctly and that your changes are saved correctly.

Perform these tests with all AddressFormat options: French, German, and
US.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-17 12:25:25 +00:00
698efcc0aa Bug 21582: Use CodeMirror for *UserJS & *UserCSS
This patch adds CodeMirror syntax highlighting by default to JS and CSS
system preferences. HTML preferences will use CodeMirror editors if
UseWYSIWYGinSystemPreferences is disabled.

Three new CodeMirror files are added to support three new syntax
highlighting modes: XML (for HTML), CSS, and JS.

A new option is added to *.pref file configurations for textareas which
are intended for HTML, JS, or CSS: syntax. This option is passed to the
CodeMirror configuration to control syntax highlighting mode.

Textareas without a syntax option specified will not have CodeMirror
enabled.

To test, apply the patch and go to Administration -> System preferences.

Test the behavior of several preferences which use <textarea> as their
input. For example:

- OPACUserJS (JS)
- IntranetUserCSS (CSS)
- OpacHeader (HTML)
- BibtexExportAdditionalFields (no highlighting)

Text entry in each of these should have the correct syntax highlighting
applied to them. All data should be saved correctly.

Test with UseWYSIWYGinSystemPreferences both on and off.

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-12 02:28:17 +00:00
a0e61d8c3e Bug 22594: Validate SMS messaging numbers using the E.164 format
Many SMS messaging services reject numbers that do not conform to the E.164 international public telecommunication
numbering plan.

We already tell patrons on the OPAC "Please enter numbers only. (123) 456-7890 would be entered as 1234567890."
but we do not enforce this. We should be validating the patron's SMS number on both the staff side and the patron
self-service for updating the SMS number.

Test plan:
1) Apply this patch
2) Enable SMS message ( you can set to Email to enable )
3) Test entering and updating SMS numbers on the OPAC and staff
   interfaces.
4) Note you can only enter a 1 to 14 digit number with an optional + sign
   at the beginning ( used to indicate the number includes a country calling code )

Signed-off-by: Liz Rea <wizzyrea@gmail.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-12 02:23:54 +00:00
Hayley Mapley
08f02c1aa5 Bug 19630: Removed constant message from Status column
Test plan:
Same as initial test plan, except that when a hold has no status that
the Status column for that hold should be blank instead of saying
"Hold has been placed".

Sponsored-by: Catalyst IT

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-11 13:52:09 +00:00
Hayley Mapley
ccc2b4b073 Bug 19630: Added Status column to Patron Holds table
When a hold has been suspended or is waiting, the status
message appears in the Barcode column of the Holds table. This patch
fixes this by adding a separate Status column which details the status
of the Hold, whether it has been suspended, or is in transit, etc.

Test plan:
1) Place an item level hold and a 'Next Available' record level hold for
a patron.
2) View the holds in Patrons->Patron details for that Patron in the Check out and Details tabs
3) Suspend one of the holds, and note that the status appears in the
barcode column
4) Set a hold to be waiting for pickup, and note the status appears in
the barcode column
5) Apply the patch
6) Check the same holds and note that the statuses now appear in the new
column called Status, and note that if a hold has status effect that the
row reads "Hold has been placed"
7) Verify that this is the case in both the Holds tables (in Check out
    tab and Details tab)

Sponsored-by: Catalyst IT
Signed-off-by: Jose-Mario Monteiro-Santos <jose-mario.monteiro-santos@inLibro.com>
Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Michal Denar <black23@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-04-11 13:52:08 +00:00