{"action":"created","issue":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/10767","repository_url":"https://api.github.com/repos/ManageIQ/manageiq","labels_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/10767/labels{/name}","comments_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/10767/comments","events_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/10767/events","html_url":"https://github.com/ManageIQ/manageiq/pull/10767","id":173173609,"number":10767,"title":"Replaced dynatree with a modified version of bootstrap-treeview","user":{"login":"skateman","id":649130,"avatar_url":"https://avatars.githubusercontent.com/u/649130?v=3","gravatar_id":"","url":"https://api.github.com/users/skateman","html_url":"https://github.com/skateman","followers_url":"https://api.github.com/users/skateman/followers","following_url":"https://api.github.com/users/skateman/following{/other_user}","gists_url":"https://api.github.com/users/skateman/gists{/gist_id}","starred_url":"https://api.github.com/users/skateman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skateman/subscriptions","organizations_url":"https://api.github.com/users/skateman/orgs","repos_url":"https://api.github.com/users/skateman/repos","events_url":"https://api.github.com/users/skateman/events{/privacy}","received_events_url":"https://api.github.com/users/skateman/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ManageIQ/manageiq/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/ManageIQ/manageiq/labels/ui","name":"ui","color":"5319e7"}],"state":"open","locked":false,"assignee":{"login":"martinpovolny","id":51095,"avatar_url":"https://avatars.githubusercontent.com/u/51095?v=3","gravatar_id":"","url":"https://api.github.com/users/martinpovolny","html_url":"https://github.com/martinpovolny","followers_url":"https://api.github.com/users/martinpovolny/followers","following_url":"https://api.github.com/users/martinpovolny/following{/other_user}","gists_url":"https://api.github.com/users/martinpovolny/gists{/gist_id}","starred_url":"https://api.github.com/users/martinpovolny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinpovolny/subscriptions","organizations_url":"https://api.github.com/users/martinpovolny/orgs","repos_url":"https://api.github.com/users/martinpovolny/repos","events_url":"https://api.github.com/users/martinpovolny/events{/privacy}","received_events_url":"https://api.github.com/users/martinpovolny/received_events","type":"User","site_admin":false},"assignees":[{"login":"martinpovolny","id":51095,"avatar_url":"https://avatars.githubusercontent.com/u/51095?v=3","gravatar_id":"","url":"https://api.github.com/users/martinpovolny","html_url":"https://github.com/martinpovolny","followers_url":"https://api.github.com/users/martinpovolny/followers","following_url":"https://api.github.com/users/martinpovolny/following{/other_user}","gists_url":"https://api.github.com/users/martinpovolny/gists{/gist_id}","starred_url":"https://api.github.com/users/martinpovolny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinpovolny/subscriptions","organizations_url":"https://api.github.com/users/martinpovolny/orgs","repos_url":"https://api.github.com/users/martinpovolny/repos","events_url":"https://api.github.com/users/martinpovolny/events{/privacy}","received_events_url":"https://api.github.com/users/martinpovolny/received_events","type":"User","site_admin":false}],"milestone":null,"comments":10,"created_at":"2016-08-25T10:59:10Z","updated_at":"2016-09-01T17:11:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ManageIQ/manageiq/pulls/10767","html_url":"https://github.com/ManageIQ/manageiq/pull/10767","diff_url":"https://github.com/ManageIQ/manageiq/pull/10767.diff","patch_url":"https://github.com/ManageIQ/manageiq/pull/10767.patch"},"body":"* [x] Implement necessary functionalities into [bootstrap-treeview](github.com/jonmiles/bootstrap-treeview)\r\n* [x] Create a JSON-to-JSON tree structure converter for seamless integration\r\n* [x] Remove unnecessary parameters from `locals_for_render` hashes\r\n* [x] Convert trees that are not using `layouts/shared/tree` and TreeBuilder\r\n* [x] Convert JavaScript onClick, onCheck, onExpand event handlers\r\n* [x] Remove support for `onDblClick` and `onHover` events (see #10431)\r\n* [x] Remove unnecessary logic for highlighting nodes with unsaved changes (see #10431)\r\n* [x] Remove dynatree from our codebase\r\n* [x] Convert or remove `ldap_ous_tree`\r\n* [x] Refactor the styling of nodes with `dynatree-title` and `cfme-opacity-node` CSS classes\r\n* [x] Remove unnecessary CSS classes\r\n* [x] Fix word-wrapping for long node texts\r\n* [x] Fix tooltips\r\n* [x] Remove cursor pointer from non-clickable nodes\r\n* [ ] Update patternfly to a version where the new bootstrap-treeview is present\r\n\r\nThese tasks will be done in a separate PR:\r\n* [ ] Change the tree generation logic permanently and remove the converter\r\n* [ ] Rename `miqDynatree` to `miqTree` in JS function names and filenames\r\n\r\nTo review this PR, you need to do a manual `bower update` and select the `#patternfly` version of `bootstrap-treeview`, updating with `bin/update` is not enough!"},"comment":{"url":"https://api.github.com/repos/ManageIQ/manageiq/issues/comments/244146834","html_url":"https://github.com/ManageIQ/manageiq/pull/10767#issuecomment-244146834","issue_url":"https://api.github.com/repos/ManageIQ/manageiq/issues/10767","id":244146834,"user":{"login":"miq-bot","id":7806257,"avatar_url":"https://avatars.githubusercontent.com/u/7806257?v=3","gravatar_id":"","url":"https://api.github.com/users/miq-bot","html_url":"https://github.com/miq-bot","followers_url":"https://api.github.com/users/miq-bot/followers","following_url":"https://api.github.com/users/miq-bot/following{/other_user}","gists_url":"https://api.github.com/users/miq-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/miq-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miq-bot/subscriptions","organizations_url":"https://api.github.com/users/miq-bot/orgs","repos_url":"https://api.github.com/users/miq-bot/repos","events_url":"https://api.github.com/users/miq-bot/events{/privacy}","received_events_url":"https://api.github.com/users/miq-bot/received_events","type":"User","site_admin":false},"created_at":"2016-09-01T17:11:55Z","updated_at":"2016-09-01T17:11:55Z","body":"<rubocop />Checked commit https://github.com/skateman/manageiq/commit/6a63e156a8bc2fd090dcf521e5242c90a82db9c2 with ruby 2.2.5, rubocop 0.37.2, and haml-lint 0.16.1\n124 files checked, 20 offenses detected\n\n**app/controllers/application_controller/tree_support.rb**\n- [ ] :grey_exclamation: - [Line 82](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/application_controller/tree_support.rb#L82), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [132/120]\n\n**app/controllers/miq_policy_controller/miq_actions.rb**\n- [ ] :grey_exclamation: - [Line 313](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/miq_policy_controller/miq_actions.rb#L313), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [128/120]\n\n**app/controllers/ops_controller/rbac_tree.rb**\n- [ ] :exclamation: - [Line 102](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/ops_controller/rbac_tree.rb#L102), Col 7 - [Style/ConditionalAssignment](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Style/ConditionalAssignment) - Use the return of the conditional for variable assignment and comparison.\n- [ ] :exclamation: - [Line 53](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/ops_controller/rbac_tree.rb#L53), Col 7 - [Style/ConditionalAssignment](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Style/ConditionalAssignment) - Use the return of the conditional for variable assignment and comparison.\n\n**app/controllers/ops_controller/settings/cap_and_u.rb**\n- [ ] :exclamation: - [Line 114](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/ops_controller/settings/cap_and_u.rb#L114), Col 21 - [Style/ExtraSpacing](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Style/ExtraSpacing) - Unnecessary spacing detected.\n- [ ] :grey_exclamation: - [Line 218](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/ops_controller/settings/cap_and_u.rb#L218), Col 21 - [Metrics/BlockNesting](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/BlockNesting) - Avoid more than 3 levels of block nesting.\n\n**app/controllers/report_controller/menus.rb**\n- [ ] :grey_exclamation: - [Line 25](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/controllers/report_controller/menus.rb#L25), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [172/120]\n\n**app/helpers/automate_tree_helper.rb**\n- [ ] :grey_exclamation: - [Line 102](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/helpers/automate_tree_helper.rb#L102), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [121/120]\n\n**app/presenters/tree_builder.rb**\n- [ ] :grey_exclamation: - [Line 183](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/presenters/tree_builder.rb#L183), Col 3 - [Metrics/AbcSize](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/AbcSize) - Assignment Branch Condition size for convert_bs_tree is too high. [43.39/20]\n- [ ] :grey_exclamation: - [Line 183](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/presenters/tree_builder.rb#L183), Col 3 - [Metrics/CyclomaticComplexity](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/CyclomaticComplexity) - Cyclomatic complexity for convert_bs_tree is too high. [16/6]\n- [ ] :grey_exclamation: - [Line 183](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/presenters/tree_builder.rb#L183), Col 3 - [Metrics/PerceivedComplexity](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/PerceivedComplexity) - Perceived complexity for convert_bs_tree is too high. [16/7]\n\n**app/presenters/tree_builder_sections.rb**\n- [ ] :exclamation: - [Line 49](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/presenters/tree_builder_sections.rb#L49), Col 7 - [Style/ConditionalAssignment](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Style/ConditionalAssignment) - Use the return of the conditional for variable assignment and comparison.\n\n**app/presenters/tree_node_builder.rb**\n- [ ] :exclamation: - [Line 480](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/app/presenters/tree_node_builder.rb#L480), Col 17 - [Style/MultilineTernaryOperator](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Style/MultilineTernaryOperator) - Avoid multi-line ?: (the ternary operator); use `if`/`unless` instead.\n\n**spec/models/automate_import_json_serializer_spec.rb**\n- [ ] :grey_exclamation: - [Line 59](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/models/automate_import_json_serializer_spec.rb#L59), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [132/120]\n- [ ] :grey_exclamation: - [Line 60](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/models/automate_import_json_serializer_spec.rb#L60), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [132/120]\n- [ ] :grey_exclamation: - [Line 68](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/models/automate_import_json_serializer_spec.rb#L68), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [122/120]\n- [ ] :grey_exclamation: - [Line 71](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/models/automate_import_json_serializer_spec.rb#L71), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [133/120]\n- [ ] :grey_exclamation: - [Line 78](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/models/automate_import_json_serializer_spec.rb#L78), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [129/120]\n\n**spec/presenters/tree_builder_servers_by_role_spec.rb**\n- [ ] :grey_exclamation: - [Line 63](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/presenters/tree_builder_servers_by_role_spec.rb#L63), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [138/120]\n- [ ] :grey_exclamation: - [Line 68](https://github.com/skateman/manageiq/blob/6a63e156a8bc2fd090dcf521e5242c90a82db9c2/spec/presenters/tree_builder_servers_by_role_spec.rb#L68), Col 121 - [Metrics/LineLength](http://rubydoc.info/gems/rubocop/0.37.2/RuboCop/Cop/Metrics/LineLength) - Line is too long. [137/120]\n"}}
{"actor":{"display_login":"miq-bot"}}