Bill Erickson [Fri, 16 Aug 2019 21:01:51 +0000 (17:01 -0400)]
LP1840050 Angular Org Unit Admin page port
Migrate the Dojo Org Unit administration page to Angular:
Administration => Server Administration => Organizational Units
Includes org unit, hours of operation, and address settings.
The new UI adds details on which org unit addresses are shared, offering a
way to clone a shared address to a new address.
Includes release notes.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 21:00:53 +0000 (17:00 -0400)]
LP1840050 Angular staff banner sets title
Any UI that declares a staff banner gets the same text set as the
page/title title as well.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 21:00:11 +0000 (17:00 -0400)]
LP1840050 Modularize various standalone components + more.
Create container modules for the String, Translate, FM record editor, and
Admin Page components & services. This simplifies imports and allows us
to avoid requiring these modules on pages that don't need them. In
particular, the staff splash page now loads fewer imports, which should
improve initial load/login time.
Additionally some components were enhanced.
FM record editor now has a eg-fm-record-editor-action component so users
can pass in an action, rendered as a button at the bottom of the editor.
FM record editor gets a delete record option and hideBanner option.
FM record editor now better handles real-time updates of its underlying
recordId and record values, including updates to some editor callers to
migrate to the modified API (replace recId with recordId).
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 20:56:42 +0000 (16:56 -0400)]
LP1840050 Org select sanity checks on selected value
Avoid use of org-select 'selected' value when it's not defined/null.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 20:52:50 +0000 (16:52 -0400)]
LP1840050 Combobox responds favoribly to value changes
Using the power of getters/setters, teach the combobox to respond to
updates of the selected entry, particulary when the selected value is
applied before the set of underlying entries is modified.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 20:50:34 +0000 (16:50 -0400)]
LP1840050 Anguar tree component realtime updates
Teach the Angular tree component to re-render itself when its underyling
tree has been replaced.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 20:48:51 +0000 (16:48 -0400)]
LP1840050 IDL pkeyMatches function/tests
Function to compare whether two IdlObjects are of the same class and
have matching pkey values.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 16 Aug 2019 20:43:46 +0000 (16:43 -0400)]
LP1840050 IDL Org and Org Address additions
Adds missing 'required' attributes to org_unit and org_address and adds
labels for org_address fields.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Remington Steed [Tue, 28 May 2019 13:33:44 +0000 (09:33 -0400)]
LP#
1741980: Give type label its own span and class for easy hiding
This commit separates the copy tag type label into its own span with a
new class "copy_tag_type_label", so that libraries can hide it or style
it differently. Release notes are included.
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Remington Steed [Wed, 24 Apr 2019 13:37:22 +0000 (09:37 -0400)]
LP#
1741980: Fetch and show copy tag label in OPAC
When copy/item tags (such as "Digital Bookplate") are displayed in the
OPAC, they currently only show the tag's value, but not the label of the
tags type. This commit fleshes in the tag type so we gain access to the
type's label, and it adds it to the OPAC display.
OPAC output before: "(Tag Value Here)"
OPAC output after: "Digital Bookplate: (Tag Value Here)"
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 6 Sep 2019 16:33:24 +0000 (12:33 -0400)]
LP#
1753536: stamp DB update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Stephenson [Mon, 13 May 2019 18:14:12 +0000 (14:14 -0400)]
Lp
1753536: Clarify release notes
It is not universally true that the patron needs to negotiate with the
owning library for more renewals, so we try to make it clear that this
is not always the case in the release notes.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Dan Pearl [Mon, 19 Mar 2018 19:09:43 +0000 (15:09 -0400)]
LP1753536 - Add a new Owning Library column to the OPAC Items Out
This new column indicates which library owns the materials, and is
intended to help the patron contact the owning library should they be
out of renewals and would like an exception made.
Also adds some utility code for generating an org unit URL.
Make the presence of the column controlled by an organizational unit
setting.
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 6 Sep 2019 16:23:56 +0000 (12:23 -0400)]
LP#
1818581: stamp DB update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Terran McCanna [Tue, 5 Mar 2019 21:46:47 +0000 (16:46 -0500)]
LP#
1818581 Action Trigger for Fine Limit Exceeded
Creates new (optional) email notification that is
sent when a block is applied to a patron's account
due to excess fines.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 9 Aug 2019 20:55:30 +0000 (16:55 -0400)]
LP1839670 Angular catalog more result page info
Adds physical description, isbn, issn, upc, and publisher information to
the record result list page.
Given the extra vertical space allowed by the new data, also increase
the size of the jacket images.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Tue, 6 Aug 2019 15:34:51 +0000 (11:34 -0400)]
LP1823981 Angular perm group admin UX improvements
* Loading progress now increments as data arrives.
* Application perm list is now sorted
* Deleted map now use warning background instead of danger as it appears
to have better contrast.
* Inherited perms display the label 'Inherited' in the delete colum.
* Remove border boxes around non-actionable inherited values.
* Use Bootstrap button links instead of <a> for links to perm groups to
improve contrast and consistency.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Tue, 6 Aug 2019 15:32:18 +0000 (11:32 -0400)]
LP1823981 eg-bool component padding
Add a whiff of padding to the <eg-bool> component so the so there is
some separation between the text and the badge border.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Tue, 9 Apr 2019 15:05:28 +0000 (11:05 -0400)]
LP1823981 Release notes for perm group admin
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 5 Apr 2019 22:00:32 +0000 (18:00 -0400)]
LP1823981 Angular Permission Group Tree Admin UI
Migrate the Admin => Server Admin => Permission Groups admin page to
Angular.
As an added feature, the interface now displays inherited permissions
alongside linked permissions for each group. Inherited permissions
are read-only and act to indicate to the user when a group already has
a certain permission and therefore may not need a new one added.
Additionally, a new filter option is available in the linked permissions
interface for filtering the displayed linked permissions by code or
description.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Ben Shum [Wed, 4 Sep 2019 02:31:17 +0000 (22:31 -0400)]
LP#
1830749: set minimum PG version for eg_db_config
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Ben Shum [Thu, 25 Jul 2019 01:23:04 +0000 (21:23 -0400)]
LP#
1830749: Bump minimum PostgreSQL version to 9.6
Update README and upgrade notes to reflect that new minimum PostgreSQL 9.6.
Also change all sources to draw from PostgreSQL community repo for
consistency across all supported distributions.
Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 6 Sep 2019 15:20:45 +0000 (11:20 -0400)]
LP#
1816475: stamp DB updates
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 6 Sep 2019 15:17:56 +0000 (11:17 -0400)]
LP#
1816475: (follow-up) fix lint issues
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 6 Sep 2019 15:04:48 +0000 (11:04 -0400)]
LP#
1816475: (follow-up) ensure that manage reservations grid refreshes
This applies the changes from LP#
1823041 to make editing a record
refresh the grid.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 6 Sep 2019 14:44:28 +0000 (10:44 -0400)]
LP#
1816475: (follow-up) remove stray bare "ngModel"
Including this in the field template for editing end_time
had the effect of forcing the end date to be set to the
current time instead of the current value of that field,
which is unusual behavior. It also caused the form to
have an automatically-invalid input state when editing
a reservation with a start time that falls in the future.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Mon, 26 Aug 2019 22:18:34 +0000 (15:18 -0700)]
LP1816475: Put the resource barcodes in order
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Tue, 20 Aug 2019 21:27:31 +0000 (14:27 -0700)]
LP1816475: Change "Pickup Library" terminology to "Reservation Location"
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Tue, 20 Aug 2019 21:20:15 +0000 (14:20 -0700)]
LP1816475: Fix circular dependency warning
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Tue, 20 Aug 2019 17:24:49 +0000 (10:24 -0700)]
LP1816475: Changing icon for Manage Reservations
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Tue, 20 Aug 2019 17:07:17 +0000 (10:07 -0700)]
LP1816475: Pre-fill patron barcode in Create Reservations
Addresses comment #1 from
https://bugs.launchpad.net/evergreen/+bug/
1816475/comments/20
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Tue, 20 Aug 2019 16:46:51 +0000 (09:46 -0700)]
LP1816475: Loosening the permissions on booking resource type
Addresses this issue: https://bugs.launchpad.net/evergreen/+bug/
1816475/comments/19
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 14 Aug 2019 17:56:00 +0000 (10:56 -0700)]
LP1816475: Removing development bits from the display
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Thu, 25 Jul 2019 17:30:32 +0000 (10:30 -0700)]
LP1816475: Docs: release notes and docs updates
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Thu, 25 Jul 2019 17:28:47 +0000 (10:28 -0700)]
LP1816475: Booking module refresh
This commit ports several dojo interfaces to Angular(7). As part of
this work,
* Adds moment.js-based timezone support to the Angular fmeditor and grid
* Adds a note field to booking.reservation. This field is visible in all
staff views of reservations (Create, Manage, Pull List, Capture, Pick Up
and Return), but is not visible to the patron
* Adds usrname as a selector for actor.usr
* Adds the new booking.reservation note field to the receipt in the
dojo-based Capture Reservations screen
* Adds a read-only display of au to the fm-editor
* Adds a new patron service in staff/share
* Adds relevant workstation settings to the database
* Adds form validation styles to reactive form fields
* Adds a necessary polyfill for testing
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Thu, 25 Jul 2019 17:13:34 +0000 (10:13 -0700)]
LP1816475: Fixes incorrect IDL relationship for bresv pickup_lib
Many thanks to Dan Wells for pointing out this issue.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Christine Burns <christine.burns@bc.libraries.coop>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 4 Sep 2019 18:11:43 +0000 (11:11 -0700)]
LP1832897 and LP1721036: stamping upgrade scripts
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Wed, 4 Sep 2019 17:57:32 +0000 (10:57 -0700)]
LP1832897 (follow-up): Fixing oils_i18n_gettext key
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Wed, 4 Sep 2019 02:35:55 +0000 (19:35 -0700)]
LP1832897: One more carousel local admin link repair
Previously, Evergreen would redirect to the auto-generated server admin
carousel screen upon successfully creating a carousel from a bucket.
Now it goes to the local admin one.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Rylander [Tue, 3 Sep 2019 20:03:54 +0000 (16:03 -0400)]
LP1832897: Avoid query errors related to optional carousel filters
Here we make sure that the presence or absence of a shelving location
filter value does not lead to a query error.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Rylander [Tue, 3 Sep 2019 20:02:53 +0000 (16:02 -0400)]
LP1832897: Belt-and-suspenders for making sure max_items is set
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Sat, 31 Aug 2019 15:38:49 +0000 (08:38 -0700)]
LP1832897: Marking some carousel fields required in the IDL
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 29 Aug 2019 16:08:16 +0000 (12:08 -0400)]
LP1832897 Carousel local admin link repair
Fixes local admin link table entries for carousels and carousel library
mappings. Now correctly points to ../admin/local/...
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Thu, 29 Aug 2019 15:58:20 +0000 (11:58 -0400)]
LP1832897 FM Editor fieldOptions sanity check
If the caller sets the fieldOptions property to null/undefined the FM
editor will throw a JS error (field.isRequired is not a function) and fail
to render properly. This adds a sanity check to the fieldOptions value.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Wed, 7 Aug 2019 18:41:55 +0000 (18:41 +0000)]
LP#
1832897: add release notes
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Mon, 10 Jun 2019 01:00:19 +0000 (21:00 -0400)]
LP#
1832897: add public catalog display of carousels
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Wed, 12 Jun 2019 21:58:21 +0000 (17:58 -0400)]
LP#
1832897: business logic for carousels
This patch adds various methods in open-ils.actor and open-ils.storage
to manipulate carousels. It also adds a server-side script,
refresh_carousels.srfsh, and an example crontab entry.
The new methods are:
* open-ils.actor.carousel.retrieve_by_org
* open-ils.actor.carousel.retrieve_manual_by_staff
* open-ils.actor.carousel.refresh
* open-ils.actor.carousel.create.from_bucket
* open-ils.storage.container.refresh_from_carousel
* open-ils.storage.carousel.refresh_all
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 14 Jun 2019 20:42:52 +0000 (16:42 -0400)]
LP#
1832897: add miscellaneous carousels functionality to staff interface
* Add a 'Create Carousel from Bucket' action in the record bucket interface
* Add an 'Add to Carousel' action to the record details page
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Sun, 9 Jun 2019 23:18:46 +0000 (19:18 -0400)]
LP#
1832897: add administrative interfaces for carousels
This patch adds three Angular administration interfaces:
(Server Admin) Carousel Types
(Local Admin) Carousel Library Mappings
(Local Admin) Carousels
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Sun, 9 Jun 2019 22:54:04 +0000 (18:54 -0400)]
LP#
1832897: add tables, IDL, and seed data for carousels
Carousels
^^^^^^^^^
This feature fully integrates the creation and management of book carousels
into Evergreen, allowing for the display of book cover images on a library’s
public catalog home page. Carousels may be animated or static. They can be
manually maintained by staff or automatically maintained by Evergreen. Titles
can appear in carousels based on newly cataloged items, recent returns,
popularity, etc. Titles must have copies that are visible to the public
catalog, be circulating, and holdable to appear in a carousel. Serial titles
cannot be displayed in carousels.
Administration
++++++++++++++
This feature introduces the concepts of Carousel Types, Carousels, and Carousel
Library Mappings. The first can be administered in Server Administration
while the latter two can be administerd in Local Administration.
Carousel Types define the attributes of a carousel, such as whether it is
automatically managed and how it is filtered. A carousel must be associated
with a carousel type to function properly.
There are five stock Carousel Types:
* Newly Cataloged Items - titles appear automatically based on the
active date of the title’s copies
* Recently Returned Items - titles appear automatically based on the
mostly recently circulated copy’s check-in scan date and time
* Top Circulated Titles - titles appear automatically based on the
most circulated copies in the Item Libraries identified in the
carousel definition; titles are chosen based on the number of
action.circulation rows created during an interval specified
in the carousel definition and includes both circulations and renewals
* Newest Items by Shelving Location - titles appear automatically
based on the active date and shelving location of the title’s copies
* Manual - titles are added and managed manually by library staff
While additional Carousel Types can be added using the administration
interface, new automatic types currently require additional Perl code
to be recognized.
Carousel definitions allow the operator to specify the type, owner,
name and, for automatically-maintained types, the item libraries and
shelving locations to look for titles to populate the carousels as
well as how far back to look for titles.
Carousel Library Mappings specify the libraries that the carousel
should be displayed out. The visibility of a carousel at a given organizational
unit is not automatically inherited by the descendants of that unit. The
carousel’s owning organizational unit is automatically added to the list of
display organizational units.
A server-side job, refresh_carousels.srfsh, is available to periodically
refresh the contents of automatic carousels.
Staff Interface
+++++++++++++++
Each carousel has a record bucket associated with it. Library staff can
add titles to a carousel's bucket, and for the manual Carousel Type, that
is the only way to populate the carousel. Records added to an automatic
carousel's bucket will be removed whenever the carousel is next
refreshed.
Public Catalog
++++++++++++++
A new Template Toolkit macro called “carousels” allows the Evergreen
administrator to inject the contents of one or more carousels into any point in
the OPAC. The macro will accept the following parameters:
* carousel_id
* dynamic (Boolean, default value false)
* image_size (small, medium, or large)
* width (number of titles to display on a “pane” of the carousel)
* animated (Boolean to specify whether the carousel should automatically cycle through its panes)
* animation_interval (the interval (in seconds) to wait before advancing to the next pane)
If the carousel_id parameter is supplied, the carousel with that ID will be
displayed. If carousel_id is not supplied, all carousels visible to the public
catalog’s physical_loc organizational unit is displayed.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Mon, 10 Jun 2019 20:09:08 +0000 (16:09 -0400)]
LP#
1832897: add Glide as a Javascript dependency for the public catalog
Glide (https://glidejs.com) is an MIT-licensed library for rendering
carousels. Similar to how jQuery is installed for the catalog, the
additional dependency is specified in the AngularJS client's package.json
and webpack.config.js.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Tue, 11 Jun 2019 23:08:51 +0000 (19:08 -0400)]
LP#
1832897: improvements to the Angular admin-page component
* Make some of its services public so that it can be more easily
subclassed.
* Show toast on success or failure of record deletion actions.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Tue, 11 Jun 2019 23:07:37 +0000 (19:07 -0400)]
LP#
1832897: improvements to eg-fm-record-editor
* Add a new optional attribute, preSave, for passing a
callback to modify modify records (e.g.,
to provide default values) before they are saved.
* Ensure that the components current copy of a record is
discarded when the user closes or dismisses the modal
This addresses an issue where editing multiple instances
of records on an admin page could display (and/or flash)
stale data, particularly for the new multi-select widget.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Mon, 17 Jun 2019 01:53:36 +0000 (21:53 -0400)]
LP#
1832897: add Angular widget to for selecting multiple linked rows
This component provides a widget to allow the user to select
multiple linked rows. In particularly, it is meant to handle
IDL fields whose underlying database columns are intarrays that
refer to records in another IDL class.
The widget's user interface consists of an eg-combobox for selecting
new values to add to the list and a list of the existing values.
The component has the following attributes:
- idlClass: IDL class of the records being linked to
- linkedLibraryLabel: if supplied, specifies that the display
label in the comboox should include the library shortname as
found in the specified field.
- startValue: init value to display
This component emits onChange events.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Mon, 17 Jun 2019 00:30:10 +0000 (20:30 -0400)]
LP#
1832897: Angular combobox: add idlIncludeLibraryInLabel option
The new attribute, idlIncludeLibraryInLabel, specifies the
column containing a linked OU. That OU's shortname will
then be included in the label. This attribute takes effect
only if idlClass is specified.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Remington Steed [Wed, 24 Apr 2019 18:01:39 +0000 (14:01 -0400)]
LP#
1721036: Add url to item tags (DB, IDL, and OPAC link)
This commit adds a new field to the asset.copy_tag database table, adds
it to the IDL, and includes it as a link in the OPAC when present.
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Jason Etheridge [Thu, 27 Jun 2019 22:15:50 +0000 (18:15 -0400)]
lp1790169 call compileSort after closing showColumnDialog
or in other words, make Sort Priority work right away after configuring it
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Galen Charlton [Fri, 7 Sep 2018 21:32:15 +0000 (17:32 -0400)]
LP#
1790169: ensure that the sort priority actually gets saved
This is a WIP patch - there's still a problem with the saved
sort priorities actually getting used when a grid is initalized.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Galen Charlton [Fri, 9 Aug 2019 14:10:23 +0000 (10:10 -0400)]
fix bad conflict resolution made merging LP#
1825851
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 31 Jul 2019 18:12:48 +0000 (14:12 -0400)]
LP#
1836808: add release notes
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Risher [Wed, 17 Jul 2019 17:26:34 +0000 (17:26 +0000)]
lp1836808 add cancel button to merge edit
In the merge UI add a button so one can cancel out of editing mode
To test
-------
[1] Apply the patch and create/find a record bucket that has at least
two records.
[2] In the Record Buckets interface, select two records and invoke
the Merge Selected Records action.
[3] Select one record as the lead record, then click the Edit button.
[4] Verify that a "Cancel Edit" button is displayed. Make changes to
the record, then click "Cancel Edit".
[5] Verify that the contents of the record have not changed.
[6] Click the Edit button again; verify that the record is at its
original state. Make changes, then save them.
[7] Verify that the lead record has been updated.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 8 Aug 2019 20:41:14 +0000 (16:41 -0400)]
LP#
1825851: stamp schema update
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 1 Aug 2019 20:36:31 +0000 (16:36 -0400)]
LP1825851 Print template admin misc. repairs/improvements
1. When cloning a template, be sure the cloned template is available in
the template selector regardless of whether it would have been given
the current filters.
2. When cloning, set the 'active' flag explicitly to false so the user
is forced to manually activate. This prevent unintentional
activation on in-process templtes.
3. When cloning, clear the owner value so the user is forced to select
an owner value.
4. Allow the template editor textaread to expand vertically as the
template gets longer (i.e. adds more new lines).
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 1 Aug 2019 20:35:41 +0000 (16:35 -0400)]
LP1825851 Print template failure warnings
Display error toasts when an attempt is made to a server-generated print
template and no active template can be found or the template generation
failed.
This required moving String and Toast components/services into the base
module so they could be used by the print components/services.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 12 Jul 2019 21:11:55 +0000 (17:11 -0400)]
LP1825851 Server print templates Release Notes
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Mon, 15 Apr 2019 22:11:46 +0000 (18:11 -0400)]
LP1825851 Server managed/processed print templates
Adds a new database table config.print_template (and IDL class) for
storing configurable, org- and locale-specific print templates.
Adds a web service which accepts POSTed print data and generates a
print-ready document. Includes example Apache configs.
Teaches the Angular app to use the new web service for generting
print output.
Adds and Angular print template administration interface.
Adds HTML::Defang for scrubbing unwanted HTML elements and attributes
from print documents for security.
Add the new ADMIN_PRINT_TEMPLATE permission to the Circ Admin group at
System level as a default.
Adds 2 templates, a simple patron_address tepmlate (pending Angular port
of patron UIs) and a 'Holds for Bib Record' template, accessible from
the Angular staff catalog Holds interface.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 24 May 2019 16:38:34 +0000 (12:38 -0400)]
LP1825851 Add Perl HTML::Defang dependency
Added dependency to installer makefile.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Fri, 12 Jul 2019 16:37:59 +0000 (12:37 -0400)]
LP1825851 Combobox display template option
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Thu, 11 Jul 2019 21:20:45 +0000 (17:20 -0400)]
LP1825851 CStoreEditor instance specific personality
Allow applying a CStoreEditor personality to individual editor instances
without overwriting the default / process-wide personality.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Wed, 10 Jul 2019 15:57:18 +0000 (11:57 -0400)]
LP1834665 Bib summary formats and jacket
Display the format icon and label along the top of the Angular bib
record summary.
Display the jacket image along the left of the bib summary when the
summary is in expaded mode.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Wed, 10 Jul 2019 15:56:31 +0000 (11:56 -0400)]
LP1834665 MARC editor success/fail toasts
Indicate to the user when a MARC edit succeeds or fails via
toast in the Angular MARC editor component.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Wed, 10 Jul 2019 15:51:53 +0000 (11:51 -0400)]
LP1834665 Flat text editor uses '$' delimiter
Consistent with the AngJS flat text MARC editor, use '$' as the subfield
delimiter instead of the default '‡'.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Fri, 28 Jun 2019 16:29:07 +0000 (12:29 -0400)]
LP1834665 Angular catalog MARC flat text editor
Adds a set of components for editing MARC records. The main component
acts as a container with various actions (source selector, delete,
undelete, and save options). The body of this component is a tabbed
interface, one tab for the Enriched editor and one for the Flat Text
editor.
The Enriched editor tab directs the user to the AngJS version of the page.
the Flat Text editor tab implements the standard MARC flat text editor
interface.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Fri, 28 Jun 2019 16:27:35 +0000 (12:27 -0400)]
LP1834665 Import marcrecord.js to Angular
Port the marcrecord.js file into the Angular build configuration so it
may be used by the MARC editor code.
Additionally, port jquery-dependent code to vanilla JS to avoid the
jquery dependency. As a part of this, some code from the source file
was removed since it was not needed (yet, anyway). Code added back will
need to be similarly ported (mostly changing XML parsing).
Note as-is, the JS is loaded on every Angular page. We could optimize
this and have it loaded only when needed if we port it to Typescript and
integrate it into the application instead of loading it as a 3rd-party
dependancy.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Mon, 26 Aug 2019 15:50:02 +0000 (11:50 -0400)]
LP1834662 Minor lingering lint repair
Unrelated to LP1834662, but there's no time like the present.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jane Sandberg [Thu, 11 Jul 2019 19:48:22 +0000 (12:48 -0700)]
LP1834662: Fix incorrect locale fallback
Resolves a deprecation warning and validation errors in the
datetime-select component
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jane Sandberg [Sun, 7 Jul 2019 20:40:27 +0000 (13:40 -0700)]
LP1834662: Various fixes to the datetime select
* Adds the caret specifier to package.json and bumps up the version of
moment-timezone
* Adds an example of the egValidDatetime directive
* Makes the makeFormatParseable function localizable
* Gets rid of an error when this component is used without ngModel or
reactive forms
* Fixes various linting errors
* Closes the datetimepicker if the user opens another datetimepicker
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 5 Jul 2019 18:21:49 +0000 (14:21 -0400)]
LP1834662 Allow date format defaults to persist.
Avoid clobbering the default date / time format strings set by the
FormatService.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Wed, 8 May 2019 22:06:22 +0000 (15:06 -0700)]
LP1834662: Add date-related components to Angular client.
* Adds a moment.js-based datetime-select widget to Angular (including a
read-only version)
* Adds a daterange-select widget to Angular
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jane Sandberg [Thu, 22 Aug 2019 21:42:56 +0000 (14:42 -0700)]
Docs: adding alt text to MARC Editor chapter images
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Derek C. Zoladz [Wed, 24 Apr 2019 18:40:13 +0000 (14:40 -0400)]
Docs: LP #
1803415: Location of MARC Editor 'Delete' Button
Signed-off-by: Derek C. Zoladz <derek@derekzoladz.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Dan Wells [Thu, 22 Aug 2019 21:25:59 +0000 (17:25 -0400)]
Forward-port 3.3.3 upgrade script
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Thu, 22 Aug 2019 21:25:39 +0000 (17:25 -0400)]
Forward-port 3.2.8 upgrade script
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Thu, 22 Aug 2019 21:25:12 +0000 (17:25 -0400)]
Forward-port 3.1.14 upgrade script
Signed-off-by: Dan Wells <dbw2@calvin.edu>
dluchenbill [Wed, 24 Apr 2019 18:41:11 +0000 (13:41 -0500)]
Docs: add checkin trigger holds and cancel transit
Signed-off-by: dluchenbill <debbie@mobiusconsortium.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
April Durrence [Wed, 24 Apr 2019 19:22:14 +0000 (15:22 -0400)]
Docs: add info about merge tracking
Signed-off-by: April Durrence <49952522+adurrence@users.noreply.github.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Andrea Buntz Neiman [Thu, 22 Aug 2019 19:09:31 +0000 (15:09 -0400)]
docs: error correction to 3.1.14 release notes
corrected link for "Fixes display issue with menus at certain screen resolutions" - the link & bug number were incorrect.
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Dan Wells [Thu, 15 Aug 2019 14:20:17 +0000 (10:20 -0400)]
LP#
1796945 Match new path_label/alias standard
The old reporter used '::' as a path separator in some labels, while the
new version uses '->' in its place. This would normally be just a
curiosity, except that the hashes used as join aliases are generated
from these path labels. The end result is that while a report can be
cloned, if you add a field anywhere other than the top level, it
references a join alias which does not exist, and the report breaks.
Now, the method by which report templates are upgraded from v4 to v5
does not happen all in one pass, but rather a first pass is made
populate the interface, then the rest is done when the user saves the
clone. Because of this, it actually seems adequate to only fix the
label, then allow the other steps to fill in the other bits upon saving
of the report.
Thank you to J. Boyer for helping track down the culprit.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Dan Wells [Fri, 3 May 2019 17:17:50 +0000 (13:17 -0400)]
LP#
1796945 Reporter cloning and creation fixes
This commit addresses a variety of issues with the webstaff reporter
interface, particularly cases of cloning reports created in the XUL
client.
1. The conversion process did not account for manually selected JOIN
operations (aka nullability). These JOINs are now honored by the
conversion code.
2. The conversion process did not account for aggregate filters. These
filters are now converted where present.
3. The previous reporter interface attempted to intelligently apply LEFT
and INNER JOINs by default. The new interface applied INNER joins
exclusively by default, leading in many cases to different results.
This commit reinstates the previous logic. One side effect of this
change is that the IDL tree itself is no longer opinionated about JOIN
type, and the default JOIN is undefined.
4. The nullability selector has been expanded to allow for manual
selection of INNER joins, as they will longer be the default in some
cases.
5. Cloned-converted reports did not retain column order. The order is
now preserved.
6. Some templates created in the older interface could, in some cases,
have aggregate values set as the string "undefined" rather than
actually being undefined. This led to converted templates failing with
"column [xxx] must appear in the GROUP BY clause...", as they were
incorrectly converted as aggregates. The conversion code now accounts
for this latent bug.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Signed-off-by: Jason Boyer <jboyer@library.in.gov>
Dan Wells [Thu, 22 Aug 2019 16:33:27 +0000 (12:33 -0400)]
Translation updates - po files
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Dan Wells [Thu, 22 Aug 2019 16:23:06 +0000 (12:23 -0400)]
Translation updates - newpot
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Jane Sandberg [Tue, 20 Aug 2019 22:42:39 +0000 (15:42 -0700)]
LP1840852: Separates two MARCXML datafields in sample data
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Ben Shum <ben@evergreener.net>
Dan Wells [Wed, 18 Apr 2018 22:12:19 +0000 (18:12 -0400)]
Update upgrade instructions
Genericize version numbers, plus a few minor tweaks.
Eventually we probably need to start building the docs from tags, and
let the main branch use real placeholders.
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Andrea Buntz Neiman [Wed, 21 Aug 2019 21:03:25 +0000 (14:03 -0700)]
Docs: Adding 3.3.3 release notes
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Andrea Buntz Neiman [Wed, 21 Aug 2019 21:00:47 +0000 (14:00 -0700)]
Docs: Adding missing entry to 3.2.8 release notes
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Wed, 21 Aug 2019 20:30:01 +0000 (13:30 -0700)]
Docs: Adding 3.1.14 release notes
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Andrea Buntz Neiman [Wed, 21 Aug 2019 20:25:49 +0000 (13:25 -0700)]
Docs: Adding 3.1.14 release notes
Signed-off-by: Andrea Buntz Neiman <abneiman@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Mike Risher [Wed, 10 Jul 2019 19:52:58 +0000 (19:52 +0000)]
lp1739292 merge UI displays record summary
Add the record summary to the record merge UI. Note that when one clicks
on "use as lead record" or "remove from consieration" the order of the
records changes. The record summary also will change order to match.
Signed-off-by: Mike Risher <mrisher@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/templates/staff/cat/bucket/record/t_merge_records.tt2
new file: Open-ILS/src/templates/staff/cat/share/t_record_summary_slim.tt2
modified: Open-ILS/web/js/ui/default/staff/cat/services/record.js
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Fri, 9 Aug 2019 14:21:53 +0000 (10:21 -0400)]
LP1839548 Angular catalog holds patron barcode link
Holds grid on record detail page now present the patron barcode as a
link to the patron UI.
Related, this fixes the URL in the link for the copy barcode.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
James Fournie [Thu, 2 May 2019 16:53:35 +0000 (09:53 -0700)]
LP1751800 - fix fields fields reversing
The pop() here will remove the last item in the array, only to add it
later with a push() a few lines later. Instead use a shift() to
preserve the order.
Signed-off-by: James Fournie <james.fournie@gmail.com>
Signed-off-by: Remington Steed <rjs7@calvin.edu>
Signed-off-by: Dan Wells <dbw2@calvin.edu>