Bug 1252976

Summary: Service Dialog Import / Export isn't importing All of the Service Dialogs
Product: Red Hat CloudForms Management Engine Reporter: Jared Deubel <jdeubel>
Component: UI - OPSAssignee: eclarizi
Status: CLOSED ERRATA QA Contact: Milan Falešník <mfalesni>
Severity: low Docs Contact:
Priority: medium    
Version: 5.4.0CC: hkataria, jhardy, mfeifer, mpovolny, obarenbo, ssainkar
Target Milestone: GA   
Target Release: 5.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.5.0.6 Doc Type: Bug Fix
Doc Text:
Previously, Service Dialog Import / Export wasn't importing All of the Service Dialogs and required importing two to three times before dialogs got imported. Added SlickGrid plugins related to selections and checkboxes. SlickGrid uses an auto-adaptive display, where if the screen is too small or if the dataset is too large, it removes/re-adds rows to the table as you scroll. This was causing the issue where some of the items in the table weren't being selected to import. The fix was to use SlickGrid's built in plugins for handling row selection, and then serializing the data from the grid itself instead of from the form which has now resolved the issue.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-08 13:26:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jared Deubel 2015-08-12 16:00:18 UTC
Description of problem:
Regardless of whether or not we check the "All" box or manually verify / check all of the boxes I need to repeatedly (2 or 3 times) upload the same yml file to get all service dialogs imported.

The header of the "Import Service Dialogs" text box is not properly as it is not aligned correctly.

Version-Release number of selected component (if applicable):
5.4.1.0

How reproducible:
Very

Steps to Reproduce:
1. Navigate to Automate -> Customization -> Import/Export
2. Import service dialog yml file
3. Re-try to see that not all dialogs have been imported. 

Actual results:
Import service dialogs once and have all imported

Expected results:
Have to import 2 to 3 times before dialogs get imported. There is also a weirdness where you select all and not all the dialogs get selected. 

Additional info:

Comment 4 CFME Bot 2015-10-08 22:15:20 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/daba7ec3f64d31193557e99e423e50b33e611e63

commit daba7ec3f64d31193557e99e423e50b33e611e63
Author:     Erik Clarizio <eclarizi>
AuthorDate: Wed Aug 19 12:51:02 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Tue Oct 6 16:02:56 2015 -0700

    Fix minor bug in rendering and in postMessage javascript
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 app/views/layouts/_listnav.html.haml              | 2 +-
 app/views/miq_ae_customization/review_import.haml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 5 CFME Bot 2015-10-08 22:15:25 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/d4598fb196df0c6904990b17db6174da220f7155

commit d4598fb196df0c6904990b17db6174da220f7155
Author:     Erik Clarizio <eclarizi>
AuthorDate: Tue Aug 25 13:11:18 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Tue Oct 6 16:02:56 2015 -0700

    Add slickgrid plugins related to selections and checkboxes
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 .../plugins/slick.checkboxselectcolumn.js          | 153 +++++++++++++++++
 .../plugins/slick.rowselectionmodel.js             | 187 +++++++++++++++++++++
 app/assets/javascripts/application.js              |   2 +
 3 files changed, 342 insertions(+)
 create mode 100644 app/assets/javascripts/SlickGrid-2.1/plugins/slick.checkboxselectcolumn.js
 create mode 100644 app/assets/javascripts/SlickGrid-2.1/plugins/slick.rowselectionmodel.js

Comment 6 CFME Bot 2015-10-08 22:15:35 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/bd08e35dabc0554e496ebb049132f2d383da00e0

commit bd08e35dabc0554e496ebb049132f2d383da00e0
Author:     Erik Clarizio <eclarizi>
AuthorDate: Tue Aug 25 13:12:57 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Tue Oct 6 16:02:56 2015 -0700

    Use slickgrid plugin to select rows to import
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 app/assets/javascripts/dialog_import_export.js     | 63 ++++++++++++----------
 app/assets/javascripts/import.js                   | 15 +++---
 .../_dialog_import_export.haml                     | 11 ----
 3 files changed, 45 insertions(+), 44 deletions(-)

Comment 7 CFME Bot 2015-10-08 22:15:40 UTC
New commit detected on ManageIQ/manageiq/master:
https://github.com/ManageIQ/manageiq/commit/22a9eff96b8f54bd8c11274814b15cff22e280d1

commit 22a9eff96b8f54bd8c11274814b15cff22e280d1
Author:     Erik Clarizio <eclarizi>
AuthorDate: Tue Oct 6 16:01:07 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Tue Oct 6 16:02:56 2015 -0700

    Refactor dialog_import_export.js and add specs for refactored methods
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 app/assets/javascripts/dialog_import_export.js | 100 +++++++++++-----------
 spec/javascripts/dialog_import_export_spec.js  | 113 +++++++++++++++++++++++++
 spec/javascripts/support/jasmine.yml           |   2 +
 3 files changed, 167 insertions(+), 48 deletions(-)
 create mode 100644 spec/javascripts/dialog_import_export_spec.js

Comment 8 eclarizi 2015-10-08 22:21:39 UTC
Hey Jared, this should be on the next nightly build. I've cherry-picked the commits over to 5.4.z as well so that will be good to go once the Merge Request goes through. Thanks!

Comment 9 Milan Falešník 2015-10-26 09:47:21 UTC
I can verify the import functionality working in 5.5.0.7 but the scrollbar is hidden on right side so the scrolling is not obvious at first sight. I will file it as a new bug if it is not already.

Comment 10 CFME Bot 2015-11-06 20:39:23 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=0aeb96fd653892a8b26b25ac0d3f0378fa32808b

commit 0aeb96fd653892a8b26b25ac0d3f0378fa32808b
Author:     Erik Clarizio <eclarizi>
AuthorDate: Wed Aug 19 12:51:02 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Fri Oct 9 09:29:44 2015 -0700

    Fix minor bug in rendering and in postMessage javascript
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 vmdb/app/views/layouts/_listnav.html.haml              | 2 +-
 vmdb/app/views/miq_ae_customization/review_import.haml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 11 CFME Bot 2015-11-06 20:39:30 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4efaa3d71353017f418f599db4ddfa4013ef0d84

commit 4efaa3d71353017f418f599db4ddfa4013ef0d84
Author:     Erik Clarizio <eclarizi>
AuthorDate: Tue Aug 25 13:11:18 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Fri Oct 9 11:03:22 2015 -0700

    Add slickgrid plugins related to selections and checkboxes
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 .../plugins/slick.checkboxselectcolumn.js          | 153 +++++++++++++++++
 .../plugins/slick.rowselectionmodel.js             | 187 +++++++++++++++++++++
 vmdb/app/assets/javascripts/application.js         |   2 +
 3 files changed, 342 insertions(+)
 create mode 100644 vmdb/app/assets/javascripts/SlickGrid-2.1/plugins/slick.checkboxselectcolumn.js
 create mode 100644 vmdb/app/assets/javascripts/SlickGrid-2.1/plugins/slick.rowselectionmodel.js

Comment 12 CFME Bot 2015-11-06 20:39:36 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=68b825df0b5fd1a1ff14f1443d87e079e7ef0af8

commit 68b825df0b5fd1a1ff14f1443d87e079e7ef0af8
Author:     Erik Clarizio <eclarizi>
AuthorDate: Tue Aug 25 13:12:57 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Fri Oct 9 11:03:46 2015 -0700

    Use slickgrid plugin to select rows to import
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 .../app/assets/javascripts/dialog_import_export.js | 63 ++++++++++++----------
 vmdb/app/assets/javascripts/import.js              | 15 +++---
 .../_dialog_import_export.haml                     | 13 +----
 3 files changed, 46 insertions(+), 45 deletions(-)

Comment 13 CFME Bot 2015-11-06 20:39:58 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=54776d17758a7fa19819c4e1578fff7cd7ea5dff

commit 54776d17758a7fa19819c4e1578fff7cd7ea5dff
Author:     Erik Clarizio <eclarizi>
AuthorDate: Tue Oct 6 16:01:07 2015 -0700
Commit:     Erik Clarizio <eclarizi>
CommitDate: Fri Oct 9 11:04:30 2015 -0700

    Refactor dialog_import_export.js and add specs for refactored methods
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976

 .../app/assets/javascripts/dialog_import_export.js | 100 +++++++++---------
 vmdb/spec/javascripts/dialog_import_export_spec.js | 113 +++++++++++++++++++++
 vmdb/spec/javascripts/support/jasmine.yml          |   5 +
 3 files changed, 170 insertions(+), 48 deletions(-)
 create mode 100644 vmdb/spec/javascripts/dialog_import_export_spec.js

Comment 14 CFME Bot 2015-11-06 20:40:04 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=fbaee667658df3eb06a51d1c54f7d364481bb2d1

commit fbaee667658df3eb06a51d1c54f7d364481bb2d1
Merge: d940516 54776d1
Author:     Dan Clarizio <dclarizi>
AuthorDate: Fri Nov 6 15:32:01 2015 -0500
Commit:     Dan Clarizio <dclarizi>
CommitDate: Fri Nov 6 15:32:01 2015 -0500

    Merge branch '5.4.z_bz1252976' into '5.4.z'
    
    BZ1252976 - Fix for service dialog import/export not importing all dialogs
    
    SlickGrid uses an auto-adaptive display, where if the screen is too small or if the dataset is too large, it actually removes/re-adds rows to the table as you scroll. This was causing the issue where some of the items in the table weren't being selected to import.
    
    The fix was to use SlickGrid's built in plugins for handling row selection, and then serializing the data from the grid itself instead of from the form.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1252976
    
    Cherry-picked from PR: https://github.com/ManageIQ/manageiq/pull/4051
    
    Cherry-pick was not 100% clean, but was mostly changes from indentation/placement due to refactoring.
    
    See merge request !287

 .../plugins/slick.checkboxselectcolumn.js          | 153 +++++++++++++++++
 .../plugins/slick.rowselectionmodel.js             | 187 +++++++++++++++++++++
 vmdb/app/assets/javascripts/application.js         |   2 +
 .../app/assets/javascripts/dialog_import_export.js |  83 +++++----
 vmdb/app/assets/javascripts/import.js              |  15 +-
 vmdb/app/views/layouts/_listnav.html.haml          |   2 +-
 .../_dialog_import_export.haml                     |  13 +-
 .../views/miq_ae_customization/review_import.haml  |   2 +-
 vmdb/spec/javascripts/dialog_import_export_spec.js | 113 +++++++++++++
 vmdb/spec/javascripts/support/jasmine.yml          |   5 +
 10 files changed, 520 insertions(+), 55 deletions(-)

Comment 16 errata-xmlrpc 2015-12-08 13:26:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2015:2551