From: Jan Provaznik <jprovazn(a)redhat.com>
---
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/#{@provider.id}")
+ response.should
redirect_to("http://test.host/providers/accounts/#{@provider.id}")
CloudAccount.find((a)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/#{@provider.id}")
+ response.should
redirect_to("http://test.host/providers/accounts/#{@provider.id}")
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