diff --git a/app/components/admin/poll/questions/form_component.html.erb b/app/components/admin/poll/questions/form_component.html.erb
new file mode 100644
index 000000000..09c9ba9ad
--- /dev/null
+++ b/app/components/admin/poll/questions/form_component.html.erb
@@ -0,0 +1,40 @@
+<%= render "shared/globalize_locales", resource: question %>
+
+<%= translatable_form_for(question, url: url) do |f| %>
+
+ <%= render "shared/errors", resource: question %>
+
+ <%= f.hidden_field :proposal_id %>
+
+
+
+ <% if poll.present? %>
+ <%= f.hidden_field :poll_id, value: poll.id %>
+ <% elsif question.poll.present? %>
+ <%= f.hidden_field :poll_id, value: question.poll.id %>
+ <% else %>
+
+ <% select_options = Poll.all.map { |p| [p.name, p.id] } %>
+ <%= f.select :poll_id,
+ options_for_select(select_options),
+ prompt: t("admin.questions.index.select_poll") %>
+
+ <% end %>
+
+
+
+
+ <%= f.translatable_fields do |translations_form| %>
+
+ <%= translations_form.text_field :title %>
+
+ <% end %>
+
+
+
+
+ <%= f.submit(class: "button success expanded", value: t("shared.save")) %>
+
+
+
+<% end %>
diff --git a/app/components/admin/poll/questions/form_component.rb b/app/components/admin/poll/questions/form_component.rb
new file mode 100644
index 000000000..25507c284
--- /dev/null
+++ b/app/components/admin/poll/questions/form_component.rb
@@ -0,0 +1,11 @@
+class Admin::Poll::Questions::FormComponent < ApplicationComponent
+ include TranslatableFormHelper
+ include GlobalizeHelper
+ attr_reader :poll, :question, :url
+
+ def initialize(poll, question, url:)
+ @poll = poll
+ @question = question
+ @url = url
+ end
+end
diff --git a/app/views/admin/poll/questions/_form.html.erb b/app/views/admin/poll/questions/_form.html.erb
index 5679830e4..fb792c3de 100644
--- a/app/views/admin/poll/questions/_form.html.erb
+++ b/app/views/admin/poll/questions/_form.html.erb
@@ -1,40 +1 @@
-<%= render "shared/globalize_locales", resource: @question %>
-
-<%= translatable_form_for(@question, url: form_url) do |f| %>
-
- <%= render "shared/errors", resource: @question %>
-
- <%= f.hidden_field :proposal_id %>
-
-
-
- <% if @poll.present? %>
- <%= f.hidden_field :poll_id, value: @poll.id %>
- <% elsif @question.poll.present? %>
- <%= f.hidden_field :poll_id, value: @question.poll.id %>
- <% else %>
-
- <% select_options = Poll.all.map { |p| [p.name, p.id] } %>
- <%= f.select :poll_id,
- options_for_select(select_options),
- prompt: t("admin.questions.index.select_poll") %>
-
- <% end %>
-
-
-
-
- <%= f.translatable_fields do |translations_form| %>
-
- <%= translations_form.text_field :title %>
-
- <% end %>
-
-
-
-
- <%= f.submit(class: "button success expanded", value: t("shared.save")) %>
-
-
-
-<% end %>
+<%= render Admin::Poll::Questions::FormComponent.new(@poll, @question, url: form_url) %>