diff --git a/tracks/app/controllers/projects_controller.rb b/tracks/app/controllers/projects_controller.rb index 80843000..fb5d53db 100644 --- a/tracks/app/controllers/projects_controller.rb +++ b/tracks/app/controllers/projects_controller.rb @@ -113,6 +113,7 @@ class ProjectsController < ApplicationController elsif boolean_param('update_status') render :action => 'update_status' elsif boolean_param('update_default_context') + @initial_context_name = @project.default_context.name render :action => 'update_default_context' else render :text => success_text || 'Success' diff --git a/tracks/app/controllers/todos_controller.rb b/tracks/app/controllers/todos_controller.rb index 0bad9f79..4392a624 100644 --- a/tracks/app/controllers/todos_controller.rb +++ b/tracks/app/controllers/todos_controller.rb @@ -74,6 +74,7 @@ class TodosController < ApplicationController determine_down_count if @saved @contexts = current_user.contexts.find(:all) if @new_context_created @projects = current_user.projects.find(:all) if @new_project_created + @initial_context_name = params['default_context_name'] render :action => 'create' end format.xml do diff --git a/tracks/app/views/projects/update_default_context.rjs b/tracks/app/views/projects/update_default_context.rjs index 19dc57fc..a3e9389f 100644 --- a/tracks/app/views/projects/update_default_context.rjs +++ b/tracks/app/views/projects/update_default_context.rjs @@ -2,6 +2,7 @@ if @project.default_context.nil? page.notify :notice, "Removed default context", 5.0 else if source_view_is :project + page['default_context_name_id'].value = @project.default_context.name page['todo_context_name'].value = @project.default_context.name end page.notify :notice, "Set project's default context to #{@project.default_context.name}", 5.0 diff --git a/tracks/app/views/shared/_add_new_item_form.rhtml b/tracks/app/views/shared/_add_new_item_form.rhtml index 45ec7532..49345eb9 100644 --- a/tracks/app/views/shared/_add_new_item_form.rhtml +++ b/tracks/app/views/shared/_add_new_item_form.rhtml @@ -52,6 +52,7 @@ Event.observe($('todo_project_name'), "click", projectAutoCompleter.activate.bin Event.observe($('todo_project_name'), "blur", selectDefaultContext.bind($('todo_project_name'))); +
diff --git a/tracks/app/views/todos/create.rjs b/tracks/app/views/todos/create.rjs index c8515a7c..770ec301 100644 --- a/tracks/app/views/todos/create.rjs +++ b/tracks/app/views/todos/create.rjs @@ -7,6 +7,7 @@ if @saved page.notify :notice, status_message, 5.0 page['badge_count'].replace_html @down_count page.send :record, "Form.reset('todo-form-new-action');Form.focusFirstElement('todo-form-new-action')" + page['todo_context_name'].value = @initial_context_name page << "updateContextNamesForAutoComplete(#{context_names_for_autocomplete})" if @new_context_created page << "projectAutoCompleter.options.array = #{project_names_for_autocomplete}" if @new_project_created if should_show_new_item() diff --git a/tracks/test/selenium/project_detail/change_default_context.rsel b/tracks/test/selenium/project_detail/change_default_context.rsel new file mode 100644 index 00000000..1e757acd --- /dev/null +++ b/tracks/test/selenium/project_detail/change_default_context.rsel @@ -0,0 +1,23 @@ +setup :fixtures => :all +login :as => 'admin' +open "/projects/2" + +# change default context +type "project[default_context_name]", "errand" +click "commit" + +wait_for_visible "flash" + +# add actions +type "todo_description", "test1" +click "css=#todo-form-new-action .submit_box button" + +wait_for_visible "flash" +wait_for_not_visible "flash" + +type "todo_description", "test2" +click "css=#todo-form-new-action .submit_box button" + +# check that context errand now contains 2 todos +open "/contexts/4" +assert_text "badge_count", "2"