Browser client sprint1 miscellaneous repairs

Bug #1402797 reported by Bill Erickson
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fix Released

Bug Description

Opening this generic ticket for tracking small repairs to the browser staff client. A lot of little bugs pop up which don't really warrant their own LP ticket. Seems better to list repairs here than toss stuff into IRC (as I have been).

Tags: pullrequest
Revision history for this message
Bill Erickson (berick) wrote :

Pushed branch:;a=shortlog;h=refs/heads/collab/berick/lp1402797-browser-client-s1-repairs

This contains various fixes I've already discussed in IRC, plus two new fixes.

1. Fixed more cases of dropdown not working on new versions angular-ui-bootstrap (egOrgSelector)

2. Fixes pickup lib filter in catalog -> View Holds interface so that selecting (for example) CONS shows all (descendant org unit) holds instead of none.

Revision history for this message
Mike Rylander (mrylander) wrote :


I've picked the 2 top commits into;a=shortlog;h=refs/heads/collab/miker/web-client-sprint1-bug-fixing-rebased-collab

There's a goodly pile of fixes in there for lots of UI glitches.

I want to draw attention to the end-run I had to do behind angular's back to get focus to stay in the most appropriate patron search element when expanding/collapsing/searching. I couldn't find a better way to handle that without a /lot/ more code, but I'm open to suggestions. Commits 974106ce7b8 and 302efe96 (thinko followup) are what I'm referring to.


Revision history for this message
Bill Erickson (berick) wrote :

Mike, I pushed a follow up commit to modify the patron search focus repairs to use Angular built-ins. The logic is the same, it just uses ng-mouseover and Angular's built-in $document object instead of window.document.;a=shortlog;h=refs/heads/collab/berick/lp1402797-patron-search-focus

Revision history for this message
Bill Erickson (berick) wrote :

For something completely different...

I've pushed a branch to support displaying noncat circulations in the patron items out display:;a=shortlog;h=refs/heads/collab/berick/lp1402797-browser-client-noncat-display

A couple of things to note...

1. They are displayed in a dedicated tab instead of inline with the other open circs, like the XUL client does. I did this because mixing objects of different types with different sources in a paged grid will get really funky. If they must be displayed together, we'll have to come up with some agreement on how to mix them into the paged circulation data.

2. To support paging and faster loading for noncat display, I added PCRUD access for noncat circs. The one complication of fetching them from pcrud instead of the old API is that we have to calculate the virtual due date on the client side now. For this, I added a new date.js module ( with an intervalToSeconds() function. (We need one of these for other stuff, anyway). It's cobbled together from other implementations, so eyes on that appreciated. It includes unit tests in test/unit/egDate.js.

3. With separated display, there's no way yet to print a combined list of open and noncat circs. There are various ways we could support this (e.g. a checkbox for "include noncats when printing"). Suggestions welcome.

Revision history for this message
Mike Rylander (mrylander) wrote :

Bill (and all testers using webby),

I've picked 5 commits from the above two branches into the working collab branch and deployed that to webby. Thanks!

Revision history for this message
Mike Rylander (mrylander) wrote :
Download full text (18.5 KiB)

Let's get fixes into master! Here's a listing of Sprint 1 fixes to date that are in my collab branch (;a=shortlog;h=refs/heads/collab/miker/web-client-sprint1-bug-fixing-rebased-collab ) and available for viewing and testing on (testing info and general notes/explanation inline, prefixed with ***):


*** This group does not seem to be working completely -- the non-cat tab is not updating without a full refresh of the interface

commit a378541ce3d9762cbbfb88923b15f24d8d7e85ae
Author: Bill Erickson <email address hidden>
Date: Wed Dec 31 16:05:53 2014 -0500

    LP#1402797 browser client noncat circ display

    Adds a new tab to the patron items out page for Non-Cataloged

    Signed-off-by: Bill Erickson <email address hidden>

commit 62d8c699c610c4b5f4c2e2a2ccf712dc9836dcb5
Author: Bill Erickson <email address hidden>
Date: Wed Dec 31 16:00:06 2014 -0500

    LP#1402797 browser client noncat counts in patron summary

    Signed-off-by: Bill Erickson <email address hidden>

commit b577d392a5e2974e59197aaf74396d3a73085823
Author: Bill Erickson <email address hidden>
Date: Wed Dec 31 15:28:48 2014 -0500

    LP#1402797 browser client interval parser

    Adds a new service on the core module for adding date handling
    utilities. Included in this commit is a new function:


    Includes Gruntfile additions and unit tests.

    Signed-off-by: Bill Erickson <email address hidden>

commit 0bb2523420b52fe90c7de0e1dcbacf2afa133057
Author: Bill Erickson <email address hidden>
Date: Wed Dec 31 15:26:03 2014 -0500

    LP#1402797 PCRUD access for noncat circs in IDL

    Signed-off-by: Bill Erickson <email address hidden>



*** Tested that "Payment Received" is empty and focused, as desired

commit c23303d1583d3265050ee7e4b6c2ddd9f7711378
Author: Galen Charlton <email address hidden>
Date: Fri Dec 26 22:46:31 2014 +0000

    use null as default payment amount

    This means that operator does not have to select the
    previous default of "0" in the control to clear it out.

    Signed-off-by: Galen Charlton <email address hidden>



*** Pickup Library dropdown on Holds for Record pane working now

commit f7c903d822878a272f363dc363264d11cfde902e
Author: Bill Erickson <email address hidden>
Date: Mon Dec 15 13:47:51 2014 -0500

    webby: catalog record -> view holds org filter repair

    Selecting a pickup library from the filter in the Catalog -> View Holds
    UI shows holds for the selected org unit and descendant org units.

    Signed-off-by: Bill Erickson <email address hidden>

commit 8febf3102c8860d88ffda0ddc7e94d207c5529d0
Author: Bill Erickson <email address hidden>
Date: Mon Dec 15 13:46:14 2014 -0500

    Repair browser client dropdown buttons - #2

    Repairs egOrgSelector.

    Angular-ui-bootstrap as of version ~0.11.2 does not want bare
    "dropdown-toggle" attributes within action link tags. When present,
    they prevent the dropdown button from opening.


tags: added: pullrequest
Revision history for this message
Mike Rylander (mrylander) wrote :

There are a few more fixes on this branch now:

 * Use staff search method in the record bucket search UI
 * Use staff-wrapper for view-record links (because the OPAC loses the header and footer for logged-in staff)
 * Make grid row count "sticky" per named grid

And some new features ... but that's a story for a different bug.

Revision history for this message
Kathy Lussier (klussier) wrote :
Download full text (3.7 KiB)

We've tested the all of the fixes identified in Mike's January 15 comment at All testing was done in both Firefox 35 and Chrome 40. Everything works as expected with the exception of the areas mentioned below:

* New tab to the patron items out page for Non-Cataloged Circulations and counts in patron summary - Just confirming what was already noted about requiring a full refresh of the interface to update.

* Pickup Library dropdown on Holds for Record pane working now - This works, but when you click to select the pickup library, the menu remains open. The user needs to click outside the menu to close it again.

* Better focusing for the patron record - The keyboard focus here is much improved, but we still came across one issue. If you expand the patron search form and move the cursor to one of the expanded search boxes (e.g. email), if you click to collapse the expanded view, you now lose the focus. Preferred behavior would be for the focus to return to the first box if it isn't already in one of the visible boxes. I don't know how doable this is because we don't want to shift the focus to that first box if it's already in a visible box.

* Column picker options - Based on various commit messages, I was expecting to see usr, requestor, patron barcode and patron alias on the holds pull list and to see check in and checkout workstations on circ interfaces (I tried check in and check out). However, I didn't see them.

* The status bar at the bottom of the screen floats above (and obscures) a variety of UI elements. - As we already discussed in IRC, our preference is to entirely remove the status bar.

* The user on an existing circ is /not/ delivered unless the patron attempting to check out the item is, in fact, that same user. So, we must fetch it directly if we don't receive it from the API call - WIth the bug fix, if I try to check out an item that is already checked out to another patron, I am now given the option to do so whereas the circ just died prior to the fix. So that looks good. However, I should make note of the fact that I no longer have an option to do a forgiving fines checkin and checkout from the popup window. Similarly, if the existing circ is for the same patron I'm attempting to check out the item to, the popup doesn't give me the option to renew the item.

* The penalty type dropdown is now labeled, and custom penalties are taken /instead of/ stock, when selected. - I added a custom penalty to webby. It displays in the dropdown, but I can't select it. Also, adding any kind of penalty from this interface doesn't seem to work.

* There was no "uncancel recently canceled hold" action, but now there is. - Indeed there is. However, in the current client, the recently-canceled holds interface only displays uncancel (not cancel), and the patron holds interface only displays cancel (not uncancel). In the web client, both options display in both interfaces, . Is it possible to do the same way as it's currently done in the xul client? I'm thinking it would minimize the accidental selection of the wrong cancel option.

* Add missing alert for invalid addresses on patron "stopsign" screen - I...


Revision history for this message
Jason Etheridge (phasefx) wrote :

I've pushed a fix to this branch (yay!):

commit 3619a206dc6c9611e6a1e6020d73042824dc5ba2
Author: Jason Etheridge <email address hidden>
Date: Fri Feb 6 16:33:51 2015 -0500

    change Retrieve Selected Patron

    to Retrieve Selected Patrons for Other -> Group Member Details interface

Revision history for this message
Kathy Lussier (klussier) wrote :

I have signed off on the code that I previously tested (everything up through January 8). The sign-off branch is at:;a=shortlog;h=refs/heads/user/kmlussier/web-client-sprint1-bug-fixing-signoff1

I'll test some of the other circ fixes soon and will sign off of them as soon as testing is done.

Revision history for this message
Bill Erickson (berick) wrote :

Pushed kathy's sign-offs (previously) and today pushed the remainder of the outstanding code (from;a=shortlog;h=refs/heads/collab/miker/web-client-28-rebase) to master.

Thanks, everyone. Should we leave this LP open for future sprint-1 repairs or is it time to move on?

Revision history for this message
Terran McCanna (tmccanna) wrote :

Adding another UI issue to this page (unless there is a better place to add it?) - the main page doesn't have a catalog search box in the "Item Search and Cataloging" column like the traditional staff client has. Front-line staff use that box frequently.

Revision history for this message
Kathy Lussier (klussier) wrote :

Hi Terran,

I would recommend adding that issue as a separate bug with a webstaffclient tag. That way, it can gather its own heat (I'll certainly add an "affects me too") and can have its own branch shared in the bug report.


Revision history for this message
Terran McCanna (tmccanna) wrote :

Thanks Kathy, I'll do that.

Revision history for this message
Ben Shum (bshum) wrote :

So since the last comment berick asked about leaving this open or closing the ticket and making individual bugs for further fixes.

Since we're mostly creating new LP entries for various fixes, I'm going to mark this bug as "fix committed" (actually fix released, to actually close the bug out per the actual push date of February 2015 making these fixes part of 2.8 series at least).

Changed in evergreen:
milestone: → 2.8.3
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.