Some staff client UIs break with alternate default locale

Bug #1834692 reported by Jeff Davis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Confirmed
Undecided
Unassigned

Bug Description

EG 3.3

In eg_vhost.conf, there is a section under the heading "Run server-side XUL and XHTML through xmlent to load the correct XML entities" which uses en-US as the default locale for some parts of the client. If you use a different default locale, attempting to load some legacy UIs in the web client will result in an internal server error.

Apache logs show errors like the following:

unable to include "/opac/locale/${locale}/lang.dtd" in parsed file /openils/var/web/xul/server/admin/org_unit_settings.xhtml, subrequest returned 404

XMLENT XML Parse Error: syntax error at line 19: parsing /openils/var/web/xul/server/admin/org_unit_settings.xhtml: data [an error occurred while processing this directive]

The file opac/locale/en-US/lang.dtd exists, but any other installed locales do not include a lang.dtd file. There are other DTD files missing here too. I believe the issue was introduced by the fix for bug 1757455, which stopped copying these files into place for locales other than en-US.

Affected pages include Dojo-based UIs that still use old XUL/XHTML components. Under Administration > Local Administration:
 - Cash Reports
 - Shelving Locations Editor
 - Library Setting Editor
 - Non-Catalogued Types Editor
 - Statistical Categories Editor

Under Administration > Server Administration:
- Organizational Types
- Organizational Units
- Permission Groups

Administration > Reports also returns an internal server error.

Administration > User Permissions Editor appears to work as the interface opens with the patron barcode fields, but when you enter a barcode you get an internal server error.

Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

To test:

1. In eg_vhost.conf, under "Run server-side XUL and XHTML through xmlent to load the correct XML entities" (around line 257), modify the RewriteRule directives in order to change the default locale from en-US to another installed locale.
2. Reload Apache.
3. Navigate to one of the affected pages listed above and see if you get an internal server error.

Revision history for this message
Jason Stephenson (jstephenson) wrote :

I have confirmed the reported behavior with a master branch checked out today. If build the French translations and install them, then navigate to the listed interfaces in the web client, I either get an Internal Server Error or a Too many redirects error from the browser.

I was going to test this on 3.2, but it may not be affected.

Changed in evergreen:
status: New → Confirmed
tags: added: admin-pages i18n
Revision history for this message
Lindsay Stratton (lstratton) wrote :

This appears to still be the case in 3.8, at least for Cash Reports?

I am testing local admin permissions and added VIEW_TRANSACTIONS with depth 3 and 2 to a test staff account. This account has three working locations - the staff home OU is location 1, the test workstation is location 2.

On accessing Cash Reports, the display defaulted to the home OU/location 1, overriding the workstation OU.

Setting the permission depth to 1, the display defaulted to the workstation OU.

Revision history for this message
Jennifer Pringle (jpringle-u) wrote :

Continues to be an issue in 3.9

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.