Thanks for the branch, Chris! It does work in preventing staff from editing the precat owning library. However, there is a confusing feature in the UI: when staff attempt to modify the precat details in Item Status, they get the "Item(s) successfully modified toast", even though the items were not modified.
I wonder if the Perl code could throw an event if a staff member tries to edit an item with a call number with ID < 1, and then we could teach the AngularJS holdings editor to respect that event before sending the Broadcast channel (or it could send a failure notice along through the broadcast channel?). But that could also be split apart into its own separate bug.
Thanks for the branch, Chris! It does work in preventing staff from editing the precat owning library. However, there is a confusing feature in the UI: when staff attempt to modify the precat details in Item Status, they get the "Item(s) successfully modified toast", even though the items were not modified.
I wonder if the Perl code could throw an event if a staff member tries to edit an item with a call number with ID < 1, and then we could teach the AngularJS holdings editor to respect that event before sending the Broadcast channel (or it could send a failure notice along through the broadcast channel?). But that could also be split apart into its own separate bug.