I spent some time looking at how the AngularJS client's Quick Receive works. For anybody who takes this ticket, here are the broad strokes that I saw, in case it is helpful to you:
1) When Quick Receive is clicked, open a modal containing the egSubSelector/eg-sub-selector (subscription selector) directive. This directive is, in turn, made of an org selector and a PCRUD-generated list of subscriptions at that bib record and OU (and the OU's descendants). My impression is that it would be easy to address usability bug 1915567 while re-implementing this subscription selector in Angular.
2) When the user chooses the subscription they want, the AngularJS serials service's fetchItemsForSub method does some work to search for just the right serials items.
3) The item IDs get passed to the AngularJS serials service's process_items method, which ultimately sends a call to open-ils.serial.receive_items
At a casual glance, steps 2 and 3 seem to do a lot of work. Perhaps, rather than re-implementing them exactly in Angular, some of that logic could be done in Perl.
I spent some time looking at how the AngularJS client's Quick Receive works. For anybody who takes this ticket, here are the broad strokes that I saw, in case it is helpful to you:
1) When Quick Receive is clicked, open a modal containing the egSubSelector/ eg-sub- selector (subscription selector) directive. This directive is, in turn, made of an org selector and a PCRUD-generated list of subscriptions at that bib record and OU (and the OU's descendants). My impression is that it would be easy to address usability bug 1915567 while re-implementing this subscription selector in Angular.
2) When the user chooses the subscription they want, the AngularJS serials service's fetchItemsForSub method does some work to search for just the right serials items.
3) The item IDs get passed to the AngularJS serials service's process_items method, which ultimately sends a call to open-ils. serial. receive_ items
At a casual glance, steps 2 and 3 seem to do a lot of work. Perhaps, rather than re-implementing them exactly in Angular, some of that logic could be done in Perl.