Jason Etheridge [Tue, 9 Mar 2021 23:02:30 +0000 (18:02 -0500)]
lp1846354 additional tweaks and fixes
* fixes for SIP
* patron merge & purge
* also tweak some storage code, which probably isn't being used for this anywhere
* remove some legacy note code
* don't filter out penalties with deleted messages for Notes count in patron staff display
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
This patch ensures that the new Angular missing pieces interface
can continue to create penalties. Additional work will be required
on the Angular dialog to match the other changes.
Jason Etheridge [Tue, 26 Jan 2021 20:31:35 +0000 (15:31 -0500)]
lp1846354 misc fixes
* better notes handling and schema catchup
- better linking for actor.usr_note
- schema changes for pristine install
* don't hide referenced deleted messages from staff
* don't exclude archived messages from unread Messages count in OPAC
* migrate unmatched public notes as deleted user messages
* don't use 'Penalty Note' as a message title
- handle case where actor.usr_message starts off empty
- reorder the updates and alterations of ausp so that
the upgrade can be done in a single transaction
This commit makes minor adjustments to the upgrade script to speed it up
in the face of larger data sets.
NOTE: The DO blocks that provided assertion tests during the the upgrade
have been commented out, as they primarily test that the preceding
insert did not break in some way that would have inserted data from the
wrong table into the intermediate staging tables. They take a very long
time to run in some cases, but are left here for testers to enable in
order to confirm that they would pass in production.
* Move the deleted filter out of the query for speed
* Rework aum and ausp to use the same sequence, and aump view to use UNION ALL
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Wed, 8 Jan 2020 14:02:52 +0000 (09:02 -0500)]
lp1846354 toward consolidated patron notes
* changes to IDL, DB, and upgrade script
A new view actor.usr_message_penalty and associated IDL entry will be created
for use with populating the staff Messages interface. It will perform a full
outer join between penalties and user messages.
The default IDL permissions for user messages will remain VIEW_USER and
UPDATE_USER.
The view that populates the Message Center will be changed slightly to ensure
that staff-only messages are never retrieved for patrons. The Date column in
the grid/list view will show the edit_date value if populated in lieu of the
create_date value. The message view will explicitly show an Edit Date label and
value below the Date row if set.
The actor.usr_message table will gain a new boolean column called pub, which
will default to false.
The actor.usr_message table will also gain a stop_date column for handling
archival as with standing penalties.
The actor.usr_message table will also gain editor and edit_date columns.
The actor.usr_message_limited view will be changed to only include rows where
pub is true.
As part of the upgrade script, Patron alert messages will be migrated as
ALERT_NOTE penalties and linked User Messages. A database assertion will ensure
that this has happened prior to the removal of the alert_message field from the
actor.usr table. The field will also be removed from the corresponding IDL
entry. The sending_lib column for these user messages and the org unit field
for these penalties will be set to the top org from the org hierarchy.
Also, non-public entries in the actor.usr_note table will be migrated as
non-public User Messages. Subject to a database assertion that this has
happened, the table actor.usr_note and the actor.convert_usr_note_to_message
trigger will be removed. The corresponding IDL entry will also be removed. The
sending_lib column for these user messages will be set to the top org from the
org hierarchy.
Also, rows from actor.org_unit_setting for
ui.staff.require_initials.patron_info_notes will be migrated to
ui.staff.require_initials.patron_standing_penalty. Collisions will be recorded
in a text file but otherwise dropped. The row in config.org_unit_setting_type
for ui.staff.require_initials.patron_info_notes will then be removed. The label
and description for ui.staff.require_initials.patron_standing_penalty in
config.org_unit_setting_type will be edited to reflect the Notes/Penalties
labeling from the UI.
The actor.usr_standing_penalty table and associated IDL entry will gain a
foreign key column linking to actor.usr_message called usr_message, and the note
column itself will be migrated to User Messages. The usr_message field on the
penalties will be updated accordingly. Subject to a database assertion that
this has happened, the note field on the actor.usr_standing_penalty table will
be removed. The corresponding IDL entry will also be removed. The sending_lib
column for these user messages will be set to match the org_unit column from
their associated penalties.
* middle layer changes
The ApplyPatronPenalty A/T Reactor will be modified to create a user message if
needed instead of setting the note field on the created penalty, and will set
the new usr_message field accordingly.
The API method open-ils.actor.user.penalty.note.update will be similarly
adjusted, though it may edit or create a user message as needed.
The API method open-ils.actor.user.penalty.apply will also be modified to
create user messages in lieu of setting a note field. The sending_lib field
for such messages will be set to match the session's workstation library,
regardless of the org unit that actually gets applied to the penalty's org_unit
field. The org_unit field will use the value as passed by the caller, and no
longer do the org_unit_ancestor_at_depth adjustment that happens today.
Both penalty.note.update and penalty.apply will set the editor and edit date
columns on any linked user messages to the current time and staff member for
any already existing message that has its title or message value modified. The
read_date column will also be NULL'ed in such circumstances so that the message
will appear unread to the patron if public.
The react sub in Event.pm will be tweaked to explicitly set the pub field on
created user messages to true for Action/Trigger.
* OPAC changes
Surface the edit date for patron visible notes in the Message Center.
* staff client changes
References to Message or Messages in the UI, including the button bar that
spawns the interface, will be changed to Note and Notes.
The Alert Message field in the patron editor will be removed.
The Notes interface under Other -> Notes will be removed.
The Notes (and count) indicator in the patron summary sidebar will be removed.
The note count will instead be presented as part of the Notes nav button.
The patron summary sidebar and the "stop sign page" will be modified to
retrieve and display user messages linked to standing penalties that are
flagged as staff alerting. It will retain the same styling (i.e. red text) by
default.
The Messages interface, including the archived view, will be populated with a
combination of user messages and user penalties, which may or may not be linked
in pairs via a new foreign key on the penalties. For messages without
associated standing penalties, the sending_lib column will be used for the
implicit filtering on org units that standing penalties get now, based on the
workstation library. This combined view will result in new columns for the
interface. At minimum the following columns (subject to label changes) will be
displayed by default: Title, Message, Create Date, Creator, Library, and Patron
Visible. Columns such as Staff Alert, Org Depth, Block List, Ignore Proximity,
and Penalty Label will still be available.
The Apply Penalty / Message dialog will gain a new widget for toggling whether
or not a message is intended to be visible to the patron. The Edit message
version of the dialog will also show when/if a patron has read and/or deleted
the message. An entry field for the message title will be added. The dialog
will also gain an org selector to the right of the penalty type selector, which
will default to the workstation library, and will change based on the org depth
of any standing penalty type selected in the UI (either via the
Note/Alert/Block buttons or the penalty menu). This will be passed as the
org_unit field for a penalty instead of the workstation library and org depth
that is implicitly used today The sending_lib field for the user message will
always be set to the workstation library.
The Archive Penalty / Message action will be modified to work with both
penalties and user messages depending on what it is selected. If an archived
penalty has a linked user message, then both will have their archive fields
set. An archived user message may still be otherwise visible to the patron if
it is not marked as deleted or staff only.
The Remove Penalty / Message action will behave as normal for a selected
penalty. For a user message, linked or unlinked, the message will be flagged
as deleted and, even if public, will no longer show up in the patron's Message
Center.
* release notes
Patron notes, messages, alert messages, and standing penalties have been folded
into one Notes interface. Notes designated as public will show in the My Account
-> Message Center in the OPAC for patrons. The underlying data structure has
also changed with all notes living in the actor.usr_message table, so certain
reports may need to be adjusted.
* qa tests
* alert message wording
* set existing user messages to public
before adding new ones; also, remove a lingering reference to alert_message in
Storage/CDBI/actor.pm
* upgrade script tweaks
the main change is that we're creating SILENT_NOTE penalties for migrated
actor.usr_note's in order to preserve the creator. I'm also removing explicit
TEMP tables in case admins do want to preserve these staging tables (by
commenting out the DROP's at the bottom of the script).
* update auditors
fixes updating patrons and allowing them to login
one consequence of this is that old alert_messages in the auditor will be deleted
* add a WARNING to the release notes
about the auditor table
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Ruth Frasur <rfrasur@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 10 Feb 2021 19:51:55 +0000 (11:51 -0800)]
LP1873322: Angular Admin Pages default to workstation OU
To test:
1) Apply this patch.
2) Log in using a workstation at a particular org unit.
3) Open some of the following admin pages:
Local Admin > Address Alerts
Local Admin > Carousels
Local Admin > Group Penalty Thresholds
Local Admin > Course Reserves List > Terms Tab
Server Admin > Billing Types
Server Admin > Call Number/Volume Suffixes
Server Admin > Copy Tags
Server Admin > Hard Due Date Configuration
Acquisitions Admin > Cancel Reason Configuration
Acquisitions Admin > Claim Policies
Booking Admin > Resource Types
Booking Admin > Resource Attribute Values
4) Verify that these pages automatically open to your
workstation's org unit.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
- Introduce custom accordion.JS to handle expand/truncation of
node information.
- Expansion/Truncation of individual nodes based on configurable
length.
- Refactor content.tt2 to properly display multiple notes with both
Read More and Highlighting features.
- Create accordion() macro in summary.tt2 to handle accordion-izing
a string when also supplied with a length, display field string,
and an optional highlighting boolean.
- Implementation of config.tt2 variables to handle enabling and length
requirements for truncation.
- Apply Read More to record Title as well as item details and graphics
text on record and search results.
- Teach Accordion functionality to understand blocks of HTML
- Add release notes for Read More functionality.
- Introduce custom accordion.JS to handle expand/truncation of
node information.
- Expansion/Truncation of individual nodes based on configurable
length.
- Refactor content.tt2 to properly display multiple notes with both
Read More and Highlighting features.
- Create accordion() macro in summary.tt2 to handle accordion-izing
a string when also supplied with a length, display field string,
and an optional highlighting boolean.
- Implementation of config.tt2 variables to handle enabling and length
requirements for truncation.
- Apply Read More to record Title as well as item details and graphics
text on record and search results.
- Teach Accordion functionality to understand blocks of HTML
- Add release notes for Read More functionality.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
modified: Open-ILS/src/templates/opac/css/style.css.tt2
modified: Open-ILS/src/templates/opac/i18n_strings.tt2
modified: Open-ILS/src/templates/opac/parts/config.tt2
modified: Open-ILS/src/templates/opac/parts/js.tt2
modified: Open-ILS/src/templates/opac/parts/misc_util.tt2
modified: Open-ILS/src/templates/opac/parts/record/authors.tt2
modified: Open-ILS/src/templates/opac/parts/record/contents.tt2
modified: Open-ILS/src/templates/opac/parts/record/summary.tt2
modified: Open-ILS/src/templates/opac/parts/result/table.tt2
new file: Open-ILS/web/js/ui/default/opac/accordion.js
new file: docs/RELEASE_NOTES_NEXT/OPAC/read-more-feature.adoc
Dan Briem [Tue, 8 Dec 2020 20:42:48 +0000 (15:42 -0500)]
LP#705693 Check Number in Bill History
Adds the check number field to the Bill History payment grids
(hidden by default).
To test:
1. Bill patron and apply a check payment with a check number
2. Go to Bills->History->Payments and note check number is not
an option (drop-down on top-right of grid shows the list)
3. Right-click the payment line->Full Details->Details and note
check number is not an option on the bottom payments grid
4. Apply patch (may need to clear cache especially on Firefox)
5. Repeat steps 2-3 and note check number is an available option
Jason Boyer [Thu, 3 Sep 2020 17:15:51 +0000 (13:15 -0400)]
LP1174498: Add Release Note
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Katie Greenleaf Martin <bcl@blaircountylibraries.org> Signed-off-by: Elizabeth Davis <edavis@albright.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1174498: IDL changes for Payments by Billing Type
Add the mmpbbt class to make use of the new view.
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Katie Greenleaf Martin <bcl@blaircountylibraries.org> Signed-off-by: Elizabeth Davis <edavis@albright.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP1174498: Add a Payments by Billing Type Reporting View
This is an updated version of the initial concept by Mike
Rylander with input from Jeff Godin. This view connects
payments to specific billings and allows reports to be
written to determine how accepted payments were distributed
by billing type.
Signed-off-by: blake <blake@mobiusconsortium.org> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org> Signed-off-by: Katie Greenleaf Martin <bcl@blaircountylibraries.org> Signed-off-by: Elizabeth Davis <edavis@albright.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 15 Mar 2021 15:51:22 +0000 (11:51 -0400)]
LP#1830960: update release notes to account for Bootstrap
Now that the Bootstrap skin is the default, this patch is
mostly of interest to current users of TPAC, including consortia
that may add new members before switching to the Bootstrap
skin.
Mike Rylander [Thu, 24 Sep 2020 16:48:41 +0000 (12:48 -0400)]
LP#1893997: Did you mean? Single word, single class
This commit embodies the first stage of a larger search suggestion
project. The bulk of the code is dedicated to providing an
implementation of the SymSpell[1] algorithm as the basis for very fast
word similarity testing for spelling suggestions as well as alternate
search suggestions.
The native in-memory algorithm specifies a hash table lookup using a
runtime-created dictionary. As it is untenable to create and maintain a
separate in-memory data structure in the distributed environment that
OpenSRF provides, and adds significantly to the administrative complexity
of such a configuration, we instead maintain a dictionary in the
authoritative Postgres database used by Evergreen. This dictionary is
based directly on indexed terms used for general search, and aims to
avoid zero-hit suggestions wherever possible while imposing as little
performance impact as can be managed.
In addition to the core SymSpell similarity metric, Damerau-Levenshtein
edit distance, we provide Soundex, Trigram, and QWERTY Keyboard
similarity measures. The importance of these can be adjusted relative
to one another, or turned off individually.
Global term frequncey data is captured for each of the Evergreen search
classes and is used to help decide when to use specific terms, and which
terms to use as suggestions.
Suggestions are provide in the OPAC, including the staff-embedded OPAC
view, the KPAC, and the Angular catalog.
Later development will add the ability to perform mult-word and
phrase-oriented suggestions, to suggest searching requested terms in
other search classes, and provide local thesaurus values and exclusion
term lists.
Jane Sandberg [Fri, 18 Dec 2020 16:57:04 +0000 (08:57 -0800)]
LP1907979: Fix Search by Instructor setting lookup in OPAC
Previously, the Search Courses screen in the OPAC relied on a locg
param in the URL to determine whether or not to display the "Search
by Instructor option", defaulting to location id 1 if no such param
exists. However, we can also consult physical_loc and other settings
to get a more accurate idea of which library's setting we need here.
To test:
1) In the Library settings editor, set Course Materials Module Opt In
to true for BR1.
2) In the Library settings editor, set Search by Instructor to true
for BR1.
3) In eg.conf, add the line:
SetEnv physical_loc 4
4) Restart httpd
5) Go to your OPAC. Note that the OPAC is at the BR1 level, and that
course search and browse options are available.
6) Click Search courses.
7) Note that only two values are available in the qtype dropdown: Course
Name and Course Number.
8) Apply this patch.
9) Repeat steps 5-6.
10) Note that the screen now appropriately consults the value for the
"Search by Instructor" setting at the BR1 level, with an "Instructor"
value now available in the qtype dropdown.
Jason Boyer [Fri, 12 Mar 2021 19:02:19 +0000 (14:02 -0500)]
Revert the effects of both LP1687545 and LP1914116
Revert "LP1687545: Force TT CGI plugin to use ampersands in query strings"
and "LP1914116: Apply html filter to mkurl() output"
until a fix for LP1918470 is available.
Signed-off-by: Jason Boyer <JBoyer@EquinoxInitiative.org>
Jason Etheridge [Fri, 19 Feb 2021 05:29:13 +0000 (00:29 -0500)]
lp1863252 fix Get Coordinates button in org admin
The underlying method can now handle org objects or org id's, and the UI
will also alert the user with any non-catastrophic error such as the location
not being found.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Jason Etheridge [Tue, 9 Feb 2021 16:38:22 +0000 (11:38 -0500)]
lp1863252 make Geo::Coder::Free optional
Restore Geo::Coder::Google to the CPAN module list and remove the Googlev3 package.
Geo::Coder::Google requires an API key, and Geo::Coder::Googlev3 purports not to
but is currently giving a REQUEST_DENIED to requests and is a known issue.
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Galen Charlton [Wed, 16 Dec 2020 16:10:20 +0000 (11:10 -0500)]
lp1863252 fix unrelated issue that was breaking display of the copy_table
Without this, lack of a 'loc' CGI parameter breaks the page. This
was introduced in the course materials work and just appears to be wrong,
but should be double-checked.
Galen Charlton [Tue, 15 Dec 2020 23:07:00 +0000 (18:07 -0500)]
lp1863252 toward geosort
* fix swap of lat/lon that broke Math::Trig-based distance calculations
TODO: might want to drop that entirely in favor of delegating to a DB
call that uses earthdistance
* first pass at implementing display of distance in the OPAC
* include "Distance" label on mobile view of copy table
* display warning if address input is not translated to coordinates
* add distance column to TPAC copy table
* add default item sort button to both TPAC and Bootstrap
* changes to open-ils.geo registration
- don't register with the public router
- add to param redaction list
* add temporary caching of address => coordinates results
By default, coordinates are cached in memcached for 5 minutes. The
cache key is derived from a SHA-2 hash of the input address.
* implement query parameter log redaction as a PerLogHandler
* Don't need perl-script for a PerlLogHandler
Jason Etheridge [Thu, 3 Dec 2020 15:08:44 +0000 (10:08 -0500)]
lp1863252 toward geosort
From the release notes:
Sort Holdings by Geographical Proximity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This functionality integrates 3rd party geographic lookup services to allow patrons
to enter an address on the record details page in the OPAC and sort the holdings
for that record based on proximity of their circulating libraries to the entered
address. To support this, latitude and longitude coordinates may be associated with
each org unit. Care is given to not log or leak patron provided addresses or the
context in which they are used.
squashed commits:
* actor.org_address
* config.geolocation_service
* config.global_flag
* opac.holdings_sort_by_geographic_proximity OUS
* opac.geographic_proximity_in_miles OUS
* opac.geographic_location_service_for_address
* permission.perm_list
* Geo.pm, opensrf*.xml, ils_events.xml
* Org Unit Configuration
* OPAC Record Details
* release notes
* remove base_url
* provide an open-ils.actor wrapper for open-ils.geo.retrieve_coordinates
* some error trapping
This will throw the GEOCODING_LOCATION_NOT_FOUND event for a wider range of problems.
With the Google service, you can test by providing a bad API key or sending the
copyright symbol as an address to lookup.
* distribute permissions to stock perm groups
* prerequisite cpan modules
* live_t/ tests
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
This commit causes the record detail copy table to be restricted to
lasso orgs of the user-selected lasso. The copy and hold summary
information is still making use of the last context org selected, but
it's unclear how to adjust those because they are (currently) strictly
hierarchical via the org tree.
This commit adds logic to the org selector (and backing context building
logic) to allow the library dropdown to render Library Groups in a way
mechanically similar to location groups. This is used in the basic
search interface to simplify the Library Group feature.
The advanced search interface still uses separate Library and Where
dropdowns, as this allows advance search to retain the depth selection
capability, and more directly shows the (real) relationship between a
library and the location groups, library groups, and depths that are
relevant to it.
This branch implements Library Groups (what used to be called "lassos") for
Evergreen.
Evergreen has, internally, a concept called "lassos" that allows an
administrator to define a group of org units to search that has no relation
to the hierarchical org tree. For instance, one might create a group of law
or science libraries within a university consortium, or group all school
libraries together.
In addition to the previous always-visible type of Library Group (lasso), one
can now make them context-aware so that that only show up if the current
search location is included as one of the org units in the Library Group.
This is implemented without regard to the org unit hierarchy, and so requires
that the relevant ancestor and descendent org units be included in the group
along with those that actually hold copies, but allows for complete
flexibility in context-aware Library Group configuration.
Galen Charlton [Wed, 10 Mar 2021 22:48:08 +0000 (17:48 -0500)]
LP#1918511: make the Bootstrap skin the default for the public catalog
To test
-------
[1] Perform a fresh installation of Evergreen, or at least
put in the updated eg_vhost.conf.
[2] Verify that the public catalog is using the Bootstrap skin.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jane Sandberg [Sat, 23 Jan 2021 00:33:15 +0000 (16:33 -0800)]
LP1907977: Display course name and number in course material editor
To test:
1) Go to Administration > Local > Course List
2) Make sure you have a variety of courses added.
3) Double click on a course that already has materials
attached to it.
4) Go to the materials tab.
5) Select a material and choose Edit
6) Note that the Course combobox shows both the course
number (HST243) and course name (History of Indonesia).
7) Note that you can blank out that field and type to
complete to get other courses in the same format.
- restrict the attribute reingest just to records whose item_type
is 'g'
- don't break the transaction if a composite attribute definition
whose coded_value is 1738 already exists
Jane Sandberg [Fri, 5 Mar 2021 03:28:05 +0000 (19:28 -0800)]
LP1917826: Add All Videos option to the Search Format dropdown
To test:
1) Make sure that you have not added an "All Videos" option or a
config.coded_value_map with ID=1738 to the system you are testing
on.
2) Run the upgrade script, including the reingest.
3) Open the OPAC.
4) Perform a basic search using Format="All Videos".
5) Make sure that all the videos you expect show up, and no non-videos
appear in the results.
6) Try building the database from scratch, using the seed data from this
branch
7) Repeat steps 3-5.
Kyle Huckins [Thu, 19 Mar 2020 23:04:29 +0000 (23:04 +0000)]
lp1861319 Expired Patron Item Renewal
- SQL Upgrade for the new Org Unit Setting
- Perl Constant for new Org Unit Setting
- Include YAOUS to allow/disallow renewal of items
to expired patrons
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: John Amundson <jamundson@cwmars.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Wed, 23 Sep 2020 15:45:42 +0000 (11:45 -0400)]
LP1865898 Missing pieces mult-scan work flow improvements
After an item is marked as missing pieces, select/focus the barcode
input so another item can easily be marked as missing pieces without
having to manually clear the form / reload the page.
Tweaks the "Cancel" button to use the text "Reset Form" once the current
item has been processed, since it can no longer be canceled, but the
form can be forceably cleared if desired.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Risher <mrisher@catalyte.io> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Mon, 2 Mar 2020 19:17:55 +0000 (14:17 -0500)]
LP1865898 Scan Item as Missing Pieces Angular Port
Port the 'Scan Item As Missing Pieces' staff client interface to
Angular. Interface displays additional data (title/author/callnum)
during the staff confirmation step.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Risher <mrisher@catalyte.io> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Risher [Mon, 2 Dec 2019 20:38:15 +0000 (20:38 +0000)]
lp1852321 Angular Shelving Location Groups UI Port
Port Shelving Location Groups interface from DOJO to Angular. Features
ported include creating and editing Location Groups, dragging and dropping
Location Groups to change their saved order, adding and removing
Group Entgries, and sorting Shelving Locations in the same order as the old
interface.
Signed-off-by: Mike Risher <mrisher@catalyte.io> Signed-off-by: Jennifer Weston <jennifer.weston@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This feature allows staff to add multiple users to a named hold group
bucket and place title-level holds for a record for that entire set of users.
Users can be added to such a hold group bucket from either the patron
search result interface, via the Add to Bucket dropdown, or through a dedicated
Hold Groups interface available from the Circulation menu. Adding new
patrons to a hold group bucket will require staff have the PLACE_HOLD
permission.
Holds can be placed for the users in a hold group bucket either directly from
the normal staff-place hold interface in the embedded OPAC, or by supplying the
record ID within the hold group bucket interface. In the latter case, the
list of users for which a hold was attempted but failed to be placed can be
downloaded by staff in order to address any placement issues. Placing a
hold group bucket hold will requires staff have the MANAGE_HOLD_GROUPS
permission, which is new with this development.
In the event of a mistaken hold group hold, staff with the
MANAGE_HOLD_GROUPS permission will have the ability to cancel all unfulfilled
holds created as part of a hold group hold event.
A link to the title's hold interface is available from the list of hold group
hold events in the dedicated hold group hold interface.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dawn Dale <ddale@georgialibraries.org> Signed-off-by: Chauncey Montgomery <chauncey@yourcl.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This is a shot term change intended to prevent the "I don't know how
to filter" default message from showing up when the datatype 'interval'
is filtered.
Jason Boyer [Tue, 9 Feb 2021 18:06:32 +0000 (13:06 -0500)]
LP1895679: Simplify and genericize the refund policy
Don't refrence the "email above" since that's not always
the case and simplify the languge slightly, though most
users will still likely want to customize it.
OPTIONS:
--get-token
Generate OverDrive API basic token.
--key
Client key supplied by OverDrive. Required with --get-token.
--secret
Client secret supplied by OverDrive. Required with --get-token.
--token
Your OverDrive API basic token (clientKey:clientSecret, Base64-encoded).
Required unless using --get-token.
--account
Your OverDrive API account ID (e.g. 1234). Not required for generating
a basic token; required for everything else.
--oauth-endpoint
OverDrive API endpoint for OAuth token requests.
Default: https://oauth.overdrive.com/token.
--endpoint
OverDrive API endpoint that you wish to test.
Default: https://api.overdrive.com/v1/libraries/<account>
--content
JSON content of main API request. Required only if you have specified
an endpoint that expects JSON message content.
--oauth-only
Only request an OAuth token; do not attempt further API requests.
--patron-auth
Submit a patron authentication request.
--barcode
Patron barcode. Required with --patron-auth.
--password
Patron password. Required with --patron-auth if your library requires
password for patron authentication.
--websiteid
Website ID supplied by OverDrive. Required with --patron-auth.
--authorizationname
ILS name supplied by OverDrive. Required with --patron-auth.
--verbose
Print full HTTP requests and responses.
--help
Print this help message.
EXAMPLES:
To generate your basic token, given a client key and client secret supplied
by OverDrive:
Somewhere along the way, openils_dojo.js was removed,
but references remained. This removes them, hopefully
helping to speed up page loads.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Jason Stephenson <jason@sigio.com>