Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Buttons with dialogs should be running invoke #506

Merged
merged 1 commit into from
Nov 29, 2018

Conversation

d-m-u
Copy link
Contributor

@d-m-u d-m-u commented Nov 6, 2018

For https://bugzilla.redhat.com/show_bug.cgi?id=1511126.

Since the custom button publish event method is where we create custom button events, and we expect (per convo with GM) that all cb runs will create events, I think all cb runs, regardless of sans/avec dialogue, should be running the publish event method.

As GM points out, this is a blocker bug, so perhaps refactoring this to better reflect the fact that the paths for custom buttons branch should be done after this gets merged. Er. Please, people?

depends on

ManageIQ/manageiq#18178

@d-m-u
Copy link
Contributor Author

d-m-u commented Nov 6, 2018

@miq-bot add_label bug, hammer/yes
@miq-bot assign @bdunne
@miq-bot add_reviewer @bdunne
Sorry, Brandon, don't know who else to give this to, please feel free to reassign if you want.

@d-m-u
Copy link
Contributor Author

d-m-u commented Nov 6, 2018

@miq-bot add_reviewer @eclarizio

Copy link
Member

@eclarizio eclarizio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is fine, is there any way to verify the call in a spec?

I also noticed the specs were failing but I think that's been fixed so you'll need to rebase anyway.

@JPrause
Copy link
Member

JPrause commented Nov 8, 2018

@miq-bot add_label blocker

@miq-bot miq-bot added the blocker label Nov 8, 2018
@d-m-u
Copy link
Contributor Author

d-m-u commented Nov 8, 2018

@bdunne this is a blocker and it's a single line fix, it'd be great if you'd look.
@eclarizio can you please take another look? the whole repo's still red, I don't think it's because of this change.

@miq-bot
Copy link
Member

miq-bot commented Nov 8, 2018

Checked commit d-m-u@c0b4745 with ruby 2.3.3, rubocop 0.52.1, haml-lint 0.20.0, and yamllint 1.10.0
2 files checked, 0 offenses detected
Everything looks fine. 🍪

@@ -193,6 +193,7 @@ def invoke_custom_action(type, resource, action, data)

def invoke_custom_action_with_dialog(type, resource, action, data, custom_button)
result = begin
custom_button.publish_event(nil, resource)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a button is pressed in the UI, will it raise an event (I assume it doesn't call this API method currently)? If so, maybe it's better to move this logic down into the model so that it's shared by both?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem at the moment is there is no currently shared path. A custom button called without a dialog is processed in the invoke_custom_action method above and then gets delivered to automate from the invoke method.

Buttons with a dialog need to go through this method and ResourceActionWorkflow before sending to automate.

Maybe we refactor these methods to call into a custom button method that then branches to different paths, but maybe that is a followup PR so we can resolve this blocker issue first.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bdunne you okay with refactoring in a later step, please? there might be fruit snacks in it for you...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

¯\_(ツ)_/¯ I guess. I'm surprised that there is no shared code that does this. Does the UI not publish the event either?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No sure what the "Does the UI not publish the event either?". The custom button invoked here is either with or without a service dialog. There are two separate methods here that invoke that, the method being modified here invoke_custom_action_with_dialog and invoke_custom_action which is directly above. For invoke_custom_action method the event is created as part of custom_button.invoke(resource).

Is that what you are asking?

@JPrause
Copy link
Member

JPrause commented Nov 13, 2018

@d-m-u was there any further edits for this PR prior to merge?

@d-m-u
Copy link
Contributor Author

d-m-u commented Nov 13, 2018

@JPrause I think the master PR should get in first and that should address these test failures. Other than that, I need buy-in that I'm allowed to do the refactoring as a separate and later step, that's a decision that's kinda out of my hands...

@d-m-u
Copy link
Contributor Author

d-m-u commented Nov 27, 2018

I think the test failure is unrelated as all of the master API's red anyway.

@JPrause
Copy link
Member

JPrause commented Nov 27, 2018

Does that mean merge is coming? 👍

@gmcculloug
Copy link
Member

@eclarizio Do you have any outstanding issues here?

@gtanzillo @abellotti Please review in @bdunne absence.

Copy link
Member

@gtanzillo gtanzillo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@gtanzillo gtanzillo closed this Nov 28, 2018
@gtanzillo gtanzillo reopened this Nov 28, 2018
@gtanzillo gtanzillo added this to the Sprint 100 Ending Dec 3, 2018 milestone Nov 29, 2018
@gtanzillo gtanzillo merged commit d8e8f30 into ManageIQ:master Nov 29, 2018
@d-m-u d-m-u deleted the bz1511126 branch November 29, 2018 13:57
simaishi pushed a commit that referenced this pull request Nov 30, 2018
Custom Buttons with dialogs should be running invoke

(cherry picked from commit d8e8f30)

https://bugzilla.redhat.com/show_bug.cgi?id=1511126
@simaishi
Copy link
Contributor

Hammer backport details:

$ git log -1
commit 6f554bd793117f613a359369f6c466bdca618e97
Author: Gregg Tanzillo <gtanzill@redhat.com>
Date:   Thu Nov 29 08:55:28 2018 -0500

    Merge pull request #506 from d-m-u/bz1511126
    
    Custom Buttons with dialogs should be running invoke
    
    (cherry picked from commit d8e8f30bd2e1e0501ba706e93d692c450448bf54)
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1511126

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants