diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index ab3369387..5b0bcaea7 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -314,6 +314,7 @@ .proposal-edit, .new_poll_question, .edit_poll_question, +.new_poll, .edit_poll { @include direct-uploads; } diff --git a/app/models/concerns/imageable.rb b/app/models/concerns/imageable.rb index fea94d102..a2a2f537d 100644 --- a/app/models/concerns/imageable.rb +++ b/app/models/concerns/imageable.rb @@ -5,7 +5,6 @@ module Imageable included do has_one :image, as: :imageable, dependent: :destroy - has_many :images, as: :imageable, dependent: :destroy accepts_nested_attributes_for :image, allow_destroy: true, update_only: true def image_url(style) diff --git a/app/models/poll.rb b/app/models/poll.rb index 9aa41cd16..9706edd6e 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -1,7 +1,6 @@ class Poll < ActiveRecord::Base include Imageable - include Documentable - + has_many :booth_assignments, class_name: "Poll::BoothAssignment" has_many :booths, through: :booth_assignments has_many :partial_results, through: :booth_assignments diff --git a/app/views/admin/poll/polls/_form.html.erb b/app/views/admin/poll/polls/_form.html.erb index 235522c65..aff19d9d7 100644 --- a/app/views/admin/poll/polls/_form.html.erb +++ b/app/views/admin/poll/polls/_form.html.erb @@ -35,26 +35,6 @@ <%= render 'images/admin_image', imageable: @poll, f: f %> -
- - - - - - - - - - - - - - - - -
<%= t("admin.polls.attachments.title") %>
<%= t("admin.polls.attachments.images_title") %><%= t("admin.polls.attachments.documents_title") %>
<%= link_to "#{t("admin.polls.attachments.images_link")} (#{@poll.images.count})", root_path %><%= link_to "#{t("admin.polls.attachments.documents_link")} (#{@poll.documents.count})", root_path %>
-
-
<%= f.check_box :geozone_restricted, data: { checkbox_toggle: "#geozones" } %> diff --git a/app/views/images/_admin_image.html.erb b/app/views/images/_admin_image.html.erb index 7c5157216..a782b743b 100644 --- a/app/views/images/_admin_image.html.erb +++ b/app/views/images/_admin_image.html.erb @@ -1,55 +1,13 @@
<%= f.label :image, t("images.form.admin_title") %> + -
- <%= f.fields_for :image do |image_builder| %> - <%#= render 'images/image_fields', f: image_builder, imageable: imageable %> - - - -
- <%= image_builder.hidden_field :id %> - <%= image_builder.hidden_field :user_id, value: current_user.id %> - <%= image_builder.hidden_field :cached_attachment %> - - <%= image_builder.text_field :title, placeholder: t("images.form.title_placeholder") %> - - - <%= render_image(image_builder.object, :thumb, false) if image_builder.object.attachment.exists? %> - -
-
- <%= render_image_attachment(image_builder, imageable, image_builder.object) %> -
-
- <%= render_destroy_image_link(image_builder, image_builder.object) %> -
-
- -
-

- <%= image_attachment_file_name(image_builder.object) %> -

-
- -
-
-
- -
- - - - <% end %> -
-
- - <%= link_to_add_association t('images.form.add_new_image'), f, :image, + <%= link_to_add_association t('images.form.add_new_image'), f, :image, force_non_association_create: true, partial: "images/image_fields", id: "new_image_link", - class: "button hollow #{"hide" if imageable.image.present?}", + class: "button hollow", render_options: { locals: { imageable: imageable } }, @@ -57,4 +15,31 @@ association_insertion_node: "#nested-image", association_insertion_method: "append" } %> + +
+ <%= f.fields_for :image do |image_builder| %> + +
+ <%= image_builder.hidden_field :id %> + <%= image_builder.hidden_field :user_id, value: current_user.id %> + <%= image_builder.hidden_field :cached_attachment %> + + <%= image_builder.text_field :title, placeholder: t("images.form.title_placeholder"), label: "#{t("images.form.admin_alt_text")}" %> + + +
+
+ <%= render_image_attachment(image_builder, imageable, image_builder.object) %> +
+
+ +
+
+
+ +
+ + <% end %> +
+
diff --git a/config/locales/en/images.yml b/config/locales/en/images.yml index 087c85021..afd8b2308 100644 --- a/config/locales/en/images.yml +++ b/config/locales/en/images.yml @@ -11,6 +11,7 @@ en: add_new_image: Add image title_placeholder: Add a descriptive title for the image admin_title: "Main image of the poll" + admin_alt_text: "Alternative text for the image" actions: destroy: diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index afa963c20..816cadd57 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -580,12 +580,6 @@ es: error_on_question_added: "No se pudo asignar la pregunta" question_removed: "Pregunta eliminada de esta votación" error_on_question_removed: "No se pudo quitar la pregunta" - attachments: - title: "Imágenes y documentos de la votación" - images_title: "Imágenes" - documents_title: "Documents" - images_link: "Lista de imágenes" - documents_link: "Lista de documentos" questions: index: title: "Preguntas ciudadanas" diff --git a/config/locales/es/images.yml b/config/locales/es/images.yml index 0207bceed..e842f3f5c 100644 --- a/config/locales/es/images.yml +++ b/config/locales/es/images.yml @@ -10,6 +10,7 @@ es: add_new_image: Añadir imagen title_placeholder: Añade un título descriptivo para la imagen admin_title: "Imagen principal de la votación" + admin_alt_text: "Texto alternativo para la imagen" actions: destroy: diff --git a/spec/features/admin/poll/polls_spec.rb b/spec/features/admin/poll/polls_spec.rb index 6eb64f6e1..c282bee5d 100644 --- a/spec/features/admin/poll/polls_spec.rb +++ b/spec/features/admin/poll/polls_spec.rb @@ -58,6 +58,8 @@ feature 'Admin polls' do fill_in "poll_name", with: "Upcoming poll" fill_in 'poll_starts_at', with: start_date.strftime("%d/%m/%Y") fill_in 'poll_ends_at', with: end_date.strftime("%d/%m/%Y") + fill_in 'poll_summary', with: "Upcoming poll's summary. This poll..." + fill_in 'poll_description', with: "Upcomming poll's description. This poll..." click_button "Create poll" expect(page).to have_content "Poll created successfully"