Notifications

1292 views

Description

On a new Catalog Item form (/sc_cat_item.do), if there is only one catalog active, then the Catalogs slushbucket defaults to the active catalog. This works correctly when the language is set to English. If the language is not set to English, the translated name string of the catalog is submitted instead of the sys_id of the referenced sc_catalog and the following occurs:

  • Reference qualifier is broken by the bad catalog value and prevents lookup of categories.
  • If you are able to submit the form, it causes the Validate Category business rule to fail to match the catalog with the categories and produces an error: You cannot select category ... because it does not exist in selected catalog(s). The transaction parameters in the node log show the non-English display name string instead of the sys_id for this field.
  • If you add the catalog manually and save your changes, it works, but it then appears in English after reloading the catalog item form even though the session is not in English.

 

Steps to Reproduce

 

  1. Activate the French language plugin.
  2. In the Application Navigator, navigate to Maintain Catalogs
  3. In the Active column, deactivate all catalogs except Service Catalog
  4. Impersonate the user Beth Anglin
    Beth Anglin has the catalog_admin role
  5. Change language to French. In the upper-right corner, click the Settings icon  and on the General tab, change the Language field to French.
  6. Open a blank Catalog Item form
  7. In the Application Navigator, navigate to Maintain Items.
    Note that because there is only one catalog (Service Catalog), the Catalogues field is automatically filled in with the French translation Catalogue de servicesThe field's dictionary entry contains some javascript in the default value. The value is a string value of the French name of the catalog. This is submitted as is when the form is saved. This is an invalid value for a reference slushbucket. In an English session, this value is submitted as the sys_id of the catalog and works properly.
  8. Try to select a Categorie
    No categories are listed because this catalog value is not the expected sys_id. The reference qualifier for the lookup window cannot match the categories with the catalog.
  9. Activate a second catalog. In the Application Navigator, navigate to Maintain Catalogs
  10. In the Active column, activate a catalog other than Service Catalog.
  11. In the Application Navigator, navigate to Maintain Items
  12. Select a Categorie.
    Categories are now listed
  13. In the Application Navigator, navigate to Maintain Catalogs
  14. In the Active column, deactivate the catalog activated in step 9
  15. In the Application Navigator, navigate to Maintain Items
  16. Select a Categorie
    The error message You cannot select category XX because it does not exist in selected catalog(s) is displayed because the Validate Category business rule is also broken by this string value rather than the sys_id being submitted.

Workaround

This problem is resolved in the Jakarta release.

The workaround described below applies to Enterprise instances only (or Express with maint access if SN staff gets authorized).

The Catalogs slush-bucket may contain invalid references to translated entries. These need to be deleted from the slush-bucket, the catalog item record saved, and then the catalog selected again. If a Category is also selected already, this needs to be detached from the affected catalog item, and then re-attached after the correct catalog is assigned.


Related Problem: PRB648158

Seen In

Fuji Patch 5
Fuji Patch 7 Hot Fix 5
Geneva Patch 1 Hot Fix 8
Istanbul Patch 3 Hot Fix 1

Fixed In

Istanbul Patch 8
Jakarta

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2017-08-10 00:41:18
Published:2017-06-12