working/Evergreen.git
5 years agoadd a bit of separation
Galen Charlton [Wed, 25 Mar 2020 18:57:01 +0000 (14:57 -0400)]
add a bit of separation

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agohide the provider info tabset if there's no selected provider
Galen Charlton [Wed, 25 Mar 2020 18:51:29 +0000 (14:51 -0400)]
hide the provider info tabset if there's no selected provider

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoafter selecting a provider from the search form, update the route
Galen Charlton [Wed, 25 Mar 2020 18:47:14 +0000 (14:47 -0400)]
after selecting a provider from the search form, update the route

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agomove provider search form
Galen Charlton [Wed, 25 Mar 2020 18:42:06 +0000 (14:42 -0400)]
move provider search form

The provider search form is now outside of the tabset and its
visibility is controlled by a button. Also, clicking on a row
on the search results will now hide the search form.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agohide provider column by default in contact and address grids...
Galen Charlton [Wed, 25 Mar 2020 16:01:54 +0000 (12:01 -0400)]
hide provider column by default in contact and address grids...

... but if the user insists on displaying that column, redundantly,
flesh it so that the code is displayed

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoMark required fields on the provider-contact object
Mike Rylander [Wed, 25 Mar 2020 15:01:14 +0000 (11:01 -0400)]
Mark required fields on the provider-contact object

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoprovider purchase orders component
Galen Charlton [Wed, 25 Mar 2020 15:52:23 +0000 (11:52 -0400)]
provider purchase orders component

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoadd provider invoices component
Galen Charlton [Wed, 25 Mar 2020 15:45:05 +0000 (11:45 -0400)]
add provider invoices component

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoprovider record service: add currentProviderId
Galen Charlton [Wed, 25 Mar 2020 15:43:32 +0000 (11:43 -0400)]
provider record service: add currentProviderId

This works around some race conditions fetching the current
provider upon initialization; we should fix this so that
current() can account for in-flight initialization or
refreshes.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoupdate provider contacts component to reflect updates in provider record service
Galen Charlton [Wed, 25 Mar 2020 14:54:47 +0000 (10:54 -0400)]
update provider contacts component to reflect updates in provider record service

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agocontacts modal
Mike Rylander [Wed, 25 Mar 2020 14:46:45 +0000 (10:46 -0400)]
contacts modal

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agodefault to valid == true when creating new provider addresses
Galen Charlton [Wed, 25 Mar 2020 14:48:20 +0000 (10:48 -0400)]
default to valid == true when creating new provider addresses

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agomark required fields as required in IDL for provider addresses
Galen Charlton [Wed, 25 Mar 2020 14:45:55 +0000 (10:45 -0400)]
mark required fields as required in IDL for provider addresses

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoupdate provider address component to reflect updates to provider record service
Galen Charlton [Wed, 25 Mar 2020 14:38:59 +0000 (10:38 -0400)]
update provider address component to reflect updates to provider record service

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoprovider record service updates
Galen Charlton [Wed, 25 Mar 2020 14:38:19 +0000 (10:38 -0400)]
provider record service updates

- fetch() now returns a promise
- added refreshCurrent();
- added batchUpdate()

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoprovider address modal
Jason Etheridge [Wed, 25 Mar 2020 13:41:22 +0000 (09:41 -0400)]
provider address modal

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agorefresh record service upon ID change
Galen Charlton [Fri, 20 Mar 2020 18:26:47 +0000 (14:26 -0400)]
refresh record service upon ID change

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoadd contact and address components to their tabs
Galen Charlton [Fri, 20 Mar 2020 18:26:16 +0000 (14:26 -0400)]
add contact and address components to their tabs

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agohook up contact and provider components to record service
Galen Charlton [Fri, 20 Mar 2020 18:25:49 +0000 (14:25 -0400)]
hook up contact and provider components to record service

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoactually push out initial version of provider record service
Galen Charlton [Fri, 20 Mar 2020 18:25:01 +0000 (14:25 -0400)]
actually push out initial version of provider record service

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoaddress and contact stubs
Mike Rylander [Wed, 18 Mar 2020 15:10:34 +0000 (11:10 -0400)]
address and contact stubs

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoset active provider ID when a row is selected
Galen Charlton [Fri, 20 Mar 2020 16:02:43 +0000 (12:02 -0400)]
set active provider ID when a row is selected

Note - not changing the route for now

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoinitial stab at provider record service
Galen Charlton [Fri, 20 Mar 2020 15:54:48 +0000 (11:54 -0400)]
initial stab at provider record service

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoadd summary pane component to module and a missing decorator
Galen Charlton [Fri, 20 Mar 2020 15:01:20 +0000 (11:01 -0400)]
add summary pane component to module and a missing decorator

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agotoward summary pane
Jason Etheridge [Wed, 11 Mar 2020 06:05:35 +0000 (02:05 -0400)]
toward summary pane

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agomake ng lint happier
Galen Charlton [Wed, 11 Mar 2020 18:59:23 +0000 (14:59 -0400)]
make ng lint happier

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoRequire classes for search; be very verbose for typescript
Mike Rylander [Wed, 11 Mar 2020 18:37:32 +0000 (14:37 -0400)]
Require classes for search; be very verbose for typescript

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoWIP: complex, cross-table searches
Mike Rylander [Tue, 10 Mar 2020 13:34:51 +0000 (09:34 -0400)]
WIP: complex, cross-table searches

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agomore work on hooking up search service and search form
Galen Charlton [Fri, 6 Mar 2020 16:44:24 +0000 (11:44 -0500)]
more work on hooking up search service and search form

TODO:
- contact name searching
- get the org-family-selector to show the starting value
  of the WS OU
- refactor how form parameters are managed?

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agofix thinko
Galen Charlton [Fri, 6 Mar 2020 15:45:32 +0000 (10:45 -0500)]
fix thinko

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoWIP: provider search/result stub and required IDL change
Mike Rylander [Thu, 5 Mar 2020 20:32:48 +0000 (15:32 -0500)]
WIP: provider search/result stub and required IDL change

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agostart work on AcqProviderSearch
Galen Charlton [Fri, 6 Mar 2020 15:41:52 +0000 (10:41 -0500)]
start work on AcqProviderSearch

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoacq providers: allow search form and details view to share a tab
Galen Charlton [Tue, 3 Mar 2020 23:33:18 +0000 (18:33 -0500)]
acq providers: allow search form and details view to share a tab

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoadd provider search placeholder menu entry to eg2
Galen Charlton [Tue, 3 Mar 2020 23:24:08 +0000 (18:24 -0500)]
add provider search placeholder menu entry to eg2

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoang providers: create base modules and components
Galen Charlton [Tue, 3 Mar 2020 23:18:55 +0000 (18:18 -0500)]
ang providers: create base modules and components

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
5 years agoorg-select: allow applyOrg[Id] to clear the org unit
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>
5 years agoeg-grid: fix disabling filter controls when data is being fetched
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>
5 years agoclean up router event subscription
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>
5 years agoacq search: ensure that results grid is cleared in certain cases
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>
5 years agoacq search: implement hard-coded fallback searches
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>
5 years agoadjust nav menus to add explicit
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>
5 years agoeg-grid: disable filter controls while fetching data
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>
5 years agoensure that following a menu link to the acq search form will always refresh the...
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>
5 years agoeg-combobox: handle cases where selectedId gets cleared
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>
5 years agoeg-combobox: teach it to accommodate idlClass changes
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>
5 years agoeg-combobox: add per-IDL-class formatting
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>
5 years agoadd cellTextGenerators where needed
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>
5 years agoacq search: allow searching on an explicit null value
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>
5 years agoeg-grid: ensure that ignoreFields does not need to be set
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>
5 years agoFlesh PO and SL, and display their names rather than IDs because sorting is by name
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>
5 years agosuppress marc field in lineitem grid
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>
5 years agoeg-grid: Add ignoreFields support to suppress selected IDL-generated grid fields
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>
5 years agoadd 50px of bottom margin the Angular interface across the board
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>
5 years agoemit toast upon saving a default search
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>
5 years agotweaks to PO results grid
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>
5 years agoacq search: improvements to server-side sorting
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>
5 years agoSort by remote selector column when sort-on-link is requested and selector exists
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>
5 years agohide inapplicable operators for the search form rather than disable them
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>
5 years agoallow __gte and __lte searches for ACQLIA that include 'date' in their code
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>
5 years agoadd support for __gte, __gt, __lte, and _lt for acqlia searches (perl)
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>
5 years agoeg-combobox: set a limit on number of entries fetched for idlClass
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>
5 years agoadd permissions checks for retrieving POs and invoices via unified_search
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>
5 years agorelabel PO and LI state column to "Status"
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>
5 years agoimprove how picklist operation failures are displayed to user
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>
5 years agotweak style of form buttons
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>
5 years agoadd state label views to seed data
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>
5 years agofix grid initialization bug
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>
5 years agoDynamic dropdown rather than bespoke
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>
5 years agoTeach some grids to allow click-to-dropdown for some fields in acq search
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>
5 years agoCreate and link DB views for PO and LI state, allowing for dynamic loading and I18N...
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>
5 years agoAdd passthrough capabilities for click-to-dropdown on linked fields
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>
5 years agoclarify open-ils.acq.picklist.clone
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>
5 years agofix comparison of IDs when prepping args for picklist merge
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>
5 years agoenable results grid sorting
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>
5 years agoensure that json_query will produce useful SQL when sorting by an LIA
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>
5 years agoremove retrieve results immediately checkbox
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>
5 years agoimplement > and < in acq search grid filters
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>
5 years agoadd _gt/_lt operators to unified search method
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>
5 years agoflesh user fields on search results grids
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>
5 years agoadd flesh_{creator,editor,selector} options to LI retrieval
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>
5 years agodisplay provider code instead of name on LI results grid
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>
5 years agoincrease margin below search form
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>
5 years agoWIP - add more permissions to stock Acquisitions and Acq Admin profiles
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>
5 years agoAngular Acquistions Search
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>
5 years agoSeed data for Angular acquisitions search
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>
5 years agoeg-interval-input: Angular component for inputting time intervals
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>
5 years agoeg-grid: indicate error condition to user if data source throws one
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>
5 years agogrid: use bolder styling for the 'Nothing to Display' message
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>
5 years agocombobox: teach it how to start with a selected value when IDL-based
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>
5 years agonew Angular file-reader component
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>
5 years agoAngular Acq Search: Perl API changes
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>
5 years agoGive searchFieldTransformPredicate a special case to handle transformation of fields...
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>
5 years agoLP#1775276: Check In - "Route To" Field Sometimes Incorrect
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>
5 years agoForward port 3.3.5 to 3.3.6 db upgrade script
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>
5 years agoForward Port 3.4.1 to 3.4.2 upgrade script
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>
5 years agoDocs: release notes for 3.4.2
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>
5 years agoDocs: release notes for 3.3.6
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>
5 years agoLP#1801163: (follow-up) deal with header fields that contain Unicode strings
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>
5 years agoLP#1801163: update Debian Buster and Fedora installation deps
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>
5 years agoLp 1801163: Switch to Email::MIME in SendEmail A/T Reactor
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>