Fix untranslatable strings in several dijits: AutoGrid, EditPane, FlattenerGrid, GridColumnPicker and HoldingCode. [LFW: One string amended in conflict resolution; commit message edited to wrap; one line of code moved (this.nls assignment in GridColumnPicker.js).] Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Link checker: Some UI tweaks suggested by George Duimovich - Make the "Filter" link above FlattenerGrids a button and not a link. - Instead of IDs as links in some grid columns, have the ID show up in plain text and have links with a more descriptive name sit next to the ID. - Correct the settings for saving grid columns on the Select URLs and Review Attempt interfaces. - Tiny i18n fixes (page titles) - Fix lack of horizontal scrollbar on Select URLs interface, and also fix the way that if you clicked on said scrollbar in a case where your grid was taller than your browser window, the page would automatically scroll up to focus on your grid header row, and you couldn't actually manipulate the horizontal scrollbar. We sadly pay for our horiz scrollbar with a doubled vertical scrollbar, but possibly someone can figure the Right way to fix such layout problems, which actually occur widely in similar interfaces in Evergreen. - Add buttons to download CSV on Select URLs and Review Attempt interfaces. Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Link checker: user interface and supporting fixes (part 2) Started verification review UI, also SCHEMA CHANGES It just doesn't work for me to not have url_verify.url directly related to url_verify.session. When dealing with the "root" URL in a redirect chain, you can get the related session through url_selector, but not when you have any later URL in the chain. The only way for IDL perms to work would be to have a link to a view using a CTE to find the "root" URL. That's too complex, so instead of that I've just added a session fkey on url_verify.url. Corrections to the preceding commit Vertical scrolling UI glitches fixed Fix broken display of verification attempt in progress Implement the "process immediately" switch, hitherto unhooked up Verify-all now means all-matching-my-search-terms, not necessarily all-in-uvs let's do filter sets a little more generalized-like Permission fixing Filter set loading works. Filter loading: gracefully skip unknown fields, remove inital empty row Saving filter sets Fix filter dialog for pkey fields, scrolliness issue, saved filters issue Pretty start page for staff client menu to land on Staff client menu entry User settings for saved columns Session cloning, working and rather tested show name of session on url select page ... ... and link back to that on review attempt page IN / NOT IN for filter somewhat working, but doesn't save/load yet Saving/loading filter rows for IN, NOT IN operators Printing Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Link checker: user interface and supporting fixes (part 1) Add open-ils.url_verify service to example OpenSRF configs ML methods to create sessions and do the searching/bucketing We can't use PCRUD to create url_verify.session objects because a) you couldn't trust the creator field if we allowed that, and b) the container foreign key has a not-null constraint, so you have to create that first, and you can't do that with PCRUD. I've removed the C, U and D perms for PCRUD for url_verify.session, but I left the R in case we wind up using that. Beginnings for the big session kick-off UI. Not yet functional. Get all search results, not just first 10 Check for session ownership and for previous searchitude Deal with moved publish_fieldmapper() method This is a companion commit to fac45ab9b1cb8924 / Move Fieldmapper API call to Application.pm Without it, Flattener and Action/Trigger stop working with errors like this: [Mon Aug 20 13:50:18 2012] [error] [client XXX.XXX.XXX.XXX] Exception: OpenSRF::EX::ERROR 2012-08-20T13:50:18 main -e:0 System ERROR: Exception: OpenSRF::DomainObject::oilsMethodException 2012-08-20T13:50:18 OpenSRF::AppRequest /usr/local/share/perl/5.10.1/OpenSRF/AppSession.pm:1064 <500> *** Call to [open-ils.fielder.flattened_search.execute.atomic] failed for session [1345485018.767884163.96534353976], thread trace [1]:\nNo field by the name publish_fieldmapper in Fieldmapper! at /usr/local/share/perl/5.10.1/OpenILS/Utils/Fieldmapper.pm line 270.\n\n\n\n, referer: http://XXXXXXX/eg/conify/global/actor/search_filter_group Use a perm that actually exists More UI work. Saved search selector & search scope OU selector & cosmetics Fix subtle Perl issue Not a syntax error that the compiler will catch, but see "perldoc -f do" which will lead you do "perldoc perlsyn" Buckets and their items aren't designed to be PCRUD accessible, so we need a handy view to link URL Verify Sessions to the bib contained. We can leverage this in flattener queries. Pretty much finished session create UI but for cloning Permisison fixing whitespace Fix previously nonfunctional stored procedure url_verify.extract_urls(INT,INT) Call URL extraction phase from UI Fix xpath generation to match what works Various fixes, largely UI Refactor create_session as dojo module. Fix IDL permissions that require jumps Essentials for URL selecting interface Verification sorta works A note about open-ils.url_verify.verify_url for future reference Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP #1092179 FlattenerGrid Filter dialog lead to clobbering grid's base query You could see this in the Simplified Hold Pull List interface. Using the filter dialog would refresh the grid and populate it with rows corresponding to your filters, but it would throw away your setting from the context org dropdown (labeled "Show the pull list for..." there). FlattenerGrid had a broken mechanism for trying to nicely mix a user's input from things like context org dropdowns with whatever they put into the filter dialog, and now that mechanism has been fixed. This also means a tiny change to the User Event Log interface to react to the slight change in FlattenerGrid's API. Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Ben Shum <bshum@biblio.org>
Simplified Hold Pull List: Fix broken filters Only two filterable fields were available, and at least one didn't even work. Now we have a few more, and they seem to all work for me in testing. This problem was reported to me by Thomas Berezansky. While we're at it, also make sure the list of shelving locations in that filter dropdown is sorted alphabetically. This was Kathy Lussier's request. Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Trigger Event Log A better, more browsy/filtery way to browse Action Trigger Events related to holds and circs, which staff users sometimes want to filter by patron barcode. This is accessed from various menus around the staff client, notably the patron interface and the item status interface. This has better printing capabilities than previous versions of this interface, too. There's also a new org unit setting to go with this, "circ.staff.max_visible_event_age", which if set, should hide any events older than the configured age. One new permission: VIEW_TRIGGER_EVENT. This does what it sounds like it does. Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> Conflicts (resolved): Open-ILS/src/sql/Pg/950.data.seed-values.sql Open-ILS/web/js/dojo/openils/widget/PCrudFilterDialog.js Signed-off-by: Mike Rylander <mrylander@gmail.com>
Flattener grid defines override args in constructor ...instead of the seconday load handler. Otherwise, the grid.overrideEditWidget, etc. containers may be undefined at page load time. Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Dan Scott <dan@coffeecode.net>
New pull list interface taking advantage of flattener for speed, and advanced sorting. For now, access it by the "Simplifed Pull List" button along the bottom edge of the existing holds pull list interface (but I think when/if this thing is widely accepted, it should replace the existing interface outright). With thanks to Mike Peters for testing an early version. Now including some updates requested by Thomas Berezansky. Specifically, the queue_position column and its relatives fthat come from the same calculation were removed, as they're [very] expensive in computing time to produce and generally useless to pull lists. One exception to the characterization of those fields as "useless" is the "number of potential copies" column, which we should add back later assuming we can find a fast way to do it rather than the previous ways, which were slow. Thanks to Bill Erickson for helping fix my issues in making auto-generated columns coƶperate with the column picker (his changes are squashed into this). I think it's finally right. Now with release notes. Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
FlattenerGrid (re)honors IDL column labels as default Linking the GridColumnPicker to FlattenerGrid killed the ability for the FlattenerGrid to fall back to the IDL column label when no label was defined in the markup. This change adds a reloadStructure operation to GridColumnPicker. FlattenerGrid uses this to pass the updated column labels (and any other changes) to gridcolumnpicker, which then updates the grid display to match. Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Flattened searching: generalized data retrieval via public service For a better overview of what this feature is about than what I could write here, see docs/TechRef/Flattener/design.txt in this commit. This is the first new feature (as far as I know) to take advantage of PCRUD fleshing. Very briefly, imagine issuing a query to PCRUD with lots of arbitrarily deep fleshing, and getting back a set of flat rows with the fields you need for display/editing/whatever all neatly picked out as if ready to be displayed in a table or grid-based UI. FlattenerGrid, which knows how to use this, can potentially replace and avoid lots of relatively complex (AutoGrid + custom middle layer methods)-powered interfaces. AutoGrid interfaces that just work with one fieldmapper class at a time, more or less, can just keep doing what they're doing. Little or no advantage to switcihing to flattened data in that case. FlattenerGrid is CRUD-complete and has lots of the same features as AutoGrid, where they make sense, such as the line numbers, checkboxes, the columnpicker, multisort, etc. Sample instance at Open-ILS/exmpales/flattener_test.tt2 . Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com> Signed-off-by: Bill Erickson <berick@esilibrary.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>