diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb deleted file mode 100644 index 9fe2a801d..000000000 --- a/app/helpers/user_helper.rb +++ /dev/null @@ -1,12 +0,0 @@ -module UserHelper - def humanize_document_type(document_type) - case document_type - when "1" - t "verification.residence.new.document_type.spanish_id" - when "2" - t "verification.residence.new.document_type.passport" - when "3" - t "verification.residence.new.document_type.residence_card" - end - end -end diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb new file mode 100644 index 000000000..cbd635a28 --- /dev/null +++ b/app/helpers/users_helper.rb @@ -0,0 +1,38 @@ +module UsersHelper + + def humanize_document_type(document_type) + case document_type + when "1" + t "verification.residence.new.document_type.spanish_id" + when "2" + t "verification.residence.new.document_type.passport" + when "3" + t "verification.residence.new.document_type.residence_card" + end + end + + def comment_commentable_title(comment) + commentable = comment.commentable + if commentable.nil? + deleted_commentable_text(comment) + elsif commentable.hidden? + "".html_safe + + commentable.title + + "".html_safe + else + link_to(commentable.title, commentable) + end + end + + def deleted_commentable_text(comment) + case comment.commentable_type + when "Proposal" + t("users.show.deleted_proposal") + when "Debate" + t("users.show.deleted_debate") + else + t("users.show.deleted") + end + end + +end \ No newline at end of file diff --git a/app/mailers/mailer.rb b/app/mailers/mailer.rb index bf646019a..33b52d170 100644 --- a/app/mailers/mailer.rb +++ b/app/mailers/mailer.rb @@ -1,7 +1,7 @@ class Mailer < ApplicationMailer helper :text_with_links helper :mailer - helper :user + helper :users def comment(comment) @comment = comment diff --git a/app/views/users/_comments.html.erb b/app/views/users/_comments.html.erb index 2a8c9d66b..4a2ca5da7 100644 --- a/app/views/users/_comments.html.erb +++ b/app/views/users/_comments.html.erb @@ -2,7 +2,7 @@ <% @comments.each do |comment| %> - <%= comment.commentable.hidden? ? comment.commentable.title : link_to(comment.commentable.title, comment.commentable) %> + <%= comment_commentable_title(comment) %>
<%= comment.body %> diff --git a/config/locales/en.yml b/config/locales/en.yml index cb22de6fd..0089fded9 100755 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -340,6 +340,9 @@ en: other: "%{count} Comments" no_activity: "User has no public activity" private_activity: "This user decided to keep the activity list private" + deleted: "Deleted" + deleted_debate: "This debate has been deleted" + deleted_proposal: "This proposal has been deleted" unauthorized: default: "You do not have permission to access this page." manage: diff --git a/config/locales/es.yml b/config/locales/es.yml index eda14968c..9bc0fe644 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -340,6 +340,9 @@ es: other: "%{count} Comentarios" no_activity: "Usuario sin actividad pública" private_activity: "Este usuario ha decidido mantener en privado su lista de actividades" + deleted: "Eliminado" + deleted_debate: "Este debate ha sido eliminado" + deleted_proposal: "Este propuesta ha sido eliminada" unauthorized: default: "No tienes permiso para acceder a esta página." manage: diff --git a/spec/helpers/user_helper_spec.rb b/spec/helpers/user_helper_spec.rb deleted file mode 100644 index a30b2eecf..000000000 --- a/spec/helpers/user_helper_spec.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'rails_helper' - -describe UserHelper do - - describe '#humanize_document_type' do - it "should return a humanized document type" do - expect(humanize_document_type("1")).to eq "DNI" - expect(humanize_document_type("2")).to eq "Passport" - expect(humanize_document_type("3")).to eq "Residence card" - end - end - -end diff --git a/spec/helpers/users_helper_spec.rb b/spec/helpers/users_helper_spec.rb new file mode 100644 index 000000000..2094cea04 --- /dev/null +++ b/spec/helpers/users_helper_spec.rb @@ -0,0 +1,46 @@ +require 'rails_helper' + +describe UsersHelper do + + describe '#humanize_document_type' do + it "should return a humanized document type" do + expect(humanize_document_type("1")).to eq "DNI" + expect(humanize_document_type("2")).to eq "Passport" + expect(humanize_document_type("3")).to eq "Residence card" + end + end + + describe '#deleted_commentable_text' do + it "should return the appropriate message for deleted debates" do + debate = create(:debate) + comment = create(:comment, commentable: debate) + + debate.hide + + expect(comment_commentable_title(comment)).to eq "#{comment.commentable.title}" + end + + it "should return the appropriate message for deleted proposals" do + proposal = create(:proposal) + comment = create(:comment, commentable: proposal) + + proposal.hide + + expect(comment_commentable_title(comment)).to eq "#{comment.commentable.title}" + end + end + + describe '#comment_commentable_title' do + it "should return a link to the commentable" do + comment = create(:comment) + expect(comment_commentable_title(comment)).to eq link_to comment.commentable.title, comment.commentable + end + + it "should return a hint if the commentable has been deleted" do + comment = create(:comment) + comment.commentable.hide + expect(comment_commentable_title(comment)).to eq "#{comment.commentable.title}" + end + end + +end