On 05/18/2011 04:16 PM, Matt Wagner wrote:
Implements
https://www.aeolusproject.org/redmine/issues/1449
---
src/app/controllers/application_controller.rb | 9 +++++++
src/app/controllers/deployments_controller.rb | 20 ++++++++++++++++
src/app/controllers/instances_controller.rb | 23 ++++++++++++++++++
src/app/controllers/pools_controller.rb | 14 +++++++++++
src/app/views/deployments/_edit.haml | 11 +++++++++
src/app/views/deployments/_launch_new.haml | 8 ++++++
src/app/views/deployments/_list.haml | 3 ++
src/app/views/deployments/_new.haml | 25 ++++++++++++++++++++
src/app/views/deployments/_properties.haml | 11 +++++++-
src/app/views/deployments/edit.haml | 12 +---------
src/app/views/deployments/launch_new.haml | 7 +-----
src/app/views/deployments/new.haml | 26 +--------------------
src/app/views/instances/_edit.haml | 10 ++++++++
src/app/views/instances/_new.haml | 27 +++++++++++++++++++++
src/app/views/instances/edit.haml | 11 +--------
src/app/views/instances/new.haml | 28 +---------------------
src/app/views/pools/_edit.haml | 30 ++++++++++++++++++++++++
src/app/views/pools/_new.haml | 27 +++++++++++++++++++++
src/app/views/pools/_show.haml | 10 ++++++++
src/app/views/pools/edit.haml | 31 +------------------------
src/app/views/pools/new.haml | 28 +---------------------
21 files changed, 233 insertions(+), 138 deletions(-)
create mode 100644 src/app/views/deployments/_edit.haml
create mode 100644 src/app/views/deployments/_launch_new.haml
create mode 100644 src/app/views/deployments/_new.haml
create mode 100644 src/app/views/instances/_edit.haml
create mode 100644 src/app/views/instances/_new.haml
create mode 100644 src/app/views/pools/_edit.haml
create mode 100644 src/app/views/pools/_new.haml
create mode 100644 src/app/views/pools/_show.haml
diff --git a/src/app/controllers/application_controller.rb
b/src/app/controllers/application_controller.rb
index 8dff19b..87da63b 100644
--- a/src/app/controllers/application_controller.rb
+++ b/src/app/controllers/application_controller.rb
@@ -39,6 +39,8 @@ class ApplicationController< ActionController::Base
helper_method :check_privilege
+ before_filter :js_for_xhr
+
protected
# permissions checking
@@ -248,4 +250,11 @@ class ApplicationController< ActionController::Base
session[:breadcrumbs] = breadcrumbs
end
+
+ # XMLHTTPRequest in many browsers sends "Accept: */*", so the first
respond_to will match.
+ # See
http://codetunes.com/2009/01/31/rails-222-ajax-and-respond_to/ and
+ #
http://www.grauw.nl/blog/entry/470 for more.
+ def js_for_xhr
+ request.format = :js if request.xhr?
+ end
We must remove this very soon/now - with backbone integration we gonna
fetch json data through ajax request (fetch won't work because of this
hack). In case some browsers send incorrect Accept header we can set
Accept header explicitly in jquery ajax() call.
end
diff --git a/src/app/controllers/deployments_controller.rb
b/src/app/controllers/deployments_controller.rb
index a9a0996..e2ccd69 100644
--- a/src/app/controllers/deployments_controller.rb
+++ b/src/app/controllers/deployments_controller.rb
@@ -7,6 +7,7 @@ class DeploymentsController< ApplicationController
def index
save_breadcrumb(deployments_path(:viewstate => @viewstate ? @viewstate.id :
nil))
respond_to do |format|
+ format.js { render :partial => 'list' }
format.html
format.json { render :json => @deployments }
end
@@ -18,6 +19,7 @@ class DeploymentsController< ApplicationController
@launchable_deployables<< deployable if deployable.launchable?
end
respond_to do |format|
+ format.js { render :partial => 'launch_new' }
format.html
format.json { render :json => @launchable_deployables }
end
@@ -29,10 +31,15 @@ class DeploymentsController< ApplicationController
respond_to do |format|
if @deployment.deployable.assemblies.empty?
flash[:warning] = "Deployable must have at least one assembly"
+ format.js do
+ load_deployments
+ render :partial => 'list'
+ end
format.html { redirect_to deployments_path }
format.json { render :json => {:error => flash[:warning]}, :status
=> :unprocessable_entity }
else
init_new_deployment_attrs
+ format.js { render :partial => 'new' }
format.html
format.json { render :json => @deployment }
end
@@ -53,11 +60,13 @@ class DeploymentsController< ApplicationController
:failures => errors
}
end
+ format.js { render :partial => 'properties' }
format.html { redirect_to deployment_path(@deployment) }
format.json { render :json => @deployment, :status => :created }
else
flash.now[:warning] = "Deployment launch failed"
init_new_deployment_attrs
+ format.js { launch_new }
format.html { render :action => 'new' }
format.json { render :json => @deployment.errors, :status =>
:unprocessable_entity }
end
@@ -86,6 +95,7 @@ class DeploymentsController< ApplicationController
def edit
require_privilege(Privilege::MODIFY, @deployment)
respond_to do |format|
+ format.js { render :partial => 'edit' }
format.html
format.json { render :json => @deployment }
end
@@ -98,10 +108,12 @@ class DeploymentsController< ApplicationController
respond_to do |format|
if check_privilege(Privilege::MODIFY, @deployment) and
@deployment.update_attributes(attrs)
flash[:success] = t('deployments.updated', :count => 1, :list =>
@deployment.name)
+ format.js { render :partial => 'properties' }
format.html { redirect_to @deployment }
format.json { render :json => @deployment }
else
flash[:error] = t('deployments.not_updated', :count => 1, :list
=> @deployment.name)
+ format.js { render :partial => 'edit' }
format.html { render :action => :edit }
format.json { render :json => @deployment.errors, :status =>
:unprocessable_entity }
end
@@ -122,6 +134,10 @@ class DeploymentsController< ApplicationController
flash[:success] = t('deployments.deleted', :list => destroyed, :count
=> destroyed.size) if destroyed.present?
flash[:error] = t('deployments.not_deleted', :list => failed, :count
=> failed.size) if failed.present?
respond_to do |format|
+ format.js do
+ load_deployments
+ render :partial => 'list'
+ end
format.html { redirect_to deployments_url }
format.json { render :json => {:success => destroyed, :errors =>
failed} }
end
@@ -154,6 +170,10 @@ class DeploymentsController< ApplicationController
flash[:notice] = notices unless notices.blank?
flash[:error] = errors unless errors.blank?
respond_to do |format|
+ format.js do
+ load_deployments
+ render :partial => 'list'
+ end
format.html { redirect_to deployments_path }
format.json { render :json => {:success => notices, :errors =>
errors} }
end
diff --git a/src/app/controllers/instances_controller.rb
b/src/app/controllers/instances_controller.rb
index 915c088..c2aa561 100644
--- a/src/app/controllers/instances_controller.rb
+++ b/src/app/controllers/instances_controller.rb
@@ -15,6 +15,7 @@ class InstancesController< ApplicationController
end
respond_to do |format|
+ format.js { render :partial => 'list' }
format.html
format.json { render :json => @instances }
end
@@ -31,6 +32,7 @@ class InstancesController< ApplicationController
init_new_instance_attrs
respond_to do |format|
+ format.js { render :partial => 'new' }
format.html
format.json { render :json => @instance }
end
@@ -77,6 +79,7 @@ class InstancesController< ApplicationController
rescue
init_new_instance_attrs
flash[:warning] = "Failed to launch instance: #{$!}"
+ format.js { render :partial => 'new' }
format.html { render :new }
format.json { render :json => @instance, :status =>
:unprocessable_entity}
else
@@ -85,6 +88,7 @@ class InstancesController< ApplicationController
else
flash[:warning] = "Quota Exceeded: Instance will not start until you
have free quota"
end
+ format.js { render :partial => 'properties', :id => @instance.id
}
format.html { redirect_to instances_path }
format.json { render :json => @instance, :status => :created }
end
@@ -111,6 +115,11 @@ class InstancesController< ApplicationController
def edit
require_privilege(Privilege::MODIFY, @instance)
+ respond_to do |format|
+ format.js { render :partial => 'edit', :id => @instance.id }
+ format.html
+ format.json { render :json => @instance }
+ end
end
def update
@@ -122,10 +131,12 @@ class InstancesController< ApplicationController
respond_to do |format|
if check_privilege(Privilege::MODIFY, @instance) and
@instance.update_attributes(attrs)
flash[:success] = t('instances.updated', :count => 1, :list =>
@instance.name)
+ format.js { render :partial => 'properties' }
format.html { redirect_to @instance }
format.json { render :json => @instance }
else
flash[:error] = t('instances.not_updated', :count =>1, :list =>
@instance.name)
+ format.js { render :partial => 'edit' }
format.html { render :action => :edit }
format.json { render :json => @instance.errors, :status =>
:unprocessable_entity }
end
@@ -146,6 +157,12 @@ class InstancesController< ApplicationController
flash[:success] = t('instances.deleted', :list =>
destroyed.to_sentence, :count => destroyed.size) if destroyed.present?
flash[:error] = t('instances.not_deleted', :list => failed.to_sentence,
:count => failed.size) if failed.present?
respond_to do |format|
+ # FIXME: _list does not show flash messages, but I'm not sure that showing
_list is proper anyway
+ format.js do
+ set_view_vars
+ load_instances
+ render :partial => 'list'
+ end
format.html { render :action => :show }
format.json { render :json => {:success => destroyed, :errors =>
failed} }
end
@@ -155,9 +172,15 @@ class InstancesController< ApplicationController
respond_to do |format|
if @instance.instance_key.nil?
flash[:warning] = "SSH Key not found for this Instance."
+ format.js { render :partial => 'properties' }
format.html { redirect_to instance_path(@instance) }
format.json { render :json => flash[:warning], :status => :not_found }
else
+ format.js do
+ send_data @instance.instance_key.pem,
+ :filename =>
"#{(a)instance.instance_key.name}.pem",
+ :type => "text/plain"
+ end
format.html { send_data @instance.instance_key.pem,
:filename =>
"#{(a)instance.instance_key.name}.pem",
:type => "text/plain" }
diff --git a/src/app/controllers/pools_controller.rb
b/src/app/controllers/pools_controller.rb
index c73b63e..18688c7 100644
--- a/src/app/controllers/pools_controller.rb
+++ b/src/app/controllers/pools_controller.rb
@@ -14,6 +14,7 @@ class PoolsController< ApplicationController
@pools = Pool.search() { keywords(params[:q]) }.results
end
respond_to do |format|
+ format.js { render :partial => 'list' }
format.html
format.json { render :json => @pools }
end
@@ -28,6 +29,7 @@ class PoolsController< ApplicationController
@details_tab = params[:details_tab].blank? ? 'properties' :
params[:details_tab]
save_breadcrumb(pool_path(@pool), @pool.name)
respond_to do |format|
+ # TODO - With the new UI, the logic here will probably need to be updated
format.js do
if @url_params.delete :details_pane
render :partial => 'layouts/details_pane' and return
@@ -46,6 +48,7 @@ class PoolsController< ApplicationController
respond_to do |format|
format.html
format.json { render :json => @pool }
+ format.js { render :partial => 'new' }
end
end
@@ -63,9 +66,12 @@ class PoolsController< ApplicationController
@pool.assign_owner_roles(current_user)
flash[:notice] = "Pool added."
format.html { redirect_to :action => 'show', :id => @pool.id }
+ # TODO - The new UI is almost certainly going to want a new partial for .js
+ format.js { render :partial => 'show', :id => @pool.id }
format.json { render :json => @pool, :status => :created }
else
flash.now[:warning] = "Pool creation failed."
+ format.js { render :partial => 'new' }
format.html { render :new }
format.json { render :json => @pool.errors, :status =>
:unprocessable_entity }
end
@@ -77,6 +83,7 @@ class PoolsController< ApplicationController
require_privilege(Privilege::MODIFY, @pool)
@quota = @pool.quota
respond_to do |format|
+ format.js { render :partial => 'edit' }
format.html
format.json { render :json => @pool }
end
@@ -92,10 +99,12 @@ class PoolsController< ApplicationController
respond_to do |format|
if @pool.update_attributes(params[:pool])
flash[:notice] = "Pool updated."
+ format.js { render :partial => 'show', :id => @pool.id }
format.html { redirect_to :action => 'show', :id => @pool.id }
format.json { render :json => @pool }
else
flash[:error] = "Pool wasn't updated!"
+ format.js { render :partial => 'edit', :id => @pool.id }
format.html { render :action => :edit }
format.json { render :json => @pool.errors, :status =>
:unprocessable_entity }
end
@@ -119,6 +128,11 @@ class PoolsController< ApplicationController
flash[:success] = t('pools.index.pool_deleted', :list =>
destroyed.to_sentence, :count => destroyed.size) if destroyed.present?
flash[:error] = t('pools.index.pool_not_deleted', :list =>
failed.to_sentence, :count => failed.size) if failed.present?
respond_to do |format|
+ # TODO - What is expected to be returned on an AJAX delete?
+ format.js do
+ load_pools
+ render :partial => 'list'
+ end
format.html { redirect_to pools_url }
format.json { render :json => {:success => destroyed, :errors =>
failed} }
end
diff --git a/src/app/views/deployments/_edit.haml b/src/app/views/deployments/_edit.haml
new file mode 100644
index 0000000..72c8e60
--- /dev/null
+++ b/src/app/views/deployments/_edit.haml
@@ -0,0 +1,11 @@
+= error_messages_for 'deployment'
+%h2 Edit deployment
+- form_for @deployment do
+ = hidden_field :deployment, :deployable_id
+ %ul
+ %li
+ = label :deployment, :name
+ = text_field :deployment, :name
+
+ = submit_tag 'Cancel', :name => 'cancel'
+ = submit_tag 'Save', :name => 'save'
diff --git a/src/app/views/deployments/_launch_new.haml
b/src/app/views/deployments/_launch_new.haml
new file mode 100644
index 0000000..34126dd
--- /dev/null
+++ b/src/app/views/deployments/_launch_new.haml
@@ -0,0 +1,8 @@
+= if request.xhr?
+ = render :partial => '/layouts/notification'
+%h2 Launch new deployment via
+- form_tag new_deployment_path, :method => :get do
+ = label_tag "Deployable:"
+ = select_tag :deployable_id,
options_from_collection_for_select(@launchable_deployables, "id",
"name")
+ = submit_tag "Launch"
+ = link_to "Cancel", deployments_path, :class => "button"
diff --git a/src/app/views/deployments/_list.haml b/src/app/views/deployments/_list.haml
index 2d89766..3f8064e 100644
--- a/src/app/views/deployments/_list.haml
+++ b/src/app/views/deployments/_list.haml
@@ -1,3 +1,6 @@
+= if request.xhr?
+ = render :partial => '/layouts/notification'
+
- form_tag do
#object-actions
= restful_submit_tag "Start", "start", deployments_path,
"PUT"
diff --git a/src/app/views/deployments/_new.haml b/src/app/views/deployments/_new.haml
new file mode 100644
index 0000000..390840d
--- /dev/null
+++ b/src/app/views/deployments/_new.haml
@@ -0,0 +1,25 @@
+= error_messages_for 'deployment'
+%h2 Launch deployable
+- form_for @deployment, :url => deployments_path do
+ = hidden_field :deployment, :deployable_id
+ %ul
+ %li
+ = label :deployment, :name
+ = text_field :deployment, :name
+ %li
+ = label :deployment, :pool
+ = select :deployment, :pool_id, @pools.map {|p| [ p.name, p.id ]}, {
:include_blank => true }
+ %li
+ = label :deployment, :frontend_realm
+ = select :deployment, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, {
:include_blank => true }
+ %p
+ %h3 Assemblies hardware profiles
+ %ul
+ - @deployment.deployable.assemblies.each do |assembly|
+ %li
+ - hwprofiles = @hardware_profiles.select {|hwp| hwp.architecture.value ==
assembly.templates.first.architecture}
+ = label_tag "hw_profiles[#{assembly.id}]", assembly.name
+ = select_tag "hw_profiles[#{assembly.id}]",
options_from_collection_for_select(hwprofiles, 'id', 'name')
+
+ = submit_tag 'Cancel', :name => 'cancel'
+ = submit_tag 'Launch', :name => 'launch'
diff --git a/src/app/views/deployments/_properties.haml
b/src/app/views/deployments/_properties.haml
index 5d2c584..b5e27af 100644
--- a/src/app/views/deployments/_properties.haml
+++ b/src/app/views/deployments/_properties.haml
@@ -1,2 +1,9 @@
-%h3 Owner Details
-%h3 CDL
+%h3
+ = @deployment.name
+%ul
+ %li
+ Pool:
+ = @deployment.pool.name
+ %li
+ Created:
+ = @deployment.created_at
\ No newline at end of file
diff --git a/src/app/views/deployments/edit.haml b/src/app/views/deployments/edit.haml
index 72c8e60..ea8dd88 100644
--- a/src/app/views/deployments/edit.haml
+++ b/src/app/views/deployments/edit.haml
@@ -1,11 +1 @@
-= error_messages_for 'deployment'
-%h2 Edit deployment
-- form_for @deployment do
- = hidden_field :deployment, :deployable_id
- %ul
- %li
- = label :deployment, :name
- = text_field :deployment, :name
-
- = submit_tag 'Cancel', :name => 'cancel'
- = submit_tag 'Save', :name => 'save'
+= render :partial => 'edit'
\ No newline at end of file
diff --git a/src/app/views/deployments/launch_new.haml
b/src/app/views/deployments/launch_new.haml
index 6edf475..916a842 100644
--- a/src/app/views/deployments/launch_new.haml
+++ b/src/app/views/deployments/launch_new.haml
@@ -1,6 +1 @@
-%h2 Launch new deployment via
-- form_tag new_deployment_path, :method => :get do
- = label_tag "Deployable:"
- = select_tag :deployable_id,
options_from_collection_for_select(@launchable_deployables, "id",
"name")
- = submit_tag "Launch"
- = link_to "Cancel", deployments_path, :class => "button"
+= render :partial => 'launch_new'
\ No newline at end of file
diff --git a/src/app/views/deployments/new.haml b/src/app/views/deployments/new.haml
index 390840d..949343a 100644
--- a/src/app/views/deployments/new.haml
+++ b/src/app/views/deployments/new.haml
@@ -1,25 +1 @@
-= error_messages_for 'deployment'
-%h2 Launch deployable
-- form_for @deployment, :url => deployments_path do
- = hidden_field :deployment, :deployable_id
- %ul
- %li
- = label :deployment, :name
- = text_field :deployment, :name
- %li
- = label :deployment, :pool
- = select :deployment, :pool_id, @pools.map {|p| [ p.name, p.id ]}, {
:include_blank => true }
- %li
- = label :deployment, :frontend_realm
- = select :deployment, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, {
:include_blank => true }
- %p
- %h3 Assemblies hardware profiles
- %ul
- - @deployment.deployable.assemblies.each do |assembly|
- %li
- - hwprofiles = @hardware_profiles.select {|hwp| hwp.architecture.value ==
assembly.templates.first.architecture}
- = label_tag "hw_profiles[#{assembly.id}]", assembly.name
- = select_tag "hw_profiles[#{assembly.id}]",
options_from_collection_for_select(hwprofiles, 'id', 'name')
-
- = submit_tag 'Cancel', :name => 'cancel'
- = submit_tag 'Launch', :name => 'launch'
+= render :partial => 'new'
\ No newline at end of file
diff --git a/src/app/views/instances/_edit.haml b/src/app/views/instances/_edit.haml
new file mode 100644
index 0000000..dfce76f
--- /dev/null
+++ b/src/app/views/instances/_edit.haml
@@ -0,0 +1,10 @@
+= error_messages_for 'instance'
+%h2 Edit instance
+- form_for @instance do
+ %ul
+ %li
+ = label :instance, :name
+ = text_field :instance, :name
+
+ = submit_tag 'Cancel', :name => 'cancel'
+ = submit_tag 'Save', :name => 'save'
diff --git a/src/app/views/instances/_new.haml b/src/app/views/instances/_new.haml
new file mode 100644
index 0000000..139d08d
--- /dev/null
+++ b/src/app/views/instances/_new.haml
@@ -0,0 +1,27 @@
+= error_messages_for 'instance'
+%h2 Launch instance
+- form_for @instance, :url => instances_path do
+ = hidden_field :instance, :template_id
+ %ul
+ %li
+ = label :instance, :name
+ = text_field :instance, :name
+ %li
+ = label :instance, :template
+ = text_field_tag :template_name, @instance.template ? @instance.template.name :
'', :disabled => true
+ %li
+ = label :instance, :pool
+ - if @instance.pool
+ = text_field_tag :pool_name, @instance.pool.name, :disabled => true
+ = hidden_field :instance, :pool_id
+ - else
+ = select :instance, :pool_id, @pools.map {|p| [ p.name, p.id ]}, {
:include_blank => true }
+ %li
+ = label :instance, :hardware_profile
+ = select :instance, :hardware_profile_id, @hardware_profiles.map {|p| [ p.name,
p.id ]}, { :include_blank => false }
+ %li
+ = label :instance, :frontend_realm
+ = select :instance, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, {
:include_blank => true }
+
+ = submit_tag 'Cancel', :name => 'cancel'
+ = submit_tag 'Launch', :name => 'launch'
diff --git a/src/app/views/instances/edit.haml b/src/app/views/instances/edit.haml
index dfce76f..8e2be85 100644
--- a/src/app/views/instances/edit.haml
+++ b/src/app/views/instances/edit.haml
@@ -1,10 +1 @@
-= error_messages_for 'instance'
-%h2 Edit instance
-- form_for @instance do
- %ul
- %li
- = label :instance, :name
- = text_field :instance, :name
-
- = submit_tag 'Cancel', :name => 'cancel'
- = submit_tag 'Save', :name => 'save'
+= render :partial => 'edit'
diff --git a/src/app/views/instances/new.haml b/src/app/views/instances/new.haml
index 139d08d..949343a 100644
--- a/src/app/views/instances/new.haml
+++ b/src/app/views/instances/new.haml
@@ -1,27 +1 @@
-= error_messages_for 'instance'
-%h2 Launch instance
-- form_for @instance, :url => instances_path do
- = hidden_field :instance, :template_id
- %ul
- %li
- = label :instance, :name
- = text_field :instance, :name
- %li
- = label :instance, :template
- = text_field_tag :template_name, @instance.template ? @instance.template.name :
'', :disabled => true
- %li
- = label :instance, :pool
- - if @instance.pool
- = text_field_tag :pool_name, @instance.pool.name, :disabled => true
- = hidden_field :instance, :pool_id
- - else
- = select :instance, :pool_id, @pools.map {|p| [ p.name, p.id ]}, {
:include_blank => true }
- %li
- = label :instance, :hardware_profile
- = select :instance, :hardware_profile_id, @hardware_profiles.map {|p| [ p.name,
p.id ]}, { :include_blank => false }
- %li
- = label :instance, :frontend_realm
- = select :instance, :frontend_realm_id, @realms.map {|r| [ r.name, r.id ]}, {
:include_blank => true }
-
- = submit_tag 'Cancel', :name => 'cancel'
- = submit_tag 'Launch', :name => 'launch'
+= render :partial => 'new'
\ No newline at end of file
diff --git a/src/app/views/pools/_edit.haml b/src/app/views/pools/_edit.haml
new file mode 100644
index 0000000..94e486f
--- /dev/null
+++ b/src/app/views/pools/_edit.haml
@@ -0,0 +1,30 @@
+= error_messages_for :pool
+%h1
+ Edit pool
+ = @pool.name
+
+- form_for @pool do |form|
+ %fieldset
+ = form.label :name, "Name:", :class => "grid_2 alpha"
+ = form.text_field :name
+ %fieldset
+ = form.label :pool_family_id, "Pool Family:", :class => "grid_2
alpha"
+ = form.collection_select :pool_family_id, PoolFamily.all, :id, :name
+ %fieldset
+ = label_tag "Quota"
+ = text_field :quota, :maximum_running_instances, :title =>
t('provider_accounts.form.quota_instances'), :value =>
@quota.maximum_running_instances || "unlimited", :id =>
"quota_instances", :class => "grid_3 omega"
+ (
+ %button.linkbutton.nospace{ :type => 'button', :onclick =>
"set_unlimited_quota(\"quota_instances\");" }<>
+ = t('provider_accounts.form.unlimited_quota')
+ )
+ %fieldset
+ = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha"
}
+ = form.check_box :enabled
+ %fieldset.clear
+
+ = form.submit "Save"
+
+:javascript
+ function set_unlimited_quota(elem_id) {
+ $("#" + elem_id)[0].value = "unlimited";
+ }
diff --git a/src/app/views/pools/_new.haml b/src/app/views/pools/_new.haml
new file mode 100644
index 0000000..09df69e
--- /dev/null
+++ b/src/app/views/pools/_new.haml
@@ -0,0 +1,27 @@
+= error_messages_for :pool
+%h1 Create a new Pool
+- form_for @pool, :url => pools_path do |form|
+ %fieldset
+ = form.label :name, "Name:", :class => "grid_2 alpha"
+ = form.text_field :name
+ %fieldset
+ = form.label :pool_family_id, "Pool Family:", :class => "grid_2
alpha"
+ = form.collection_select :pool_family_id, PoolFamily.all, :id, :name
+ %fieldset
+ = label_tag "Quota:"
+ = text_field :quota, :maximum_running_instances, :title =>
t('provider_accounts.form.quota_instances'), :value =>
@quota.maximum_running_instances || "unlimited", :id =>
"quota_instances", :class => "grid_3 omega"
+ (
+ %button.linkbutton.nospace{ :type => 'button', :onclick =>
"set_unlimited_quota(\"quota_instances\");" }<>
+ = t('provider_accounts.form.unlimited_quota')
+ )
+ %fieldset
+ = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha"
}
+ = form.check_box :enabled
+ %fieldset.clear
+
+ = form.submit "Save"
+
+:javascript
+ function set_unlimited_quota(elem_id) {
+ $("#" + elem_id)[0].value = "unlimited";
+ }
diff --git a/src/app/views/pools/_show.haml b/src/app/views/pools/_show.haml
new file mode 100644
index 0000000..7bb4f81
--- /dev/null
+++ b/src/app/views/pools/_show.haml
@@ -0,0 +1,10 @@
+= @pool.name
+%dl
+ %dt
+ ID:
+ %dd
+ = @pool.id
+ %dt
+ Pool family:
+ %dd
+ = @pool.pool_family.name
\ No newline at end of file
diff --git a/src/app/views/pools/edit.haml b/src/app/views/pools/edit.haml
index d4c511f..ea8dd88 100644
--- a/src/app/views/pools/edit.haml
+++ b/src/app/views/pools/edit.haml
@@ -1,30 +1 @@
-= error_messages_for :pool
-%h1
- Edit pool
- = @pool.name
-
-- form_for [:resources, @pool] do |form|
- %fieldset
- = form.label :name, "Name:", :class => "grid_2 alpha"
- = form.text_field :name
- %fieldset
- = form.label :pool_family_id, "Pool Family:", :class => "grid_2
alpha"
- = form.collection_select :pool_family_id, PoolFamily.all, :id, :name
- %fieldset
- = label_tag "Quota"
- = text_field :quota, :maximum_running_instances, :title =>
t('provider_accounts.form.quota_instances'), :value =>
@quota.maximum_running_instances || "unlimited", :id =>
"quota_instances", :class => "grid_3 omega"
- (
- %button.linkbutton.nospace{ :type => 'button', :onclick =>
"set_unlimited_quota(\"quota_instances\");" }<>
- = t('provider_accounts.form.unlimited_quota')
- )
- %fieldset
- = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha"
}
- = form.check_box :enabled
- %fieldset.clear
-
- = form.submit "Save"
-
-:javascript
- function set_unlimited_quota(elem_id) {
- $("#" + elem_id)[0].value = "unlimited";
- }
+= render :partial => 'edit'
\ No newline at end of file
diff --git a/src/app/views/pools/new.haml b/src/app/views/pools/new.haml
index 09df69e..949343a 100644
--- a/src/app/views/pools/new.haml
+++ b/src/app/views/pools/new.haml
@@ -1,27 +1 @@
-= error_messages_for :pool
-%h1 Create a new Pool
-- form_for @pool, :url => pools_path do |form|
- %fieldset
- = form.label :name, "Name:", :class => "grid_2 alpha"
- = form.text_field :name
- %fieldset
- = form.label :pool_family_id, "Pool Family:", :class => "grid_2
alpha"
- = form.collection_select :pool_family_id, PoolFamily.all, :id, :name
- %fieldset
- = label_tag "Quota:"
- = text_field :quota, :maximum_running_instances, :title =>
t('provider_accounts.form.quota_instances'), :value =>
@quota.maximum_running_instances || "unlimited", :id =>
"quota_instances", :class => "grid_3 omega"
- (
- %button.linkbutton.nospace{ :type => 'button', :onclick =>
"set_unlimited_quota(\"quota_instances\");" }<>
- = t('provider_accounts.form.unlimited_quota')
- )
- %fieldset
- = form.label :enabled, "Enabled:",{ :class => "grid_2 alpha"
}
- = form.check_box :enabled
- %fieldset.clear
-
- = form.submit "Save"
-
-:javascript
- function set_unlimited_quota(elem_id) {
- $("#" + elem_id)[0].value = "unlimited";
- }
+= render :partial => 'new'
\ No newline at end of file