lp1846354 changes to IDL, DB, and upgrade script
authorJason Etheridge <jason@EquinoxInitiative.org>
Wed, 8 Jan 2020 14:02:52 +0000 (09:02 -0500)
committerMike Rylander <mrylander@gmail.com>
Tue, 8 Sep 2020 19:20:27 +0000 (15:20 -0400)
commit9fd5fa72f2aab6008875bf8754a86727805c9af2
tree4a27d2f82bfbd4eb10912c76e51eac5bf5943fa4
parent518d59f7fbf8df520b940315ee5c55b9376d5823
lp1846354 changes to IDL, DB, and upgrade script

A new view actor.usr_message_penalty and associated IDL entry will be created
for use with populating the staff Messages interface.  It will perform a full
outer join between penalties and user messages.

The default IDL permissions for user messages will remain VIEW_USER and
UPDATE_USER.

The view that populates the Message Center will be changed slightly to ensure
that staff-only messages are never retrieved for patrons.  The Date column in
the grid/list view will show the edit_date value if populated in lieu of the
create_date value.  The message view will explicitly show an Edit Date label and
value below the Date row if set.

The actor.usr_message table will gain a new boolean column called pub, which
will default to false.

The actor.usr_message table will also gain a stop_date column for handling
archival as with standing penalties.

The actor.usr_message table will also gain editor and edit_date columns.

The actor.usr_message_limited view will be changed to only include rows where
pub is true.

As part of the upgrade script, Patron alert messages will be migrated as
ALERT_NOTE penalties and linked User Messages.  A database assertion will ensure
that this has happened prior to the removal of the alert_message field from the
actor.usr table.  The field will also be removed from the corresponding IDL
entry.  The sending_lib column for these user messages and the org unit field
for these penalties will be set to the top org from the org hierarchy.

Also, non-public entries in the actor.usr_note table will be migrated as
non-public User Messages. Subject to a database assertion that this has
happened, the table actor.usr_note and the actor.convert_usr_note_to_message
trigger will be removed.  The corresponding IDL entry will also be removed.  The
sending_lib column for these user messages will be set to the top org from the
org hierarchy.

Also, rows from actor.org_unit_setting for
ui.staff.require_initials.patron_info_notes will be migrated to
ui.staff.require_initials.patron_standing_penalty.  Collisions will be recorded
in a text file but otherwise dropped.  The row in config.org_unit_setting_type
for ui.staff.require_initials.patron_info_notes will then be removed.  The label
and description for ui.staff.require_initials.patron_standing_penalty in
config.org_unit_setting_type will be edited to reflect the Notes/Penalties
labeling from the UI.

The actor.usr_standing_penalty table and associated IDL entry will gain a
foreign key column linking to actor.usr_message called usr_message, and the note
column itself will be migrated to User Messages.  The usr_message field on the
penalties will be updated accordingly.  Subject to a database assertion that
this has happened, the note field on the actor.usr_standing_penalty table will
be removed.  The corresponding IDL entry will also be removed.  The sending_lib
column for these user messages will be set to match the org_unit column from
their associated penalties.

Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/sql/Pg/005.schema.actors.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.note_and_message_consolidation [new file with mode: 0644]