Galen Charlton [Mon, 13 Jul 2020 16:01:13 +0000 (12:01 -0400)]
more menu adjustments (LH#4)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 22:34:14 +0000 (18:34 -0400)]
fixes to 'not contains' operator
- now works in the main search form
- now available for vendor and user searches
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 22:16:09 +0000 (18:16 -0400)]
more tweaks upon op change
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 21:52:43 +0000 (17:52 -0400)]
menu adjustments
- remove the additional menu items added in a previous commit
- add a 'Reset Default Search' button
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 21:18:05 +0000 (17:18 -0400)]
don't mutate the fallback search terms
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 21:07:49 +0000 (17:07 -0400)]
ensure that forms get result upon navigating to same tab via menu item
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 20:26:37 +0000 (16:26 -0400)]
improvements to timestamp queries
- now work correctly as saved searches or URL parameters
- when changing between search fields that are both
timestamps, the value is now retained.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 8 Jul 2020 20:25:47 +0000 (16:25 -0400)]
date-select: let blur trigger emitting changes
(Otherwise, you have to select the calendar button or hit
return inisde the input)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 15 May 2020 21:43:10 +0000 (17:43 -0400)]
implement user contains (barcode or username) operator
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 15 May 2020 21:42:53 +0000 (17:42 -0400)]
allow __fuzzy to override au_by_id in unified search
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 15 May 2020 20:04:56 +0000 (16:04 -0400)]
tidy up handling of field change and clearing org_unit field
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 15 May 2020 18:43:25 +0000 (14:43 -0400)]
update AngularJS nav link for Open Invoices
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 15 May 2020 18:39:15 +0000 (14:39 -0400)]
more tweaks to exists/does not exist
* do not display options for ID fields
* add support for not display exists/not exists operators for required fields,
(but note that IDL for relevant acq tables don't include the required markup)
* make open invoices link is __isnull
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 27 Apr 2020 20:42:16 +0000 (16:42 -0400)]
add __isnotnull as acq search field modifier
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 21 Apr 2020 21:21:41 +0000 (17:21 -0400)]
Provide exists/does-not-exist (NOT NULL and NULL) operators for acq search fields
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 2 Mar 2020 17:30:47 +0000 (12:30 -0500)]
org-select: allow applyOrg[Id] to clear the org unit
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 2 Mar 2020 17:08:04 +0000 (12:08 -0500)]
eg-grid: fix disabling filter controls when data is being fetched
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 21:59:46 +0000 (16:59 -0500)]
clean up router event subscription
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 21:06:16 +0000 (16:06 -0500)]
acq search: ensure that results grid is cleared in certain cases
Namely, when navigating to the same search tab when retrieve
immediately is not in force, e.g., when going from 'My Selection Lists'
to 'Selection List Search'
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 20:55:37 +0000 (15:55 -0500)]
acq search: implement hard-coded fallback searches
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 20:14:05 +0000 (15:14 -0500)]
adjust nav menus to add explicit
* Selection List Search
* Purchase Order Search
* renamed On Order at Workstation
* Invoice Search
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 19:49:31 +0000 (14:49 -0500)]
eg-grid: disable filter controls while fetching data
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 17:50:52 +0000 (12:50 -0500)]
ensure that following a menu link to the acq search form will always refresh the search
... assuming it has query parameters; may need to do more later.
TODO: make sure that setting onSameUrlNavigation to 'reload' for
the entire Angular app doesn't have unexpected consequences
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 17:04:45 +0000 (12:04 -0500)]
eg-combobox: handle cases where selectedId gets cleared
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 16:42:53 +0000 (11:42 -0500)]
eg-combobox: teach it to accommodate idlClass changes
This can happen in dynamically constructed search forms such
as the acquisitions search form.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 26 Feb 2020 15:39:10 +0000 (10:39 -0500)]
eg-combobox: add per-IDL-class formatting
This patch teaches eg-combobox to apply display templates
and label formatters for when idlClass is set. Currently templates
are defined for acqf and acpl.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 25 Feb 2020 21:46:23 +0000 (16:46 -0500)]
add cellTextGenerators where needed
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 25 Feb 2020 18:44:35 +0000 (13:44 -0500)]
acq search: allow searching on an explicit null value
This adjusts the special logic introduced in LP#
1031535 so
that explicitly searching with a field set to not null (e.g.,
when using the Angular grid 'exists' filter) will work.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 25 Feb 2020 18:39:07 +0000 (13:39 -0500)]
eg-grid: ensure that ignoreFields does not need to be set
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 25 Feb 2020 18:10:17 +0000 (13:10 -0500)]
Flesh PO and SL, and display their names rather than IDs because sorting is by name
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 25 Feb 2020 18:24:58 +0000 (13:24 -0500)]
suppress marc field in lineitem grid
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 25 Feb 2020 18:24:24 +0000 (13:24 -0500)]
eg-grid: Add ignoreFields support to suppress selected IDL-generated grid fields
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 25 Feb 2020 18:01:14 +0000 (13:01 -0500)]
add 50px of bottom margin the Angular interface across the board
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 25 Feb 2020 17:55:19 +0000 (12:55 -0500)]
emit toast upon saving a default search
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 24 Feb 2020 17:56:47 +0000 (12:56 -0500)]
tweaks to PO results grid
Primary change is making prepayment_required not be sortable,
as it's a Boolean and Pg doesn't default a min(bool) aggregate.
Along the way:
- explicitly list all columns that should display be default
- unhide some columns that were hidden by default for some reason
in a previous patch
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 24 Feb 2020 17:55:45 +0000 (12:55 -0500)]
acq search: improvements to server-side sorting
- create joins for aou, acqim, and acqipm as needed
- look up identity column for a class rather than assuming
that it's always 'id'
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Tue, 18 Feb 2020 20:06:09 +0000 (15:06 -0500)]
Sort by remote selector column when sort-on-link is requested and selector exists
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 13 Feb 2020 17:21:35 +0000 (12:21 -0500)]
hide inapplicable operators for the search form rather than disable them
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 13 Feb 2020 17:15:31 +0000 (12:15 -0500)]
allow __gte and __lte searches for ACQLIA that include 'date' in their code
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 13 Feb 2020 17:14:52 +0000 (12:14 -0500)]
add support for __gte, __gt, __lte, and _lt for acqlia searches (perl)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 13 Feb 2020 16:39:42 +0000 (11:39 -0500)]
eg-combobox: set a limit on number of entries fetched for idlClass
The automatically-created data source for eg-combobox when used
in idlClass will now limit itself to 100 entries in order to avoid
scenarios where it attempts to fetch all patrons in the database
or the like.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 13 Feb 2020 15:48:43 +0000 (10:48 -0500)]
add permissions checks for retrieving POs and invoices via unified_search
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 13 Feb 2020 14:57:18 +0000 (09:57 -0500)]
relabel PO and LI state column to "Status"
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 11 Feb 2020 22:56:22 +0000 (17:56 -0500)]
improve how picklist operation failures are displayed to user
- don't show the success toast unless the operation has actually
succeeded
- give user a hint if creation failed because of a duplicate name
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 11 Feb 2020 22:32:29 +0000 (17:32 -0500)]
tweak style of form buttons
Makes the 'Set As Default XXX Search' button respond better
to smaller viewports.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 11 Feb 2020 19:18:49 +0000 (14:18 -0500)]
add state label views to seed data
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 11 Feb 2020 19:15:38 +0000 (14:15 -0500)]
fix grid initialization bug
If an IDL link field has an explicit eg-grid-column definition,
ensure that the datatype is set correctly.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Mon, 10 Feb 2020 16:45:46 +0000 (11:45 -0500)]
Dynamic dropdown rather than bespoke
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Fri, 7 Feb 2020 22:45:37 +0000 (17:45 -0500)]
Teach some grids to allow click-to-dropdown for some fields in acq search
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Fri, 7 Feb 2020 22:45:04 +0000 (17:45 -0500)]
Create and link DB views for PO and LI state, allowing for dynamic loading and I18N (eventually)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Fri, 7 Feb 2020 22:43:55 +0000 (17:43 -0500)]
Add passthrough capabilities for click-to-dropdown on linked fields
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 10 Feb 2020 16:43:38 +0000 (11:43 -0500)]
clarify open-ils.acq.picklist.clone
Method is now clear that _nothing_ of the acq.picklist row
itself gets copied over.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 10 Feb 2020 16:18:45 +0000 (11:18 -0500)]
fix comparison of IDs when prepping args for picklist merge
The API expects the lead to _not_ be on the list of IDs of
lists to merge into the lead.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 23:41:03 +0000 (18:41 -0500)]
enable results grid sorting
TODO: deal with sorting provider, user, and OU columns by the
relevant code or username
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 23:40:33 +0000 (18:40 -0500)]
ensure that json_query will produce useful SQL when sorting by an LIA
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 16:13:21 +0000 (11:13 -0500)]
remove retrieve results immediately checkbox
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 15:06:27 +0000 (10:06 -0500)]
implement > and < in acq search grid filters
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 15:05:54 +0000 (10:05 -0500)]
add _gt/_lt operators to unified search method
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 14:14:46 +0000 (09:14 -0500)]
flesh user fields on search results grids
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 14:14:24 +0000 (09:14 -0500)]
add flesh_{creator,editor,selector} options to LI retrieval
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 7 Feb 2020 13:38:48 +0000 (08:38 -0500)]
display provider code instead of name on LI results grid
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Thu, 6 Feb 2020 18:18:13 +0000 (13:18 -0500)]
increase margin below search form
Closes LH#8
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Wed, 5 Feb 2020 00:52:25 +0000 (19:52 -0500)]
WIP - add more permissions to stock Acquisitions and Acq Admin profiles
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Tue, 22 Oct 2019 19:29:40 +0000 (15:29 -0400)]
Angular Acquistions Search
Angular app + linking AngularJS navigation elements to it
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 20 Jan 2020 22:42:14 +0000 (17:42 -0500)]
Seed data for Angular acquisitions search
* grid persistance WS settings
* retrieve-results-immediately stick checkbox settings
* default saved searches settings
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 31 Jan 2020 23:13:59 +0000 (18:13 -0500)]
eg-interval-input: Angular component for inputting time intervals
Usage:
<eg-interval-input [(ngModel)]="interval">
</eg-interval-input>
This provides a simple combination of a numeric input and a
drop-down for time interval units.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 31 Jan 2020 22:21:36 +0000 (17:21 -0500)]
eg-grid: indicate error condition to user if data source throws one
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Sat, 25 Jan 2020 13:16:19 +0000 (08:16 -0500)]
grid: use bolder styling for the 'Nothing to Display' message
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Mon, 20 Jan 2020 17:12:53 +0000 (12:12 -0500)]
combobox: teach it how to start with a selected value when IDL-based
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 8 Nov 2019 23:39:34 +0000 (18:39 -0500)]
new Angular file-reader component
This adds a ControlValueAccessor wrapper around a file
reader form input. Any file loaded via that input is interpreted
as a text file whose lines are to be split into an array on
newlines, with leading and trailng whitespace removed.
Usage is:
<eg-file-reader [(ngModel)]="fileContents">
</eg-file-reader>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Thu, 31 Oct 2019 19:23:22 +0000 (15:23 -0400)]
Angular Acq Search: Perl API changes
* Add __age (interval), __starts, and __ends operators.
Update __between to support __castdate modifier, for a more natural
comparison of dates entered by humans to timestamps stored in the
database.
* teach open-ils.acq.lineitem.retrieve more fleshing
In particular, teach it how to flesh the LI provider,
Vandelay queue, and claim policy so that Angular LI search
can display them without having to make additional server
requests.
* Add additonal fleshing for purchase order, selection lists,
and invoice searches.
* Add au_by_id option
This specifies performing queries on au-linked fields by
ID rather than adding joins to query the fields by user
barcode or username, etc.
* Implement "contains" operator for provider searches.
This is similar to how user searches are handled.
This patch contains work by Mike Rylander, Galen Charlton, and Jason
Etheridge.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Mike Rylander [Thu, 31 Oct 2019 22:09:24 +0000 (18:09 -0400)]
Give searchFieldTransformPredicate a special case to handle transformation of fields used in BETWEEN operations
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Briem [Fri, 29 Nov 2019 19:51:06 +0000 (14:51 -0500)]
LP#
1775276: Check In - "Route To" Field Sometimes Incorrect
When open-ils.circ.checkin closes a transit and creates a new one, the
payload only returns the closed transit. The route dialogs perform a
pcrud search to get the most recent transit, but the grid's Route To
field still depends on the transit returned by the API, so received
transits display the old destination in the Route To field instead of
the shelving location or new destination.
This branch returns the most recent route info collected by the route
dialog and, if the most recent transit destination doesn't match the
old one, the new one is assigned to the route_to prop on the
final_resp. It also checks that the transit is open before displaying
the destination in the Route To field so the shelving location
displays if the most recent transit is closed.
To test:
1. Sign in as Library A and check in an item owned by Library B
2. Place a copy hold on the item with a pickup location of Library C
3. Sign in as Library B and check in the item - note the dialog is
correct but the grid's Route To field displays Library B instead of
Library C
4. Apply patch
5. Repeat steps 1-3, note the Route To field displays Library C
Signed-off-by: Dan Briem <dbriem@wlsmail.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Mon, 27 Jan 2020 20:08:06 +0000 (15:08 -0500)]
Forward port 3.3.5 to 3.3.6 db upgrade script
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jason Stephenson [Fri, 24 Jan 2020 14:37:22 +0000 (09:37 -0500)]
Forward Port 3.4.1 to 3.4.2 upgrade script
Signed-off-by: Jason Stephenson <jason@sigio.com>
Jane Sandberg [Thu, 23 Jan 2020 15:11:17 +0000 (07:11 -0800)]
Docs: release notes for 3.4.2
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Thu, 23 Jan 2020 15:12:42 +0000 (07:12 -0800)]
Docs: release notes for 3.3.6
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 3 Jan 2020 22:55:10 +0000 (17:55 -0500)]
LP#
1801163: (follow-up) deal with header fields that contain Unicode strings
Since Email::MIME->header_str_set() expects Unicode strings, not octets,
use decode_utf8() on the header values to
To test
-------
[1] Update the biblio.format.record_entry.print A/T event definition
to include non-ASCII characters in the subject and from headers.
[2] Upon applying the patch series, verifying that the strings provided
in step 1 are not mangled when the email is sent.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Galen Charlton [Fri, 3 Jan 2020 22:19:56 +0000 (17:19 -0500)]
LP#
1801163: update Debian Buster and Fedora installation deps
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Jason Stephenson [Fri, 8 Feb 2019 20:47:41 +0000 (15:47 -0500)]
Lp
1801163: Switch to Email::MIME in SendEmail A/T Reactor
Switch from Email::Simple to Email::MIME Perl module in the SendEmail
Action/Trigger Reactor. Email::MIME properly encodes unescaped header
fields when added to the message with the header_str_set method.
We allow only 1 of each address field to be created while doing the
encoding, so that messages conform to RFC 2822.
This commit adds a new prerequisite as mentioned in the release notes,
so be sure to install the prerequisites for your Linux distribution
before installing.
You can test this with concerto data from a fresh installation by:
1. Configuring your test system to send email.
2. Updating all actor.usr entries to have your email address.
3. Updating the New User Created Welcome Notice event definiton to
active = true.
4. Run the action_trigger_runner with --process-hooks --run-pending.
5. You should get 237 new user welcome emails. The exact number is
subject to change.
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Josh Stompro [Fri, 8 Nov 2019 04:00:21 +0000 (22:00 -0600)]
LP1832735 - Allow copy alerts to be applied to multiple copies
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Beth Willis <willis@noblenet.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Josh Stompro [Tue, 5 Nov 2019 21:31:21 +0000 (15:31 -0600)]
LP#
1851434 - Allow COPY_NOT_AVAILABLE.override during renewal
Also addresses LP#
1827901 - Allow PATRON_EXCEEDS_LONGOVERDUE_COUNT
override during checkout and renew.
Test Plan:
1. Check out an item to a patron.
2. Mark item lost by patron to change status to lost.
3. In web client, log in as user with COPY_NOT_AVAILABLE.override
4. Try to renew item for patron, see that it isn't allowed.
After fix:
1. Try to renew item for patron, see that the override is now allowed.
Also try checkouts and renews for patrons that have the PATRON_EXCEEDS_LONGOVERDUE_COUNT block.
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Bill Erickson [Wed, 21 Aug 2019 21:18:09 +0000 (17:18 -0400)]
LP1840982 Replace troublesome catalog icons
Replace 'arrow_right' icon with 'keyboard_arrow_right' (ditto left) in
the Angular catalog holdings maintenance grid. This resolves an issue
where the 'arrow_right' icon presents with excess padding, causing the
barcode / call number values to appear to be empty in the
'Location/Barcode' column of the holdings grid.
See also LP1830912 for icon padding issues.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Mon, 21 Oct 2019 18:23:07 +0000 (14:23 -0400)]
LP1849182 Angular catalog result/detail tab titles
Add tab/page titles to the Angular staff catalog Search Results and
Record Details pages.
Search results offers 1 of 2 titles, depending on whether a search has
be run:
"Catalog Search"
"Catalog Search - <count> Results"
The record detail title shows the bib ID and bib title:
"Bib <bib TCN> - <bib title>"
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Thu, 17 Oct 2019 18:11:34 +0000 (11:11 -0700)]
LP1735566: Ask before deleting items in non-ideal statuses in AngularJS
To test:
1) Apply this commit.
2) Log in as a user with COPY_DELETE_WARNING.override permission.
3) Go to item status and scan an item in a non-ideal status (like #1:
checked out)
4) Delete the item. Note that you are alerted of the item's non-ideal
status, and you can confirm that you actually want to delete it.
5) Repeat steps 3-4 with an item in an ideal status (like #0:
Available). Note that no such alert appears.
6) Open the holdings view and repeat steps 4-5.
7) Log in as a user without the COPY_DELETE_WARNING.override
permission. Note that you are still informed about the non-ideal status,
but you aren't able to continue with the deletion without an admin
using their credentials.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Signed-off-by: Garry Collum <gcollum@gmail.com>
Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Sun, 19 Jan 2020 19:47:40 +0000 (14:47 -0500)]
LP#
1860351: fix hasWorkPermHere() in Angular client
Fixes a bug where the Angular client's hasWorkPermHere() check
could return incorrect results and thus incorrectly report
whether or not the staff user currently has particularl permissions
at their current workstation.
To test
-------
[1] Arrange for a workstation whose internal ID is larger than
any of the org unit IDs.
[2] Log in to that workstation with a user who has permission
to update monograph parts.
[4] In the experimental Angular staff catalog, go to a record
(e.g., /eg2/en-US/staff/catalog/record/21/monoparts) and note
that the New Monograph Part button is disabled.
[5] Apply the patch and repeat step 4. This time, the button
should be active.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Josh Stompro [Thu, 21 Nov 2019 20:01:36 +0000 (14:01 -0600)]
LP1739609 - Add Monographic Part to check in grid.
Signed-off-by: Josh Stompro <stompro@stompro.org>
Signed-off-by: John Amundson <jamundson@cwmars.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Sat, 18 Jan 2020 18:44:02 +0000 (10:44 -0800)]
LP#
1835982 follow-up: Add cellTextGenerator to booking schedule grid
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Fri, 3 Jan 2020 20:41:03 +0000 (15:41 -0500)]
LPLP1835982 Holds grid user barcode text generator; handle null
Adds a new text generator for the patron barcode template in the staff
catalog holds grid. Also adds a name field to the <eg-grid-column/>
to support the text generator.
Teach the cell text generator internals to translate undefined and null
values to '' so generator authors don't have to.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 3 Jan 2020 16:50:05 +0000 (11:50 -0500)]
LP#
1835982: tweak a few of the new GridCellTextGenerator
- do not display 'null' for Vandelay import errors and
holds table current copy barcodes
- trim leading and trailing whitespace from the items table
call number
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, 3 Jan 2020 16:33:19 +0000 (11:33 -0500)]
LP#
1835982: add GridCellTextGenerator to the btGrid in the sandbox
This patch also adds a usage note: since the GridCellTextGenerator
only has access to the row object but a cellTemplate can be passed
arbitrary context in addition to the row, a GridCellTextGenerator
that needs that additional context to have the print content match
the displayed content may require that the caller stick it in the
row object.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Wed, 20 Nov 2019 16:57:26 +0000 (11:57 -0500)]
LP1835982 Remove more deprecated cellPrintValue refs
cellPrintValue inputs were replaced with grid-wide cellTextGenerator
handlers. This patch removes a few remaining references to
cellPrintValue inputs. Having them linger was breaking --prod builds,
since they referred to nonexistent methods.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Fri, 9 Aug 2019 16:47:37 +0000 (12:47 -0400)]
LP1835982 Grid cell text generator API migration
Migrate cell-specific cellPrintValue handlers to a grid-wide
cellTextGenerator handler. This simplifies the client-side API and
helps to formalize the API a bit more by providing a new
GridCellTextGenerator interface.
Warning messages are now display at page load time when a grid cell uses
a cellTemplate but does not have a matching text generator.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Fri, 9 Aug 2019 15:52:05 +0000 (11:52 -0400)]
LP1835982 More grid cell print generators
Adds additional print content generators for Angular grid cells which
are rendered via cell templates.
* Vandelay match set list grid
* Vandelay queue contents grid
* Vandelay queued record matches grid
* Catalog holds grid.
Also adds a warning to the grid component when an attempt is made to
print a templated cell which has no print content generator.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Tue, 30 Jul 2019 16:02:26 +0000 (12:02 -0400)]
LP#
1835982: add cell value print handlers to holdings grid
This patch adds cell value print handlers for the barcode
and holdable columns of the Angular staff catalog holdings
view.
To test
-------
[1] After applying the patches for this bug, perform a "Download
Full CSV" or "Print Full Grid" action on the Holdings View
grid in the Angular staff catalog.
[2] Verify that the Location/Barcode and Holdable? columns in the
output contain appropriate values.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Tue, 16 Jul 2019 16:10:36 +0000 (12:10 -0400)]
LP1835982 Grid cell print values option
Allow grid callers to implement functions that return plain text
(printable) values for a given cell. These are primarily useful when a
cell is rendered via cellTemplate, which may not produce content which
is ideal for printing. Such functions are specified by the cellPrintValue
attribute in the eg-grid-column element.
Includes sample implementation for the Angular record detail copies
grid, which uses several cellTemplate cells.
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Galen Charlton [Fri, 20 Dec 2019 17:40:34 +0000 (12:40 -0500)]
LP#
1843599: AngularJS MARC editor once again sets bib source
This patch fixes a regression introduced by the patch for bug
1693580
that prevent changes to the bib source from being made via the AngularJS
MARC editor.
To test
-------
[1] Apply the patch.
[2] Create a new bib record and save it with a non-empty source. Verify
that the record sets the source as expected.
[3] Edit a bib record and change the source. Verify that the new source
is retained when the record is saved.
[4] Edit an authority record and save it. Verify that it can be updated
without error. (Note that authority records do not have sources in
the same way that bib records do.)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Rogan Hamby <rhamby@esilibrary.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Mike Rylander [Thu, 5 Dec 2019 20:12:57 +0000 (15:12 -0500)]
LP#
1855329: Hold shelf query speed problem
In bug
1827250 I suggested Jason Stephenson look at an alternate SQL
formulation to solve the original problem. He did, and deemed it faster,
so went with that. Unfortunately, on PG 9.6, we're seeing some data sets
that decide on a /very/ poor plan for the wide-hold query with the
solution as implemented, but the original suggestion from Jason works
fine.
In the face of evidence controverting my thought that giving PG more
options for planning is better in this case, this commit moves to his
original query change.
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 3 Jan 2020 16:02:29 +0000 (11:02 -0500)]
LP#
1858138: (follow-up) flesh creator and editor in sandbox's acp grid
Doing so ensures that the usrnames are displayed in the respective
grid columns rather than the au ID.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Galen Charlton [Fri, 3 Jan 2020 15:35:56 +0000 (10:35 -0500)]
LP#
1858138: remove remaining uses of showLinkSelector
Now that showLinkSelector is deprecated and does nothing,
remove current uses of it.
To test
-------
[1] Apply the patch.
[2] Visit Angular admin interfaces that have grids that
refer to linked IDL classes, e.g.,
- Local Admin -> Carousels (carousel type)
- Server Admin -> Weights Association (circ weights and hold
weights)
- Local Admin -> Item Tags (copy tag type)
- Acq Admin -> EDI Accounts (provider)
[3] Verify that the columns for linked fields display the
appropriate selector field rather than the numeric ID.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Bill Erickson <berickxx@gmail.com>