working/Evergreen.git
2 years agoLP# 1694058: Release notes entry for placing multiple holds
Kathy Lussier [Thu, 22 Feb 2018 01:55:31 +0000 (20:55 -0500)]
LP# 1694058: Release notes entry for placing multiple holds

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLp 1694058: Fix Issue With Place Holds Reported in Testing
Jason Stephenson [Sun, 29 Oct 2017 19:14:41 +0000 (15:14 -0400)]
Lp 1694058: Fix Issue With Place Holds Reported in Testing

When staff did have to override in order to place the hold, and the
"Place another hold for this title" link was subsequnetly used, the
inputs for the patron barcodes and some other fields on the place
holds page were duplicated.  To avoid this, we now use uniq from the
List::MoreUtils library when retrieving the hold targets list from the
CGI parameters.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP 1694058: Final OPAC Changes for Multiple Hold Placement
Jason Stephenson [Sun, 1 Oct 2017 16:03:26 +0000 (12:03 -0400)]
LP 1694058: Final OPAC Changes for Multiple Hold Placement

Add JavaScript code to disable the number of copies selection when a
part is chosen for a record that has both parts and non parts holds
available.  If a part is chosen, the number of copies select should be
disabled and reset to 1.  It should be enabled again if the All Parts
option is chosen.  It does not appear if the hold requires a part.

Test Plan for the OPAC changes:

1. Set circ.holds.max_duplicate_holds to 5 for BR1.

2. Login to the OPAC as any patron from BR1.

3. Perform any search.

4. Select a title and click Place Hold.

5. See that the selection box for placing multiple holds does not appear on the place holds screen.

6. Place the hold to see that hold placement still works as expected.

8. Go to the patron’s list of holds in My Opac to see that the hold appears.

9. Cancel the hold so it doesn’t interfere with later testing.

10. Logout.

11. Login to the OPAC as any patron from BR2 or any branch other than BR1.

12. Perform any search.

13. Select a title and click Place Hold.

14. See that the selection box for placing multiple holds does not appear on the place holds screen.

15. Place the hold to see that hold placement still works as expected.

16. Go to the patron’s list of holds in My Opac to see that the hold appears.

17. Cancel the hold so it doesn’t interfere with later testing.

18. Logout.

19. Login to the web staff client as a circulator for BR1 at BR1.

20. Select a patron barcode for any BR1 patron.

21. Perform any search.

22. Choose a title without parts and click place holds.

23. See that the selection box for placing multiple holds appears with 1 as the default.

24. Click the selection box to see that the values go from 1 to 5.

25. Place any number of holds for the patron whose barcode was chosen in step 15.

26. Open the patron in the staff client and check the patron’s holds list to see that they have the correct number of holds for this title listed.

27. Repeat steps 21 – 26 with metarecord holds on one of the metarecord titles.

28. Perform a search and select a title.

29. Choose an item to place a copy hold for the same patron.

30. Notice that the multiple hold number selection box does not appear.

31. Place the hold as normal (if you like) to test that copy hold placement still works.

32. Search for a title with parts.

33. Select a part in the parts drop down or radio button.

34. Notice that the number of copies select box is reset to 1 and disabled when a part is selected.

35. Repeat the above steps for a BR2 circulation account logged in at BR2 (or any other branch staff).

36. Notice that the selection box never appears when placing holds where the org. unit setting does not apply.

37. Clear the org. unit setting for BR1 and repeat the above steps, if desired.

The web staff client tests should work in the XUL staff client as well.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP 1694058: Add confirmation dialog for multiple title holds.
Jason Stephenson [Sat, 30 Sep 2017 19:30:22 +0000 (15:30 -0400)]
LP 1694058: Add confirmation dialog for multiple title holds.

Add a dialog to confirm that the user really wants to place the
requested number of title or metarecord holds to the
validateHoldForm() function.

Along the way, we add a format() function to the JS String prototype
in the i18n_strings.tt2 so that we can have translated strings with
placeholders in JavaScript.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP 1694058: OPAC changes for multiple title and metarecord holds.
Jason Stephenson [Sat, 23 Sep 2017 18:45:41 +0000 (14:45 -0400)]
LP 1694058: OPAC changes for multiple title and metarecord holds.

We add the num_copies select box to the place_holds.tt2 whe appropriate.

The new select list generator has its own tt2 file:
Open-ILS/src/templates/opac/parts/multi_hold_select.tt2

Modify WWW/EGCatLoader/Account.pm to properly process multiple hold
requests for the same title or metarecord.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP 1694058: Perl tests for backend multiple hold placement changes.
Jason Stephenson [Sun, 13 Aug 2017 13:42:34 +0000 (09:42 -0400)]
LP 1694058: Perl tests for backend multiple hold placement changes.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP 1694058: Add backend code to allow multiple hold placement.
Jason Stephenson [Wed, 9 Aug 2017 01:23:44 +0000 (21:23 -0400)]
LP 1694058: Add backend code to allow multiple hold placement.

We add a constant for the circ.holds.max_duplicate_holds setting.

We modify Holds.pm to check if we're placing a title or metarecord
hold, that we have the CREATE_DUPLICATE_HOLDS permission, and that we
haven't placed more than the maximum allowed number of duplicate holds
before returning the HOLD_EXISTS event.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP 1694058: Add org. unit setting for multiple hold placement.
Jason Stephenson [Sun, 30 Jul 2017 19:52:25 +0000 (15:52 -0400)]
LP 1694058: Add org. unit setting for multiple hold placement.

Add config.org_unit_setting_type circ.hold.max_duplicate_holds to set
the maximum duplicate title or metarecord holds allowed per patron.

Add pgtap test to make sure the new setting exists.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1739803: add angular tablesport to vendor bundle
Galen Charlton [Tue, 20 Feb 2018 21:55:28 +0000 (16:55 -0500)]
LP#1739803: add angular tablesport to vendor bundle

Otherwise, offline breaks.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1739803 Add newly required dependency for jasmine-core
Bill Erickson [Wed, 14 Feb 2018 18:25:54 +0000 (13:25 -0500)]
LP#1739803 Add newly required dependency for jasmine-core

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1739803 Webstaff: Replace Grunt with Webpack
Bill Erickson [Wed, 20 Dec 2017 16:13:10 +0000 (11:13 -0500)]
LP#1739803 Webstaff: Replace Grunt with Webpack

* Remove grunt devDependencies
* Add Webpack devDepenencies
* Copy and minify operations are now handled by Webpack via 'npm run
  build' for dev builds and 'npm run build-prod' for
  production/minified builds.
* Running 'npm run build-watch' executes webpack in --watch mode to
  watch for affected file changes and automatically rebuild.  Useful for
  development.
* Karma unit tests are now invoked directly from node via 'npm run
  test'.
* Docs and release installer updated to match.
* Removed long-outdated inline installer readme.

Webpack is configured to create bundles from sets of JS files.  As it
stands, there are 2 sets: core.bundle.js and vendor.bundle.js.  Core has
all of the EG core services that are loaded on every page.  Vendor
contains all of the 3rd-party dependencies (angular, etc.).  These 2
bundles are loaded on every web staff page (via base_js.tt2).

All other <script/> tags remain as they were.

When building in dev mode ('npm run build'), core service JS files are
bunded un-minified with an inline source map for debugging.  Vendor
files (angularjs, etc.) are always minified because they are quite
large.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1739803 Quiet some repetitive console messages for unit tests
Bill Erickson [Fri, 22 Dec 2017 17:19:43 +0000 (12:19 -0500)]
LP#1739803 Quiet some repetitive console messages for unit tests

These console logs repeat during unit test runs and add clutter (ditto
the browser console log).  I commented them out instead of removing them
since they may still be useful for debugging in the future.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1739803 Remove superseded 'extern' directory
Bill Erickson [Thu, 21 Dec 2017 19:14:18 +0000 (14:14 -0500)]
LP#1739803 Remove superseded 'extern' directory

angular-location-update.js is now managed via npm.  No need to retain a
copy in the repo.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1739803 Angular 1.6 + dependency updates
Bill Erickson [Fri, 2 Jun 2017 21:01:32 +0000 (17:01 -0400)]
LP#1739803 Angular 1.6 + dependency updates

Rebuild package.json starting with Angular 1.6.  This resulted in a
number of dependency updates and small changes required to keep the
dependencies happy.

* Teach print.js to use promise-style $http responses, instead of
  .success() and .error()
* Remove unused '$http' dependency in hatch.js
* Fix egDate custom test matcher to work with newer version of
  karma-jasmine.
* Build IDL for test scripts using Grunt/exec "cwd" since Grunt fails to
  understand "&&" commands, like 'cd foo && bar'.
* For correctness, move dev-only depenencies into the package.json
  devDependencies section.

See also
https://docs.angularjs.org/guide/migration#migrating-from-1-5-to-1-6

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoDocs: fixing typo in 2.12.9 release notes
Jane Sandberg [Tue, 20 Feb 2018 22:35:53 +0000 (14:35 -0800)]
Docs: fixing typo in 2.12.9 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoRelease notes for 2.12.10
Jane Sandberg [Tue, 20 Feb 2018 22:34:10 +0000 (14:34 -0800)]
Release notes for 2.12.10

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoAdding 3.0.4 release notes
Jane Sandberg [Wed, 21 Feb 2018 02:27:47 +0000 (18:27 -0800)]
Adding 3.0.4 release notes

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoLP#1749992 Disable payment button during payment
Dan Wells [Tue, 20 Feb 2018 16:05:49 +0000 (11:05 -0500)]
LP#1749992 Disable payment button during payment

Since the display is not refreshed until the payment finishes, it
is possible to fire off a second payment by double-clicking.

This commit is a simple way to disable the button while a payment is
in process, then enable it again after the display refreshes.

Since the 'sendPayment()' function is wrapped, we may need to move
this logic up, but this being a single promise is simpler, and it
solved the problem in testing.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLp 1746584: Stamping Upgrade Script
Jason Stephenson [Tue, 20 Feb 2018 15:09:33 +0000 (10:09 -0500)]
Lp 1746584: Stamping Upgrade Script

Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP#1746584: Adjust bib visibility test for patron browse
Mike Rylander [Wed, 31 Jan 2018 22:07:42 +0000 (17:07 -0500)]
LP#1746584: Adjust bib visibility test for patron browse

With updates to address visibility testing issues for LURIs, a change was made
to allow the default bib tests to supply the most appropriate query_int
operator with which to join those to non-default tests.  The browse code,
however, is all database-level and was not adjusted with the Perl code that
implements general search.  This commit addresses that issue by acknowledging
that the bib vis testing code to provide its own operator, either | or &, as
appropriate to the actual default test values.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP#1745499 De-Parallelify Item Status file upload
Bill Erickson [Fri, 26 Jan 2018 21:42:08 +0000 (16:42 -0500)]
LP#1745499 De-Parallelify Item Status file upload

Fetch copies in a series instead of in parallel when loading copy
barcodes from a file in the Item Status interface.  This helps avoid
excessive pcrud process count.

Since this causes the action to take a little longer, the commit also
includes a progress dialog indicating copy retrieve progress.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP#1745499 Patron bucket from file query consolidation
Bill Erickson [Thu, 25 Jan 2018 22:57:32 +0000 (17:57 -0500)]
LP#1745499 Patron bucket from file query consolidation

Replace one-pcrud-call-per-barcode with a single (streaming) pcrud
search call to fetch patron cards when using the barcode file upload
option in the web staff pending patron bucket UI.  This avoids spawning
high number of pcrud processes.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoi18n: fix es-ES webstaff translation
Ben Shum [Sat, 17 Feb 2018 21:11:35 +0000 (16:11 -0500)]
i18n: fix es-ES webstaff translation

Repairs a number of variables, spacing, and function names that were
mistranslated in the Spanish webstaff file.

Signed-off-by: Ben Shum <ben@evergreener.net>
2 years agoLp 1749593: Fix TypeError: Cannot set property 'grid' of undefined
Jason Stephenson [Wed, 14 Feb 2018 23:32:46 +0000 (18:32 -0500)]
Lp 1749593: Fix TypeError: Cannot set property 'grid' of undefined

Commit b35f0c0 added a reference to the grid in the grid.dataProvider
in services/grid.js in the web staff client.  This is great, but the
dataProvider could be undefined where it was being set.  This leads to
busted grid views and a TypeError in the console.

This commit moves the code down until after a fallback dataProvider is
used when the dataProvider is undefined and thereby avoids both
problems of adding the grid to an undefined dataProvider.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP1737540: Add Patron Information to Receipts
Jason Boyer [Mon, 29 Jan 2018 22:02:01 +0000 (17:02 -0500)]
LP1737540: Add Patron Information to Receipts

Adds the following fields to a patron object on print_data:
first_given_name
second_given_name
family_name
suffix
barcode
money_summary.balance_owed
money_summary.total_paid
money_summary.total_owed
expire_date
alias
has_email
has_phone

On the following receipts: Checkout, Items Out, and Bill Payment.

(money_summary left out on bill payment because it will always be out of date.)

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Jason Stephenson <jason@sigio.com>
2 years agoLP#1739648 - fix grid nextPage button by setting grid.totalCount
Cesar Velez [Mon, 8 Jan 2018 21:55:56 +0000 (16:55 -0500)]
LP#1739648 - fix grid nextPage button by setting grid.totalCount

This wires up the grid.totalCount in the implemented DataProvider's
get method, which allows us to properly disable the next page button
for when we know there's no more data.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1739648 - fix item duplication in itemsout and holds grids
Cesar Velez [Thu, 4 Jan 2018 22:36:02 +0000 (17:36 -0500)]
LP#1739648 - fix item duplication in itemsout and holds grids

Since these grids have caching, if the offset was greater
the cached data length, the grid would try to fetch data again, even if
it's already there, pushing duplicate items into the cache. This should
prevent that.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1730752 Fix minor bug with move-to-last
Remington Steed [Thu, 8 Feb 2018 13:28:53 +0000 (08:28 -0500)]
LP#1730752 Fix minor bug with move-to-last

If you click "Make last visible" on the column that is already the last
visible, it bumps it down one position when it should not move. This
commit adjusts the logic so that columns that are before or already in
the last-visible slot (thus, '<' or '=') will end up in the last-visible
slot, and columns only go after the last-visible slot if they are
already after it.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1730752 Grid column move-to-last fix
Bill Erickson [Tue, 6 Feb 2018 19:35:30 +0000 (14:35 -0500)]
LP#1730752 Grid column move-to-last fix

Grid column manager "move to last visible" now moves the column
correctly to the last visible slot instead of one slot after the last
visible slot.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
2 years agoLP#1730752 Grid colum 'sort visible to top' option
Bill Erickson [Thu, 9 Nov 2017 16:21:40 +0000 (11:21 -0500)]
LP#1730752 Grid colum 'sort visible to top' option

Adds a new button to the grid configuration dialog to sort visible
columns to the top of the dialog (i.e. the left of the grid).

Fix issue where last modified column remained styled after the dialog
closes.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1730752 Webstaff grid column batch config dialog
Bill Erickson [Tue, 7 Nov 2017 20:32:33 +0000 (15:32 -0500)]
LP#1730752 Webstaff grid column batch config dialog

Adds a new "Manage Columns" grid action which opens a batch grid column
configuration dialog.  In the dialog, users can show/hide multiple
columns at once.  The column position actions
(left/right/far-left/far-right) and sort priority settings have also
been moved to this new UI.

The existing 'Configure Columns' action has been renamed to 'Managed
Column Widths' and now only supports making columns wider and narrower.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoDocs: Add missing section to root.adoc
Remington Steed [Thu, 8 Feb 2018 15:46:31 +0000 (10:46 -0500)]
Docs: Add missing section to root.adoc

This section was separated into its own file a few months ago, and was
added to root_command_line_admin.adoc, but needs to also be added to the
main root.adoc. This commit does that.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
2 years agoLP#1739669 - add PaymentType and persistkey bill payment hist grid
Cesar Velez [Fri, 5 Jan 2018 19:23:01 +0000 (14:23 -0500)]
LP#1739669 - add PaymentType and persistkey bill payment hist grid

This adds "circ.patron.billhistory_payments" as the persist-key for that
grid and also adds a Payment Type column. Note that the Payment Type is
that of the individual payment, while the Last Payment Type is that
of the most recent payment on the billing in question.

To test
-------
[1] Set up a patron bill that has multiple payments on it off
    different types (e.g., cash, credit, etc.)
[2] Apply the patch.
[3] In the payments tab of the Bill History page in the web staff
    client, note that there is now a Payment Type column available.
    Verify that it matches the types of the payments entered in
    step 1.
[4] Verify that column settings for that payment history grid can be
    saved.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agoLP#1724052: move stat-cat cache initialization to patron search service
Galen Charlton [Tue, 9 Jan 2018 21:51:54 +0000 (16:51 -0500)]
LP#1724052: move stat-cat cache initialization to patron search service

When the patron search was split out of the patron app per bug 1701001,
the startup code that copied the current patron stat-cat list into
egCore.env was not moved over as well and remained in the patron app. As
a consequence, the patron search-to-hold dialog would fail to display
any patrons in the results list that had statistical categories assigned.
This patch moves that bit of initialization into the service.

To test
-------
[1] Ensure that some patron records have statistical categories assigned.
[2] In the web staff client, perform a catalog search, place a hold,
    then use the 'Patron Search' button. Perform a search; note that
    patrons with statistical categories are not displayed and that
    errors are present in the browser debug console.
[3] Apply the patch and repeat step #2. This time, patrons that have
    stat cats should be included in the results.
[4] Perform a patron search in the main patron search interface;
    verify that patrons with statistical categories are retrieved.
[5] Directly go to the page listing stat cats for a patron (e.g.,
    /eg/staff/circ/patron/$ID/stat_cats). Verify that the name
    of the OU that owns the stat cat is displayed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1735572: replacing placeholder title attribute with something more meaningful
Jane Sandberg [Fri, 12 Jan 2018 02:08:17 +0000 (18:08 -0800)]
LP1735572: replacing placeholder title attribute with something more meaningful

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1743220: update EDI translator's README
Galen Charlton [Tue, 6 Feb 2018 22:09:31 +0000 (17:09 -0500)]
LP#1743220: update EDI translator's README

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1743220: Update script to accommodate Ubuntu 16.04.
Chris Sharp [Sun, 14 Jan 2018 13:39:53 +0000 (08:39 -0500)]
LP#1743220: Update script to accommodate Ubuntu 16.04.

- renamed the script to "install-ubuntu.sh"
- changed the hard-coded Ruby version to a variable
  that depends on the Ubuntu release (per the lsb_release
  command)
- saw the script work on my 16.04 server

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1743262: (follow-up) disable submit button if approval code not supplied
Galen Charlton [Tue, 6 Feb 2018 20:58:57 +0000 (15:58 -0500)]
LP#1743262: (follow-up) disable submit button if approval code not supplied

This patch causes the submit button to be disabled on the CC payment
dialog if the user specifies recording an externally-process CC payment
but has not yet supplied an approval code.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1743262 CC external payment requires app. code
Bill Erickson [Mon, 5 Feb 2018 21:24:38 +0000 (16:24 -0500)]
LP#1743262 CC external payment requires app. code

1. Indicate in the CC form that the approval_code field is required,
   styled consistently with the patron edit app.

2. Prevent the form dialog from closing via Submit when no approval code
   is set.

3. Handle payment failures better by preventing the post-API code from
   running (i.e. receipt printing) when the API fails.

To test
-------
[1] In the web staff client, attempt to record an externally-supplied
    credit card payment without specifying an approval code. Note that
    an alert message is presented.
[2] Apply the patch and repeat step 1. This time, the approval code is
    displayed as a required field and the dialog cannot be submitted
    until one is specified.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1743819: Use combcirc rather than circ to get circ data
Mike Rylander [Wed, 17 Jan 2018 17:25:49 +0000 (12:25 -0500)]
LP#1743819: Use combcirc rather than circ to get circ data

This addresses a merge regression.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1746020 Fix Safari/iOS login issue
Kathy Lussier [Tue, 6 Feb 2018 17:41:19 +0000 (12:41 -0500)]
LP#1746020 Fix Safari/iOS login issue

Works around an issue where users cannot log into the web client using iOS
because Safari, which all browsers running on iOS use to some extent, does not
support BroadcastChannel.

Many thanks to Galen Charlton for providing a diff with this solution!

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1745486: avoid retrieving user by id::numeric during auth init
Galen Charlton [Thu, 25 Jan 2018 21:58:33 +0000 (16:58 -0500)]
LP#1745486: avoid retrieving user by id::numeric during auth init

During open-ils.auth.authenticate.init, if looking up the user by barcode,
the actor.usr row is subsequently fetched by ID. However, the ID was
turned into a float, meaning that the query as sent to the database
was equivalent to

  SELECT * FROM actor.usr WHERE id = 123.0000;

While PostgreSQL will accept this, it ends up doing a sequential
scan of the actor.usr table rather than an index lookup, making the
retrieval up to two orders of magnitude slower than it needs to be
and adding a couple percent unecessary I/O load on large, heavily
used database. This patch fixes that.

To test
-------
[1] Turn on PostgreSQL statment logging and log in as a user
    by barcode. Note that there's a retrieval of actor.usr by
    a float form of the ID.
[2] Apply the patch and repeat step 1. This time, the query
    retrieves the row by the integer form of the ID.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1743608 Replace barcode discards NULL/accidental entries
Bill Erickson [Tue, 23 Jan 2018 22:56:51 +0000 (17:56 -0500)]
LP#1743608 Replace barcode discards NULL/accidental entries

When replacing a patron's barcode in the patron editor, discard any
previous replacement attempts done in the current edit session.  This
prevents cases where secondary, etc. replacement cards are accidentally
created or NULL cards that result in ugly error messages.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
2 years agoLP#1739465 EDI consistent use of buyer org unit san
Bill Erickson [Tue, 19 Dec 2017 22:50:38 +0000 (17:50 -0500)]
LP#1739465 EDI consistent use of buyer org unit san

Use the org unit (buyer) SAN instead of the the seller SAN when the
BUYER_ID_INCLUDE_VENDCODE EDI attribute is enabled.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
2 years agoadjust 20-hold-targeter.t to the "new normal"
Jason Etheridge [Tue, 23 Jan 2018 16:52:59 +0000 (11:52 -0500)]
adjust 20-hold-targeter.t to the "new normal"

First failure happened here:
http://testing.evergreen-ils.org/~live/archive/2018-01/2018-01-11_04:00:02/

Long term we need a better way to distribute concerto test assets

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agoLP1744489: Location Search Limiter
Jason Boyer [Sat, 20 Jan 2018 18:25:16 +0000 (13:25 -0500)]
LP1744489: Location Search Limiter

search.calculate_visibility_attribute_test expects
an array for the second parameter and was getting
a plain integer (or too many parameters).

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoAdjust COMMIT placement in 3.0.3 upgrade script
Dan Wells [Thu, 18 Jan 2018 18:20:49 +0000 (13:20 -0500)]
Adjust COMMIT placement in 3.0.3 upgrade script

This moves the visibility update outside of the transaction to match
the statements made in the release notes.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoForward port 2.12.9 upgrade script
Dan Wells [Wed, 17 Jan 2018 23:02:00 +0000 (18:02 -0500)]
Forward port 2.12.9 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoForward port 3.0.3 upgrade script
Dan Wells [Wed, 17 Jan 2018 22:58:18 +0000 (17:58 -0500)]
Forward port 3.0.3 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoAdding acknowledgements to release notes for 3.0.3
Jane Sandberg [Wed, 17 Jan 2018 21:28:24 +0000 (13:28 -0800)]
Adding acknowledgements to release notes for 3.0.3

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoDocs: Adding upgrade note to 3.03 release notes
Kathy Lussier [Wed, 17 Jan 2018 21:13:11 +0000 (16:13 -0500)]
Docs: Adding upgrade note to 3.03 release notes

Adding an upgrade note regarding the post-transaction
command in the 3.03 upgrade.

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoRelease notes for 3.0.3
Jane Sandberg [Wed, 17 Jan 2018 20:36:17 +0000 (12:36 -0800)]
Release notes for 3.0.3

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoRelease notes for 2.12.9
Jane Sandberg [Wed, 17 Jan 2018 19:40:04 +0000 (11:40 -0800)]
Release notes for 2.12.9

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
2 years agoLP#1743650: Stamping upgrade script for special bib visibility handling
Kathy Lussier [Wed, 17 Jan 2018 18:25:11 +0000 (13:25 -0500)]
LP#1743650: Stamping upgrade script for special bib visibility handling

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1743650: Bib vis testing needs different handling
Mike Rylander [Tue, 16 Jan 2018 23:54:47 +0000 (18:54 -0500)]
LP#1743650: Bib vis testing needs different handling

For bib-level visibility testing, we can only use the source helper for
positive inclusion, and have to deal with LURIs on a case-by-case basis.
This is because, unlike the copy visibility cache, the LURI cache is pre-
composed in a single value for all LURIs on a record, not separate ones
for each.  This is fine, as we just need to find the effectively visible
org units and test for that subset of the relevant orgs. This commit provides
a sub to test for that, and handles LURI test composition at the perl
level rather than in the database.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1743639: Stamping upgrade script for copy location group visibility
Kathy Lussier [Wed, 17 Jan 2018 18:17:02 +0000 (13:17 -0500)]
LP#1743639: Stamping upgrade script for copy location group visibility

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1743639: Test location as proxy for location group
Mike Rylander [Tue, 16 Jan 2018 21:26:31 +0000 (16:26 -0500)]
LP#1743639: Test location as proxy for location group

Location groups are a table remove from copies, and can cause very large
updates to the copy vis cache.  So, we will expand location groups to
locations, in situ, to avoid this problem and the need to supply a trigger
to update th copy vis cache for groups.  This will allow us to reclaim
the location group bit in the visibility cache namespace if necessary, at
a later date.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1743639: opac_visible on acplg is not what it seems
Mike Rylander [Tue, 16 Jan 2018 19:39:08 +0000 (14:39 -0500)]
LP#1743639: opac_visible on acplg is not what it seems

The asset.copy_location_group table has a column called opac_visible.
However, unlike other tables with a column of that name, it controls the
visibility of the location group itself, not the visibility of the copies
within the group.  This is regretable because the 3.0+ search code thinks
that it should hide copies.

This commit adjusts the default location group filter applied to patron
searches so that they act as expected.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agolp1742194 - Print Current Bills only printing circ bills
Kyle Huckins [Thu, 11 Jan 2018 18:10:51 +0000 (18:10 +0000)]
lp1742194 - Print Current Bills only printing circ bills

- Check xact for Circulation before assigning circulation data to
xact for printing.

To test
-------
[1] Set up a patron with at least one "grocery" bill.
[2] In the web staff client, go to
    Patron Account > Bills > Actions > Print Bills
[3] Note that the current bills summary is not printed
    and that there an error in the browser console.
[4] Apply the patch and repeat step #2. This time, the
    bills summary should be printed.

Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Terra McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1730470 Restore XUL serial receive compatibility
Dan Wells [Wed, 27 Dec 2017 13:36:23 +0000 (08:36 -0500)]
LP#1730470 Restore XUL serial receive compatibility

The older XUL interface does not have quite the same fleshing as the
new web-staff, so adding the 'move previous' code into the unitize
function breaks the old interface.

Since we already are looking up the distribution to get the setting,
let's just tack it on when it is missing.

To test
-------
[1] Set up a serial subscription with predicted issuances, then from
    the XUL serials control view attempt to receive an issue. Note
    that there will be a crash.
[2] Apply the patch and repeat step #1; this time, the issuance
    receive should work.
[3] Verify that receiving issues via the web staff interface continues
    to work.

Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1719943: fixing typo in credential testing interface
Jane Sandberg [Tue, 28 Nov 2017 16:09:16 +0000 (08:09 -0800)]
LP1719943: fixing typo in credential testing interface

Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP1737052: Fix Typo in Permission Name
Jason Boyer [Tue, 2 Jan 2018 19:41:31 +0000 (14:41 -0500)]
LP1737052: Fix Typo in Permission Name

fm_IDL.xml had an 'S' appended to the
ADMIN_COPY_TAG making it impossible
to grant permissions to apply or edit
copy tags on an item.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1739786 - Webstaff MarcEditor BibSource Drop Down Order
Cesar Velez [Fri, 22 Dec 2017 17:04:24 +0000 (12:04 -0500)]
LP#1739786 - Webstaff MarcEditor BibSource Drop Down Order

Sort the list of bib sources in MARC editor alphabetically;
some libraries may have a long list.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1741072 Volcopy editor deposit amount format repairs
Bill Erickson [Mon, 8 Jan 2018 15:37:17 +0000 (10:37 -0500)]
LP#1741072 Volcopy editor deposit amount format repairs

Use the new str-to-float formatter for deposit amount, consistent with
the other currency fields.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP1741072: Fix JS test for template conversion
Jason Boyer [Fri, 5 Jan 2018 21:55:15 +0000 (16:55 -0500)]
LP1741072: Fix JS test for template conversion

Changing 2 fields from "strings" to numbers does
cause such a test to fail, as one might expect.
Now the test is updated to meet the current
expectations of the template conversion.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1736763: Wait until the org tree is there before using it
Mike Rylander [Mon, 11 Dec 2017 21:21:39 +0000 (16:21 -0500)]
LP#1736763: Wait until the org tree is there before using it

In offline mode, we need to wait for the org tree to be fetched or recreated
before we set the working location dropdown.  This commit adds a function
to loop and wait for that to happen.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
2 years agoLP#1730758: Stamping upgrade script for luri_vis_cache
Kathy Lussier [Wed, 10 Jan 2018 19:42:46 +0000 (14:42 -0500)]
LP#1730758: Stamping upgrade script for luri_vis_cache

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1730758: Track record visibility on all Located URI DML
Mike Rylander [Wed, 6 Dec 2017 23:18:29 +0000 (18:18 -0500)]
LP#1730758: Track record visibility on all Located URI DML

This commit simplifies the handling of Located URI call numbers by separating
them from normal call numbers.  This will allow proper updating of bib-level
visibility attributes for all actions that may happen to a Located URI.

We also insure that we don't return a NULL INT[] as an attribute set for
either copies or bibs.  This was always impossible for copies, but was
possible for bibs.  Now both are future-proof.

The upgrade script contains a post-transaction command to forcibly update the
visibility attributes of all bibs that make use of Located URIs or bib sources.
It may take a while to run on large datasets.  If it it running too long, it
can be canceled and the following psql commands will create and run a script
that will perform the same action serially over time without blocking writes to
bibs:

\t
\o /tmp/luri_visibility_update.sql
SELECT 'UPDATE biblio.record_entry SET ' ||
  'vis_attr_vector = biblio.calculate_bib_visibility_attribute_set(id) ' ||
  'WHERE id = ' || id || '; SELECT ' || id || ';'
FROM biblio.record_entry
  WHERE id IN (
            SELECT  DISTINCT cn.record
              FROM  asset.call_number cn
              WHERE NOT cn.deleted
                    AND cn.label = '##URI##'
                    AND EXISTS (
                        SELECT  1
                          FROM  asset.uri_call_number_map m
                          WHERE m.call_number = cn.id
                    )
                UNION
            SELECT id FROM biblio.record_entry WHERE source IS NOT NULL

        );
\o
\t
\i /tmp/luri_visibility_update.sql

It will output the id of each updated bib so that the script can be killed
and then edited to remove completed bibs.  The remainder can be run at a
later time.

NOTE: When the internal flag 'ingest.reingest.force_on_same_marc' is enabled,
we do NOT update the bib's visibility attributes, as doing so causes a loop
and an eventual trigger stack violation.  This flag should ONLY be used when
forcing reingest of record attributes (NOT visibility attributes), search,
facet, and display fields, so if using this flag under normal operation,
proceed at your own risk and know that Located URI and bib source changes
will not be reflected in the visibility attributes of the record.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1736419: Bib visibility tests get OR'd
Mike Rylander [Mon, 8 Jan 2018 21:43:26 +0000 (16:43 -0500)]
LP#1736419: Bib visibility tests get OR'd

Either the source or the existance of a Located URI will trigger record
visibility, so we will OR them together.

NOTE: This branch is dependant on the branch supplied on LP#1730758. Without
that fix, the bib-level visibility attributes are not updated properly when
Located URIs are added or changed.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1736419: Located URIs vs QueryParser, round 2, part deux
Mike Rylander [Fri, 5 Jan 2018 22:04:53 +0000 (17:04 -0500)]
LP#1736419: Located URIs vs QueryParser, round 2, part deux

Now we will be less strict about the 'act_as_copy' flag, and only check for
enabledness, rather than the truth of its value column.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1736419: Located URIs vs QueryParser, round 2
Mike Rylander [Thu, 4 Jan 2018 23:12:17 +0000 (18:12 -0500)]
LP#1736419: Located URIs vs QueryParser, round 2

The site() filter and #staff modifier are used to decide when and how to
include certain query filters, such as circ_lib or luri_org. Unfortunately,
site() is sometimes excluded (whole-tree search) and the test for staff-
iness was not specific enough, leading to incorrect queries in those cases
where information was lacking.  Now, we treat site() specially, forcing a
default of "top-of-tree", and we check for the #staff modifier directly
where necessary.

Note: this commit also addresses LP#1736992 which is about staff searches
using the limit-to-available modifier.  As a side effect of the special
site() treatment, that issue is resolved.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1710405 - remove Modify + Use Edits buttons in z3950 overlay
Cesar Velez [Thu, 30 Nov 2017 20:36:35 +0000 (15:36 -0500)]
LP#1710405 - remove Modify + Use Edits buttons in z3950 overlay

The workflow for using a z3950 record to overlay a marked bib
was confusing since it requires first saving the z3950 marc edits
via the Modify button at the top, and only then hitting Use Edits,
at the bottom of the modals. User often miss the click Modify part,
 thus this simplifies that, having just a "Save" button and a Cancel.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agoLP#1739676 - Web client check in LOST_AND_PAID status
Michele Morgan [Wed, 27 Dec 2017 17:16:25 +0000 (12:16 -0500)]
LP#1739676 - Web client check in LOST_AND_PAID status

Adds COPY_STATUS_LOST_AND_PAID as a recognized checkin event in the web
client.  This gives staff the option to override or cancel the checkin.

Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1712646: Require a Billing Type to Bill User
Jason Boyer [Thu, 4 Jan 2018 18:38:00 +0000 (13:38 -0500)]
LP1712646: Require a Billing Type to Bill User

Previously billing a user without choosing a billing type
would either fail silently or default to misc. This patch
requires staff to choose a billing type before the new
bill window can be dismissed.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP1741072: Global String<->Num Directives for ngModel
Jason Boyer [Thu, 4 Jan 2018 17:55:16 +0000 (12:55 -0500)]
LP1741072: Global String<->Num Directives for ngModel

To increase flexibility the stringToNumber directive
has been separated into int and float versions and
aditional directives are added to convert in the other
direction. The existing use of stringToNumber in the
volume/copy editor are also converted to strToFloat.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
2 years agoLP#1691861 - make Item Status edit items in batch in volcopy
Cesar Velez [Tue, 24 Oct 2017 18:16:33 +0000 (14:16 -0400)]
LP#1691861 - make Item Status edit items in batch in volcopy

This makes the Item Status grid action of "Edit Items" work
like the Copy Buckets grid "Edit Selected Items", in that the
copies open in the volcopy editor in batch, with no record summary.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoDocs: updated note: to NOTE: to fix asciidoc syntax issue
Jeanette Lundgren [Fri, 15 Sep 2017 19:06:07 +0000 (15:06 -0400)]
Docs: updated note: to NOTE: to fix asciidoc syntax issue

Signed-off-by: Jeanette Lundgren <jlundgren@cwmars.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
2 years agoDocs: LP1736571 fix typo done to down
Jeanette Lundgren [Tue, 26 Dec 2017 17:58:19 +0000 (12:58 -0500)]
Docs: LP1736571 fix typo done to down

Signed-off-by: Jeanette Lundgren <jlundgren@cwmars.org>
Signed-off-by: Ben Shum <ben@evergreener.net>
2 years agoLP#1735807 Webstaff holdings owning lib shortname
Bill Erickson [Fri, 1 Dec 2017 19:20:57 +0000 (14:20 -0500)]
LP#1735807 Webstaff holdings owning lib shortname

Display org unit shortnames in the web staff bib record Holdings View
-> Owning Library column, since displaying the full names requires
significant horizontal space.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agoLP#1729922: correctly display most recent transit in item status
Galen Charlton [Fri, 8 Dec 2017 15:29:40 +0000 (10:29 -0500)]
LP#1729922: correctly display most recent transit in item status

This patch ensures that the 'Most Recent Transit' display in
the web staff client's item status page shows the latest transit,
not the oldest one. This also fixes a bug where the transit
receive time never got displayed.  As a side effect, this patch
also ensures that only the transit in question is fetched from
the database, not all transits on the item.

To test
-------
[1] Set up an item with some closed transits and display in in
    detail view in the Item Status page. Note that the
    /oldest/ transit is displayed and that the transit
    receive time field is blank.
[2] Apply the patch and repeat step 1.
[3] This time, the most recent transit should be displayed, and
    if that transit was received, the receive time should be
    displayed.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agolp#1724321 Web Client -- existence of record with duplicate TCN does not prevent...
blake [Thu, 9 Nov 2017 15:35:07 +0000 (15:35 +0000)]
lp#1724321 Web Client -- existence of record with duplicate TCN does not prevent import

This routes the MARC import execution back to the z39.50 code instead of using the generic
MARC editor. This will make use of open-ils.cat.biblio.record.xml.import instead of pcrud.

Test
1. Edit global flag variable "Cat: Use Internal ID for TCN Value" = false
2. Perform a z39.50 search, click a result and click "import"
3. Step two should be successful, now import it again and you should get an error
4. Click the same result but use "Edit then import"
5. From the MARC editor, make no changes and click "Import"
6. It won't complain about duplicate TCNs
7. Apply the patch
8. Perform steps 4 and 5
9. Notice that the editor does not allow you to import the record

Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agoLP#1378383-WebStaff Fix Item circ history to obey max setting
Cesar Velez [Thu, 21 Sep 2017 14:45:23 +0000 (15:45 +0100)]
LP#1378383-WebStaff Fix Item circ history to obey max setting

The circ.item_checkout_history.max lib setting should be respected
in both Circ History tabs, and also check for the permission to
VIEW_COPY_CHECKOUT_HISTORY for the current user.

Also, There was ambiguity for the user to tell the difference
(from the displayed message) if an item truly has no circulations,
or if they see no circs due to the relevant permission setting
being set to 0 (Maximum previous checkouts.) This changes the templates
a bit to make that clearer.

Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
2 years agoDocs: Use new images for in-house use
Remington Steed [Thu, 7 Dec 2017 15:55:41 +0000 (10:55 -0500)]
Docs: Use new images for in-house use

The In-House Use docs previously had new web client screenshots, but a
recent commit accidentally reverted them to the old XUL client images.
This commit changes the references back to the new images.

Signed-off-by: Remington Steed <rjs7@calvin.edu>
2 years agoForward-port 2.12.8 upgrade script
Dan Wells [Fri, 1 Dec 2017 21:05:02 +0000 (16:05 -0500)]
Forward-port 2.12.8 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agoForward-port 3.0.2 upgrade script
Dan Wells [Fri, 1 Dec 2017 21:01:20 +0000 (16:01 -0500)]
Forward-port 3.0.2 upgrade script

Signed-off-by: Dan Wells <dbw2@calvin.edu>
2 years agorelease notes for Evergreen 2.12.8
Galen Charlton [Thu, 30 Nov 2017 16:24:25 +0000 (11:24 -0500)]
release notes for Evergreen 2.12.8

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years ago3.0.2 release notes
Galen Charlton [Thu, 30 Nov 2017 16:16:39 +0000 (11:16 -0500)]
3.0.2 release notes

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1178802: force ceiling dates to be end of day
Galen Charlton [Fri, 15 Sep 2017 18:38:18 +0000 (14:38 -0400)]
LP#1178802: force ceiling dates to be end of day

This patch ensures that when a hard due date (or hard due date value)
is created or edited, the ceiling date is set to the end of that day.

This fixes a problem where a ceiling date would not be applied for
loans checked out earlier on the ceiling date itself.

This patch intentionally does not touch existing hard due date
values.  It also does not use the database or middle layer to coerce
the ceiling dates to end of day to leave upon the possiblity that
an Angular version of the hard due date editor will allow operators
to set both date and time. (Note that Dojo does not readily have a
combined date/time picker.)

To test
-------
[1] Apply the patch, then in the hard due date editor, verify that
    when creating a hard due date _value_, the date gets saved as
    ending at 23:59:59 in the local time zone.
[2] Similarly, verify that when editing an existing hard due date value,
    the date gets saved as ending at 23:59:59.
[3] Repeat steps 1 and 2, but this time for hard due dates.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoLP#1734737: Display originating template UI
Mike Rylander [Mon, 27 Nov 2017 18:06:56 +0000 (13:06 -0500)]
LP#1734737: Display originating template UI

Until the (planned for 3.1) ability to clone XUL-created reports in the web
staff client is completed, it would be useful to at least display to the user
the origin UI in which a template was created. This will allow staff to, for
the immediate term, decide which UI they should use to deal with a particular
template, re cloning etc.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
2 years agoDocs: fix list item index in basic_holds.adoc
Ben Shum [Wed, 29 Nov 2017 21:36:05 +0000 (16:36 -0500)]
Docs: fix list item index in basic_holds.adoc

Signed-off-by: Ben Shum <ben@evergreener.net>
2 years agolp1705133 view holds patron info redaction
Alex Cautley [Thu, 16 Nov 2017 23:03:11 +0000 (23:03 +0000)]
lp1705133 view holds patron info redaction

Removed extra or sensitive patron information from patron and record
hold grid

Signed-off-by: Alex Cautley <acautley@catalyte.io>
 Changes to be committed:
modified:   Open-ILS/src/templates/staff/cat/catalog/t_holds.tt2
modified:   Open-ILS/src/templates/staff/circ/patron/t_holds_list.tt2

Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years ago2nd level of bullets requires '**'
Dan Scott [Wed, 29 Nov 2017 20:31:26 +0000 (15:31 -0500)]
2nd level of bullets requires '**'

The Asciidoc for this file had two levels of indentations for the
intended bulleted list, but bullet indentation levels are set by
the number of asterisks:

* = 1st level
** = 2nd level

Signed-off-by: Dan Scott <dscott@laurentian.ca>
2 years agoLP1714390:Remove acp Editor Formatting Frustration
Jason Boyer [Fri, 1 Sep 2017 02:06:31 +0000 (22:06 -0400)]
LP1714390:Remove acp Editor Formatting Frustration

In bug 1713064 I added a directive to make it possible to use
a String as a Model in an Input tag with type Number. Unfortunately
there was also a formatting function in that branch that works well
sometimes but is far more frustrating than it is helpful for enough
workflows that it should be removed.

Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
2 years agoLP#1734963: Teach copy template converter about older templates.
Chris Sharp [Tue, 28 Nov 2017 18:42:26 +0000 (13:42 -0500)]
LP#1734963: Teach copy template converter about older templates.

The XUL-to-web-client copy template converter created to fix
bug 1691269 needs a little help when the value stored is a
number rather than a string.

Thanks to Jeff Godin for troubleshooting help and Mike
Rylander for the suggested solution.

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: Jeff Godin <jgodin@tadl.org>
2 years agoStamping upgrade script for xul-to-web copy template translation
Mike Rylander [Mon, 27 Nov 2017 18:53:40 +0000 (13:53 -0500)]
Stamping upgrade script for xul-to-web copy template translation

Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1691269: (follow-up) fix whitespace to match local style
Galen Charlton [Mon, 27 Nov 2017 18:24:39 +0000 (13:24 -0500)]
LP#1691269: (follow-up) fix whitespace to match local style

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1691269: add unit test for convert_xul_templates
Galen Charlton [Mon, 27 Nov 2017 18:17:29 +0000 (13:17 -0500)]
LP#1691269: add unit test for convert_xul_templates

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1691269: include volume fields in converted copy templates
Galen Charlton [Mon, 27 Nov 2017 17:46:33 +0000 (12:46 -0500)]
LP#1691269: include volume fields in converted copy templates

This patch insures that call number prefix, suffix, and classification
scheme from copy templates created in the XUL unified copy editor are
brought over to web staff copy templates.

Note that in order to successfully test the call number portion of
converted copy templates in the web staff client, the volume/copy editor
default "Allow Call Number attributes in Copy Templates" should be
turned on.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP#1691269: (follow-up) include new cust in seed data
Galen Charlton [Mon, 27 Nov 2017 16:08:23 +0000 (11:08 -0500)]
LP#1691269: (follow-up) include new cust in seed data

Also s/Copier/Copy/.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
2 years agoLP1691269: Webstaff Copy Editor Templates
Jason Boyer [Sun, 22 Oct 2017 19:42:02 +0000 (15:42 -0400)]
LP1691269: Webstaff Copy Editor Templates

This branch will translate and transfer your XUL client templates
the first time you load the web client copy editor. From that point
on the two diverge with no further connection to each other.

This branch also allows your copy templates to travel with you
between browsers, machines, and so on, while still allowing users
that share a browser but not usernames to have their own templates.

Signed-off-by: Jason Boyer <JBoyer@library.in.gov>
Signed-off-by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>