diff --git a/tracks/app/controllers/context_controller.rb b/tracks/app/controllers/context_controller.rb index 73174427..aa2328dd 100644 --- a/tracks/app/controllers/context_controller.rb +++ b/tracks/app/controllers/context_controller.rb @@ -66,10 +66,19 @@ class ContextController < ApplicationController def update self.init check_user_set_context + params['context'] ||= {} + success_text = if params['field'] == 'name' && params['value'] + params['context']['id'] = params['id'] + params['context']['name'] = params['value'] + end @context.attributes = params["context"] @context.name = deurlize(@context.name) if @context.save - render :partial => 'context_listing', :object => @context + if params['wants_render'] + render + else + render :text => success_text || 'Success' + end else notify :warning, "Couldn't update new context" render :text => "" diff --git a/tracks/app/controllers/project_controller.rb b/tracks/app/controllers/project_controller.rb index b156fa33..55a0c429 100644 --- a/tracks/app/controllers/project_controller.rb +++ b/tracks/app/controllers/project_controller.rb @@ -91,8 +91,15 @@ class ProjectController < ApplicationController def update self.init check_user_set_project - @project.transition_to(params['project']['state']) - params['project'].delete('state') + params['project'] ||= {} + if params['project']['state'] + @project.transition_to(params['project']['state']) + params['project'].delete('state') + end + success_text = if params['field'] == 'name' && params['value'] + params['project']['id'] = params['id'] + params['project']['name'] = params['value'] + end @project.attributes = params['project'] @project.name = deurlize(@project.name) if @project.save @@ -103,9 +110,9 @@ class ProjectController < ApplicationController else @project_not_done_counts[@project.id] = @project.reload().not_done_todo_count(:include_project_hidden_todos => true) end - render :partial => 'project_listing', :object => @project + render else - render :text => 'Success' + render :text => success_text || 'Success' end else notify :warning, "Couldn't update project" diff --git a/tracks/app/views/context/_context.rhtml b/tracks/app/views/context/_context.rhtml index 1f4a9691..96815cc1 100644 --- a/tracks/app/views/context/_context.rhtml +++ b/tracks/app/views/context/_context.rhtml @@ -4,7 +4,11 @@ <% if collapsible -%> <%= image_tag("collapse.png") %> <% end -%> - <%= link_to( sanitize("#{context.name}"), { :controller => "context", :action => "show", :name => urlize(context.name) }, { :title => "Go to the #{context.name} context page" } ) %> +<% if source_view_is :context %> + <%= in_place_editor_field :context, :name, {}, { :url => url_for(:controller => 'context', :action => 'update', :id => context.id, :field => 'name', :wants_render => false) } %> +<% else %> + <%= link_to( sanitize("#{context.name}"), { :controller => "context", :action => "show", :name => urlize(context.name) }, { :title => "Go to the #{context.name} context page" } ) %> +<% end %>
diff --git a/tracks/app/views/context/_context_listing.rhtml b/tracks/app/views/context/_context_listing.rhtml index 718f38e4..b9d98246 100644 --- a/tracks/app/views/context/_context_listing.rhtml +++ b/tracks/app/views/context/_context_listing.rhtml @@ -18,7 +18,6 @@ <% end %> <%= link_to_remote( image_tag("blank", :title =>"Delete context", :class=>"delete_item"), - :update => "container_#{context.id}", :loading => visual_effect(:fade, "container_#{context.id}"), :url => { :controller => "context", :action => "destroy", :id => context.id }, :confirm => "Are you sure that you want to delete the context \'#{context.name}\'?" ) + " " + @@ -29,12 +28,11 @@