Galen Charlton [Thu, 11 May 2017 15:29:25 +0000 (11:29 -0400)]
LP#1673857: add ability to set copy tags in volume/copy editor
The copy editor now has a 'Copy Tags' button that can be used
to assign or remove tags from a copy. A typeahead widget is
used to allow the user to select an existing tag, but users can
also use this interface to create an entirely new tag on the fly.
Galen Charlton [Wed, 29 Mar 2017 20:15:31 +0000 (16:15 -0400)]
LP#1673857: teach catalog how to search and display copy tags
When the opac.search.enable_bookplate_search library setting is
set to true, the catalog will display a "Digital Bookplates" search
field in the drop-downs on both the search bar and the advanced search
page. Using this will add a "copy_tag(*, search_terms)" filter
to the search, i.e., all visible copy tags will be searched regardless
of type. Users can also use the copy_tag() search filter directly.
Visible copy tags are displayed in the copy table in the record
summary page. Note that copy tags are displayed regardless of whether
or not opac.search.enable_bookplate_search is on or off.
These are methods to retrieve the set of copy tags associated
with a copy, scoped to an OU and its descendents at a
optional depth. The .staff version includes both
public and non-public notes (and requires STAFF_LOGIN
permission).
Copy tags can be used as a search filter in the catalog. Two
variations are supported:
* copy_tag(type_code, search_terms)
Search for records that have copies that are linked to tags
whose value matches the search terms and whose type's
config.copy_tag_type.code matches the specified
type_code. E.g., "copy_tag(bookplate, donated by jane smith)"
* copy_tag(*, search_terms)
Search for records that have copies that are linked to tags
whose value matches the search terms, regardless of type.
The copy_tag() search filter takes the OPAC-visiblity (as determined
by asset.copy_tag.pub) of the tag into account.
Galen Charlton [Fri, 17 Mar 2017 21:46:37 +0000 (17:46 -0400)]
LP#1673857: schema, IDL, library settings & perms for copy tags
Three new tables are added to store copy tags:
* config.copy_tag_type
Defines types that can be used for distinguishing between
classes of copy tags when searching the catalog. The
seed data includes a 'bookplate' type by default. The new
permission ADMIN_COPY_TAG_TYPES controls C/U/D access to this
table.
* asset.copy_tag
The actual copy tag values. Copy tags have both labels and values,
and since at least one interface allows creating copy tags
on the fly, a trigger will set the value of a new tag
to its label if the value is null. asset.copy_tag also has a flag
for setting whether given tag should be searchable (and visible)
in the public catalog or not. The new permission ADMIN_COPY_TAG
controls C/U/D access to this table.
* asset.copy_tag_copy_map
This stores the link between copies and their tags. Only the
UPDATE_COPY permission is required in order to set tag mappings.
The new library setting is opac.search.enable_bookplate_search, which
controls whether or not to display a "Digital Bookplate" entry in the
catalog search fields dropdowns.
Mike Rylander [Tue, 14 Feb 2017 20:59:53 +0000 (15:59 -0500)]
LP#1664715: Hold ratio template ignores some copies
The relatively new report template "Hold/Copy Ratio per Bib and Pickup Library
(and Descendants)" only includes copies that are at locations that are
actually pickup libraries of holds. For instance, if you have two branches (A
and B) in a system, each with 10 copies attached to a bib, but a hold only at
branch A, the ratio calculated at the system level sees 10 copies rather than
twenty. This has the effect of inflating the hold side of the hold/copy ratio.
The SQL definition is adjusted here to count copies across the entire branch
of the org tree per bib, rather than through a join that restricts to those
branches that are pickup libraries for a relevant hold.
Upgrade note: Report templates using the Hold/Copy Ratio at Pickup Library
and Descendants data source will need to be re-created to benefit from this
bug fix.
LP#1705731: background batch MARC edits now report status less verbosely
Rather than repeatedly inserting and fetching potentially
very large arrays of per-record status statements from the
anon cache, batch MARC edits that are run in the background
now report counts.
This patch changes how open-ils.cat.container.template_overlay.background
populates the anonymous cache; note that streaming status updates
if calling open-ils.cat.container.template_overlay instead are
*not* changed.
To test
-------
[1] Set up a MARC Batch Edit run using a reasonably large bucket
as a source records.
[2] Verify that progress is reported correctly during the run.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Cesar Velez [Thu, 29 Jun 2017 17:27:40 +0000 (13:27 -0400)]
LP#1668314 - Webstaff make marcEditor's flateditor checkbox sticky
Just followed the same pattern of using $watch and localstorage
to store a boolean for FlatEditor checkbox. Made $scope.flatEditor
be an object wrapping an isEnabled :bool to avoid *future* ng-if
parent scope issues that could (potentially) occur.
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Adjust to zero was not actually adjusting to zero on negative balances
in at least some cases. This patch corrects that behavior.
Test plan:
[1] Generate multiple overdue billings on an overdue circ.
[2] Apply a payment (cash or forgive) to resolve the overdue billings.
[3] Checkin the item using backdated checkin or amnesty mode, such that
the overdue billings are automatically voided, resulting in a
negative balance.
[4] Adjust to zero. A single new manual adjustment billing is created,
reinstating one overdue billing, and then the adjust-to-zero process
exits. The negative balance has been reduced by the amount of one
overdue billing, rather than being fully adjusted to zero.
[5] Apply the patch and restart services.
[6] Repeat steps 1-3 with a new circulation.
[7] Adjust to zero. This time, the balance should be correctly adjusted
to zero, instead of exiting prematurely with an outstanding
negative balance.
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Dan Wells <dbw2@calvin.edu>
Cesar Velez [Mon, 10 Jul 2017 20:47:26 +0000 (16:47 -0400)]
LP#1702756 - WebStaff fix for bug that was introduced by 997e2772
While addressing LP#1696495 fixed the bug of user settings caching
improperly between patron edits, it caused an issue when the regctl
was loaded for registering a new patron. This corrects that.
Rogan Hamby [Fri, 9 Jun 2017 18:44:12 +0000 (14:44 -0400)]
LP#1697066: changing copy location search box from 3 to 4
This patch makes the number of options displayed in the
shelving location selector on the public catalog advanced
search page 4, matching the other selectors.
The copy details table was styled to not wrap, which sometimes pushed table
contents off the page, particularly when some of the copies are conjoined
items. This commit removes the style that was preventing wrapping.
Test plan:
Load record 15 in the Concerto dataset. Before the patch is loaded, you'll
see that some of the content in the copy details table is pushed off the
screen and requires horizontal scrolling. Post-patch, all of the copy
details will display on screen without horizontal scrolling. In addition
to the change in the Conjoined Items, you also might see some text wrapping
in the Shelving Location and Status columns.
Jason Boyer [Fri, 14 Jul 2017 19:01:09 +0000 (15:01 -0400)]
LP1704463: Item Status Fields Correction
The Loan Duration and Fine Level fields were
being incorrectly pulled from unrelated fields
on the most recent circ rather than the item.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Cesar Velez [Thu, 8 Jun 2017 15:33:31 +0000 (11:33 -0400)]
LP#1677000 - webstaff Adds a 'has-notes visual indicator' for patrons with notes.
Made the indicator be clickable and route to Other->Notes.
Other ways to address this not mentioned in LP would be
using a glyphicon instead, or moving the Notes submenu item out of Others tab.
Or even making the entire tab/menu be resposive, and collapsing into an Others submenu
only when needed.
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org>
Avoid 'grunt test' failure "Unknown provider: $routeProvider" resulting
from $routeProvider references in startup.js (egCoreMod) without first
loading the ngRoute module.
$routeProvider is not needed by the original patch.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
When trying to utilize the Recall functionality, Evergreen would fail to update
targeted circulations (truncate the due date, etc.) In the logs, we would have
an error like this:
[] open-ils.storage [ERR ::action.pm:1597:] Processing of hold failed:
Can't locate object method "workstation" via package "action::circulation" at
/usr/local/share/perl/5.14.2/OpenILS/Application/Storage/CDBI.pm line 181.
We first tried adding the workstation column to Storage/CDBI/action.pm, but a
similar message would then appear instead: Can't locate object method
"checkin_workstation"
This sidesteps the problem entirely.
Thanks to Mike for the solution!
Signed-off-by: Jason Etheridge <jason@EquinoxInitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Dan Scott [Fri, 26 Jul 2013 04:05:49 +0000 (00:05 -0400)]
LP#1205190: TPAC: Improve style.css to reduce warnings
* Improve specificity: use background-image (for gradients) or
background-color (for color) instead of just background, because we
are only specifying the image or color, and not the rest of the
background properties.
* Declare the background-color first, followed by the background-images;
these will only override if recognized by the browser.
* Declare the standard (unprefixed) CSS linear-gradient last to prevent
prefixed browser quirk versions from overriding the standardized form.
* Remove the -moz- prefix from -moz-border-radius as that has not been
supported by Gecko since Firefox 13.0; just plain border-radius now.
* Fix bad selector ##rdetail_extras_expand (only one #, please).
Signed-off-by: Dan Scott <dan@coffeecode.net> Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/templates/opac/css/style.css.tt2
Pasi Kallinen [Thu, 1 Aug 2013 08:21:17 +0000 (11:21 +0300)]
LP#1205190: quiet some CSS Mozilla extensions warnings.
* -moz-dialog-text is actually -moz-dialogtext
* -moz-outline is deprecated, use outline
* -moz-border-radius has been removed, use border-radius
* -moz-border-radius-topleft (etc) are now border-top-left-radius
* Fix some other CSS errors.
Avoid forcing a refresh of Items Out grids in cases where the grids will
automatically refresh as a new grid is instantiated. This prevents the
code from calling redundant data collection APIs, resulting in local
cache's with duplicate data sets.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Bill Erickson [Thu, 29 Jun 2017 15:55:26 +0000 (11:55 -0400)]
LP#1697954 Items out pre-fetch renders selected range
Items out and noncat items out grids now only render the selected range
of transactions, instead of the full set collected for client-side grid
sorting.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
* Teach browser client code to use the new flesh options. This reduces
the number of API calls significantly for rendering holds grids.
* Add debug logging to existing local-flesh calls to indicate when/if
additional API fleshing may be needed.
* Remove TODO comment about batching holds to avoid cstore exhaustion,
which was fixed with LP#1653001. However, leave the batching in place
since it noticeably improves UI responsiveness, at the cost of a few
extra API calls.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Mike Rylander <mrylander@gmail.com>
Mike Rylander [Wed, 14 Jun 2017 15:53:11 +0000 (11:53 -0400)]
LP#1697954: Enable clientsort for user items out lists
These will generally be small, so we'll fetch all the data to support client-
side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 14 Jun 2017 15:51:53 +0000 (11:51 -0400)]
LP#1697954: Enable clientsort for user holds lists
These will generally be small, so we'll fetch all the data to support client-
side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
This list is filled by the user, so it's safe to use client-side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 14 Jun 2017 16:07:52 +0000 (12:07 -0400)]
LP#1697954: Provide custom comparator for sorting money on renew
mbts.balance_owed often arrives as a string, so we provide here a custom
comparator function that runs the values through parseFloat() before comparing
them.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
This list is filled by the user, so it's safe to use client-side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
This list always retreives all data, so it's safe to use client-side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 14 Jun 2017 16:11:27 +0000 (12:11 -0400)]
LP#1697954: Provide custom comparator for sorting money on checkin
mbts.balance_owed often arrives as a string, so we provide here a custom
comparator function that runs the values through parseFloat() before comparing
them.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
This list is filled by the user, so it's safe to use client-side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 14 Jun 2017 15:47:48 +0000 (11:47 -0400)]
LP#1697954: Enable clientsort for item status list
This list is filled by the user, so it's safe to use client-side sorting.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Mike Rylander [Wed, 14 Jun 2017 15:32:36 +0000 (11:32 -0400)]
LP#1697954: Provide client-side sorting for grids that can use it
There are several grids (items out, checkin, checkout, item status, etc) that
could benefit from the ability to sort their items, but either the data
provider uses a complex data structure or an API call that doesn't offer
sorting, or the item list is populated by user input rather than a call to the
server. In those cases, sorting is not available. However, if we know that
all the data in the grid is in client memory, it would be reasonable to offer
a client-side sort option.
This commit does that by teaching the grid to accept a "clientsort" feature
and teaching arrayNotifier how to sort the items currently stored. The sort
works over any mix of IDL objects, hashes, and flattened fields, supports
multisort, and pushes "nulls" to the end of the list.
Signed-off-by: Mike Rylander <mrylander@gmail.com> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com>
Jason Etheridge [Mon, 26 Jun 2017 12:11:28 +0000 (08:11 -0400)]
lp1678152 webstaff fix Add Copies & Volumes
Changes open-ils.cat.asset.volume.fleshed.batch.update,
AssetCommon::create_volume, and Cat::Merge::merge_volumes
to handle auto-volume merges during volume creation.
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org> Signed-off-by: Mike Rylander <mrylander@gmail.com>
LP#1687125: adding provider note to provider note in fm_IDL
This patch makes provider notes available to the reporter.
To test
-------
[1] Add a note to a provider record (note that at present,
this can only be done directly in the database).
[2] In the report editor, verify that the reporting
source for providers now includes a link to notes.
[3] Create and run a report that includes the provider
note.
Galen Charlton [Fri, 2 Jun 2017 17:13:50 +0000 (13:13 -0400)]
LP#1208875: follow-up to standardize extract fields
This patch removes the proposed custom methods for extracting
title, author, and record format in favor of tweaking
->fetch_user_circ_history to invoke unapi.bre and adjusting
the template to use get_marc_attrs. Also, nowadays
->fetch_user_circ_history can flesh what we need it to without
having to rely on the existance of an action.circulation row,
which won't be present if the circ was aged but was otherwise
retained in the user circ history.
The result is slower than the previous approach, but still
retains the core idea of getting A/T out of the equation, and remains
much faster than the A/T approach.
Dropping use of unapi.bre would speed things up a bit more, as it
was added only to match the addition of the record format column
in the CSV output. Drop the column, and we no longer need to worry
about MVFs.
There would also be opportunities to improve caching further. Bib
display fields, when it comes, will likely help even more, as it
would mean being able to drop a lot of the XML parsing currently used.
This patch also adjusts misc_util.tt2 so that including it doesn't
result in an unwanted blank line.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
LP 1208875: Fix circ history CSV download for many circulations.
We no longer retrieve a user's circ history for download via
action/trigger and instead build the CSV data right in the TPAC.
The reason for this change is that action/trigger imposes just
too much of a delay between initiating the retrieval and getting
the data, particulary for patrons who have a large number of
circulation history entries, for certain values of large.
The new code uses the CStoreEditor to make JSON queries to retrieve
only the information needed for CSV. Testing revealed that using
the existing fetch_user_circs method in EGCatLoader/Account.pm was
still too slow for the more extreme patrons. The new code also
caches most of the retrieved bibliographic data. Testing revealed
that most patrons get multiple checkouts of the same things, or
multiple parts of a multiple part television series. Caching the
bib data for these records has shaved several seconds off retrieval
time in testing.
This branch makes use of a new, MVF, view when retrieving format
information. It is thus unsuitable as-is for backport before
2.6.
Along the way, we have accreted a generically reusable CSV filter
for Template Toolkit. That could be useful not only in other
parts of Evergreen, but in other projects.
Finally, this commit leaves the old action/trigger code in the
database. Right now, it makes a good reference if anyone wants
to study what has been changed. It can be removed later, if so
desired.
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Conflicts:
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org> Signed-off-by: Jason Stephenson <jason@sigio.com>
Ben Shum [Wed, 21 Jun 2017 19:14:55 +0000 (15:14 -0400)]
i18n: fix syntax for Spanish lang.dtd
As noted by FreddyEnrique in IRC, there was a syntax problem for the Spanish
file lang.dtd that caused an error when trying to open the Closed Date Editor.
Jason Boyer [Wed, 31 May 2017 19:29:46 +0000 (15:29 -0400)]
lp1642035: Editing User Hold Preferences
The JS for hold notification values was replacing rather
than concatenating so only the furthest-right true value
would be saved. And because an ng-if directive creates
a child scope[1], the hold_notify_sms primitive could
never be true. Changed hold_notify_* to an object to
avoid this.
An ng-model directive was added to enable
opac.default_sms_notify but opac.default_sms_carrier
will still require some work to enable / replace.
pre-patch:
Try to do anything with default sms number, fail.
Try to set more than one of phone + email notification, fail.
Try to set sms notification to anything, fail.
post-patch:
Default sms notify value is populated and can be changed.
All 8 possible combinations of hold notify options can be set.
Still can't set opac.default_sms_carrier value, needs additional work.
Signed-off-by: Jason Boyer <jboyer@library.in.gov> Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Cesar Velez [Mon, 19 Jun 2017 21:40:38 +0000 (17:40 -0400)]
LP#1696495-WebStaff fix user_settings data caching between patron views
Appends a few promises to make sure that the user_settings are refreshed
each time a user is loaded from within patron app.
Note that testing this requires that LP1642035's fix be in place...
Otherwise you can't properly add user_settings inputs in Webstaff.
Signed-off by: Cesar Velez <cesar.velez@equinoxinitiative.org>
Kathy Lussier [Tue, 20 Jun 2017 20:31:43 +0000 (16:31 -0400)]
LP#1693560: Remove permission check for retrieve tag table function
The permission check for the retrieve tag table function was preventing
users who don't have the UPDATE_MARC permssion from performing searches
in the staff catalog. Since there's nothing confidential in the table,
this commit removes that permission check. Thanks to Jason Boyer for
finding the source of the problem.
Bill Erickson [Wed, 24 May 2017 20:00:09 +0000 (16:00 -0400)]
LP#1691473 Internal Apache HTTP port configuration
Adds an optional new Apache/mod_perl configuration variable for defining
the port Apache listens on for HTTP traffic. This resolves an issue
where added content lookups attempting HTTP requests on the local Apache
instance on port 80 failed because Apache was using non-standard ports.
To test:
[1] Set a value for OILSWebInternalHTTPPort that's not "80".
[2] Restart/reload Apache
[3] Load a record detail in the catalog
[4] Confirm opensrf logs show:
"tpac: added content connecting to <ip-address>:<new-port> / <hostname>
<new-port> should be the value configured for OILSWebInternalHTTPPort.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Chris Sharp [Wed, 31 May 2017 12:22:58 +0000 (08:22 -0400)]
LP#1694696 - Check for blank SMS Carriers in A/T reactor
Currently, the get_sms_gateway_email subroutine does not check
for the truthiness of sms_carrier, which can result in catastrophic
failure for a running server. This adds that check.
Signed-off-by: Chris Sharp <csharp@georgialibraries.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Adam Bowling [Thu, 22 Jan 2015 16:20:28 +0000 (11:20 -0500)]
LP#1244547 Maintain Filter Settings on Library Settings Editor
After applying a filter to the rows on the Library Settings
Editor, and then selecting a different OU, the filter settings
are not considered unless the user clicks the "Filter" button
once again.
This patch maintains the filter settings on the edior until
the user clicks the "Clear Filter" button.
Update non-cat counts in the patron summary side bar and show the full
set of non-cat circs in the Non-Cataloged Circulations tab as non-cat
circs occur in the patron checkout interface.
Consistent with the XUL client, avoid updating tab-level 'items out'
counts with non-cat circs.
Adds a new work log action for 'noncat_checkout' so the correct data can
be extracted. As with the XUL client, this appears in the work log as a
'checkout' with no copy.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Dan Wells [Mon, 24 Apr 2017 18:29:04 +0000 (14:29 -0400)]
LP#1686194 Account for adjustments when generating fines
Fine generation stops at a predetermined 'max fines' amount, but this
does not account for possible adjustments which lower the effective
fine amount. This situation is common in cases where lost items are
returned, and the library wants to generate additional overdues upon
that event.
With this commit, fine generation will pull in any adjustments applied
to overdue fines, and use those to offset the current total fine when
checking for max fines.
Also includes test for this condition.
Signed-off-by: Dan Wells <dbw2@calvin.edu> Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Avoid multiple .resolve() calls on the main egStartup promise by asking
egEnv to fetch the new date/time org unit settings. Related, make the
pathway for adding new universally-loaded data functions more obvious
and consistent in egStartup by putting them right up at the top.
Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Mon, 5 Jun 2017 21:32:55 +0000 (17:32 -0400)]
lp1691237 webstaff: fix Format Dates and Format Times
This change deprecates the existing Format Dates and Format Times settings
and adds two settings for use with the webstaff client:
Format Dates with this pattern
Format Date+Time with this pattern
These settings use format strings as documented here:
https://docs.angularjs.org/api/ng/filter/date
There is overlap with how the Dojo formats worked, but also some differences.
The original Format Dates and Format Times settings worked together, but the
new settings work independently. Certain field elements will use one, and
certain field elements will use the other. These distinctions are hard-coded
in the various UI templates, with the idea being that timestamp fields in
which the date component alone is sufficient information (for example, DOB)
will use the Format Dates setting. Fields where the time component is
important (for example, Checkout Time) will use the Format Date+Time setting.
When the settings Format Dates and Format Date+Time are unset, we will default
to "shortDate" (M/d/yy) and "short" (M/d/yy h:mm a), respectively.
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Bill Erickson <berickxx@gmail.com> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Jason Etheridge [Thu, 8 Jun 2017 05:02:17 +0000 (01:02 -0400)]
lp1686459 webstaff: item editor form validation
Specifically for stat cats, we mark the select statements as required if the
corresponding stat cat is required, but we can also start using HTML5 validation
tests elsewhere in the form now as well.
I also fixed the <NONE> entries so that they display instead of blank entries,
and forced the Price, Cost, and Deposit Amount fields to be of input type number,
though you could still enter invalid numbers here from the database's POV, so
better validation tests are still needed there.
Signed-off-by: Jason Etheridge <jason@equinoxinitiative.org> Signed-off-by: Andrea Neiman <abneiman@equinoxinitiative.org> Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>