diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index 007b4939c..665e6b532 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -306,7 +306,7 @@ a { .icon-angle-left { clear: both; color: $text-medium; - float: left; + display: inline-block; } .back:not([class^="icon-"]) { diff --git a/app/assets/stylesheets/pages.scss b/app/assets/stylesheets/pages.scss index 7114b01d6..d3db7e9b2 100644 --- a/app/assets/stylesheets/pages.scss +++ b/app/assets/stylesheets/pages.scss @@ -44,8 +44,7 @@ // 03. Content // ---------------------- -.more-info-content, -.communities-show { +.more-info-content { h3 { color: $brand; diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index f88cfe65a..b22544315 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -250,6 +250,7 @@ .proposal-form, .budget-investment-form, .spending-proposal-form, +.document-form, .topic-new, .topic-form { @@ -300,6 +301,7 @@ } .proposal-form, +.document-form, .topic-form, .topic-new { diff --git a/app/helpers/communities_helper.rb b/app/helpers/communities_helper.rb index 22bc76617..744749a68 100644 --- a/app/helpers/communities_helper.rb +++ b/app/helpers/communities_helper.rb @@ -32,4 +32,7 @@ module CommunitiesHelper community.from_proposal? ? t("community.sidebar.description.proposal") : t("community.sidebar.description.investment") end + def create_topic_link(community) + current_user.present? ? new_community_topic_path(community.id) : new_user_session_path + end end diff --git a/app/helpers/topics_helper.rb b/app/helpers/topics_helper.rb deleted file mode 100644 index 1d5f1964f..000000000 --- a/app/helpers/topics_helper.rb +++ /dev/null @@ -1,11 +0,0 @@ -module TopicsHelper - - def disabled_create_topic - "disabled" unless current_user - end - - def disabled_info_title - t("community.show.sidebar.disabled_info_title") unless current_user - end - -end diff --git a/app/views/communities/show.html.erb b/app/views/communities/show.html.erb index 8190ff6b6..4da0369b9 100644 --- a/app/views/communities/show.html.erb +++ b/app/views/communities/show.html.erb @@ -3,20 +3,21 @@
- <%= back_link_to community_back_link_path(@community) %> -

<%= community_text(@community) %>

-

<%= community_title(@community) %>

-

<%= community_description(@community) %>

+ <%= community_text(@community) %> +

<%= link_to community_title(@community), community_back_link_path(@community) %>

+
+ +
+

<%= community_description(@community) %>

- -
- <%= render 'participants' %> diff --git a/app/views/topics/_comments.html.erb b/app/views/topics/_comments.html.erb index 03568ed48..db22c8097 100644 --- a/app/views/topics/_comments.html.erb +++ b/app/views/topics/_comments.html.erb @@ -13,12 +13,12 @@ <% if user_signed_in? %> <%= render 'comments/form', {commentable: @topic, parent_id: nil, toggeable: false} %> <% else %> -
+
<%= t("topics.show.login_to_comment", signin: link_to(t("votes.signin"), new_user_session_path), signup: link_to(t("votes.signup"), new_user_registration_path)).html_safe %> -
+ <% end %> diff --git a/app/views/topics/_form.html.erb b/app/views/topics/_form.html.erb index b0f3dcd28..0011df486 100644 --- a/app/views/topics/_form.html.erb +++ b/app/views/topics/_form.html.erb @@ -3,19 +3,15 @@ <%= render 'shared/errors', resource: @topic %>
-
<%= f.label :title, t("community.topic.form.topic_title") %> <%= f.text_field :title, label: false %> -
-
- <%= f.label :description, t("community.topic.form.topic_description") %> - <%= f.text_area :description, label: false %> -
-
+ + <%= f.label :description, t("community.topic.form.topic_text") %> + <%= f.text_area :description, label: false, rows: "5" %> + <%= f.submit(class: "button", value: t("community.topic.form.#{action_name}.submit_button")) %>
-
<% end %> diff --git a/app/views/topics/_informative_text.html.erb b/app/views/topics/_informative_text.html.erb index aeb5ad773..6a8475d8f 100644 --- a/app/views/topics/_informative_text.html.erb +++ b/app/views/topics/_informative_text.html.erb @@ -1,11 +1,13 @@ -

<%= t("community.show.create_first_community_topic.first_theme") %>

+

<%= t("community.show.create_first_community_topic.first_theme") %>

<% if user_signed_in? %> - <%= t("community.show.create_first_community_topic.first_theme_not_logged_in") %> +
+ <%= t("community.show.create_first_community_topic.first_theme_not_logged_in") %> +
<% else %>
<%= t("community.show.create_first_community_topic.sub_first_theme", - link: link_to(t("community.show.create_first_community_topic.sign_link", - org_name: setting['org_name']), new_user_session_path)).html_safe %> + sign_in: link_to(t("community.show.create_first_community_topic.sign_in"), new_user_session_path), + sign_up: link_to(t("community.show.create_first_community_topic.sign_up"), new_user_registration_path)).html_safe %>
<% end %> diff --git a/app/views/topics/_recommendations.html.erb b/app/views/topics/_recommendations.html.erb index 022b7eb93..ff86b877b 100644 --- a/app/views/topics/_recommendations.html.erb +++ b/app/views/topics/_recommendations.html.erb @@ -1,13 +1,7 @@ -
+

<%= t("community.topic.sidebar.recommendations_title") %>

- - -

<%= t("community.topic.sidebar.recommendations_title") %>

- - - -
+ diff --git a/app/views/topics/_topic.html.erb b/app/views/topics/_topic.html.erb index fe225d501..4082bf3f7 100644 --- a/app/views/topics/_topic.html.erb +++ b/app/views/topics/_topic.html.erb @@ -1,6 +1,6 @@
- -
+ +

<%= link_to topic.title, community_topic_path(@community, topic) %>

@@ -14,12 +14,4 @@

- -
- <% if topic.author == current_user %> - <%= link_to t("community.show.topic.edit_button"), edit_community_topic_path(@community.id, topic), class: 'button small hollow' %> - <%= link_to t("community.show.topic.destroy_button"), community_topic_path(@community.id, topic), method: :delete, class: 'button hollow alert small' %> - <% end %> -
-
diff --git a/app/views/topics/edit.html.erb b/app/views/topics/edit.html.erb index 15c026ca8..e305acd13 100644 --- a/app/views/topics/edit.html.erb +++ b/app/views/topics/edit.html.erb @@ -1,4 +1,4 @@ -
+
<%= back_link_to community_path(@community) %> @@ -6,6 +6,7 @@ <%= render "form" %>
- <%= render "recommendations" %> - +
+ <%= render "recommendations" %> +
diff --git a/app/views/topics/new.html.erb b/app/views/topics/new.html.erb index c1f1c42da..8f9d541e2 100644 --- a/app/views/topics/new.html.erb +++ b/app/views/topics/new.html.erb @@ -1,11 +1,12 @@ -
- +
+
<%= back_link_to community_path(@community) %>

<%= t("community.topic.create") %>

<%= render 'form' %>
- <%= render "recommendations" %> - +
+ <%= render "recommendations" %> +
diff --git a/app/views/topics/show.html.erb b/app/views/topics/show.html.erb index 914839bdd..30e6ad44a 100644 --- a/app/views/topics/show.html.erb +++ b/app/views/topics/show.html.erb @@ -1,27 +1,47 @@ -
-
+
+
+
- <%= back_link_to community_path(@community) %> -
+ <%= back_link_to community_path(@community), t("community.show.back", + community: community_text(@community), + proposal: community_title(@community)) %> -

<%= community_text(@community) %> <%= community_title(@community) %>

-

<%= @topic.title %>

-
-

<%= @topic.description %>

- <%= render '/shared/author_info', resource: @topic %> +

<%= @topic.title %>

-  •  - <%= l @topic.created_at.to_date %> -  •  -   -
+
+ <%= render '/shared/author_info', resource: @topic %> -
- <%= render "topics/filter_subnav" %> -
- <%= render "topics/comments" %> +  •  + <%= l(@topic.created_at.to_date) %> +  •  +   + <%= link_to t("community.show.topic.comments", count: @topic.comments_count), + community_topic_path(@community, @topic, anchor: "comments") %>
+
+

<%= @topic.description %>

+
+ + <% if @topic.author == current_user %> + + <% end %> +
+ + +
+ <%= render "topics/filter_subnav" %> +
+ <%= render "topics/comments" %>
-
diff --git a/config/locales/en/community.yml b/config/locales/en/community.yml index 137787563..d7a892aa8 100644 --- a/config/locales/en/community.yml +++ b/config/locales/en/community.yml @@ -14,29 +14,31 @@ en: proposal: Participate in the community of this proposal. An active community can help to improve the content of the proposal and boost its dissemination to get more support. investment: Participate in the community of this budget investment. An active community can help to improve the content of the budget investment and boost its dissemination to get more support. create_first_community_topic: - first_theme_not_logged_in: No issue yet available, participate creating the first one. Click on the create new topic button. + first_theme_not_logged_in: No issue available, participate creating the first one. first_theme: Create the first community topic - sub_first_theme: To create a theme you have to %{link} - sign_link: "access %{org_name}" + sub_first_theme: "To create a theme you must to %{sign_in} o %{sign_up}." + sign_in: "sign in" + sign_up: "sign up" tab: participants: Participants sidebar: participate: Participate new_topic: Create topic - disabled_info_title: You need to be logged to create a new topic topic: - edit_button: Edit - destroy_button: Destroy + edit: Edit topic + destroy: Destroy topic comments: one: 1 comment other: "%{count} comments" zero: No comments + author: Author + back: Back to %{community} %{proposal} topic: create: Create a topic edit: Edit Topic form: - topic_title: Topic Title - topic_description: Description + topic_title: Title + topic_text: Initial text new: submit_button: Create topic edit: diff --git a/config/locales/es/community.yml b/config/locales/es/community.yml index abfe24a67..f08a4918a 100644 --- a/config/locales/es/community.yml +++ b/config/locales/es/community.yml @@ -14,29 +14,31 @@ es: proposal: Participa en la comunidad de esta propuesta. Una comunidad activa puede ayudar a mejorar el contenido de la propuesta así como a dinamizar su difusión para conseguir más apoyos. investment: Participa en la comunidad de este proyecto de inversión. Una comunidad activa puede ayudar a mejorar el contenido del proyecto de inversión así como a dinamizar su difusión para conseguir más apoyos. create_first_community_topic: - first_theme_not_logged_in: Aún no hay ningun tema disponible, participa creando el primero. Haz click en el botón crear nuevo tema. + first_theme_not_logged_in: No hay ningún tema disponible, participa creando el primero. first_theme: Crea el primer tema de la comunidad - sub_first_theme: Para crear un tema tienes que %{link} - sign_link: "acceder a %{org_name}" + sub_first_theme: "Para crear un tema debes %{sign_in} o %{sign_up}." + sign_in: "iniciar sesión" + sign_up: "registrarte" tab: participants: Participantes sidebar: participate: Participa new_topic: Crea un tema - disabled_info_title: Necesitas estar logueado para crear un nuevo tema topic: - edit_button: Editar - destroy_button: Eliminar + edit: Editar tema + destroy: Eliminar tema comments: zero: Sin comentarios one: 1 Comentario other: "%{count} Comentarios" + author: Autor + back: Volver a %{community} %{proposal} topic: create: Crear un tema edit: Editar tema form: - topic_title: Titulo del tema - topic_description: Descripción + topic_title: Título + topic_text: Texto inicial new: submit_button: Crear tema edit: diff --git a/spec/features/communities_spec.rb b/spec/features/communities_spec.rb index 2909f416e..725364074 100644 --- a/spec/features/communities_spec.rb +++ b/spec/features/communities_spec.rb @@ -24,16 +24,6 @@ feature 'Communities' do expect(page).to have_content proposal.title expect(page).to have_content "Participate in the community of this proposal" expect(page).to have_link("Create topic", href: new_community_topic_path(community)) - expect(page).not_to have_selector(".button.disabled", text: "Create topic") - end - - scenario 'Should display disabled create topic button when user is not logged' do - proposal = create(:proposal) - community = proposal.community - - visit community_path(community) - - expect(page).to have_selector(".button.disabled", text: "Create topic") end scenario 'Should display without_topics_text and participants when there are not topics' do @@ -100,7 +90,7 @@ feature 'Communities' do expect(topic2.title).to appear_before(topic1.title) end - scenario 'Should display topic edit button when author is logged' do + scenario 'Should display topic edit button on topic show when author is logged' do proposal = create(:proposal) community = proposal.community user = create(:user) @@ -108,15 +98,11 @@ feature 'Communities' do topic2 = create(:topic, community: community) login_as(user) - visit community_path(community) + visit community_topic_path(community, topic1) + expect(page).to have_link("Edit topic", href: edit_community_topic_path(community, topic1)) - within "#topic_#{topic1.id}" do - expect(page).to have_link("Edit", href: edit_community_topic_path(community, topic1)) - end - - within "#topic_#{topic2.id}" do - expect(page).not_to have_link("Edit", href: edit_community_topic_path(community, topic2)) - end + visit community_topic_path(community, topic2) + expect(page).not_to have_link("Edit topic", href: edit_community_topic_path(community, topic2)) end scenario 'Should display participant when there is topics' do diff --git a/spec/features/topics_specs.rb b/spec/features/topics_specs.rb index 0ba674844..a4c8c8ff9 100644 --- a/spec/features/topics_specs.rb +++ b/spec/features/topics_specs.rb @@ -4,13 +4,16 @@ feature 'Topics' do context 'New' do - scenario 'Should display disabled button to new topic page without user logged', :js do + scenario 'Create new topic link should redirect to sign up for anonymous users', :js do proposal = create(:proposal) community = proposal.community + logout visit community_path(community) + click_link "Create topic" - expect(page).to have_selector(".button.expanded.disabled") + expect(page).to have_content "Sign in with:" + expect(current_path).to eq(new_user_session_path) end scenario 'Can access to new topic page with user logged', :js do @@ -34,8 +37,8 @@ feature 'Topics' do click_link "Create topic" - expect(page).to have_content "Topic Title" - expect(page).to have_content "Description" + expect(page).to have_content "Title" + expect(page).to have_content "Initial text" expect(page).to have_content "Recommendations to create a topic" expect(page).to have_content "Do not write the topic title or whole sentences in capital letters. On the internet that is considered shouting. And no one likes to be yelled at." expect(page).to have_content "Any topic or comment that implies an illegal action will be eliminated, also those that intend to sabotage the spaces of the subject, everything else is allowed." @@ -128,9 +131,9 @@ feature 'Topics' do user = create(:user) topic = create(:topic, community: community, author: user) login_as(user) - visit community_path(community) + visit community_topic_path(community, topic) - click_link "Destroy" + click_link "Destroy topic" expect(page).to have_content "Topic deleted successfully." expect(page).not_to have_content topic.title