-
Notifications
You must be signed in to change notification settings - Fork 898
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
Method list dialog #22921
Method list dialog #22921
Conversation
d7b5716
to
f0b2678
Compare
f0b2678
to
f552314
Compare
if method_ids.present? | ||
where(:id => method_ids.split(',').map(&:to_i)) | ||
else | ||
where(nil) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unsure, but think a simple self
would work here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @kbrock , Yes, self
methods should work here.
I used scope
since the query was not that complex.
but, while using the self
I was not able to chain it like -
MiqAeMethod
.name_path_search(params[:search])
.domain_search(params[:domain_id])
.selected_methods(params[:ids])
.select("id, relative_path, name")
.order('name')
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
then lets use where(nil)
f552314
to
4da7f18
Compare
Tested this with the UI pr: ManageIQ/manageiq-ui-classic#9059 and everything is working good |
4da7f18
to
6b6927e
Compare
Checked commit jeffbonson@6b6927e with ruby 3.1.5, rubocop 1.56.3, haml-lint 0.51.0, and yamllint |
Hey @kbrock , this PR looks ok. Since it's been open for a while, I have rebased it with Could you please have a look at this when you find time and merge it so that we can get its dependent UI PR merged. |
@@ -30,6 +30,22 @@ class MiqAeMethod < ApplicationRecord | |||
AVAILABLE_SCOPES = ["class", "instance"] | |||
validates_inclusion_of :scope, :in => AVAILABLE_SCOPES | |||
|
|||
scope :name_path_search, lambda { |search| | |||
where('name ILIKE ? or relative_path ILIKE ?', "%#{search}%", "%#{search}%") if search.present? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where('name ILIKE ? or relative_path ILIKE ?', "%#{search}%", "%#{search}%") if search.present? | |
search.present? ? where('name ILIKE ? or relative_path ILIKE ?', "%#{search}%", "%#{search}%") : where({}) |
Alternatively, if we want no results, then you can do : none
Do this across these 3 methods
deferring to #23106 Thanks Jeffrey |
UPDATE: please see #23106
Related PR - ManageIQ/manageiq-ui-classic#9059
This PR is an RnD work related to the search feature for the selection of the method.
Might be helpful for ManageIQ/manageiq-ui-classic#9047