ikuseiGmbH/smart-village-app-cms

View on GitHub
app/views/surveys/_form.html.erb

Summary

Maintainability
Test Coverage
<%= fields_for :survey, survey do |f|  %>
  <%= f.hidden_field :id, name: "survey[id]" %>

  <div class="row">
    <div class="col-lg-6">
      <div class="form-group">
        <%= f.check_box :is_multilingual, {}, true, false %>
        <label for="survey_is_multilingual">deutsche und polnische Texte bereitstellen?</label>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col">
      <div class="form-group">
        <label for="description">Titel (deutsch)</label>
        <%= f.text_field :title_de, name: "survey[title][de]", class: "form-control" %>
      </div>
      <% if survey.is_multilingual %>
        <div class="form-group">
          <label for="description">Titel (polnisch)</label>
          <%= f.text_field :title_pl, name: "survey[title][pl]", class: "form-control" %>
        </div>
      <% end %>
    </div>
  </div>

  <div class="row">
    <div class="col">
      <div class="form-group">
        <label for="description">Beschreibung (deutsch)</label>
        <%= f.text_area :description_de, name: "survey[description][de]", class: "form-control", rows: 3 %>
      </div>
      <% if survey.is_multilingual %>
        <div class="form-group">
          <label for="description">Beschreibung (polnisch)</label>
          <%= f.text_area :description_pl, name: "survey[description][pl]", class: "form-control", rows: 3 %>
        </div>
      <% end %>
    </div>
  </div>

  <div class="row">
    <%= f.hidden_field :question_id, name: "survey[question_id]" %>
    <div class="col">
      <div class="form-group">
        <label for="description">Frage (deutsch) *</label>
        <%= f.text_field :question_title_de, name: "survey[question_title][de]", class: "form-control", required: true %>
      </div>
      <% if survey.is_multilingual %>
        <div class="form-group">
          <label for="description">Frage (polnisch)</label>
          <%= f.text_field :question_title_pl, name: "survey[question_title][pl]", class: "form-control" %>
        </div>
      <% end %>
    </div>
  </div>

  <%= render(
      partial: "shared/partials/dates_form",
      locals: {
        record: survey,
        form: f,
        fields: ['date_start', 'date_end', 'time_start', 'time_end'],
        requireds: ['date_start', 'date_end'],
        values: {
          date_start: Time.now.to_date
        },
        force_visibility: true
    }) %>

  <div class="row">
    <div class="col-lg-6">
      <div class="form-group">
        <%= f.check_box :can_comment, {}, true, false %>
        <label for="survey_can_comment">Kommentare ermöglichen?</label>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col">
      <h2 class="d-sm-flex align-items-center justify-content-between my-4">
        Antwortmöglichkeiten
      </h2>

      <div class="row">
        <div class="col-lg-6">
          <div class="form-group">
            <%= f.check_box :question_allow_multiple_responses, {}, true, false %>
            <label for="survey_question_allow_multiple_responses">
              Nutzern mehrere Antwortmöglichkeiten gestatten?
            </label>
          </div>
        </div>
      </div>

      <p>
        Sie können den Text der Antworten jederzeit bearbeiten.
        Das Löschen einer Antwort ist aber nur möglich, wenn für diese noch keine
        Stimmen abgegeben wurden.
      </p>

      <% if survey.is_multilingual %>
        <p><small>(min. 2, max. 10, HTML möglich, in deutsch und polnisch)</small></p>
      <% else %>
        <p><small>(min. 2, max. 10, HTML möglich)</small></p>
      <% end %>

      <%= render partial: "surveys/form_partials/response_options_form", locals: { survey: survey, form: f  } %>
    </div>
  </div>

  <hr />

  <div class="row justify-content-center pb-4">
    <%= f.submit "Speichern", class: "btn btn-primary btn--big" %>
  </div>
<% end %>