From: Jan Provaznik <[email protected]>

---
 src/app/controllers/cloud_accounts_controller.rb   |   12 +-
 src/app/controllers/provider_controller.rb         |  159 --------------------
 src/app/controllers/providers_controller.rb        |  159 ++++++++++++++++++++
 src/app/controllers/templates_controller.rb        |    4 +-
 src/app/helpers/provider_controller_helper.rb      |   23 ---
 src/app/views/dashboard/summary.haml               |    2 +-
 src/app/views/provider/_form.haml                  |   47 ------
 src/app/views/provider/_providers.haml             |   13 --
 src/app/views/provider/accounts.haml               |  125 ---------------
 src/app/views/provider/delete.haml                 |    2 -
 src/app/views/provider/edit.haml                   |    1 -
 src/app/views/provider/hardware_profiles.haml      |    1 -
 src/app/views/provider/index.haml                  |    1 -
 src/app/views/provider/list.haml                   |    1 -
 src/app/views/provider/new.haml                    |    1 -
 src/app/views/provider/realms.haml                 |    1 -
 src/app/views/provider/settings.haml               |    3 -
 src/app/views/provider/show.haml                   |    1 -
 src/app/views/providers/_form.haml                 |   47 ++++++
 src/app/views/providers/_providers.haml            |   13 ++
 src/app/views/providers/accounts.haml              |  125 +++++++++++++++
 src/app/views/providers/delete.haml                |    2 +
 src/app/views/providers/edit.haml                  |    1 +
 src/app/views/providers/hardware_profiles.haml     |    1 +
 src/app/views/providers/index.haml                 |    1 +
 src/app/views/providers/list.haml                  |    1 +
 src/app/views/providers/new.haml                   |    1 +
 src/app/views/providers/realms.haml                |    1 +
 src/app/views/providers/settings.haml              |    3 +
 src/app/views/providers/show.haml                  |    1 +
 src/app/views/settings/index.haml                  |    2 +-
 src/config/locales/en.yml                          |    2 +-
 src/config/navigation.rb                           |    6 +-
 src/features/support/paths.rb                      |    8 +-
 .../controllers/cloud_accounts_controller_spec.rb  |    4 +-
 src/spec/controllers/provider_controller_spec.rb   |    2 +-
 36 files changed, 377 insertions(+), 400 deletions(-)
 delete mode 100644 src/app/controllers/provider_controller.rb
 create mode 100644 src/app/controllers/providers_controller.rb
 delete mode 100644 src/app/helpers/provider_controller_helper.rb
 delete mode 100644 src/app/views/provider/_form.haml
 delete mode 100644 src/app/views/provider/_providers.haml
 delete mode 100644 src/app/views/provider/accounts.haml
 delete mode 100644 src/app/views/provider/delete.haml
 delete mode 100644 src/app/views/provider/edit.haml
 delete mode 100644 src/app/views/provider/hardware_profiles.haml
 delete mode 100644 src/app/views/provider/index.haml
 delete mode 100644 src/app/views/provider/list.haml
 delete mode 100644 src/app/views/provider/new.haml
 delete mode 100644 src/app/views/provider/realms.haml
 delete mode 100644 src/app/views/provider/settings.haml
 delete mode 100644 src/app/views/provider/show.haml
 create mode 100644 src/app/views/providers/_form.haml
 create mode 100644 src/app/views/providers/_providers.haml
 create mode 100644 src/app/views/providers/accounts.haml
 create mode 100644 src/app/views/providers/delete.haml
 create mode 100644 src/app/views/providers/edit.haml
 create mode 100644 src/app/views/providers/hardware_profiles.haml
 create mode 100644 src/app/views/providers/index.haml
 create mode 100644 src/app/views/providers/list.haml
 create mode 100644 src/app/views/providers/new.haml
 create mode 100644 src/app/views/providers/realms.haml
 create mode 100644 src/app/views/providers/settings.haml
 create mode 100644 src/app/views/providers/show.haml

diff --git a/src/app/controllers/cloud_accounts_controller.rb 
b/src/app/controllers/cloud_accounts_controller.rb
index c9a0c67..e1c9b23 100644
--- a/src/app/controllers/cloud_accounts_controller.rb
+++ b/src/app/controllers/cloud_accounts_controller.rb
@@ -43,7 +43,7 @@ class CloudAccountsController < ApplicationController
 
     if params[:test_account]
       test_account(@cloud_account)
-      redirect_to :controller => "provider", :action => "accounts", :id => 
@provider, :cloud_account => params[:cloud_account]
+      redirect_to :controller => "providers", :action => "accounts", :id => 
@provider, :cloud_account => params[:cloud_account]
     elsif @cloud_account.valid?
       quota = Quota.new
       quota.maximum_running_instances = 
quota_from_string(params[:quota][:maximum_running_instances])
@@ -54,7 +54,7 @@ class CloudAccountsController < ApplicationController
       if request.post? && @cloud_account.save && @cloud_account.populate_realms
         flash[:notice] = "Provider account added."
       end
-      redirect_to :controller => "provider", :action => "accounts", :id => 
@provider
+      redirect_to :controller => "providers", :action => "accounts", :id => 
@provider
       kick_condor
     else
       if not @cloud_account.valid_credentials?
@@ -64,7 +64,7 @@ class CloudAccountsController < ApplicationController
       else
         flash[:notice] = "You must fill in all the required fields"
       end
-      redirect_to :controller => "provider", :action => "accounts", :id => 
@provider, :cloud_account => params[:cloud_account]
+      redirect_to :controller => "providers", :action => "accounts", :id => 
@provider, :cloud_account => params[:cloud_account]
     end
   end
 
@@ -111,7 +111,7 @@ class CloudAccountsController < ApplicationController
     end
     if success
       flash[:notice] = "Account updated."
-      redirect_to :controller => 'provider', :action => 'accounts', :id => 
@provider
+      redirect_to :controller => 'providers', :action => 'accounts', :id => 
@provider
     else
       flash.now[:notice] = "Error updating the cloud account."
       render :template => 'provider/accounts'
@@ -123,7 +123,7 @@ class CloudAccountsController < ApplicationController
     require_privilege(Privilege::ACCOUNT_MODIFY,@cloud_account.provider)
     if @cloud_account.update_attributes(params[:cloud_account])
       flash[:notice] = "Cloud Account updated!"
-      redirect_to :controller => 'provider', :action => 'accounts', :id => 
@cloud_account.provider.id
+      redirect_to :controller => 'providers', :action => 'accounts', :id => 
@cloud_account.provider.id
     else
       render :action => :edit
     end
@@ -147,7 +147,7 @@ class CloudAccountsController < ApplicationController
     else
       flash[:notice] = "Cloud Account could not be destroyed"
     end
-    redirect_to :controller => 'provider', :action => 'accounts', :id => 
provider.id
+    redirect_to :controller => 'providers', :action => 'accounts', :id => 
provider.id
   end
 
   def test_account(account)
diff --git a/src/app/controllers/provider_controller.rb 
b/src/app/controllers/provider_controller.rb
deleted file mode 100644
index da5c9bb..0000000
--- a/src/app/controllers/provider_controller.rb
+++ /dev/null
@@ -1,159 +0,0 @@
-#
-# Copyright (C) 2009 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA  02110-1301, USA.  A copy of the GNU General Public License is
-# also available at http://www.gnu.org/copyleft/gpl.html.
-
-# Filters added to this controller apply to all controllers in the application.
-# Likewise, all the methods added will be available for all controllers.
-
-class ProviderController < ApplicationController
-  before_filter :require_user
-  before_filter :load_providers, :only => [:index, :show, :accounts, :list]
-
-  def section_id
-    'administration'
-  end
-
-  def index
-  end
-
-  def show
-    @provider = Provider.find(:first, :conditions => {:id => params[:id]})
-    require_privilege(Privilege::PROVIDER_VIEW, @provider)
-  end
-
-  def edit
-    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
-    @provider = Provider.find(:first, :conditions => {:id => params[:id]})
-    require_privilege(Privilege::PROVIDER_MODIFY, @provider)
-    render :show
-  end
-
-  def new
-    require_privilege(Privilege::PROVIDER_MODIFY)
-    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
-    @provider = Provider.new(params[:provider])
-    kick_condor
-    render :show
-  end
-
-  def create
-    require_privilege(Privilege::PROVIDER_MODIFY)
-    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
-    @provider = Provider.new(params[:provider])
-
-    if params[:test_connection]
-      test_connection(@provider)
-      render :action => "new"
-    else
-      @provider.set_cloud_type!
-      if @provider.save && @provider.populate_hardware_profiles
-        flash[:notice] = "Provider added."
-        redirect_to :action => "show", :id => @provider
-      else
-        flash[:notice] = "Cannot add the provider."
-        render :action => "new"
-      end
-      kick_condor
-    end
-  end
-
-  def update
-    require_privilege(Privilege::PROVIDER_MODIFY)
-    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
-    @provider = Provider.find(:first, :conditions => {:id => 
params[:provider][:id]})
-    previous_cloud_type = @provider.cloud_type
-
-    @provider.update_attributes(params[:provider])
-    if params[:test_connection]
-      test_connection(@provider)
-      render :action => "edit"
-    else
-      @provider.set_cloud_type!
-      if previous_cloud_type != @provider.cloud_type
-        @provider.errors.add :url, "points to a different provider"
-      end
-
-      if @provider.errors.empty? and @provider.save
-        flash[:notice] = "Provider updated."
-        redirect_to :action => "show", :id => @provider
-      else
-        flash[:notice] = "Cannot update the provider."
-        render :action => "edit"
-      end
-      kick_condor
-    end
-  end
-
-  def destroy
-    if request.post?
-      @provider = Provider.find(params[:provider][:id])
-      require_privilege(Privilege::PROVIDER_MODIFY, p)
-      if @provider.destroy and @provider.destroyed?
-        redirect_to :action => "index"
-      else
-        flash[:error] = {
-          :summary => "Failed to delete Provider",
-          :failures => @provider.errors.full_messages,
-        }
-        render :action => 'show'
-      end
-    end
-  end
-
-  def hardware_profiles
-    @provider = Provider.find(params[:id])
-    @hardware_profiles = @provider.hardware_profiles
-    require_privilege(Privilege::PROVIDER_VIEW, @provider)
-  end
-
-  def accounts
-    @provider = Provider.find(:first, :conditions => {:id => params[:id]})
-    require_privilege(Privilege::ACCOUNT_VIEW, @provider)
-    if params[:cloud_account]
-      @cloud_account = CloudAccount.new(params[:cloud_account])
-      @quota = Quota.new(params[:quota])
-    end
-  end
-
-  def realms
-    @provider = Provider.find(params[:id])
-    @realm_names = @provider.realms.collect { |r| r.name }
-    require_privilege(Privilege::PROVIDER_VIEW, @provider)
-  end
-
-  def settings
-    @provider = Provider.find(params[:id])
-  end
-
-  def list
-  end
-
-  def test_connection(provider)
-    @provider.errors.clear
-    if @provider.connect
-      flash[:notice] = "Successfuly Connected to Provider"
-    else
-      flash[:notice] = "Failed to Connect to Provider"
-      @provider.errors.add :url
-    end
-  end
-
-  protected
-  def load_providers
-    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_VIEW)
-  end
-end
diff --git a/src/app/controllers/providers_controller.rb 
b/src/app/controllers/providers_controller.rb
new file mode 100644
index 0000000..5ea4aee
--- /dev/null
+++ b/src/app/controllers/providers_controller.rb
@@ -0,0 +1,159 @@
+#
+# Copyright (C) 2009 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA  02110-1301, USA.  A copy of the GNU General Public License is
+# also available at http://www.gnu.org/copyleft/gpl.html.
+
+# Filters added to this controller apply to all controllers in the application.
+# Likewise, all the methods added will be available for all controllers.
+
+class ProvidersController < ApplicationController
+  before_filter :require_user
+  before_filter :load_providers, :only => [:index, :show, :accounts, :list]
+
+  def section_id
+    'administration'
+  end
+
+  def index
+  end
+
+  def show
+    @provider = Provider.find(:first, :conditions => {:id => params[:id]})
+    require_privilege(Privilege::PROVIDER_VIEW, @provider)
+  end
+
+  def edit
+    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
+    @provider = Provider.find(:first, :conditions => {:id => params[:id]})
+    require_privilege(Privilege::PROVIDER_MODIFY, @provider)
+    render :show
+  end
+
+  def new
+    require_privilege(Privilege::PROVIDER_MODIFY)
+    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
+    @provider = Provider.new(params[:provider])
+    kick_condor
+    render :show
+  end
+
+  def create
+    require_privilege(Privilege::PROVIDER_MODIFY)
+    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
+    @provider = Provider.new(params[:provider])
+
+    if params[:test_connection]
+      test_connection(@provider)
+      render :action => "new"
+    else
+      @provider.set_cloud_type!
+      if @provider.save && @provider.populate_hardware_profiles
+        flash[:notice] = "Provider added."
+        redirect_to :action => "show", :id => @provider
+      else
+        flash[:notice] = "Cannot add the provider."
+        render :action => "new"
+      end
+      kick_condor
+    end
+  end
+
+  def update
+    require_privilege(Privilege::PROVIDER_MODIFY)
+    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_MODIFY)
+    @provider = Provider.find(:first, :conditions => {:id => 
params[:provider][:id]})
+    previous_cloud_type = @provider.cloud_type
+
+    @provider.update_attributes(params[:provider])
+    if params[:test_connection]
+      test_connection(@provider)
+      render :action => "edit"
+    else
+      @provider.set_cloud_type!
+      if previous_cloud_type != @provider.cloud_type
+        @provider.errors.add :url, "points to a different provider"
+      end
+
+      if @provider.errors.empty? and @provider.save
+        flash[:notice] = "Provider updated."
+        redirect_to :action => "show", :id => @provider
+      else
+        flash[:notice] = "Cannot update the provider."
+        render :action => "edit"
+      end
+      kick_condor
+    end
+  end
+
+  def destroy
+    if request.post?
+      @provider = Provider.find(params[:provider][:id])
+      require_privilege(Privilege::PROVIDER_MODIFY, p)
+      if @provider.destroy and @provider.destroyed?
+        redirect_to :action => "index"
+      else
+        flash[:error] = {
+          :summary => "Failed to delete Provider",
+          :failures => @provider.errors.full_messages,
+        }
+        render :action => 'show'
+      end
+    end
+  end
+
+  def hardware_profiles
+    @provider = Provider.find(params[:id])
+    @hardware_profiles = @provider.hardware_profiles
+    require_privilege(Privilege::PROVIDER_VIEW, @provider)
+  end
+
+  def accounts
+    @provider = Provider.find(:first, :conditions => {:id => params[:id]})
+    require_privilege(Privilege::ACCOUNT_VIEW, @provider)
+    if params[:cloud_account]
+      @cloud_account = CloudAccount.new(params[:cloud_account])
+      @quota = Quota.new(params[:quota])
+    end
+  end
+
+  def realms
+    @provider = Provider.find(params[:id])
+    @realm_names = @provider.realms.collect { |r| r.name }
+    require_privilege(Privilege::PROVIDER_VIEW, @provider)
+  end
+
+  def settings
+    @provider = Provider.find(params[:id])
+  end
+
+  def list
+  end
+
+  def test_connection(provider)
+    @provider.errors.clear
+    if @provider.connect
+      flash[:notice] = "Successfuly Connected to Provider"
+    else
+      flash[:notice] = "Failed to Connect to Provider"
+      @provider.errors.add :url
+    end
+  end
+
+  protected
+  def load_providers
+    @providers = Provider.list_for_user(@current_user, 
Privilege::PROVIDER_VIEW)
+  end
+end
diff --git a/src/app/controllers/templates_controller.rb 
b/src/app/controllers/templates_controller.rb
index 55e41c9..12df295 100644
--- a/src/app/controllers/templates_controller.rb
+++ b/src/app/controllers/templates_controller.rb
@@ -194,12 +194,12 @@ class TemplatesController < ApplicationController
       # account exists
       unless provider = Provider.find_by_cloud_type(target)
         flash_error("There is no provider of '#{target}' type, you can add 
provider \
-on <a href=\"#{url_for :controller => 'provider'}\">the providers page.</a>")
+on <a href=\"#{url_for :controller => 'providers'}\">the providers page.</a>")
         render :action => 'build_form' and return
       end
       if provider.cloud_accounts.empty?
         flash_error("There is no provider account for '#{target}' provider, 
you can \
-add account on <a href=\"#{url_for :controller => 'provider', \
+add account on <a href=\"#{url_for :controller => 'providers', \
 :action => 'accounts', :id => provider.id}\">the provider accounts page</a>")
         render :action => 'build_form' and return
       end
diff --git a/src/app/helpers/provider_controller_helper.rb 
b/src/app/helpers/provider_controller_helper.rb
deleted file mode 100644
index 46378ed..0000000
--- a/src/app/helpers/provider_controller_helper.rb
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2009 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA  02110-1301, USA.  A copy of the GNU General Public License is
-# also available at http://www.gnu.org/copyleft/gpl.html.
-
-# Filters added to this controller apply to all controllers in the application.
-# Likewise, all the methods added will be available for all controllers.
-
-module ProviderControllerHelper
-end
diff --git a/src/app/views/dashboard/summary.haml 
b/src/app/views/dashboard/summary.haml
index 5eb49a5..e6ba2dd 100644
--- a/src/app/views/dashboard/summary.haml
+++ b/src/app/views/dashboard/summary.haml
@@ -31,7 +31,7 @@
     %h2
       Actions
     - if @is_admin
-      %a{:href => url_for(:controller => "provider", :action => "new")}
+      %a{:href => url_for(:controller => "providers", :action => "new")}
         Add a Provider
       %a{:href => url_for(:controller => "users", :action => "new")}
         Create a User
diff --git a/src/app/views/provider/_form.haml 
b/src/app/views/provider/_form.haml
deleted file mode 100644
index 14cd292..0000000
--- a/src/app/views/provider/_form.haml
+++ /dev/null
@@ -1,47 +0,0 @@
-- readonly = controller.action_name == 'show' ? true : false
-- new_provider = ['new', 'create'].include? controller.action_name
-- edit_provider = ['edit', 'update'].include? controller.action_name
-= render :partial => 'providers'
-#details.grid_13
-  %nav.subsubnav
-    = render_navigation(:level => 4)
-  - if new_provider
-    - form_action = 'create'
-  - elsif edit_provider
-    - form_action = 'update'
-  - form_for @provider, :url => {:controller => :provider, :action => 
form_action}, :class => "dcloud_form" do |f|
-    %fieldset
-      %label.grid_4.alpha.big{ :for => "provider_name" }
-        = t('.provider_name')
-        - unless readonly
-          %span.required
-            *
-      %label.grid_5.big{ :for => "provider_url" }
-        = t('.provider_url')
-        - unless readonly
-          %span.required
-            *
-      %div.grid_4.omega
-        = f.error_message_on :url, 'URL '
-        = f.error_message_on :name, 'Name '
-      = f.text_field :name, :title => t('.provider_name'), :value => 
(@provider.name if @provider), :disabled => ('disabled' if readonly), :class => 
"clear grid_4 alpha"
-      = f.text_field :url, :title => t('.provider_url'), :class => 
'emailinput', :value => (@provider.url if @provider), :disabled => ('disabled' 
if readonly), :class => "grid_5"
-      - if edit_provider:
-        = f.hidden_field :id, :value => @provider.id
-      .clear.prefix_4.grid_5.suffix_4.alpha.omega
-        - if new_provider or edit_provider
-          %span
-          (
-          %button.linkbutton.nospace{ :type => 'submit', :value => 
t('.test_connection'), :name => 'test_connection', :id => 'test_connection' }<>
-            = t('.test_connection')
-          )
-    - unless readonly
-      %p.requirement
-        %span.required
-          *
-        \-
-        = t('.required_field')
-    - if edit_provider
-      %input{ :type => 'submit', :value => t(:save), :name => 'save_provider', 
:id => 'save_provider' }
-    - elsif new_provider
-      %input{ :type => 'submit', :value => t(:add), :name => 'add_provider', 
:id => 'add_provider' }
diff --git a/src/app/views/provider/_providers.haml 
b/src/app/views/provider/_providers.haml
deleted file mode 100644
index f051692..0000000
--- a/src/app/views/provider/_providers.haml
+++ /dev/null
@@ -1,13 +0,0 @@
-#providers_nav.grid_3.actionsidebar
-  %dl
-    %dt
-      = t('provider.providers')
-    - @providers.each do |provider|
-      %dd
-        - selected = 'selected' if @provider and (provider.id == @provider.id)
-        %a{ :href => url_for(:controller => 'provider', :action => 'show', :id 
=> provider), :class => selected }
-          = provider.name
-  - form_tag({:controller => 'provider', :action => 'edit', :id => @provider}, 
{:method => :post , :class => 'buttononly'}) do
-    = submit_tag t(:edit), :disabled => ('disabled' unless @provider and 
['show', 'accounts'].include? controller.action_name)
-  - form_tag({:controller => 'provider', :action => 'new'}, {:method => :get , 
:class => 'buttononly'}) do
-    %input{ :type => 'submit', :value => t(:add), :disabled => ('disabled' 
unless @providers.length == 0) }
diff --git a/src/app/views/provider/accounts.haml 
b/src/app/views/provider/accounts.haml
deleted file mode 100644
index e555717..0000000
--- a/src/app/views/provider/accounts.haml
+++ /dev/null
@@ -1,125 +0,0 @@
-:javascript
-  function set_unlimited_quota(elem_id) {
-    $("#" + elem_id)[0].value = "unlimited";
-  }
-= render :partial => 'provider/providers'
-#details.grid_13
-  %nav.subsubnav
-    = render_navigation(:level => 4)
-
-  %h1
-    = t('.provider_accounts')
-  - form_tag ({:controller => 'cloud_accounts', :action => 
'update_accounts'}), :multipart => true do
-    = hidden_field :provider, :id, :value => @provider.id
-    - @provider.cloud_accounts.each do |acct|
-      %fieldset.clearfix.nomargin
-        %label.grid_4.la.alpha
-          = t('.account_name')
-          %span.required *
-        %label.grid_3.la
-          = t('.user_name')
-          %span.required *
-        %label.grid_3.la
-          = t('.password')
-          %span.required *
-        %label.grid_3.la.omega
-          = t('.quota_instances')
-          %span.required *
-      %fieldset.nomargin.clearfix
-        - disabled = 'disabled' unless has_account_modify?(@provider)
-        - cloud_account_id = "cloud_accounts[#{acct.id}]"
-        = text_field cloud_account_id, :label, :title => t('.account_name'), 
:value => acct.label, :disabled => disabled, :class => "grid_4 alpha"
-        = text_field cloud_account_id, :username, :title => t('.user_name'), 
:value => acct.username, :disabled => disabled, :class => "grid_3"
-        = password_field cloud_account_id, :password, :title => 
t('.password'), :disabled => disabled, :class => "grid_3"
-        = error_message_on :maximum_running_instances, 'Maximum Running 
Instances '
-        = text_field "quota[#{acct.id}]", :maximum_running_instances, :title 
=> t('.quota_instances'), :value => (acct.quota.maximum_running_instances.nil? 
? "unlimited" : acct.quota.maximum_running_instances), :disabled => disabled, 
:id => "quota_instances#{acct.id}", :class => "grid_3 omega"
-      %fieldset.nomargin.clearfix
-        .grid_3.prefix_10.alpha.omega
-          (
-          %button.linkbutton.nospace{ :type => 'button', :onclick => 
"set_unlimited_quota(\"quota_instances#{acct.id}\");" }<>
-            = t('.unlimited_quota')
-          )
-      %fieldset.clearfix.nomargin
-        %label.grid_4.la.alpha
-          = t('.account_number')
-          %span.required *
-        %label.grid_3.la
-          = t('.account_private_cert')
-          %span.required *
-        %label.grid_3.la
-          = t('.account_public_cert')
-          %span.required *
-        .grid_3.omega
-      %fieldset.clearfix
-        = text_field cloud_account_id, :account_number, :title => 
t('.account_number'), :value => acct.account_number, :disabled => disabled, 
:class => "grid_4 alpha"
-        .grid_3
-          = file_field cloud_account_id, :x509_cert_priv_file, :title => 
t('.account_private_cert'), :disabled => disabled
-        .grid_3
-          = file_field cloud_account_id, :x509_cert_pub_file, :title => 
t('.account_public_cert'), :disabled => disabled
-        - remove_path = url_for :controller => 'cloud_accounts', :action => 
'destroy', :id => acct.id if has_account_modify?(@provider) && acct.destroyable?
-        .grid_3.omega
-          %a.button{ :href => remove_path, :name => "remove_acc_#{acct.id}", 
:class => "tiny #{'disabled' unless remove_path}" }
-            = t(:remove)
-      %fieldset.clearfix.gap
-        = link_to t(:reset), {:controller => 'provider', :action => 
'accounts', :id => @provider.id}, :class => "button dialogbutton" unless 
@provider.cloud_accounts.empty?
-        = submit_tag t(:save), :name => 'update_cloud_accounts', :class => 
"dialogbutton" unless @provider.cloud_accounts.empty?
-
-  %h2
-    = t('.new_provider_account')
-  - form_tag({:controller => 'cloud_accounts', :action => 'create'}, 
:multipart => true) do
-    = hidden_field :cloud_account, :provider_id, :value => @provider.id
-    %fieldset.clearfix.nomargin
-      %label.grid_4.la.alpha
-        = t('.account_name')
-        %span.required *
-      %label.grid_3.la
-        = t('.user_name')
-        %span.required *
-      %label.grid_3.la
-        = t('.password')
-        %span.required *
-      %label.grid_3.la.omega
-        = t('.quota_instances')
-        %span.required *
-    %fieldset.nomargin.clearfix
-      = text_field :cloud_account, :label, :title => t('.account_name'), 
:class => "grid_4 alpha"
-      = text_field :cloud_account, :username, :title => t('.user_name'), 
:class => "grid_3"
-      = password_field :cloud_account, :password, :title => t('.password'), 
:class => "grid_3"
-      = text_field "quota", :maximum_running_instances, :title => 
t('.quota_instances'), :value =>  "unlimited",:id => "quota_instances", :class 
=> "grid_3 omega"
-    %fieldset.nomargin.clearfix
-      .grid_3.prefix_10.alpha.omega
-        (
-        %button.linkbutton.nospace{ :type => 'button', :onclick => 
"set_unlimited_quota(\"quota_instances\");" }<>
-          = t('.unlimited_quota')
-        )
-    %fieldset.clearfix.nomargin
-      %label.grid_4.la.alpha
-        = t('.account_number')
-        %span.required *
-      %label.grid_3.la
-        = t('.account_private_cert')
-        %span.required *
-      %label.grid_3.la
-        = t('.account_public_cert')
-        %span.required *
-      .grid_3.omega
-    %fieldset.clearfix.nomargin
-      = text_field :cloud_account, :account_number, :title => 
t('.account_number'), :class => "grid_4 alpha"
-      .grid_3
-        = file_field :cloud_account, :x509_cert_priv_file, :title => 
t('.account_private_cert')
-      .grid_3
-        = file_field :cloud_account, :x509_cert_pub_file, :title => 
t('.account_public_cert')
-      - remove_path = url_for :controller => 'cloud_accounts', :action => 
'destroy'
-      .grid_3.omega
-        (
-        %button.linkbutton.nospace{ :type => 'submit', :value => 
t('.test_account'), :name => 'test_account', :id => 'test_account' }<>
-          = t('.test_account')
-        )
-    %fieldset.clearfix
-      .grid_13.alpha.omega
-        = submit_tag t(:add), :class => "ra nomargin dialogbutton"
-    %section
-      %p.requirement
-        %span.required *
-        \-
-        = t('.required_field')
diff --git a/src/app/views/provider/delete.haml 
b/src/app/views/provider/delete.haml
deleted file mode 100644
index 6727d77..0000000
--- a/src/app/views/provider/delete.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-%h1 ProviderController#delete
-%p Find me in app/views/provider_controller/delete.html.erb
diff --git a/src/app/views/provider/edit.haml b/src/app/views/provider/edit.haml
deleted file mode 100644
index c66fabf..0000000
--- a/src/app/views/provider/edit.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'form'
diff --git a/src/app/views/provider/hardware_profiles.haml 
b/src/app/views/provider/hardware_profiles.haml
deleted file mode 100644
index 96fe378..0000000
--- a/src/app/views/provider/hardware_profiles.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'hardware_profiles/list'
diff --git a/src/app/views/provider/index.haml 
b/src/app/views/provider/index.haml
deleted file mode 100644
index 9823f42..0000000
--- a/src/app/views/provider/index.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'providers'
diff --git a/src/app/views/provider/list.haml b/src/app/views/provider/list.haml
deleted file mode 100644
index 6e68450..0000000
--- a/src/app/views/provider/list.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'provider/providers'
\ No newline at end of file
diff --git a/src/app/views/provider/new.haml b/src/app/views/provider/new.haml
deleted file mode 100644
index c66fabf..0000000
--- a/src/app/views/provider/new.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'form'
diff --git a/src/app/views/provider/realms.haml 
b/src/app/views/provider/realms.haml
deleted file mode 100644
index 31f7886..0000000
--- a/src/app/views/provider/realms.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'realms/list'
diff --git a/src/app/views/provider/settings.haml 
b/src/app/views/provider/settings.haml
deleted file mode 100644
index b4cdc43..0000000
--- a/src/app/views/provider/settings.haml
+++ /dev/null
@@ -1,3 +0,0 @@
-- form_tag({ :action => 'destroy' }, {:onsubmit => "return confirm('Really 
delete the provider?');"}) do
-  = hidden_field :provider, :id
-  = submit_tag "Delete Provider", :class => "submit_link"
diff --git a/src/app/views/provider/show.haml b/src/app/views/provider/show.haml
deleted file mode 100644
index c66fabf..0000000
--- a/src/app/views/provider/show.haml
+++ /dev/null
@@ -1 +0,0 @@
-= render :partial => 'form'
diff --git a/src/app/views/providers/_form.haml 
b/src/app/views/providers/_form.haml
new file mode 100644
index 0000000..94e2ebf
--- /dev/null
+++ b/src/app/views/providers/_form.haml
@@ -0,0 +1,47 @@
+- readonly = controller.action_name == 'show' ? true : false
+- new_provider = ['new', 'create'].include? controller.action_name
+- edit_provider = ['edit', 'update'].include? controller.action_name
+= render :partial => 'providers'
+#details.grid_13
+  %nav.subsubnav
+    = render_navigation(:level => 4)
+  - if new_provider
+    - form_action = 'create'
+  - elsif edit_provider
+    - form_action = 'update'
+  - form_for @provider, :url => {:controller => :providers, :action => 
form_action}, :class => "dcloud_form" do |f|
+    %fieldset
+      %label.grid_4.alpha.big{ :for => "provider_name" }
+        = t('.provider_name')
+        - unless readonly
+          %span.required
+            *
+      %label.grid_5.big{ :for => "provider_url" }
+        = t('.provider_url')
+        - unless readonly
+          %span.required
+            *
+      %div.grid_4.omega
+        = f.error_message_on :url, 'URL '
+        = f.error_message_on :name, 'Name '
+      = f.text_field :name, :title => t('.provider_name'), :value => 
(@provider.name if @provider), :disabled => ('disabled' if readonly), :class => 
"clear grid_4 alpha"
+      = f.text_field :url, :title => t('.provider_url'), :class => 
'emailinput', :value => (@provider.url if @provider), :disabled => ('disabled' 
if readonly), :class => "grid_5"
+      - if edit_provider:
+        = f.hidden_field :id, :value => @provider.id
+      .clear.prefix_4.grid_5.suffix_4.alpha.omega
+        - if new_provider or edit_provider
+          %span
+          (
+          %button.linkbutton.nospace{ :type => 'submit', :value => 
t('.test_connection'), :name => 'test_connection', :id => 'test_connection' }<>
+            = t('.test_connection')
+          )
+    - unless readonly
+      %p.requirement
+        %span.required
+          *
+        \-
+        = t('.required_field')
+    - if edit_provider
+      %input{ :type => 'submit', :value => t(:save), :name => 'save_provider', 
:id => 'save_provider' }
+    - elsif new_provider
+      %input{ :type => 'submit', :value => t(:add), :name => 'add_provider', 
:id => 'add_provider' }
diff --git a/src/app/views/providers/_providers.haml 
b/src/app/views/providers/_providers.haml
new file mode 100644
index 0000000..b1a9bec
--- /dev/null
+++ b/src/app/views/providers/_providers.haml
@@ -0,0 +1,13 @@
+#providers_nav.grid_3.actionsidebar
+  %dl
+    %dt
+      = t('providers.providers')
+    - @providers.each do |provider|
+      %dd
+        - selected = 'selected' if @provider and (provider.id == @provider.id)
+        %a{ :href => url_for(:controller => 'providers', :action => 'show', 
:id => provider), :class => selected }
+          = provider.name
+  - form_tag({:controller => 'providers', :action => 'edit', :id => 
@provider}, {:method => :post , :class => 'buttononly'}) do
+    = submit_tag t(:edit), :disabled => ('disabled' unless @provider and 
['show', 'accounts'].include? controller.action_name)
+  - form_tag({:controller => 'providers', :action => 'new'}, {:method => :get 
, :class => 'buttononly'}) do
+    %input{ :type => 'submit', :value => t(:add), :disabled => ('disabled' 
unless @providers.length == 0) }
diff --git a/src/app/views/providers/accounts.haml 
b/src/app/views/providers/accounts.haml
new file mode 100644
index 0000000..f6f9c84
--- /dev/null
+++ b/src/app/views/providers/accounts.haml
@@ -0,0 +1,125 @@
+:javascript
+  function set_unlimited_quota(elem_id) {
+    $("#" + elem_id)[0].value = "unlimited";
+  }
+= render :partial => 'providers/providers'
+#details.grid_13
+  %nav.subsubnav
+    = render_navigation(:level => 4)
+
+  %h1
+    = t('.provider_accounts')
+  - form_tag ({:controller => 'cloud_accounts', :action => 
'update_accounts'}), :multipart => true do
+    = hidden_field :provider, :id, :value => @provider.id
+    - @provider.cloud_accounts.each do |acct|
+      %fieldset.clearfix.nomargin
+        %label.grid_4.la.alpha
+          = t('.account_name')
+          %span.required *
+        %label.grid_3.la
+          = t('.user_name')
+          %span.required *
+        %label.grid_3.la
+          = t('.password')
+          %span.required *
+        %label.grid_3.la.omega
+          = t('.quota_instances')
+          %span.required *
+      %fieldset.nomargin.clearfix
+        - disabled = 'disabled' unless has_account_modify?(@provider)
+        - cloud_account_id = "cloud_accounts[#{acct.id}]"
+        = text_field cloud_account_id, :label, :title => t('.account_name'), 
:value => acct.label, :disabled => disabled, :class => "grid_4 alpha"
+        = text_field cloud_account_id, :username, :title => t('.user_name'), 
:value => acct.username, :disabled => disabled, :class => "grid_3"
+        = password_field cloud_account_id, :password, :title => 
t('.password'), :disabled => disabled, :class => "grid_3"
+        = error_message_on :maximum_running_instances, 'Maximum Running 
Instances '
+        = text_field "quota[#{acct.id}]", :maximum_running_instances, :title 
=> t('.quota_instances'), :value => (acct.quota.maximum_running_instances.nil? 
? "unlimited" : acct.quota.maximum_running_instances), :disabled => disabled, 
:id => "quota_instances#{acct.id}", :class => "grid_3 omega"
+      %fieldset.nomargin.clearfix
+        .grid_3.prefix_10.alpha.omega
+          (
+          %button.linkbutton.nospace{ :type => 'button', :onclick => 
"set_unlimited_quota(\"quota_instances#{acct.id}\");" }<>
+            = t('.unlimited_quota')
+          )
+      %fieldset.clearfix.nomargin
+        %label.grid_4.la.alpha
+          = t('.account_number')
+          %span.required *
+        %label.grid_3.la
+          = t('.account_private_cert')
+          %span.required *
+        %label.grid_3.la
+          = t('.account_public_cert')
+          %span.required *
+        .grid_3.omega
+      %fieldset.clearfix
+        = text_field cloud_account_id, :account_number, :title => 
t('.account_number'), :value => acct.account_number, :disabled => disabled, 
:class => "grid_4 alpha"
+        .grid_3
+          = file_field cloud_account_id, :x509_cert_priv_file, :title => 
t('.account_private_cert'), :disabled => disabled
+        .grid_3
+          = file_field cloud_account_id, :x509_cert_pub_file, :title => 
t('.account_public_cert'), :disabled => disabled
+        - remove_path = url_for :controller => 'cloud_accounts', :action => 
'destroy', :id => acct.id if has_account_modify?(@provider) && acct.destroyable?
+        .grid_3.omega
+          %a.button{ :href => remove_path, :name => "remove_acc_#{acct.id}", 
:class => "tiny #{'disabled' unless remove_path}" }
+            = t(:remove)
+      %fieldset.clearfix.gap
+        = link_to t(:reset), {:controller => 'provider', :action => 
'accounts', :id => @provider.id}, :class => "button dialogbutton" unless 
@provider.cloud_accounts.empty?
+        = submit_tag t(:save), :name => 'update_cloud_accounts', :class => 
"dialogbutton" unless @provider.cloud_accounts.empty?
+
+  %h2
+    = t('.new_provider_account')
+  - form_tag({:controller => 'cloud_accounts', :action => 'create'}, 
:multipart => true) do
+    = hidden_field :cloud_account, :provider_id, :value => @provider.id
+    %fieldset.clearfix.nomargin
+      %label.grid_4.la.alpha
+        = t('.account_name')
+        %span.required *
+      %label.grid_3.la
+        = t('.user_name')
+        %span.required *
+      %label.grid_3.la
+        = t('.password')
+        %span.required *
+      %label.grid_3.la.omega
+        = t('.quota_instances')
+        %span.required *
+    %fieldset.nomargin.clearfix
+      = text_field :cloud_account, :label, :title => t('.account_name'), 
:class => "grid_4 alpha"
+      = text_field :cloud_account, :username, :title => t('.user_name'), 
:class => "grid_3"
+      = password_field :cloud_account, :password, :title => t('.password'), 
:class => "grid_3"
+      = text_field "quota", :maximum_running_instances, :title => 
t('.quota_instances'), :value =>  "unlimited",:id => "quota_instances", :class 
=> "grid_3 omega"
+    %fieldset.nomargin.clearfix
+      .grid_3.prefix_10.alpha.omega
+        (
+        %button.linkbutton.nospace{ :type => 'button', :onclick => 
"set_unlimited_quota(\"quota_instances\");" }<>
+          = t('.unlimited_quota')
+        )
+    %fieldset.clearfix.nomargin
+      %label.grid_4.la.alpha
+        = t('.account_number')
+        %span.required *
+      %label.grid_3.la
+        = t('.account_private_cert')
+        %span.required *
+      %label.grid_3.la
+        = t('.account_public_cert')
+        %span.required *
+      .grid_3.omega
+    %fieldset.clearfix.nomargin
+      = text_field :cloud_account, :account_number, :title => 
t('.account_number'), :class => "grid_4 alpha"
+      .grid_3
+        = file_field :cloud_account, :x509_cert_priv_file, :title => 
t('.account_private_cert')
+      .grid_3
+        = file_field :cloud_account, :x509_cert_pub_file, :title => 
t('.account_public_cert')
+      - remove_path = url_for :controller => 'cloud_accounts', :action => 
'destroy'
+      .grid_3.omega
+        (
+        %button.linkbutton.nospace{ :type => 'submit', :value => 
t('.test_account'), :name => 'test_account', :id => 'test_account' }<>
+          = t('.test_account')
+        )
+    %fieldset.clearfix
+      .grid_13.alpha.omega
+        = submit_tag t(:add), :class => "ra nomargin dialogbutton"
+    %section
+      %p.requirement
+        %span.required *
+        \-
+        = t('.required_field')
diff --git a/src/app/views/providers/delete.haml 
b/src/app/views/providers/delete.haml
new file mode 100644
index 0000000..6727d77
--- /dev/null
+++ b/src/app/views/providers/delete.haml
@@ -0,0 +1,2 @@
+%h1 ProviderController#delete
+%p Find me in app/views/provider_controller/delete.html.erb
diff --git a/src/app/views/providers/edit.haml 
b/src/app/views/providers/edit.haml
new file mode 100644
index 0000000..c66fabf
--- /dev/null
+++ b/src/app/views/providers/edit.haml
@@ -0,0 +1 @@
+= render :partial => 'form'
diff --git a/src/app/views/providers/hardware_profiles.haml 
b/src/app/views/providers/hardware_profiles.haml
new file mode 100644
index 0000000..96fe378
--- /dev/null
+++ b/src/app/views/providers/hardware_profiles.haml
@@ -0,0 +1 @@
+= render :partial => 'hardware_profiles/list'
diff --git a/src/app/views/providers/index.haml 
b/src/app/views/providers/index.haml
new file mode 100644
index 0000000..9823f42
--- /dev/null
+++ b/src/app/views/providers/index.haml
@@ -0,0 +1 @@
+= render :partial => 'providers'
diff --git a/src/app/views/providers/list.haml 
b/src/app/views/providers/list.haml
new file mode 100644
index 0000000..9517a21
--- /dev/null
+++ b/src/app/views/providers/list.haml
@@ -0,0 +1 @@
+= render :partial => 'providers/providers'
diff --git a/src/app/views/providers/new.haml b/src/app/views/providers/new.haml
new file mode 100644
index 0000000..c66fabf
--- /dev/null
+++ b/src/app/views/providers/new.haml
@@ -0,0 +1 @@
+= render :partial => 'form'
diff --git a/src/app/views/providers/realms.haml 
b/src/app/views/providers/realms.haml
new file mode 100644
index 0000000..31f7886
--- /dev/null
+++ b/src/app/views/providers/realms.haml
@@ -0,0 +1 @@
+= render :partial => 'realms/list'
diff --git a/src/app/views/providers/settings.haml 
b/src/app/views/providers/settings.haml
new file mode 100644
index 0000000..b4cdc43
--- /dev/null
+++ b/src/app/views/providers/settings.haml
@@ -0,0 +1,3 @@
+- form_tag({ :action => 'destroy' }, {:onsubmit => "return confirm('Really 
delete the provider?');"}) do
+  = hidden_field :provider, :id
+  = submit_tag "Delete Provider", :class => "submit_link"
diff --git a/src/app/views/providers/show.haml 
b/src/app/views/providers/show.haml
new file mode 100644
index 0000000..c66fabf
--- /dev/null
+++ b/src/app/views/providers/show.haml
@@ -0,0 +1 @@
+= render :partial => 'form'
diff --git a/src/app/views/settings/index.haml 
b/src/app/views/settings/index.haml
index 80f0bd6..5963ec4 100644
--- a/src/app/views/settings/index.haml
+++ b/src/app/views/settings/index.haml
@@ -5,7 +5,7 @@
       = t('.manage_providers')
     %p
       = t('.manage_providers_desc')
-    = link_to t(:continue), {:controller => 'provider'}, :class => 'button'
+    = link_to t(:continue), {:controller => 'providers'}, :class => 'button'
   %li#users.grid_8
     = image_tag "blnk.png", :class => "icon", :alt => ""
     %h2
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index 0d8cc39..6539cbd 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -87,7 +87,7 @@ en:
       self_service_default: 'User Treatment: Self-service default'
       quota: Quota
       account: Account
-  provider:
+  providers:
     providers: PROVIDERS
     form:
       provider_name: Provider Name
diff --git a/src/config/navigation.rb b/src/config/navigation.rb
index c29b9c9..caa864b 100644
--- a/src/config/navigation.rb
+++ b/src/config/navigation.rb
@@ -7,9 +7,9 @@ SimpleNavigation::Configuration.run do |navigation|
     end
     first_level.item :administration, t(:administration), '#', :class => 
'administration' do |second_level|
       second_level.item :system_settings, t(:system_settings), :controller => 
'settings' do |third_level|
-        third_level.item :manage_providers, t(:manage_providers), :controller 
=> 'provider' do |fourth_level|
-          fourth_level.item :provider_summary, t(:provider_summary), { 
:controller => 'provider', :action => 'show', :id => (@provider.id if 
@provider) }, :highlights_on => /\/provider\/(show|edit)/
-          fourth_level.item :provider_accounts, t(:provider_accounts), { 
:controller => 'provider', :action => 'accounts', :id => (@provider.id if 
@provider) }, :highlights_on => /\/provider\/accounts/
+        third_level.item :manage_providers, t(:manage_providers), :controller 
=> 'providers' do |fourth_level|
+          fourth_level.item :provider_summary, t(:provider_summary), { 
:controller => 'providers', :action => 'show', :id => (@provider.id if 
@provider) }, :highlights_on => /\/providers\/(show|edit)/
+          fourth_level.item :provider_accounts, t(:provider_accounts), { 
:controller => 'providers', :action => 'accounts', :id => (@provider.id if 
@provider) }, :highlights_on => /\/providers\/accounts/
           fourth_level.item :scheduling_policies, t(:scheduling_policies), '#'
           fourth_level.item :services_provided, t(:services_provided), '#'
           fourth_level.item :map_profiles, t(:map_profiles), '#'
diff --git a/src/features/support/paths.rb b/src/features/support/paths.rb
index 198099b..e948161 100644
--- a/src/features/support/paths.rb
+++ b/src/features/support/paths.rb
@@ -27,16 +27,16 @@ module NavigationHelpers
       user_session_path
 
     when /the providers page/
-      url_for :controller => 'provider', :action => 'index', :only_path => true
+      url_for :controller => 'providers', :action => 'index', :only_path => 
true
 
     when /the new provider page/
-      url_for :controller => 'provider', :action => 'new', :only_path => true
+      url_for :controller => 'providers', :action => 'new', :only_path => true
 
     when /the show provider page/
-      url_for :controller => 'provider', :action => 'show', :only_path => true
+      url_for :controller => 'providers', :action => 'show', :only_path => true
 
     when /the provider settings page/
-      url_for :controller => 'provider', :action => 'settings', :only_path => 
true
+      url_for :controller => 'providers', :action => 'settings', :only_path => 
true
 
     when /the settings page/
       settings_path
diff --git a/src/spec/controllers/cloud_accounts_controller_spec.rb 
b/src/spec/controllers/cloud_accounts_controller_spec.rb
index 7a82a7a..f3b866a 100644
--- a/src/spec/controllers/cloud_accounts_controller_spec.rb
+++ b/src/spec/controllers/cloud_accounts_controller_spec.rb
@@ -29,7 +29,7 @@ describe CloudAccountsController do
     @cloud_account.save
 
     post :update, :cloud_account => { :id => @cloud_account.id, :password => 
'mockpassword' }
-    response.should 
redirect_to("http://test.host/provider/accounts/#[email protected]}";)
+    response.should 
redirect_to("http://test.host/providers/accounts/#[email protected]}";)
     CloudAccount.find(@cloud_account.id).password.should == "mockpassword"
   end
 
@@ -38,7 +38,7 @@ describe CloudAccountsController do
     lambda do
       post :destroy, :id => @cloud_account.id
     end.should change(CloudAccount, :count).by(-1)
-    response.should 
redirect_to("http://test.host/provider/accounts/#[email protected]}";)
+    response.should 
redirect_to("http://test.host/providers/accounts/#[email protected]}";)
     CloudAccount.find(:first, :conditions => ['id = ?', 
@cloud_account.id]).should be_nil
   end
 
diff --git a/src/spec/controllers/provider_controller_spec.rb 
b/src/spec/controllers/provider_controller_spec.rb
index 096af3d..a1a317a 100644
--- a/src/spec/controllers/provider_controller_spec.rb
+++ b/src/spec/controllers/provider_controller_spec.rb
@@ -1,6 +1,6 @@
 require 'spec_helper'
 
-describe ProviderController do
+describe ProvidersController do
 
   fixtures :all
   before(:each) do
-- 
1.7.2.3

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to