LP#1857150: Angular provider search and management interface
authorGalen Charlton <gmc@equinoxinitiative.org>
Tue, 3 Mar 2020 23:18:55 +0000 (18:18 -0500)
committerJason Etheridge <jason@EquinoxInitiative.org>
Thu, 10 Sep 2020 20:36:26 +0000 (16:36 -0400)
commit40ddab1a3e2232e9247892a14d72ded450c14a2a
tree37469b312fe71c9fb0c1fb98dfd07a1c427ee0c0
parenta064fb7809512776dd0122f7fedf634a13c61305
LP#1857150: Angular provider search and management interface

The interfaces for searching for and managing acquisitions provider
records have been rewritten in Angular. This rewrite includes the
following significant changes:

* The provider search interface is now available directly from the
  Acquisitions menu, supplementing its longstanding availability from
  the Acquisitions Administration page.
* The search interface is modeled after the patron interface, including
  a search form that can be hidden or displayed, a provider summary box,
  and a multi-tabbed interface for managing the provider itself.
* The grid displaying search results is filterable and sortable.
* The provider display tabs are
 ** Details, allowing the user to view, and if permitted, edit
    the base provider record.
 ** Addresses
 ** Contacts
 ** Attribute Definitions
 ** Holdings Definitions
 ** EDI
 ** Invoices, providing an interface for viewing the invoices
    associated with the provider.
 ** POs, providing an interface for viewing the purchase orders
    associated with the provider.
* The new interface makes it possible to edit contact addresses.
* The base provider record now has an optional primary contact field.
  Selecting a contact as the primary one is managed on the Contacts
  tab.  The primary contact, if set, is displayed on the provider
  summary box.

Interfaces that used to link to the Dojo provider interface now link
to the Angular one instead.

This patch also includes a mechanism for stopping navigation away
from a dirty provider or holdings tag form unless the user expressly
confirms that they want to abandon the unsaved changes.

This patch includes contributions by Mike Rylander and Jason Etheridge.

Sponsored-by: Evergreen Community Development Initiative
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
42 files changed:
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider-search-form.component.css [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider-search-form.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider-search-form.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider-search.service.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.module.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-addresses.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-addresses.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-attributes.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-attributes.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-contact-addresses.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-contact-addresses.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-contacts.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-contacts.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-details.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-details.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-edi-accounts.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-edi-accounts.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-holdings.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-holdings.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-invoices.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-invoices.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-purchase-orders.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-purchase-orders.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-record.service.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-results.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-results.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/resolver.service.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/routing.module.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.css [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.html [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.ts [new file with mode: 0644]
Open-ILS/src/eg2/src/app/staff/acq/routing.module.ts
Open-ILS/src/eg2/src/app/staff/acq/search/invoice-results.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/lineitem-results.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/purchase-order-results.component.html
Open-ILS/src/eg2/src/app/staff/admin/acq/admin-acq-splash.component.html
Open-ILS/src/eg2/src/app/staff/nav.component.html
Open-ILS/src/templates/menu.tt2
Open-ILS/src/templates/staff/admin/acq/t_splash.tt2
Open-ILS/src/templates/staff/navbar.tt2