diff --git a/app/controllers/contexts_controller.rb b/app/controllers/contexts_controller.rb index 96c2a10b..63985245 100644 --- a/app/controllers/contexts_controller.rb +++ b/app/controllers/contexts_controller.rb @@ -127,7 +127,10 @@ class ContextsController < ApplicationController @context.destroy respond_to do |format| - format.js { @down_count = current_user.contexts.size } + format.js do + @down_count = current_user.contexts.size + update_state_counts + end format.xml { render :text => "Deleted context #{@context.name}" } end end @@ -145,6 +148,13 @@ class ContextsController < ApplicationController protected + def update_state_counts + @active_contexts_count = current_user.contexts.active.count + @hidden_contexts_count = current_user.contexts.hidden.count + @show_active_contexts = @active_contexts_count > 0 + @show_hidden_contexts = @hidden_contexts_count > 0 + end + def render_contexts_html lambda do @page_title = "TRACKS::List Contexts" diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index f20152b0..95b5e468 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -124,7 +124,15 @@ module ApplicationHelper {:id => "delete_project_#{project.id}", :class => "delete_project_button", :title => "#{t('projects.delete_project_title')} '#{project.name}'"} ) end - + + def link_to_delete_context(context, descriptor = sanitize(context.name)) + link_to( + descriptor, + context_path(context, :format => 'js'), + {:id => "delete_context_#{context.id}", :class => "delete_context_button", :title => t('contexts.delete_context_confirmation', :name => context.name)} + ) + end + def link_to_project_mobile(project, accesskey, descriptor = sanitize(project.name)) link_to( descriptor, project_path(project, :format => 'm'), {:title => "View project: #{project.name}", :accesskey => accesskey} ) end diff --git a/app/views/contexts/_context_listing.rhtml b/app/views/contexts/_context_listing.rhtml index 7a2416b5..79036bcd 100644 --- a/app/views/contexts/_context_listing.rhtml +++ b/app/views/contexts/_context_listing.rhtml @@ -1,6 +1,6 @@ <% context = context_listing - suppress_drag_handle ||= false - suppress_edit_button ||= false +suppress_drag_handle ||= false +suppress_edit_button ||= false %>
" class="list">
@@ -12,23 +12,16 @@
<%= link_to_context( context ) %> <%= " (" + count_undone_todos_phrase(context,"actions") + ")" %>
- +
<% if context.hide? %> <%= t('states.hidden') %> <% else %> <%= t('states.visible') %> <% end %> - <%= link_to_remote( - image_tag( "blank.png", :title => t('contexts.delete_context'), :class=>"delete_item"), - :url => {:controller => 'contexts', :action => 'destroy', :id => context.id}, - :method => 'delete', - :with => "'_source_view=#{@source_view}'", - :before => "$('#{dom_id(context)}').block({message:null});", - :complete => "$('#{dom_id(context)}').unblock();", - :confirm => t('contexts.delete_context_confirmation', :name => context.name), - :html => { :id => dom_id(context, 'delete') } - ) %> + + <%= link_to_delete_context(context, image_tag( "blank.png", :title => t('contexts.delete_context'), :class=>"delete_item")) %> + <%= link_to_remote( image_tag( "blank.png", :title => t('contexts.edit_context'), :class=>"edit_item"), :url => {:controller => 'contexts', :action => 'edit', :id => context.id}, @@ -37,7 +30,7 @@ :before => "$('#{dom_id(context)}').block({message:null});", :complete => "$('#{dom_id(context)}').unblock();", :html => {:id => "edit_context_#{context.id}_link"} - ) %> + ) %>