Added totals of contexts and projects as a badge-count in the menu bar as suggested in #597.

git-svn-id: http://www.rousette.org.uk/svn/tracks-repos/trunk@640 a4c988fc-2ded-0310-b66e-134b36920a42
This commit is contained in:
lrbalt 2007-11-16 14:28:52 +00:00
parent 30be8cf84c
commit 8a53096f99
6 changed files with 20 additions and 12 deletions

View file

@ -55,7 +55,9 @@ class ContextsController < ApplicationController
@saved = @context.save
@context_not_done_counts = { @context.id => 0 }
respond_to do |format|
format.js
format.js do
@down_count = current_user.contexts.size
end
format.xml do
if @context.new_record? && params_are_invalid
render_failure "Expected post format is valid xml like so: <request><context><name>context name</name></context></request>.", 400
@ -95,7 +97,7 @@ class ContextsController < ApplicationController
def destroy
@context.destroy
respond_to do |format|
format.js
format.js { @down_count = current_user.contexts.size }
format.xml { render :text => "Deleted context #{@context.name}" }
end
end
@ -115,6 +117,7 @@ class ContextsController < ApplicationController
lambda do
@page_title = "TRACKS::List Contexts"
@no_contexts = @contexts.empty?
@count = @contexts.size
render
end
end

View file

@ -62,7 +62,7 @@ class ProjectsController < ApplicationController
@active_projects_count = current_user.projects.count(:conditions => "state = 'active'")
@contexts = current_user.contexts
respond_to do |format|
format.js
format.js { @down_count = current_user.projects.size }
format.xml do
if @project.new_record? && params_are_invalid
render_failure "Expected post format is valid xml like so: <request><project><name>project name</name></project></request>."
@ -130,7 +130,7 @@ class ProjectsController < ApplicationController
@hidden_projects_count = current_user.projects.count(:conditions => "state = 'hidden'")
@completed_projects_count = current_user.projects.count(:conditions => "state = 'completed'")
respond_to do |format|
format.js
format.js { @down_count = current_user.projects.size }
format.xml { render :text => "Deleted project #{@project.name}" }
end
end
@ -157,6 +157,7 @@ class ProjectsController < ApplicationController
lambda do
init_project_hidden_todo_counts(['project'])
@page_title = "TRACKS::List Projects"
@count = current_user.projects.size
@active_projects = @projects.select{ |p| p.active? }
@hidden_projects = @projects.select{ |p| p.hidden? }
@completed_projects = @projects.select{ |p| p.completed? }

View file

@ -3,6 +3,7 @@ if @saved
page.insert_html :bottom, "list-contexts", :partial => 'context_listing', :locals => { :context_listing => @context }
page.sortable "list-contexts", get_listing_sortable_options
page.hide 'status'
page['badge_count'].replace_html @down_count
page.call "Form.reset", "context-form"
page.call "Form.focusFirstElement", "context-form"
else

View file

@ -1,5 +1,6 @@
page.visual_effect :fade, dom_id(@context, "container"), :duration => 0.5
page.delay(0.5) do
page[dom_id(@context, "container")].remove
page[dom_id(@context, "container")].remove
end
page['badge_count'].replace_html @down_count
page.notify :notice, "Deleted context '#{@context.name}'", 5.0

View file

@ -2,6 +2,7 @@ if @saved and @go_to_project
page.redirect_to project_path(@project)
elsif @saved
page.hide 'status'
page['badge_count'].replace_html @down_count
page.hide 'projects-empty-nd'
page.show 'list-active-projects-container'
page.replace_html "active-projects-count", @active_projects_count

View file

@ -1,12 +1,13 @@
page.visual_effect :fade, dom_id(@project, "container"), :duration => 0.5
page.delay(0.5) do
page[dom_id(@project, "container")].remove
page.replace_html "active-projects-count", @active_projects_count
page.replace_html "hidden-projects-count", @hidden_projects_count
page.replace_html "completed-projects-count", @completed_projects_count
page.set_element_visible ("list-hidden-projects-container", @hidden_projects_count > 0)
page.set_element_visible ("list-active-projects-container", @active_projects_count > 0)
page.set_element_visible ("list-completed-projects-container", @completed_projects_count > 0)
page[dom_id(@project, "container")].remove
page.replace_html "active-projects-count", @active_projects_count
page.replace_html "hidden-projects-count", @hidden_projects_count
page.replace_html "completed-projects-count", @completed_projects_count
page.set_element_visible("list-hidden-projects-container", @hidden_projects_count > 0)
page.set_element_visible("list-active-projects-container", @active_projects_count > 0)
page.set_element_visible("list-completed-projects-container", @completed_projects_count > 0)
end
page.notify :notice, "Deleted project '#{@project.name}'", 5.0
page['badge_count'].replace_html @down_count
page.hide "busy"