Could not save the view: Modern UX (save button clicked more than once)

book

Article ID: 205457

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

When saving a view, if there is some latency, the user might think that the view is not being saved and is able to click on the Save button once again. The view might end up corrupted and sometimes might even be deleted.

STEPS TO REPRODUCE:
1. Login to the Modern UX
2. Go to the project common grid


3. Add/Remove some columns from the View 
4. Open the View menu > Save As
5. Provide a new name to the view
6. Click Save multiple times

Expected Results: I am only allowed to click save once. The button is greyed out until the view is saved.
Or the saving actions are finished sequentially as they were taken by the user.
Actual Results: I am able to click on the Save button more than once and the view can get corrupted.

Cause

This is caused by DE59142

Resolution

This is fixed in 15.9.1

Additional Information

This error was also discussed under DE51385.

Log files state errors like:

 ERROR 2020-12-21 05:42:34,024 [http-nio-8080-exec-169] object.CustomObjectInstanceClass (clarity:admin:5172056__732B6DDC-7DBF-4C2E-896E-60BC73C75D3F:PPM_REST_API) Exception on insert
com.niku.union.persistence.PersistenceApplicationException: java.sql.SQLIntegrityConstraintViolationException: [CA Clarity][SQLServer JDBC Driver][SQLServer]Cannot insert duplicate key row in object 'niku.ODF_UI_VIEWS' with unique index 'ODF_UI_VIEWS_U1'. The duplicate key value is (MyView_2, projects, 1, <NULL>, SAVED, <NULL>, <NULL>).
 at com.niku.union.persistence.PersistenceController.checkPMDOverride(PersistenceController.java:2067)
 at com.niku.union.persistence.PersistenceController.handleSQLException(PersistenceController.java:2253)
 at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:3091)
 at com.niku.union.persistence.PersistenceController.processStatement(PersistenceController.java:888)
 at com.niku.union.persistence.PersistenceController.processStatements(PersistenceController.java:786)
 at com.niku.union.persistence.PersistenceController.doProcessRequest(PersistenceController.java:588)
 at com.niku.union.persistence.PersistenceController.processRequest(PersistenceController.java:311)

Attachments