On 27/01/12 10:10 +0100, Jirka Tomasek wrote:
As I knew that you have sent the patch which fixes ILIKE, I didn't
want to interfere with your patch so I left it as It was. My patch
don't introduce another ILIKE, it just changes 'name' to
'frontend_realms.name' in the already existent query.
I know that it causes your patch need to get rebased.
Jirka
Good enough, I'll rebase and resend my patch today then, thanks for
the heads up!
-j
On 01/26/2012 06:42 PM, Jason Guiditta wrote:
>On 26/01/12 15:29 +0100, jtomasek(a)redhat.com wrote:
>>From: Jiri Tomasek <jtomasek(a)redhat.com>
>>
>NACK< this reintroduces ILIKE, which I just fixed (patch still on
>list). ILIKE causes mysql to not work with our app.
>
>-j
>>---
>>src/app/controllers/providers_controller.rb | 3 ++-
>>src/app/models/frontend_realm.rb | 2 +-
>>src/app/models/provider.rb | 6 ------
>>src/spec/models/provider_spec.rb | 16 ----------------
>>4 files changed, 3 insertions(+), 24 deletions(-)
>>
>>diff --git a/src/app/controllers/providers_controller.rb
>>b/src/app/controllers/providers_controller.rb
>>index 1f6cc02..c7c1e0a 100644
>>--- a/src/app/controllers/providers_controller.rb
>>+++ b/src/app/controllers/providers_controller.rb
>>@@ -211,7 +211,8 @@ class ProvidersController < ApplicationController
>> end
>>
>> def load_provider_tabs
>>- @realms = @provider.all_associated_frontend_realms
>>+ #frontend realms associated to provider or a realm of this
>>provider, with applied filters
>>+ @realms = FrontendRealm.includes({:backend_realms =>
>>:provider}, :backend_providers).where("providers.id = :provider_id
>>or (realm_backend_targets.realm_or_provider_id = :provider_id and
>>realm_backend_targets.realm_or_provider_type = :provider_type)",
>>:provider_id => @provider.id, :provider_type =>
>>'Provider').apply_filters(:preset_filter_id =>
>>params[:realms_preset_filter], :search_filter =>
>>params[:realms_search])
>> #TODO add links to real data for history,properties,permissions
>> @tabs = [{:name => t('connectivity'), :view => 'edit',
:id =>
>>'connectivity'},
>> {:name => t('accounts'), :view =>
>>'provider_accounts/list', :id => 'accounts', :count =>
>>(a)provider.provider_accounts.count},
>>diff --git a/src/app/models/frontend_realm.rb
>>b/src/app/models/frontend_realm.rb
>>index 2762914..08ab579 100644
>>--- a/src/app/models/frontend_realm.rb
>>+++ b/src/app/models/frontend_realm.rb
>>@@ -53,7 +53,7 @@ class FrontendRealm < ActiveRecord::Base
>>
>> def self.apply_search_filter(search)
>> if search
>>- where("name ILIKE :search", :search =>
"%#{search}%")
>>+ where("frontend_realms.name ILIKE :search", :search =>
>>"%#{search}%")
>> else
>> scoped
>> end
>>diff --git a/src/app/models/provider.rb b/src/app/models/provider.rb
>>index 693d921..769962b 100644
>>--- a/src/app/models/provider.rb
>>+++ b/src/app/models/provider.rb
>>@@ -108,12 +108,6 @@ class Provider < ActiveRecord::Base
>> def supported_types
>> end
>>
>>- # returns all frontend realms which are associated with this
>>provider or a
>>- # realm of this provider
>>- def all_associated_frontend_realms
>>- (frontend_realms + realms.map {|r| r.frontend_realms}.flatten).uniq
>>- end
>>-
>> def stop_instances(user)
>> errs = []
>> provider_accounts.each do |pa|
>>diff --git a/src/spec/models/provider_spec.rb
>>b/src/spec/models/provider_spec.rb
>>index 299ba00..fbb4729 100644
>>--- a/src/spec/models/provider_spec.rb
>>+++ b/src/spec/models/provider_spec.rb
>>@@ -99,22 +99,6 @@ describe Provider do
>> provider.destroyed?.should be_false
>> end
>>
>>- it "should return all associated frontend realms" do
>>- provider1 = Factory.create(:mock_provider)
>>- frontend_realm = FactoryGirl.create :frontend_realm
>>- backend_realm = FactoryGirl.create :backend_realm,
>>:provider => provider1
>>- t = RealmBackendTarget.create!(:frontend_realm =>
>>frontend_realm, :realm_or_provider => backend_realm)
>>- provider1.all_associated_frontend_realms.count.should == 1
>>- t.destroy
>>- provider1.realms.reload
>>- provider1.frontend_realms.reload
>>- provider1.all_associated_frontend_realms.count.should == 0
>>- RealmBackendTarget.create!(:frontend_realm =>
>>frontend_realm, :realm_or_provider => provider1)
>>- provider1.realms.reload
>>- provider1.frontend_realms.reload
>>- provider1.all_associated_frontend_realms.count.should == 1
>>- end
>>-
>> it "should stop all associated instances" do
>> provider1 = Factory.create(:mock_provider)
>> pa = FactoryGirl.create(:mock_provider_account, :provider =>
>>provider1)
>>--
>>1.7.7.6
>>