From 27ab9529a83e3dc0ec311b2fb4d1efe799d50fb2 Mon Sep 17 00:00:00 2001 From: Gaston Arbeletche -VAIRIX- Date: Fri, 28 Feb 2014 14:33:05 -0200 Subject: [PATCH 1/3] Fixed issue "Can't create new tags on contact #317" --- app/assets/javascripts/crm_select2.js.coffee | 7 ++++ app/controllers/entities_controller.rb | 2 +- app/views/shared/_tags.html.haml | 10 ++--- .../entities/contacts_controller_spec.rb | 37 +++++++++++++++++++ 4 files changed, 49 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/crm_select2.js.coffee b/app/assets/javascripts/crm_select2.js.coffee index 50e6c1faae..96a1703bb5 100644 --- a/app/assets/javascripts/crm_select2.js.coffee +++ b/app/assets/javascripts/crm_select2.js.coffee @@ -13,6 +13,13 @@ $(".select2").each -> $(this).select2 'width':'resolve' + $(".select2_tag").each -> + $(this).select2 + 'width':'resolve' + tags: $(this).data("tags") + placeholder: $(this).data("placeholder") + multiple: $(this).data("multiple") + $(document).ready -> crm.make_select2() diff --git a/app/controllers/entities_controller.rb b/app/controllers/entities_controller.rb index a115591556..21889cc030 100755 --- a/app/controllers/entities_controller.rb +++ b/app/controllers/entities_controller.rb @@ -81,7 +81,7 @@ def versions #---------------------------------------------------------------------------- def field_group - if @tag = Tag.find_by_name(params[:tag].strip) + if @tag = Tag.find_or_create_by_name(params[:tag].strip) if @field_group = FieldGroup.find_by_tag_id_and_klass_name(@tag.id, klass.to_s) @asset = klass.find_by_id(params[:asset_id]) || klass.new render 'fields/group' and return diff --git a/app/views/shared/_tags.html.haml b/app/views/shared/_tags.html.haml index 982ef08726..fbda49dde8 100644 --- a/app/views/shared/_tags.html.haml +++ b/app/views/shared/_tags.html.haml @@ -3,9 +3,7 @@ %td{ :valign => :top, :colspan => span } .label Tags: - = f.select :tag_list, Tag.all.map{|t| [t.name, t.name] }, - { value: f.object.tags.map{|t| t.name } }, - { :multiple => true, :class => 'select2', - 'data-placeholder' => t(:select_or_create_tags), - 'data-url' => url_for(action: 'field_group'), - 'data-asset-id' => f.object.try(:id) } + = f.hidden_field :tag_list, + {:class => "select2_tag", :data => {:tags => Tag.all.map{|t| t.name}, + :url => url_for(action: 'field_group'), :placeholder => t(:select_or_create_tags), + :multiple => true, :asset_id => f.object.try(:id) }} diff --git a/spec/controllers/entities/contacts_controller_spec.rb b/spec/controllers/entities/contacts_controller_spec.rb index 1c67a5f69f..9344033831 100644 --- a/spec/controllers/entities/contacts_controller_spec.rb +++ b/spec/controllers/entities/contacts_controller_spec.rb @@ -216,6 +216,43 @@ end end + # GET /contacts/field_group AJAX + #---------------------------------------------------------------------------- + describe "responding to GET field_group" do + + context "with an existing tag" do + before :each do + @tag = FactoryGirl.create(:tag) + end + + it "should return with an existing tag name" do + xhr :get, :field_group, {:tag => @tag.name} + assigns[:tag].name == @tag.name + end + + it "should have the same count of tags" do + xhr :get, :field_group, {:tag => @tag.name} + Tag.count.should equal(1) + end + + end + + context "without an existing tag" do + it "should return a new Tag with a new name" do + tag_name = "New-Tag" + xhr :get, :field_group, {:tag => tag_name} + assigns[:tag].name == tag_name + end + + it "should create a new Tag with a new name" do + tag_name = "New-Tag-1" + xhr :get, :field_group, {:tag => tag_name} + Tag.count.should equal(1) + end + end + + end + # GET /contacts/1/edit AJAX #---------------------------------------------------------------------------- describe "responding to GET edit" do From cc96644e84ae638f1db2ae01bbc6ffa3cb057283 Mon Sep 17 00:00:00 2001 From: Martin Villero Date: Wed, 5 Mar 2014 15:50:45 -0200 Subject: [PATCH 2/3] What If I accidently mark a task as completed? #306 --- app/controllers/tasks_controller.rb | 15 +++++++ app/helpers/tasks_helper.rb | 6 +++ app/views/tasks/_completed.html.haml | 4 +- app/views/tasks/revert_complete.js.haml | 12 +++++ config/locales/cz_fat_free_crm.yml | 1 + config/locales/de_fat_free_crm.yml | 1 + config/locales/en-GB_fat_free_crm.yml | 1 + config/locales/en-US_fat_free_crm.yml | 1 + config/locales/es_fat_free_crm.yml | 1 + config/locales/fr-CA_fat_free_crm.yml | 1 + config/locales/fr_fat_free_crm.yml | 1 + config/locales/it_fat_free_crm.yml | 1 + config/locales/ja_fat_free_crm.yml | 1 + config/locales/pl_fat_free_crm.yml | 1 + config/locales/pt-BR_fat_free_crm.yml | 1 + config/locales/ru_fat_free_crm.yml | 3 +- config/locales/sv-SE_fat_free_crm.yml | 1 + config/locales/th_fat_free_crm.yml | 1 + config/locales/zh-CN_fat_free_crm.yml | 1 + config/routes.rb | 1 + spec/controllers/tasks_controller_spec.rb | 29 ++++++++++++ spec/helpers/tasks_helper_spec.rb | 15 ++++--- .../tasks/revert_complete.js.haml_spec.rb | 44 +++++++++++++++++++ 23 files changed, 136 insertions(+), 7 deletions(-) create mode 100644 app/views/tasks/revert_complete.js.haml create mode 100644 spec/views/tasks/revert_complete.js.haml_spec.rb diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 88bbcb535b..39a85a47b2 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -134,6 +134,21 @@ def complete respond_with(@task) end + # PUT /tasks/1/revert_complete + #---------------------------------------------------------------------------- + def revert_complete + @task = Task.tracked_by(current_user).find(params[:id]) + @task.update_attributes(:completed_at => nil, :completed_by => nil) if @task + + # Make sure bucket's div gets hidden if we're deleting last task in the bucket. + if Task.bucket_empty?(params[:bucket], current_user, @view) + @empty_bucket = params[:bucket] + end + + update_sidebar + respond_with(@task) + end + # POST /tasks/auto_complete/query AJAX #---------------------------------------------------------------------------- # Handled by ApplicationController :auto_complete diff --git a/app/helpers/tasks_helper.rb b/app/helpers/tasks_helper.rb index 403e3a42de..638bfde8af 100644 --- a/app/helpers/tasks_helper.rb +++ b/app/helpers/tasks_helper.rb @@ -50,6 +50,12 @@ def link_to_task_complete(pending, bucket) onclick << %Q{$.ajax("#{complete_task_path(pending)}", {type: "PUT", data: {bucket: "#{bucket}"}});} end + #---------------------------------------------------------------------------- + def link_to_task_revert_complete(task, bucket) + link_to(t(:task_revert_complete), revert_complete_task_path(task, :bucket => bucket, :view => @view), + :method => :put, :remote => true) + end + # Task summary for RSS/ATOM feed. #---------------------------------------------------------------------------- def task_summary(task) diff --git a/app/views/tasks/_completed.html.haml b/app/views/tasks/_completed.html.haml index ad2bc8270d..57662cf8d1 100644 --- a/app/views/tasks/_completed.html.haml +++ b/app/views/tasks/_completed.html.haml @@ -7,7 +7,9 @@ .tools - if shown_on_landing_page? = link_to_discard(completed) + (current_user == completed.user ? ' | ' : '') - = link_to_task_delete(completed, bucket) if current_user == completed.user + - if current_user == completed.user + = link_to_task_revert_complete(completed, bucket) + ' | ' + = link_to_task_delete(completed, bucket) .indent %strike= auto_link h(completed.name) diff --git a/app/views/tasks/revert_complete.js.haml b/app/views/tasks/revert_complete.js.haml new file mode 100644 index 0000000000..f7d91deb61 --- /dev/null +++ b/app/views/tasks/revert_complete.js.haml @@ -0,0 +1,12 @@ +- if @task.errors.empty? + $('##{dom_id(@task)}').slideUp(250); + + - if @empty_bucket + $('#list_#{@empty_bucket}').fadeOut({ duration:500 }); + + - if called_from_index_page? + = refresh_sidebar(:index, :filters) +- else # Errors + $('##{dom_id(@task)}').effect("shake", { duration:250, distance: 6 }); + $('#task_name').focus(); + $('#task_submit').enable(); diff --git a/config/locales/cz_fat_free_crm.yml b/config/locales/cz_fat_free_crm.yml index 6f89747ff9..de0dc2a1d3 100644 --- a/config/locales/cz_fat_free_crm.yml +++ b/config/locales/cz_fat_free_crm.yml @@ -428,6 +428,7 @@ cz: task_assigned: Úkol byl přiřazen k %{value} task_assigned_to: a přiřazen k %{value} task_completed: dokončen + task_revert_complete: Vrátit complee task_completed_ago: dokončen před %{value} task_completed_by: dokončen před %{time_ago} (%{date}) uživatelem %{user} task_created: Úkol byl vytvořen diff --git a/config/locales/de_fat_free_crm.yml b/config/locales/de_fat_free_crm.yml index 24ab38bd04..48f2b38074 100644 --- a/config/locales/de_fat_free_crm.yml +++ b/config/locales/de_fat_free_crm.yml @@ -607,6 +607,7 @@ de: no_button: Nein msg_asset_not_authorized: You are not authorized to view this %{value}. task_completed: erledigt + task_revert_complete: Revert komplette google: Google IM twitter: Twitter back: Zurück diff --git a/config/locales/en-GB_fat_free_crm.yml b/config/locales/en-GB_fat_free_crm.yml index 68ff63ea8f..3af422b89c 100644 --- a/config/locales/en-GB_fat_free_crm.yml +++ b/config/locales/en-GB_fat_free_crm.yml @@ -433,6 +433,7 @@ en-GB: task_assigned: The task has been assigned to %{value} task_assigned_to: and assigned to %{value} task_completed: completed + task_revert_complete: Revert complete task_completed_ago: completed %{value} ago task_completed_by: completed %{time_ago} ago (%{date}) by %{user} task_created: The task has been created diff --git a/config/locales/en-US_fat_free_crm.yml b/config/locales/en-US_fat_free_crm.yml index 011e42b3be..caff03030a 100644 --- a/config/locales/en-US_fat_free_crm.yml +++ b/config/locales/en-US_fat_free_crm.yml @@ -529,6 +529,7 @@ en-US: task_assigned: The task has been assigned to %{value} task_assigned_to: and assigned to %{value} task_completed: completed + task_revert_complete: Revert complete task_completed_ago: completed %{value} ago task_completed_by: completed %{time_ago} ago (%{date}) by %{user} task_created: The task has been created diff --git a/config/locales/es_fat_free_crm.yml b/config/locales/es_fat_free_crm.yml index 5e7b45604c..42e03ad69e 100644 --- a/config/locales/es_fat_free_crm.yml +++ b/config/locales/es_fat_free_crm.yml @@ -425,6 +425,7 @@ es: task_assigned: La tarea ha sido encargada a %{value} task_assigned_to: y encargada a %{value} task_completed: completada + task_revert_complete: Revertir completada task_completed_ago: completada hace %{value} task_completed_by: completada %{time_ago} por %{user} task_created: La tarea ha sido creada diff --git a/config/locales/fr-CA_fat_free_crm.yml b/config/locales/fr-CA_fat_free_crm.yml index a761c03778..b51a7b00ea 100644 --- a/config/locales/fr-CA_fat_free_crm.yml +++ b/config/locales/fr-CA_fat_free_crm.yml @@ -423,6 +423,7 @@ fr-CA: task_assigned: La tâche à été assignée à %{value} task_assigned_to: et assignée à %{value} task_completed: complétée + task_revert_complete: Revenir complet task_completed_ago: complétée il y à %{value} task_completed_by: complétée il y à %{time_ago} par %{user} task_created: La tâche à été crée. diff --git a/config/locales/fr_fat_free_crm.yml b/config/locales/fr_fat_free_crm.yml index 5da0371020..e56f8e8093 100644 --- a/config/locales/fr_fat_free_crm.yml +++ b/config/locales/fr_fat_free_crm.yml @@ -433,6 +433,7 @@ fr: task_assigned: La tâche à été assignée à %{value} task_assigned_to: et assignée à %{value} task_completed: complétée + task_revert_complete: Revenir complet task_completed_ago: complétée il y à %{value} task_completed_by: complétée il y à %{time_ago} par %{user} task_created: La tâche à été créée diff --git a/config/locales/it_fat_free_crm.yml b/config/locales/it_fat_free_crm.yml index 8393faba6d..aa5665d0ca 100644 --- a/config/locales/it_fat_free_crm.yml +++ b/config/locales/it_fat_free_crm.yml @@ -420,6 +420,7 @@ it: task_assigned: Il lavoro e' stato assegnato a %{value} task_assigned_to: e assegnato a %{value} task_completed: completato + task_revert_complete: Ripristina completo task_completed_ago: completato %{value} fa task_completed_by: completato %{time_ago} fa (%{date}) da %{user} task_created: Il lavoro e' stato creato diff --git a/config/locales/ja_fat_free_crm.yml b/config/locales/ja_fat_free_crm.yml index 4db4abaeab..e446b7b0a9 100644 --- a/config/locales/ja_fat_free_crm.yml +++ b/config/locales/ja_fat_free_crm.yml @@ -405,6 +405,7 @@ ja: task_assigned: The task has been assigned to %{value} task_assigned_to: and assigned to %{value} task_completed: 完了 + task_revert_complete: 完全戻す task_completed_ago: ! '%{value} 前に完了' task_completed_by: ! '%{user} によって %{time_ago} 前に完了' task_created: タスクが作成されました diff --git a/config/locales/pl_fat_free_crm.yml b/config/locales/pl_fat_free_crm.yml index b434823ae1..983a658084 100644 --- a/config/locales/pl_fat_free_crm.yml +++ b/config/locales/pl_fat_free_crm.yml @@ -412,6 +412,7 @@ pl: task_assigned: Zadanie zostało przypisane do %{value} task_assigned_to: i przypisane do %{value} task_completed: zakończone + task_revert_complete: przywrócić pełne task_completed_ago: zakończone %{value} temu task_completed_by: zakończone %{time_ago} temu przez %{user} task_created: Utworzono zadanie diff --git a/config/locales/pt-BR_fat_free_crm.yml b/config/locales/pt-BR_fat_free_crm.yml index d13ddfb0d4..e40e8087dd 100644 --- a/config/locales/pt-BR_fat_free_crm.yml +++ b/config/locales/pt-BR_fat_free_crm.yml @@ -423,6 +423,7 @@ pt-BR: task_assigned: As tarefas foram atribuídas para %{value} task_assigned_to: e artibuída para %{value} task_completed: terminada + task_revert_complete: Reverter completo task_completed_ago: terminada há %{value} atrás task_completed_by: terminada há %{time_ago} atrás por %{user} task_created: A tarea foi criada diff --git a/config/locales/ru_fat_free_crm.yml b/config/locales/ru_fat_free_crm.yml index d3e00c2aa8..1b6b6019bb 100644 --- a/config/locales/ru_fat_free_crm.yml +++ b/config/locales/ru_fat_free_crm.yml @@ -425,6 +425,7 @@ ru: task_assigned: Это задание поручено %{value} task_assigned_to: и поручено %{value} task_completed: завершено + task_revert_complete: Восстановить полный task_completed_ago: завершено %{value} назад task_completed_by: завершил(а) %{user} %{time_ago} назад task_created: Задание добавлено @@ -482,7 +483,7 @@ ru: me: я more: More... n_a: - - + - name: Название no_match: ! '%{value} не найдены' no_recent_items: Недавно просмотренных объектов не найдено. diff --git a/config/locales/sv-SE_fat_free_crm.yml b/config/locales/sv-SE_fat_free_crm.yml index 29e16154b1..01083c1d96 100644 --- a/config/locales/sv-SE_fat_free_crm.yml +++ b/config/locales/sv-SE_fat_free_crm.yml @@ -407,6 +407,7 @@ sv-SE: task_assigned: Ärendet har tilldelats till %{value} task_assigned_to: och tilldelats till %{value} task_completed: utfört + task_revert_complete: återgå komplett task_completed_ago: utfört %{value} sedan task_completed_by: utfört %{time_ago} sedan (%{date}) av %{user} task_created: Ärendet har skapats diff --git a/config/locales/th_fat_free_crm.yml b/config/locales/th_fat_free_crm.yml index 537269d96f..10ee456e35 100644 --- a/config/locales/th_fat_free_crm.yml +++ b/config/locales/th_fat_free_crm.yml @@ -406,6 +406,7 @@ th: task_assigned: ภารกิจได้ถูกมอบหมายให้ %{value} task_assigned_to: และได้มอบหมายให้ %{value} task_completed: เสร็จสมบูรณ์ + task_revert_complete: กลับสมบูรณ์ task_completed_by: เสร็จ %{time_ago} ที่ผ่านมา โดย %{user} task_completed_ago: เสร็จ %{value} ที่ผ่านมา task_created: ภารกิจได้ถูกสร้างขึ้นแล้ว diff --git a/config/locales/zh-CN_fat_free_crm.yml b/config/locales/zh-CN_fat_free_crm.yml index c039f3fa03..0f1c9783a3 100644 --- a/config/locales/zh-CN_fat_free_crm.yml +++ b/config/locales/zh-CN_fat_free_crm.yml @@ -413,6 +413,7 @@ zh-CN: task_assigned: 任务已经分配给 %{value} task_assigned_to: 并分配给 %{value} task_completed: 已完成 + task_revert_complete: 恢复完整 task_completed_ago: 完成于 %{value} 以前 task_completed_by: 由 %{user} 完成于 %{time_ago} 以前 task_created: 任务已被创建 diff --git a/config/routes.rb b/config/routes.rb index fe1fd518f4..cf5019b53d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -133,6 +133,7 @@ end member do put :complete + put :revert_complete end end diff --git a/spec/controllers/tasks_controller_spec.rb b/spec/controllers/tasks_controller_spec.rb index 4229fc5f90..620cd7c269 100644 --- a/spec/controllers/tasks_controller_spec.rb +++ b/spec/controllers/tasks_controller_spec.rb @@ -469,6 +469,35 @@ def produce_tasks(user, view) end end + # PUT /tasks/1/complete + # PUT /leads/1/complete.xml AJAX + #---------------------------------------------------------------------------- + describe "responding to PUT revert_complete" do + + it "should change task status, expose task as @task, and render template" do + @task = FactoryGirl.create(:task, :completed_at => Time.now, :user => current_user) + + xhr :put, :revert_complete, :id => @task.id + @task.reload.completed_at.should == nil + assigns[:task].should == @task + assigns[:task_total].should_not == nil + response.should render_template("tasks/revert_complete") + end + + + describe "task got deleted" do + it "should reload current page with the flash message if the task got deleted" do + @task = FactoryGirl.create(:task, :user => FactoryGirl.create(:user), :assignee => current_user, :completed_at => Time.now) + @task.destroy + + xhr :put, :revert_complete, :id => @task.id + flash[:warning].should_not == nil + response.body.should == "window.location.reload();" + end + + end + end + # Ajax request to filter out a list of tasks. AJAX #---------------------------------------------------------------------------- describe "responding to GET filter" do diff --git a/spec/helpers/tasks_helper_spec.rb b/spec/helpers/tasks_helper_spec.rb index a4be8d9f78..eb516eed19 100644 --- a/spec/helpers/tasks_helper_spec.rb +++ b/spec/helpers/tasks_helper_spec.rb @@ -7,11 +7,16 @@ describe TasksHelper do - #Delete this example and add some real ones or delete this file - it "should be included in the object returned by #helper" do - included_modules = (class << helper; self; end).send :included_modules - included_modules.should include(TasksHelper) - end + describe "responding with generated links" do + before do + @task = FactoryGirl.create(:task) + end + + it "should render link to revert_complete of a task" do + link_to_task_revert_complete(@task, nil).should include(t(:task_revert_complete)) + end + + end end diff --git a/spec/views/tasks/revert_complete.js.haml_spec.rb b/spec/views/tasks/revert_complete.js.haml_spec.rb new file mode 100644 index 0000000000..6d9aaa61ba --- /dev/null +++ b/spec/views/tasks/revert_complete.js.haml_spec.rb @@ -0,0 +1,44 @@ +# Copyright (c) 2008-2013 Michael Dvorkin and contributors. +# +# Fat Free CRM is freely distributable under the terms of MIT license. +# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php +#------------------------------------------------------------------------------ +require 'spec_helper' + +describe "/tasks/revert_complete" do + include TasksHelper + + before do + login_and_assign + assign(:bucket, []) + end + + describe "revert complete from Tasks tab (completed view)" do + before do + @task = FactoryGirl.create(:task) + assign(:task, @task) + assign(:view, "completed") + assign(:empty_bucket, :due_asap) + assign(:task_total, stub_task_total("completed")) + end + + it "should slide up reverted (complete) task partial" do + controller.request.env["HTTP_REFERER"] = "http://localhost/tasks" + + render + rendered.should include("$('#task_#{@task.id}').slideUp") + rendered.should include("$('#list_due_asap').fadeOut") + end + + it "should update tasks sidebar" do + assign(:task, FactoryGirl.create(:task)) + controller.request.env["HTTP_REFERER"] = "http://localhost/tasks" + + render + rendered.should include("$('#sidebar').html") + rendered.should have_text("Assigned") + rendered.should have_text("Recent Items") + rendered.should include("$('#filters').effect('shake'") + end + end +end From 4a34da9366729ca84b0f36b45e031cd250553824 Mon Sep 17 00:00:00 2001 From: Martin Villero Date: Fri, 7 Mar 2014 14:10:21 -0200 Subject: [PATCH 3/3] Task uncompleted #320, Rename 'Revert complete ' to 'uncomplete' --- app/controllers/tasks_controller.rb | 4 ++-- app/helpers/tasks_helper.rb | 4 ++-- app/views/tasks/_completed.html.haml | 2 +- .../{revert_complete.js.haml => uncomplete.js.haml} | 0 config/locales/cz_fat_free_crm.yml | 2 +- config/locales/de_fat_free_crm.yml | 2 +- config/locales/en-GB_fat_free_crm.yml | 2 +- config/locales/en-US_fat_free_crm.yml | 2 +- config/locales/es_fat_free_crm.yml | 2 +- config/locales/fr-CA_fat_free_crm.yml | 2 +- config/locales/fr_fat_free_crm.yml | 2 +- config/locales/it_fat_free_crm.yml | 2 +- config/locales/ja_fat_free_crm.yml | 2 +- config/locales/pl_fat_free_crm.yml | 2 +- config/locales/pt-BR_fat_free_crm.yml | 2 +- config/locales/ru_fat_free_crm.yml | 2 +- config/locales/sv-SE_fat_free_crm.yml | 2 +- config/locales/th_fat_free_crm.yml | 2 +- config/locales/zh-CN_fat_free_crm.yml | 2 +- config/routes.rb | 2 +- spec/controllers/tasks_controller_spec.rb | 8 ++++---- spec/helpers/tasks_helper_spec.rb | 12 ++++++------ ...te.js.haml_spec.rb => uncomplete.js.haml_spec.rb} | 6 +++--- 23 files changed, 34 insertions(+), 34 deletions(-) rename app/views/tasks/{revert_complete.js.haml => uncomplete.js.haml} (100%) rename spec/views/tasks/{revert_complete.js.haml_spec.rb => uncomplete.js.haml_spec.rb} (88%) diff --git a/app/controllers/tasks_controller.rb b/app/controllers/tasks_controller.rb index 39a85a47b2..1bad74f4a1 100644 --- a/app/controllers/tasks_controller.rb +++ b/app/controllers/tasks_controller.rb @@ -134,9 +134,9 @@ def complete respond_with(@task) end - # PUT /tasks/1/revert_complete + # PUT /tasks/1/uncomplete #---------------------------------------------------------------------------- - def revert_complete + def uncomplete @task = Task.tracked_by(current_user).find(params[:id]) @task.update_attributes(:completed_at => nil, :completed_by => nil) if @task diff --git a/app/helpers/tasks_helper.rb b/app/helpers/tasks_helper.rb index 638bfde8af..7edef09894 100644 --- a/app/helpers/tasks_helper.rb +++ b/app/helpers/tasks_helper.rb @@ -51,8 +51,8 @@ def link_to_task_complete(pending, bucket) end #---------------------------------------------------------------------------- - def link_to_task_revert_complete(task, bucket) - link_to(t(:task_revert_complete), revert_complete_task_path(task, :bucket => bucket, :view => @view), + def link_to_task_uncomplete(task, bucket) + link_to(t(:task_uncomplete), uncomplete_task_path(task, :bucket => bucket, :view => @view), :method => :put, :remote => true) end diff --git a/app/views/tasks/_completed.html.haml b/app/views/tasks/_completed.html.haml index 57662cf8d1..ef586da059 100644 --- a/app/views/tasks/_completed.html.haml +++ b/app/views/tasks/_completed.html.haml @@ -8,7 +8,7 @@ - if shown_on_landing_page? = link_to_discard(completed) + (current_user == completed.user ? ' | ' : '') - if current_user == completed.user - = link_to_task_revert_complete(completed, bucket) + ' | ' + = link_to_task_uncomplete(completed, bucket) + ' | ' = link_to_task_delete(completed, bucket) .indent diff --git a/app/views/tasks/revert_complete.js.haml b/app/views/tasks/uncomplete.js.haml similarity index 100% rename from app/views/tasks/revert_complete.js.haml rename to app/views/tasks/uncomplete.js.haml diff --git a/config/locales/cz_fat_free_crm.yml b/config/locales/cz_fat_free_crm.yml index de0dc2a1d3..4d51328855 100644 --- a/config/locales/cz_fat_free_crm.yml +++ b/config/locales/cz_fat_free_crm.yml @@ -428,7 +428,7 @@ cz: task_assigned: Úkol byl přiřazen k %{value} task_assigned_to: a přiřazen k %{value} task_completed: dokončen - task_revert_complete: Vrátit complee + task_uncomplete: Vrátit se task_completed_ago: dokončen před %{value} task_completed_by: dokončen před %{time_ago} (%{date}) uživatelem %{user} task_created: Úkol byl vytvořen diff --git a/config/locales/de_fat_free_crm.yml b/config/locales/de_fat_free_crm.yml index 48f2b38074..a7b53753fe 100644 --- a/config/locales/de_fat_free_crm.yml +++ b/config/locales/de_fat_free_crm.yml @@ -607,7 +607,7 @@ de: no_button: Nein msg_asset_not_authorized: You are not authorized to view this %{value}. task_completed: erledigt - task_revert_complete: Revert komplette + task_uncomplete: Zurückkehren google: Google IM twitter: Twitter back: Zurück diff --git a/config/locales/en-GB_fat_free_crm.yml b/config/locales/en-GB_fat_free_crm.yml index 3af422b89c..89ece3e982 100644 --- a/config/locales/en-GB_fat_free_crm.yml +++ b/config/locales/en-GB_fat_free_crm.yml @@ -433,7 +433,7 @@ en-GB: task_assigned: The task has been assigned to %{value} task_assigned_to: and assigned to %{value} task_completed: completed - task_revert_complete: Revert complete + task_uncomplete: Uncomplete task_completed_ago: completed %{value} ago task_completed_by: completed %{time_ago} ago (%{date}) by %{user} task_created: The task has been created diff --git a/config/locales/en-US_fat_free_crm.yml b/config/locales/en-US_fat_free_crm.yml index caff03030a..1b02627b75 100644 --- a/config/locales/en-US_fat_free_crm.yml +++ b/config/locales/en-US_fat_free_crm.yml @@ -529,7 +529,7 @@ en-US: task_assigned: The task has been assigned to %{value} task_assigned_to: and assigned to %{value} task_completed: completed - task_revert_complete: Revert complete + task_uncomplete: Uncomplete task_completed_ago: completed %{value} ago task_completed_by: completed %{time_ago} ago (%{date}) by %{user} task_created: The task has been created diff --git a/config/locales/es_fat_free_crm.yml b/config/locales/es_fat_free_crm.yml index 42e03ad69e..7afb727c2e 100644 --- a/config/locales/es_fat_free_crm.yml +++ b/config/locales/es_fat_free_crm.yml @@ -425,7 +425,7 @@ es: task_assigned: La tarea ha sido encargada a %{value} task_assigned_to: y encargada a %{value} task_completed: completada - task_revert_complete: Revertir completada + task_uncomplete: Revertir task_completed_ago: completada hace %{value} task_completed_by: completada %{time_ago} por %{user} task_created: La tarea ha sido creada diff --git a/config/locales/fr-CA_fat_free_crm.yml b/config/locales/fr-CA_fat_free_crm.yml index b51a7b00ea..9c6793f7f9 100644 --- a/config/locales/fr-CA_fat_free_crm.yml +++ b/config/locales/fr-CA_fat_free_crm.yml @@ -423,7 +423,7 @@ fr-CA: task_assigned: La tâche à été assignée à %{value} task_assigned_to: et assignée à %{value} task_completed: complétée - task_revert_complete: Revenir complet + task_uncomplete: Revenir task_completed_ago: complétée il y à %{value} task_completed_by: complétée il y à %{time_ago} par %{user} task_created: La tâche à été crée. diff --git a/config/locales/fr_fat_free_crm.yml b/config/locales/fr_fat_free_crm.yml index e56f8e8093..451582711d 100644 --- a/config/locales/fr_fat_free_crm.yml +++ b/config/locales/fr_fat_free_crm.yml @@ -433,7 +433,7 @@ fr: task_assigned: La tâche à été assignée à %{value} task_assigned_to: et assignée à %{value} task_completed: complétée - task_revert_complete: Revenir complet + task_uncomplete: Revenir task_completed_ago: complétée il y à %{value} task_completed_by: complétée il y à %{time_ago} par %{user} task_created: La tâche à été créée diff --git a/config/locales/it_fat_free_crm.yml b/config/locales/it_fat_free_crm.yml index aa5665d0ca..78c61830ab 100644 --- a/config/locales/it_fat_free_crm.yml +++ b/config/locales/it_fat_free_crm.yml @@ -420,7 +420,7 @@ it: task_assigned: Il lavoro e' stato assegnato a %{value} task_assigned_to: e assegnato a %{value} task_completed: completato - task_revert_complete: Ripristina completo + task_uncomplete: Ritornare task_completed_ago: completato %{value} fa task_completed_by: completato %{time_ago} fa (%{date}) da %{user} task_created: Il lavoro e' stato creato diff --git a/config/locales/ja_fat_free_crm.yml b/config/locales/ja_fat_free_crm.yml index e446b7b0a9..73ba5dcef2 100644 --- a/config/locales/ja_fat_free_crm.yml +++ b/config/locales/ja_fat_free_crm.yml @@ -405,7 +405,7 @@ ja: task_assigned: The task has been assigned to %{value} task_assigned_to: and assigned to %{value} task_completed: 完了 - task_revert_complete: 完全戻す + task_uncomplete: 戻す task_completed_ago: ! '%{value} 前に完了' task_completed_by: ! '%{user} によって %{time_ago} 前に完了' task_created: タスクが作成されました diff --git a/config/locales/pl_fat_free_crm.yml b/config/locales/pl_fat_free_crm.yml index 983a658084..da5532b538 100644 --- a/config/locales/pl_fat_free_crm.yml +++ b/config/locales/pl_fat_free_crm.yml @@ -412,7 +412,7 @@ pl: task_assigned: Zadanie zostało przypisane do %{value} task_assigned_to: i przypisane do %{value} task_completed: zakończone - task_revert_complete: przywrócić pełne + task_uncomplete: Przywróć task_completed_ago: zakończone %{value} temu task_completed_by: zakończone %{time_ago} temu przez %{user} task_created: Utworzono zadanie diff --git a/config/locales/pt-BR_fat_free_crm.yml b/config/locales/pt-BR_fat_free_crm.yml index e40e8087dd..80cf4e7572 100644 --- a/config/locales/pt-BR_fat_free_crm.yml +++ b/config/locales/pt-BR_fat_free_crm.yml @@ -423,7 +423,7 @@ pt-BR: task_assigned: As tarefas foram atribuídas para %{value} task_assigned_to: e artibuída para %{value} task_completed: terminada - task_revert_complete: Reverter completo + task_uncomplete: Reverter task_completed_ago: terminada há %{value} atrás task_completed_by: terminada há %{time_ago} atrás por %{user} task_created: A tarea foi criada diff --git a/config/locales/ru_fat_free_crm.yml b/config/locales/ru_fat_free_crm.yml index 1b6b6019bb..5a463f0e37 100644 --- a/config/locales/ru_fat_free_crm.yml +++ b/config/locales/ru_fat_free_crm.yml @@ -425,7 +425,7 @@ ru: task_assigned: Это задание поручено %{value} task_assigned_to: и поручено %{value} task_completed: завершено - task_revert_complete: Восстановить полный + task_uncomplete: Bозвращаться task_completed_ago: завершено %{value} назад task_completed_by: завершил(а) %{user} %{time_ago} назад task_created: Задание добавлено diff --git a/config/locales/sv-SE_fat_free_crm.yml b/config/locales/sv-SE_fat_free_crm.yml index 01083c1d96..c76a9b2f8a 100644 --- a/config/locales/sv-SE_fat_free_crm.yml +++ b/config/locales/sv-SE_fat_free_crm.yml @@ -407,7 +407,7 @@ sv-SE: task_assigned: Ärendet har tilldelats till %{value} task_assigned_to: och tilldelats till %{value} task_completed: utfört - task_revert_complete: återgå komplett + task_uncomplete: Återställ task_completed_ago: utfört %{value} sedan task_completed_by: utfört %{time_ago} sedan (%{date}) av %{user} task_created: Ärendet har skapats diff --git a/config/locales/th_fat_free_crm.yml b/config/locales/th_fat_free_crm.yml index 10ee456e35..e1c9a728df 100644 --- a/config/locales/th_fat_free_crm.yml +++ b/config/locales/th_fat_free_crm.yml @@ -406,7 +406,7 @@ th: task_assigned: ภารกิจได้ถูกมอบหมายให้ %{value} task_assigned_to: และได้มอบหมายให้ %{value} task_completed: เสร็จสมบูรณ์ - task_revert_complete: กลับสมบูรณ์ + task_uncomplete: คืนกลับ task_completed_by: เสร็จ %{time_ago} ที่ผ่านมา โดย %{user} task_completed_ago: เสร็จ %{value} ที่ผ่านมา task_created: ภารกิจได้ถูกสร้างขึ้นแล้ว diff --git a/config/locales/zh-CN_fat_free_crm.yml b/config/locales/zh-CN_fat_free_crm.yml index 0f1c9783a3..a4c14fd1a8 100644 --- a/config/locales/zh-CN_fat_free_crm.yml +++ b/config/locales/zh-CN_fat_free_crm.yml @@ -413,7 +413,7 @@ zh-CN: task_assigned: 任务已经分配给 %{value} task_assigned_to: 并分配给 %{value} task_completed: 已完成 - task_revert_complete: 恢复完整 + task_uncomplete: 还原 task_completed_ago: 完成于 %{value} 以前 task_completed_by: 由 %{user} 完成于 %{time_ago} 以前 task_created: 任务已被创建 diff --git a/config/routes.rb b/config/routes.rb index cf5019b53d..01e7b3270b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -133,7 +133,7 @@ end member do put :complete - put :revert_complete + put :uncomplete end end diff --git a/spec/controllers/tasks_controller_spec.rb b/spec/controllers/tasks_controller_spec.rb index 620cd7c269..eea617e345 100644 --- a/spec/controllers/tasks_controller_spec.rb +++ b/spec/controllers/tasks_controller_spec.rb @@ -472,16 +472,16 @@ def produce_tasks(user, view) # PUT /tasks/1/complete # PUT /leads/1/complete.xml AJAX #---------------------------------------------------------------------------- - describe "responding to PUT revert_complete" do + describe "responding to PUT uncomplete" do it "should change task status, expose task as @task, and render template" do @task = FactoryGirl.create(:task, :completed_at => Time.now, :user => current_user) - xhr :put, :revert_complete, :id => @task.id + xhr :put, :uncomplete, :id => @task.id @task.reload.completed_at.should == nil assigns[:task].should == @task assigns[:task_total].should_not == nil - response.should render_template("tasks/revert_complete") + response.should render_template("tasks/uncomplete") end @@ -490,7 +490,7 @@ def produce_tasks(user, view) @task = FactoryGirl.create(:task, :user => FactoryGirl.create(:user), :assignee => current_user, :completed_at => Time.now) @task.destroy - xhr :put, :revert_complete, :id => @task.id + xhr :put, :uncomplete, :id => @task.id flash[:warning].should_not == nil response.body.should == "window.location.reload();" end diff --git a/spec/helpers/tasks_helper_spec.rb b/spec/helpers/tasks_helper_spec.rb index eb516eed19..4c1da8659f 100644 --- a/spec/helpers/tasks_helper_spec.rb +++ b/spec/helpers/tasks_helper_spec.rb @@ -7,16 +7,16 @@ describe TasksHelper do - describe "responding with generated links" do + describe "responding with generated links" do - before do + before do @task = FactoryGirl.create(:task) end - it "should render link to revert_complete of a task" do - link_to_task_revert_complete(@task, nil).should include(t(:task_revert_complete)) - end + it "should render link to uncomplete of a task" do + link_to_task_uncomplete(@task, nil).should include(t(:task_uncomplete)) + end - end + end end diff --git a/spec/views/tasks/revert_complete.js.haml_spec.rb b/spec/views/tasks/uncomplete.js.haml_spec.rb similarity index 88% rename from spec/views/tasks/revert_complete.js.haml_spec.rb rename to spec/views/tasks/uncomplete.js.haml_spec.rb index 6d9aaa61ba..407d7c6925 100644 --- a/spec/views/tasks/revert_complete.js.haml_spec.rb +++ b/spec/views/tasks/uncomplete.js.haml_spec.rb @@ -5,7 +5,7 @@ #------------------------------------------------------------------------------ require 'spec_helper' -describe "/tasks/revert_complete" do +describe "/tasks/uncomplete" do include TasksHelper before do @@ -13,7 +13,7 @@ assign(:bucket, []) end - describe "revert complete from Tasks tab (completed view)" do + describe "uncomplete from Tasks tab (completed view)" do before do @task = FactoryGirl.create(:task) assign(:task, @task) @@ -22,7 +22,7 @@ assign(:task_total, stub_task_total("completed")) end - it "should slide up reverted (complete) task partial" do + it "should slide up uncompleted task partial" do controller.request.env["HTTP_REFERER"] = "http://localhost/tasks" render