Jason Boyer [Fri, 11 Sep 2020 16:43:20 +0000 (12:43 -0400)]
LP1849212: Correct upgrade script
Re-align permission ids and correct syntax errors in the course reserves upgrade script.
I'm not convinced the boolean_facet metabib class should exist simply to add "course reserves, Y/N?"
and in any case can not function as is because adding metabib field classes requires additional
field_entry tables which are missing from the seed data and upgrade script.
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 26 Aug 2020 22:51:32 +0000 (15:51 -0700)]
LP1849212: Improvements to the Simplified Marc Editor
* Templates can now set multiple subfields for the same field
* Templates can now set indicator values
* Editor now allows user to choose a MARC Form and Type
* Improvements to the course associate brief record interface
to use these improvements
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Wed, 26 Aug 2020 18:30:02 +0000 (11:30 -0700)]
LP1849212: Grid improvements
- Correcting some grid column labels
- Correcting ViewChild static flags, allowing grid refresh
- Also, remove the static: false flag, since it is no longer necessary
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Mon, 10 Aug 2020 03:03:26 +0000 (20:03 -0700)]
LP1849212: Improvements to course materials admin UI
- Better order for acmc fm-editor
- Add original item attributes to the course materials list
- trim whitespace from barcodes
- accessible labels in the course page
- refactor course users
- fix incorrect paths in course materials grid columns
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
- Apply Course Users functionality to Angular Course Page
Admin UI.
- 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
- Set datatype of is_public on Course User to 'bool' from 'boolean'
- Relabel is_public on Course User to "OPAC Viewable?"
- Undo removal of fm-editor in Course List
- 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.
- Improve visuals when logged in as administrator.
- 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> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Fri, 6 Dec 2019 07:17:53 +0000 (07:17 +0000)]
lp1849212: Course Admin Page and OPAC improvements
- 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.
- Add bannerStyle and bannerIcon parameters to
eg-staff-banner to improve eg-staff-banner
accessability
- Improve UX of Course Page
- Properly disable inputs and buttons when course
is already archived.
- Change links in Angular Catalog to navigate the user to the
Admin Course Page.
- Prevent users from associating duplicate items to a
course.
- Remove unnecessary artifact from course page html
- Implement Course column to view Course Numbers of classes associated
with individual copies.
- 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
- Provide Associated Course names and numbers on
OPAC Catalog search results.
- 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.
- 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]
- 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.
- Add a new tab for managing Users associated with
the course, in preparation for the User Dialog code.
- Remove excess whitespace on OPAC course page.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Mon, 25 Nov 2019 22:06:04 +0000 (22:06 +0000)]
lp1849212 Angular Catalog Course integration
- 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.
- Display associated courses on Search Results UI
- Move bulk of Associate Item funcitonality into Course Service
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Wed, 20 Nov 2019 22:30:06 +0000 (22:30 +0000)]
lp1849212: 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> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
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
Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Thu, 7 Nov 2019 18:38:04 +0000 (18:38 +0000)]
LP1849212: tidying up course reserves UIs
- Remove RowFlair and ClassCallback from Course Reserves
Grid.
- 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.
- 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.
- Move disassociation code into Course Service.
- Automatically disassociate items and return them
to their original state when deleting a course.
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
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.
Signed-off-by: Zavier Banks <zbanks@catalyte.io> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Kyle Huckins [Fri, 18 Oct 2019 18:05:57 +0000 (18:05 +0000)]
LP1849212: Course Reserves database and IDL
- Create MANAGE_RESERVES permission.
- 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.
- 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.
- Create IDL Class & Table for Course Materials
- Create IDL Class & Table for Non-Cataloged Course Materials
- YAOUS introduced to allow opting into the Course Materials
module functionality.
- Change instances of non-cat-course_materials to non_cat_course_materials
Signed-off-by: Kyle Huckins <khuckins@catalyte.io> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jane Sandberg [Sat, 12 Sep 2020 15:22:54 +0000 (08:22 -0700)]
LP1895395: Use Angular AOT compiler for ng build
As of angular 9, the angular documentation recommends using the AOT
compiler for ng build: https://angular.io/guide/ivy
This would provide a bit more consistency for developers (since some
errors only display in AOT, others only display in JIT, and we want to
make sure that the AOT in particular is error-free so that builds don't
break).
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
This modifies the database upgrade script to avoid overwriting the
existing templates if they have been differ from the default supplied
in the most recent seed data.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Michele Morgan <mmorgan@noblenet.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Galen Charlton [Fri, 3 Jan 2020 20:40:46 +0000 (15:40 -0500)]
LP#1749475: (follow-up) move admin interfaces from Local to Server
The spec called for the Event Definition Groups and Event Definition
Group Members admin interfaces to be put under Local Administration,
but the Angular local admin interfaces didn't exist when the feature
was originally submitted.
This patch also fixes "defintion" typos.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Because we are using positional arguments, but the position is off by
one due to the previous API, these arguments were difficult to assign
cleanly. This is an attempt to make it a little more legible, though
ultimately, we should strongly consider an options hash for the new
additions.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Dan Wells [Thu, 21 Feb 2019 16:08:33 +0000 (11:08 -0500)]
LP#1749475 Improve error handling in send_event_email_output
This code was borrowed from a few other places, so it still had the
$stat variable, but wasn't doing anything with it. We might as well
go a step further and borrow the error handling that variable is there
for.
Ultimately, email handling should probably moved out to a utility
function rather than spread about.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
Dan Wells [Thu, 21 Feb 2019 16:31:20 +0000 (11:31 -0500)]
LP#1749475 Protect against missing pubdate in biblio sort
The lack of date1 data in some records was causing this code to crash,
as an attempt was made to read textContent from nothingness. Similar
to the publisher code right above, let's protect against such cases.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
This commit provides new functionality for controlling and delivering print
and email bibliographic record export options.
Staff will be able to adjust existing and create new print and email formats
using the Action/Trigger infrastructure and the new Event Definition Group
capability.
Patrons will be able to choose from one of several formats, as configured by
staff, in which to receive one or more bibliographic records. Print and email
preview is made available for individual records via the existing links on the
record detail page, and for lists of records via new entry points on both the
Basket (anonymous list) and My Lists interfaces.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
LP#1778972: (follow-up) restore locale picker to the navbar
Previous patches had moved it to account preferences, and a copy
of the picker will remain there now, but Evergreen should not
require that a user log in or set their browser locale in order
to be able to pick among supported locales.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
LP#1778972: make it possible to translate the Bootstrap OPAC
This patch adds src/templates-bootstrap/opac to the i18n system, checks
in an initial POT file for the Bootstrap OPAC, and provides an example
of how to enable locales in the Apache configuration.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Owen Leonard [Tue, 8 Sep 2020 16:29:58 +0000 (12:29 -0400)]
LP#1778972: Tweaks and fixes to Bootstrap 4 template
- Add "aria-hidden" to Font Awesome icons as recommended by Font Awesome for accessibility.
- Minor changes to the color scheme.
- Some adjustments to the way alignment is defined: Bootstrap 4 classes like "text-center"
can be an impediment to customization because they use "!important." I've removed many
instances of such classes in favor of putting alignment in CSS.
- Ajustments to responsive behavior. I've made some changes to grid class definitions
to improve flexibility of layouts at various browser widths.
- Whitespace and other typo corrections. I've worked to remove trailing whitespace and
replace tabs with spaces.
Signed-of-by: Owen Leonard <zivot@zivotdesign.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jane Sandberg [Tue, 30 Jun 2020 00:41:45 +0000 (17:41 -0700)]
LP#1778972: (follow-up) use OILSWebTemplatePath to enable/disable the bootstrap OPAC
This commit also renames the directory that contains the bootstrap-based OPAC. With
the OILSWebTemplatePath, several redundant files also can be safely removed.
Adds a release notes entry describing how to enable this OPAC in eg_vhosts.conf.
Jane Sandberg [Sat, 12 Sep 2020 15:08:46 +0000 (08:08 -0700)]
Angular component properties must be public to be used in a template
The JIT compiler (used in ng build) doesn't mind when private properties
are used in templates. The AOT compiler (used in ng build --prod) does,
though. Marking these two properties as public allows ng build --prod
to complete.
Also removes some unnecessary imports.
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
Jason Boyer [Fri, 11 Sep 2020 22:17:48 +0000 (18:17 -0400)]
Antora build update
Remove the lunr-specific ui components as they're now included in
the default eg-antora repository. Organizations using their own
customized version of antora-ui should include the lunr supplemental
files as explained at
https://github.com/Mogztter/antora-lunr#enable-the-search-component-in-the-ui
Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
Dan Scott [Wed, 3 Jul 2019 18:19:42 +0000 (11:19 -0700)]
LP1517298: Basic Matomo Analytics support for tt2 files
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu> Signed-off-by: Rogan Hamby <rogan.hamby@gmail.com> Signed-off-by: Jason Boyer <JBoyer@equinoxinitiative.org>
LP#1777677: (follow-up) adjust test message buttons in registration form
This patch:
* moves the 'Send Test Email' button in the patron registration form
to cuddle next to the 'Invalidate' button
* disables the 'Send Test Email' button if the email address is
changed on the form
* disables the 'Send Test Text' button if the SMS carrier or
SMS text number is changed on the form
The point of the last two changes is to prevent staff members
from sending a test message prior to saving changes to the email
address or SMS number, as otherwise the test methods would not
have access to the new values.
Kyle Huckins [Mon, 14 Jan 2019 22:22:40 +0000 (22:22 +0000)]
lp1777677 Security tweaks
- Refactor test notification API to check if requestor
is user,and if not, then check if requestor has
permissions to view users at target user's home ou.
- Change event_def_type references to "hook"
- Separate out sendTestEmail and sendTestSMS functions
in frontend to prevent potential misuse of functionality.