Dne 18.4.2011 17:37, jprovazn@redhat.com napsal(a):
From: Jan Provaznik <jprovazn@redhat.com>

Updated new/edit forms to enable setting of quota
---
 .../controllers/admin/pool_families_controller.rb  |    3 ++-
 src/app/models/pool_family.rb                      |    1 +
 src/app/views/admin/pool_families/_form.haml       |    6 ++++++
 src/app/views/admin/pool_families/_list.haml       |    2 +-
 src/features/pool_family.feature                   |    1 +
 5 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/app/controllers/admin/pool_families_controller.rb b/src/app/controllers/admin/pool_families_controller.rb
index af53aac..9f53113 100644
--- a/src/app/controllers/admin/pool_families_controller.rb
+++ b/src/app/controllers/admin/pool_families_controller.rb
@@ -17,7 +17,7 @@ class Admin::PoolFamiliesController < ApplicationController
   end
 
   def new
-    @pool_family = PoolFamily.new
+    @pool_family = PoolFamily.new(:quota => Quota.new)
   end
 
   def create
@@ -34,6 +34,7 @@ class Admin::PoolFamiliesController < ApplicationController
 
   def edit
     @pool_family = PoolFamily.find(params[:id])
+    @pool_family.quota ||= Quota.new
   end
 
   def update
diff --git a/src/app/models/pool_family.rb b/src/app/models/pool_family.rb
index d7241a3..36f68a7 100644
--- a/src/app/models/pool_family.rb
+++ b/src/app/models/pool_family.rb
@@ -43,6 +43,7 @@ class PoolFamily < ActiveRecord::Base
 
   has_many :pools,  :dependent => :destroy
   belongs_to :quota, :dependent => :destroy
+  accepts_nested_attributes_for :quota
   has_and_belongs_to_many :provider_accounts
 
   validates_length_of :name, :maximum => 255
diff --git a/src/app/views/admin/pool_families/_form.haml b/src/app/views/admin/pool_families/_form.haml
index 093e41d..e493931 100644
--- a/src/app/views/admin/pool_families/_form.haml
+++ b/src/app/views/admin/pool_families/_form.haml
@@ -1,6 +1,12 @@
+= error_messages_for :pool_family
 = form.error_message_on :name, 'Name '
 %fieldset.clear
   = form.label :name,'Pool Family Name :'
   = form.text_field :name, :title => 'pool_family_name', :value => @pool_family.name, :class => "clear grid_4 alpha"
 %fieldset.clear
+  - form.fields_for :quota do |quota_form|
+    %fieldset.clear
+      = quota_form.label :maximum_running_instances, t(:maximum_running_instances), :class => "alpha grid_3"
+      = quota_form.text_field :maximum_running_instances
+%fieldset.clear
   = form.submit "Save",  :class => "submit formbutton"
diff --git a/src/app/views/admin/pool_families/_list.haml b/src/app/views/admin/pool_families/_list.haml
index a824676..aef3e33 100644
--- a/src/app/views/admin/pool_families/_list.haml
+++ b/src/app/views/admin/pool_families/_list.haml
@@ -19,4 +19,4 @@
             = link_to pool_family.name, admin_pool_family_path(pool_family)
           %td
= pool_family.quota.maximum_running_instances or 'unlimited'
           %td
-            xx %
+            = "#{pool_family.quota.percentage_used} %"
diff --git a/src/features/pool_family.feature b/src/features/pool_family.feature
index 6795d42..9dc97ea 100644
--- a/src/features/pool_family.feature
+++ b/src/features/pool_family.feature
@@ -32,6 +32,7 @@ Feature: Pool Families
     When I follow "Create"
     Then I should be on the new admin pool family page
     When I fill in "pool_family[name]" with "testpoolfamily"
+    When I fill in "pool_family[quota_attributes][maximum_running_instances]" with "2"
     And I press "Save"
     Then I should be on the admin pool families page
     And I should see "Pool family was added."
Pool Families list should display maximum_running_instances value in column QUOTA LIMIT. Othervise all tests passed. ACK.