-pretty view without css, added src/.idea to gitignore, fix one cucumber test -removed unnecessary markup -added expand all link -removed duolble in locales en.yaml -droped unnecessary if conditions -fixed typo
modified: .gitignore modified: src/app/helpers/application_helper.rb deleted: src/app/helpers/deployments_helper.rb modified: src/app/models/pool.rb modified: src/app/models/user.rb modified: src/app/views/pools/_deployments.haml new file: src/app/views/pools/_overview.haml new file: src/app/views/pools/_pretty_list.haml modified: src/app/views/pools/index.haml modified: src/config/locales/en.yml modified: src/features/pool.feature modified: src/app/views/pools/_overview.haml modified: src/app/views/pools/_pretty_list.haml modified: src/config/locales/en.yml --- .gitignore | 2 +- src/app/helpers/application_helper.rb | 16 ++++++++++++++ src/app/helpers/deployments_helper.rb | 18 ---------------- src/app/models/pool.rb | 2 +- src/app/models/user.rb | 1 + src/app/views/pools/_deployments.haml | 9 +++++-- src/app/views/pools/_overview.haml | 31 +++++++++++++++++++++++++++ src/app/views/pools/_pretty_list.haml | 37 +++++++++++++++++++++++++++++++++ src/app/views/pools/index.haml | 4 +- src/config/locales/en.yml | 7 ++++++ src/features/pool.feature | 5 +--- 11 files changed, 103 insertions(+), 29 deletions(-) delete mode 100644 src/app/helpers/deployments_helper.rb create mode 100644 src/app/views/pools/_overview.haml create mode 100644 src/app/views/pools/_pretty_list.haml
diff --git a/.gitignore b/.gitignore index 7b7e496..e427b25 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ database.yml .project *~ *.swp - +src/.idea
# compass compiled and temporary files src/tmp diff --git a/src/app/helpers/application_helper.rb b/src/app/helpers/application_helper.rb index c536a81..3049c7b 100644 --- a/src/app/helpers/application_helper.rb +++ b/src/app/helpers/application_helper.rb @@ -194,4 +194,20 @@ module ApplicationHelper title.split(' ').join('_').downcase end
+ def count_uptime(start_time) + result_string = [] + difference = Time.now.utc - start_time + + seconds = difference % 60 + difference = (difference - seconds) / 60 + minutes = difference % 60 + difference = (difference - minutes) / 60 + hours = difference % 24 + difference = (difference - hours) / 24 + days = difference % 7 + + result_string<< pluralize(days.to_i, 'day') if days != 0 + result_string<<"#{"%02d"%hours.to_i}:#{"%02d"%minutes.to_i}:#{"%02d"%seconds.to_i}" + result_string.join(", ") + end end diff --git a/src/app/helpers/deployments_helper.rb b/src/app/helpers/deployments_helper.rb deleted file mode 100644 index 620ea01..0000000 --- a/src/app/helpers/deployments_helper.rb +++ /dev/null @@ -1,18 +0,0 @@ -module DeploymentsHelper - def count_uptime(start_time) - result_string = [] - difference = Time.now.utc - start_time - - seconds = difference % 60 - difference = (difference - seconds) / 60 - minutes = difference % 60 - difference = (difference - minutes) / 60 - hours = difference % 24 - difference = (difference - hours) / 24 - days = difference % 7 - - result_string<< pluralize(days.to_i, 'day') if days != 0 - result_string<<"#{"%02d"%hours.to_i}:#{"%02d"%minutes.to_i}:#{"%02d"%seconds.to_i}" - result_string.join(", ") - end -end diff --git a/src/app/models/pool.rb b/src/app/models/pool.rb index 87f5c19..cd7e11a 100644 --- a/src/app/models/pool.rb +++ b/src/app/models/pool.rb @@ -43,7 +43,7 @@ class Pool < ActiveRecord::Base has_many :instances, :dependent => :destroy belongs_to :quota, :autosave => true, :dependent => :destroy belongs_to :pool_family - + has_many :deployments # NOTE: Commented out because images table doesn't have pool_id foreign key?! #has_many :images, :dependent => :destroy
diff --git a/src/app/models/user.rb b/src/app/models/user.rb index f795542..0254014 100644 --- a/src/app/models/user.rb +++ b/src/app/models/user.rb @@ -59,6 +59,7 @@ class User < ActiveRecord::Base
has_many :permissions has_many :owned_instances, :class_name => "Instance", :foreign_key => "owner_id" + has_many :deployments, :foreign_key => "owner_id" has_many :view_states
belongs_to :quota, :autosave => true diff --git a/src/app/views/pools/_deployments.haml b/src/app/views/pools/_deployments.haml index 497bf09..6aa3d07 100644 --- a/src/app/views/pools/_deployments.haml +++ b/src/app/views/pools/_deployments.haml @@ -1,3 +1,6 @@ -%h3 - Deployments for - = @pool.name +%ul.deployments_list + - deployments.each do |deployment| + %li + =deployment.name + =count_uptime(deployment.created_at) + =deployment.instances.count if deployment.instances \ No newline at end of file diff --git a/src/app/views/pools/_overview.haml b/src/app/views/pools/_overview.haml new file mode 100644 index 0000000..4bd54f4 --- /dev/null +++ b/src/app/views/pools/_overview.haml @@ -0,0 +1,31 @@ +#overview-bar + %h3=t("overview") + %span.btn-seg-toggle + Buttons here +#stats-bar + %ul + %li.stat + %h3=t("stats_bar_pools") + %span.your_pools + =@pools.count + %span.in_use + 4 + %li.stat + %h3=t("stats_bar_deployments") + %span.deployments + =current_user.deployments.count + %li.stat + %h3=t("stats_bar_instances") + %span.instances + =current_user.owned_instances.count + %li.stat + %span.alerts + %h3=t("alerts") + (TODO)0 + %li.stat + %span.updates + %h3=t("updates") + (TODO)15 + %li.stat + %h3=t("stats_bar_quota_used") + (TODO) 86% \ No newline at end of file diff --git a/src/app/views/pools/_pretty_list.haml b/src/app/views/pools/_pretty_list.haml new file mode 100644 index 0000000..31fbc4d --- /dev/null +++ b/src/app/views/pools/_pretty_list.haml @@ -0,0 +1,37 @@ += link_to "expand all", "#", :class => "reveal_all" +%table#pools_pretty_view + - @pools.each do |pool| + %tr + %td + = link_to pool.name, pool_path(pool) + %td + Deployments: + = pool.deployments.count + %td + Instances: + = pool.instances.count + %td + Pending: + = pool.instances.select {|i| i.state == Instance::STATE_PENDING }.length + %td + Failed: + = pool.instances.select {|i| i.state == Instance::STATE_ERROR }.length + %td + Instance quota usage: + = pool.quota.percentage_used + %td + = link_to "+", "#", :class => "toggle" + %tr + %td + = render :partial => 'deployments', :locals => {:deployments => pool.deployments} + +:javascript + $(document).ready(function() { + $('ul.deployments_list').hide() + $('a.toggle').click( function() { + $(this).closest('tr').next().find('ul').toggle(); + }); + $('a.reveal_all').click( function() { + $(document).find('tr td ul').toggle(); + }); + }); \ No newline at end of file diff --git a/src/app/views/pools/index.haml b/src/app/views/pools/index.haml index 62ccbc6..7784a31 100644 --- a/src/app/views/pools/index.haml +++ b/src/app/views/pools/index.haml @@ -1,2 +1,2 @@ -- content_for :list do - = render :partial => 'list' += render :partial => 'overview' += render :partial => 'pretty_list' diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml index 859bd9e..19c10cf 100644 --- a/src/config/locales/en.yml +++ b/src/config/locales/en.yml @@ -66,6 +66,13 @@ en: choose_treatment: Choose Treatment apply: Apply resource_management: Resource Management + overview: Overview + stats_bar_pools: Pools + stats_bar_deployments: Deployments + stats_bar_instances: Instances + stats_bar_quota_used: Quota Used + alerts: Alerts + updates: Udates deployments: deployments: Deployments updated: diff --git a/src/features/pool.feature b/src/features/pool.feature index 55aab9f..d9e6f98 100644 --- a/src/features/pool.feature +++ b/src/features/pool.feature @@ -32,11 +32,8 @@ Feature: Manage Pools | maximum_running_instances | 10 | | running_instances | 8 | And I am on the pools page - When I follow "mockpool" - Then I should be on the show pool page - When I follow "Quota" Then I should see the following: - | mockpool | 10 | 80.0 | + | mockpool | Deployments: 0 | Instances: 0 | Pending: 0 | Failed: 0 | Instance quota usage: 80 |
Scenario: Enter invalid characters into Name field Given I am on the new pool page
ACK and pushed with minor updates (see inline)
sry, found few more things
On 05/18/2011 05:04 PM, Tomas Hrcka wrote:
modified: .gitignore modified: src/app/helpers/application_helper.rb deleted: src/app/helpers/deployments_helper.rb modified: src/app/models/pool.rb modified: src/app/models/user.rb modified: src/app/views/pools/_deployments.haml new file: src/app/views/pools/_overview.haml new file: src/app/views/pools/_pretty_list.haml modified: src/app/views/pools/index.haml modified: src/config/locales/en.yml modified: src/features/pool.feature modified: src/app/views/pools/_overview.haml modified: src/app/views/pools/_pretty_list.haml modified: src/config/locales/en.yml
remove this from commit log
.gitignore | 2 +- src/app/helpers/application_helper.rb | 16 ++++++++++++++ src/app/helpers/deployments_helper.rb | 18 ---------------- src/app/models/pool.rb | 2 +- src/app/models/user.rb | 1 + src/app/views/pools/_deployments.haml | 9 +++++-- src/app/views/pools/_overview.haml | 31 +++++++++++++++++++++++++++ src/app/views/pools/_pretty_list.haml | 37 +++++++++++++++++++++++++++++++++ src/app/views/pools/index.haml | 4 +- src/config/locales/en.yml | 7 ++++++ src/features/pool.feature | 5 +--- 11 files changed, 103 insertions(+), 29 deletions(-) delete mode 100644 src/app/helpers/deployments_helper.rb create mode 100644 src/app/views/pools/_overview.haml create mode 100644 src/app/views/pools/_pretty_list.haml
diff --git a/.gitignore b/.gitignore index 7b7e496..e427b25 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ database.yml .project *~ *.swp
+src/.idea
# compass compiled and temporary files src/tmp diff --git a/src/app/helpers/application_helper.rb b/src/app/helpers/application_helper.rb index c536a81..3049c7b 100644 --- a/src/app/helpers/application_helper.rb +++ b/src/app/helpers/application_helper.rb @@ -194,4 +194,20 @@ module ApplicationHelper title.split(' ').join('_').downcase end
- def count_uptime(start_time)
- result_string = []
- difference = Time.now.utc - start_time
- seconds = difference % 60
- difference = (difference - seconds) / 60
- minutes = difference % 60
- difference = (difference - minutes) / 60
- hours = difference % 24
- difference = (difference - hours) / 24
- days = difference % 7
- result_string<< pluralize(days.to_i, 'day') if days != 0
- result_string<<"#{"%02d"%hours.to_i}:#{"%02d"%minutes.to_i}:#{"%02d"%seconds.to_i}"
- result_string.join(", ")
- end end
diff --git a/src/app/helpers/deployments_helper.rb b/src/app/helpers/deployments_helper.rb deleted file mode 100644 index 620ea01..0000000 --- a/src/app/helpers/deployments_helper.rb +++ /dev/null @@ -1,18 +0,0 @@ -module DeploymentsHelper
- def count_uptime(start_time)
- result_string = []
- difference = Time.now.utc - start_time
- seconds = difference % 60
- difference = (difference - seconds) / 60
- minutes = difference % 60
- difference = (difference - minutes) / 60
- hours = difference % 24
- difference = (difference - hours) / 24
- days = difference % 7
- result_string<< pluralize(days.to_i, 'day') if days != 0
- result_string<<"#{"%02d"%hours.to_i}:#{"%02d"%minutes.to_i}:#{"%02d"%seconds.to_i}"
- result_string.join(", ")
- end
-end diff --git a/src/app/models/pool.rb b/src/app/models/pool.rb index 87f5c19..cd7e11a 100644 --- a/src/app/models/pool.rb +++ b/src/app/models/pool.rb @@ -43,7 +43,7 @@ class Pool< ActiveRecord::Base has_many :instances, :dependent => :destroy belongs_to :quota, :autosave => true, :dependent => :destroy belongs_to :pool_family
- has_many :deployments # NOTE: Commented out because images table doesn't have pool_id foreign key?! #has_many :images, :dependent => :destroy
diff --git a/src/app/models/user.rb b/src/app/models/user.rb index f795542..0254014 100644 --- a/src/app/models/user.rb +++ b/src/app/models/user.rb @@ -59,6 +59,7 @@ class User< ActiveRecord::Base
has_many :permissions has_many :owned_instances, :class_name => "Instance", :foreign_key => "owner_id"
has_many :deployments, :foreign_key => "owner_id" has_many :view_states
belongs_to :quota, :autosave => true
diff --git a/src/app/views/pools/_deployments.haml b/src/app/views/pools/_deployments.haml index 497bf09..6aa3d07 100644 --- a/src/app/views/pools/_deployments.haml +++ b/src/app/views/pools/_deployments.haml @@ -1,3 +1,6 @@ -%h3
- Deployments for
- = @pool.name
+%ul.deployments_list
- deployments.each do |deployment|
- %li
=deployment.name
=count_uptime(deployment.created_at)
=deployment.instances.count if deployment.instances
\ No newline at end of file diff --git a/src/app/views/pools/_overview.haml b/src/app/views/pools/_overview.haml new file mode 100644 index 0000000..4bd54f4 --- /dev/null +++ b/src/app/views/pools/_overview.haml @@ -0,0 +1,31 @@ +#overview-bar
- %h3=t("overview")
- %span.btn-seg-toggle
- Buttons here
+#stats-bar
- %ul
- %li.stat
%h3=t("stats_bar_pools")
%span.your_pools
=@pools.count
%span.in_use
4
- %li.stat
%h3=t("stats_bar_deployments")
%span.deployments
=current_user.deployments.count
- %li.stat
%h3=t("stats_bar_instances")
%span.instances
=current_user.owned_instances.count
- %li.stat
%span.alerts
%h3=t("alerts")
(TODO)0
- %li.stat
%span.updates
%h3=t("updates")
(TODO)15
- %li.stat
%h3=t("stats_bar_quota_used")
(TODO) 86%
\ No newline at end of file diff --git a/src/app/views/pools/_pretty_list.haml b/src/app/views/pools/_pretty_list.haml new file mode 100644 index 0000000..31fbc4d --- /dev/null +++ b/src/app/views/pools/_pretty_list.haml @@ -0,0 +1,37 @@ += link_to "expand all", "#", :class => "reveal_all" +%table#pools_pretty_view
- @pools.each do |pool|
- %tr
%td
= link_to pool.name, pool_path(pool)
%td
Deployments:
= pool.deployments.count
%td
Instances:
= pool.instances.count
%td
Pending:
= pool.instances.select {|i| i.state == Instance::STATE_PENDING }.length
%td
Failed:
= pool.instances.select {|i| i.state == Instance::STATE_ERROR }.length
%td
Instance quota usage:
= pool.quota.percentage_used
%td
= link_to "+", "#", :class => "toggle"
- %tr
%td
added {:colspan => 7}
I know this view will be reworked once we get a design, but we should use colspan for this cell to use whole width of a table.
= render :partial => 'deployments', :locals => {:deployments => pool.deployments}
+:javascript
- $(document).ready(function() {
- $('ul.deployments_list').hide()
- $('a.toggle').click( function() {
$(this).closest('tr').next().find('ul').toggle();
- });
- $('a.reveal_all').click( function() {
$(document).find('tr td ul').toggle();
it's not a good idea to call this for _all_ TRs in document, replaced with #pools_pretty_view instead: $('#pools_pretty_view').find('tr td ul').toggle();
- });
- });
\ No newline at end of file diff --git a/src/app/views/pools/index.haml b/src/app/views/pools/index.haml index 62ccbc6..7784a31 100644 --- a/src/app/views/pools/index.haml +++ b/src/app/views/pools/index.haml @@ -1,2 +1,2 @@ -- content_for :list do
- = render :partial => 'list'
+= render :partial => 'overview' += render :partial => 'pretty_list' diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml index 859bd9e..19c10cf 100644 --- a/src/config/locales/en.yml +++ b/src/config/locales/en.yml @@ -66,6 +66,13 @@ en: choose_treatment: Choose Treatment apply: Apply resource_management: Resource Management
- overview: Overview
- stats_bar_pools: Pools
- stats_bar_deployments: Deployments
- stats_bar_instances: Instances
- stats_bar_quota_used: Quota Used
- alerts: Alerts
- updates: Udates deployments: deployments: Deployments updated:
diff --git a/src/features/pool.feature b/src/features/pool.feature index 55aab9f..d9e6f98 100644 --- a/src/features/pool.feature +++ b/src/features/pool.feature @@ -32,11 +32,8 @@ Feature: Manage Pools | maximum_running_instances | 10 | | running_instances | 8 | And I am on the pools page
- When I follow "mockpool"
- Then I should be on the show pool page
- When I follow "Quota" Then I should see the following:
- | mockpool | 10 | 80.0 |
| mockpool | Deployments: 0 | Instances: 0 | Pending: 0 | Failed: 0 | Instance quota usage: 80 |
Scenario: Enter invalid characters into Name field Given I am on the new pool page
aeolus-devel@lists.fedorahosted.org