Kyle Huckins [Mon, 9 Dec 2019 00:01:44 +0000 (00:01 +0000)]
OPAC Course Search Page
- Implement Course Search OPAC page, based on Advanced Catalog
Search
- Edit Searchbar to include entry for Course Search
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/perlmods/lib/OpenILS/Application/Circ.pm
modified: Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
modified: Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Course.pm
new file: Open-ILS/src/templates/opac/course/results.tt2
new file: Open-ILS/src/templates/opac/course_search.tt2
modified: Open-ILS/src/templates/opac/css/style.css.tt2
new file: Open-ILS/src/templates/opac/parts/course_search/global_row.tt2
new file: Open-ILS/src/templates/opac/parts/course_search/qtype_selector.tt2
modified: Open-ILS/src/templates/opac/parts/searchbar.tt2
Kyle Huckins [Thu, 12 Dec 2019 21:57:34 +0000 (21:57 +0000)]
View Course Information on the Item Record
- Users with the MANAGE_RESERVES permission who are opted
into the course module can view a new Course Info tab on
the item record.
- Course Info tab displays a list of all courses(with link
to the Admin Course Page) item is associated with, and a
list of all instructors associated with those courses.
- Improvements to open-ils.circ.course_users.retrieve.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/perlmods/lib/OpenILS/Application/Circ.pm
new file: Open-ILS/src/templates/staff/cat/item/t_course_pane.tt2
modified: Open-ILS/src/templates/staff/cat/item/t_view.tt2
modified: Open-ILS/web/js/ui/default/staff/cat/item/app.js
Kyle Huckins [Thu, 12 Dec 2019 20:55:38 +0000 (20:55 +0000)]
Reinstate fm-editor in Course List
- Undo removal of fm-editor in Course List
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.html
Kyle Huckins [Tue, 10 Dec 2019 22:09:49 +0000 (22:09 +0000)]
Angular Course Page Improvements
- Condense Course User functionality into its own component,
usable as a dialog and inline.
- Condense Course Material functionality into its own component,
usable as a dialog and inline.
- Add Return to Course List button
- Move Archive Course button above tabs
- Allow Editing of Course Users and Materials
Zavier Banks [Mon, 9 Dec 2019 16:52:39 +0000 (16:52 +0000)]
LP1849212 Associtate and Disassociate Course With Instructors
Creating a component that associates and disassociates instructors with
courses using the course list.
Kyle Huckins [Sun, 8 Dec 2019 04:37:47 +0000 (04:37 +0000)]
Associate Materials Updates
- Ensure Shelving Location input checkbox
ticks when selecting a value.
- Ensure temporary value inputs are not
cleared when entering a new item.
- Fully select contents of Barcode input
field when selected.
- Clear bBarcode input upon hitting enter.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-material.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-material.component.ts
Kyle Huckins [Sun, 8 Dec 2019 00:07:26 +0000 (00:07 +0000)]
Course Page
- Perl Module and Course Page displaying name and course
number of course, as well as names/roles of publicly viewable
members, course details, and a table of all materials associated
with the course.
- URL listed as eg/opac/course/[COURSE_ID]
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/perlmods/lib/OpenILS/Application/Circ.pm
modified: Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
new file: Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Course.pm
new file: Open-ILS/src/templates/opac/course.tt2
modified: Open-ILS/src/templates/opac/css/style.css.tt2
new file: Open-ILS/src/templates/opac/parts/course/body.tt2
Kyle Huckins [Sun, 8 Dec 2019 00:03:33 +0000 (00:03 +0000)]
IDL Tweaks for Course Users
- Fixed typo for User Role field, now matcheing DB column, usr_role
- Added boolean "is_public" to differentiate between a role that
should be viewable by anyone on the OPAC.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/examples/fm_IDL.xml
Kyle Huckins [Sat, 7 Dec 2019 07:37:23 +0000 (07:37 +0000)]
Course Materials Record Column
- Add a record column to course_module_course_materials
to improve efficiency of API and service methods.
- Add previous circ_modifier adjustments to upgrade script
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/examples/fm_IDL.xml
modified: Open-ILS/src/eg2/src/app/staff/share/course.service.ts
modified: Open-ILS/src/sql/Pg/040.schema.asset.sql
modified: Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
Kyle Huckins [Fri, 6 Dec 2019 19:18:19 +0000 (19:18 +0000)]
Course Page Tab Bugfix
- Remove unnecessary artifact from course page html
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.html
Kyle Huckins [Fri, 6 Dec 2019 07:17:53 +0000 (07:17 +0000)]
Course Admin Page
- Double-clicking on a course in the Course Reserves List will
up a dedicated admin page for an individual course, featuring
tabs for Editing and managing Course Materials.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-list.component.ts
new file: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.html
new file: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.ts
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-reserves.module.ts
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/routing.module.ts
modified: Open-ILS/src/eg2/src/app/staff/share/course.service.ts
Kyle Huckins [Mon, 25 Nov 2019 22:06:04 +0000 (22:06 +0000)]
lp1849212 Angular Catalog Show Link to Course
- Add a column retrieving the names of courses linked to materials
when opted into the Course Reserves functionality.
- Expand the bib record summary when opted in to display all courses
associated with an item.
Changes to be committed:
modified: Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-reserves.module.ts
modified: Open-ILS/src/eg2/src/app/staff/catalog/record/copies.component.html
modified: Open-ILS/src/eg2/src/app/staff/catalog/record/copies.component.ts
modified: Open-ILS/src/eg2/src/app/staff/common.module.ts
modified: Open-ILS/src/eg2/src/app/staff/share/bib-summary/bib-summary.component.html
modified: Open-ILS/src/eg2/src/app/staff/share/bib-summary/bib-summary.component.ts
modified: Open-ILS/src/eg2/src/app/staff/share/course.service.ts
Kyle Huckins [Wed, 20 Nov 2019 22:30:06 +0000 (22:30 +0000)]
Archive Courses
- Implement functionality to archive a course via the
admin course reserves list UI.
- Disassociate all items from a course and reinstate
their original fields if temporary fields were applied,
upon course archival.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/examples/fm_IDL.xml
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-list.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-list.component.ts
modified: Open-ILS/src/sql/Pg/040.schema.asset.sql
modified: Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
Kyle Huckins [Tue, 19 Nov 2019 21:18:44 +0000 (21:18 +0000)]
Temporary Fields upon Association/Disassociation
- Optionally apply temporary Call Number, Circ Modifier, Item
Status, and Shelving Location when associating an item with a
course.
- Reapply original values of the above-mentioned fields when
disassociating an item from a course.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/examples/fm_IDL.xml
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-associate-material.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-associate-material.component.ts
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-reserves.module.ts
modified: Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
Kyle Huckins [Wed, 13 Nov 2019 18:23:08 +0000 (18:23 +0000)]
View Course Materials Dialog
- Implement dialog to view course materials associated with
a particular course in the course list admin UI.
- Implement actions to associate and disassociate materials with
a specific course.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
new file: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-associate-material.component.html
new file: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-associate-material.component.ts
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-list.component.html
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-list.component.ts
modified: Open-ILS/src/eg2/src/app/staff/admin/server/course-reserves/course-reserves.module.ts
Adds a new item location select component which filters the list of
displayed locations based on a permission-check org or a specific
context org unit.
Values in the selector are decorated with the org unit short name in
parens after the location name to clarify the owning lib.
Adds a readonly record detail view to the OPAC. This is used by the
Angular catalog Patron View tab to present a version of the OPAC where
all links, buttons, and inputs are disabled.
Dynamically style the height of the embedded iframe to prevent nested
scroll bars in the Patron View.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Bill Erickson [Mon, 21 Oct 2019 14:41:15 +0000 (10:41 -0400)]
LP1849137 Staff catalog Patron View tab
Adds a tab to the Angular staff catalog record detail page which
displays an embedded display of the patron OPAC view of the record
detail page. This replaces the View In Catalog button.
The iframe is not linked or tied into the parent Angular app in any way.
It's just an iframe with a source.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Garry Collum <gcollum@gmail.com> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Zavier Banks [Thu, 24 Oct 2019 18:26:40 +0000 (18:26 +0000)]
LP#1849212 Course List Ui
Added a grid component that displays the available data, specified
by the class, while also modifying the routing, so the admin splash
page links to the created component.
Kyle Huckins [Fri, 18 Oct 2019 21:43:31 +0000 (21:43 +0000)]
Course Materials Module - Course Members
- Add IDL Class and asset table to map actor.usr and
asset.course_module_course, along with an optional
string value for the user's role in the course. If
desired, this can later be fleshed out into a separate
course role table.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/examples/fm_IDL.xml
modified: Open-ILS/src/sql/Pg/040.schema.asset.sql
modified: Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
- Create IDL Object for Courses.
- Create table within asset schema for Courses, containing an id,
a name, a course number, a section number, and an owning library.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/examples/fm_IDL.xml
modified: Open-ILS/src/sql/Pg/040.schema.asset.sql
renamed: Open-ILS/src/sql/Pg/upgrade/XXXX.data.manage-reserves-permission.sql -> Open-ILS/src/sql/Pg/upgrade/XXXX.schema.course-materials-module.sql
Kyle Huckins [Fri, 18 Oct 2019 18:05:57 +0000 (18:05 +0000)]
Course Reserves Permission
- Create MANAGE_RESERVES permission.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io>
Changes to be committed:
modified: Open-ILS/src/sql/Pg/950.data.seed-values.sql
new file: Open-ILS/src/sql/Pg/upgrade/XXXX.data.manage-reserves-permission.sql
Bill Erickson [Tue, 22 Oct 2019 17:52:56 +0000 (13:52 -0400)]
LP1830973 Angular 8 org family test spec repair
The test runner does not like that the test expectations are wrapped in
the fixture.whenStable promise. It reports an error, since no
expectations occur in line with the test:
ERROR: 'Spec 'Component: OrgFamilySelect allows user to turn off
includeDescendants checkbox' has no expectations.'
As the whenStable checks do not appear to be necessary, simply removing
them resolves the issue and allows the tests to succeed.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Dan Wells [Tue, 22 Oct 2019 14:55:41 +0000 (10:55 -0400)]
LP#1846038 Remove extra grid refresh from configuration load
Bug LP#1790169 added the ability to save sorting configuration, but it
also added an additional grid refresh to the configuration load. This
breaks grid loading.
The expected flow is for is to first load any existing configuration,
then do the first collect() for the grid. This refresh() call adds
potentially a second collect() which may run earlier than it should,
and overall does not seem necessary.
To test:
(Make sure you are testing on current master or rel_3_3/3_4, or you
will (like me) hit related bugs which have been fixed. Also, some
grids (especially circ) do not honor sort for other reasons, so avoid
those for now.)
1) Find a grid which has a typical get() process. Suggestion would be
a basic auto grid, such as full bill details,
https://localhost/eg/staff/circ/patron/11/bill/43/details .
2) Set a sort value you can see, then *save* the configuration.
3) Before the patch, billing details grid doesn't load. After patch,
grid loads and still honors the defined sort.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Remington Steed <rjs7@calvin.edu> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Tue, 22 Oct 2019 21:32:07 +0000 (17:32 -0400)]
LP#1849506: Remove "Install latest LTS node from source" docs
We install specific versions of node using the -developer Makefile
targets; rely on that instead of potentially leading people astray with
the wrong version of node as time marches on.
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Boyer [Tue, 22 Oct 2019 16:51:15 +0000 (12:51 -0400)]
LP1845693: Test Angular(JS) with modern browsers
Rather than using PhantomJS to test Angular(JS),
we can use all supported browsers for the web client.
Currently this is Firefox and Chrom(ium).
Because of the number of dependencies this also
requires that testing is removed from the standard
build instructions and only done in specific testing
environments or on developer machines.
Signed-off-by: Jason Boyer <JBoyer@eoli.info> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Lp 1835620: Require some Storage submodules instead of use them
Switch from "use" to "require" for submodules in OpenILS::Application
::Storage::CDBI and OpenILS::Application::Storage::Driver::Pg.
Circular dependencies and other issues cause the following errors at
compile time for those modules:
Compilation failed in require at
/usr/local/share/perl/5.28.1/OpenILS/Application/Storage/CDBI.pm line
9.
Compilation failed in require at
/usr/local/share/perl/5.26.1/OpenILS/Application/Storage/Driver/Pg.pm
line 15.
Require loads the submodules at run time and does not attempt to
import any methods. This is the behavior we want, eliminates the
above errors, and everything still works.
Add comments above the required modules explaining why require is
needed and not use.
Enable and reorder all of the tests in Open-ILS/src/perlmods/t/
09-OpenILS-Application-Storage-Driver.t. Repairing the above issue
also repairs these tests.
Signed-off-by: Jason Stephenson <jason@sigio.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org>
When checkout out non-cataloged items in the offline interface,
the receipt will now print 'Non-cataloged item' and the number
of items rather than printing nothing.
Signed-off-by: Terran McCanna <tmccanna@georgialibraries.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Bill Erickson [Tue, 22 Oct 2019 19:54:13 +0000 (15:54 -0400)]
LP1849372 Close all open dialogs on Angular route change
On all angular route changes, force close any open dialogs, since it
makes little sense for them to persist across interfaces.
To test:
[1] Navigate to Server Administration
[2] Navigate to Age Hold Protection Rule Configuration
[3] Double-click a grid row to open an edit dialog
[4] Click browser back button to return to the Server Admin page
[5] Confirm edit dialog closes once the navigation is complete.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Jason Boyer [Tue, 22 Oct 2019 13:18:29 +0000 (09:18 -0400)]
LP1825403: Do not Include Tag Owner in Tag
Copy tags were accidentally having their owning
location shortname included in the tag values,
this patch allows the owner to be displayed but
not included in the value used.
Signed-off-by: Jason Boyer <jboyer@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Remington Steed [Mon, 21 Oct 2019 20:56:31 +0000 (16:56 -0400)]
Docs: Fix image syntax in Authority Browse infrastructure docs
There are two image references in the docs section "Infrastructure
Changes to Authority Browse" that use incorrect AsciiDoc syntax, and
therefore the images don't display in the docs. This commit fixes them
(changing "images::" to "image::", removing the "s").
Jane Sandberg [Wed, 9 Oct 2019 19:25:17 +0000 (12:25 -0700)]
LP1816475: Change calendar_today icon to event icon
The locally served calendar_today icon doesn't look good in buttons
(like the date-select and datetime-select component buttons). But the
event icon looks very similar, and doesn't have the same negative
effects when placed in buttons.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 9 Oct 2019 18:42:08 +0000 (11:42 -0700)]
LP1816475: use [routerLink] instead of href in Angular app
Using <a href=""> forces a reload of the Angular app in the user's
browser, which substantially slows down the experience. This commit
changes some href attributes to routerLink directives in the booking
navigation menu.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Bill Erickson [Mon, 5 Aug 2019 21:58:41 +0000 (17:58 -0400)]
LP1830973 Angular reversioning script
Script for rebuilding the dependencies for the Angular app. This is
useful both for major Angular upgrades or just for simply refreshing the
deps on the current version to ensure everything is up to date, but not
so up to date is breaks Angular compatibility.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Chris Sharp <csharp@georgialibraries.org>