petities/petitions.eu

View on GitHub
app/views/signatures/confirm.html.slim

Summary

Maintainability
Test Coverage
div.page
  section.start-petition-form-container
    h1.petition-section-title= t('confirm.title', name: @petition.name)

    javascript:
      window.check_fields = #{raw @check_fields.to_json};
      window.error_fields = #{raw @error_fields.to_json};

      window.wrong_name_error = "#{t('show.sign.form.errors.name')}";
      window.wrong_email_error = "#{t('show.sign.form.errors.email')}";

    = form_for @signature, url: @url, remote: true, data: { type: :json } do |f|

      div.start-petition-form-row
        div.start-petition-form-cell.input
          h2.start-petition-form-cell-title
            = t('confirm.info.check_information')
        div.start-petition-form-cell.label
          = link_to @petition.name, petition_path(@petition)
          |  

      div.start-petition-form-row
        div.start-petition-form-cell.input
          = f.check_box :visible
          label= t('confirm.form.visible.privacylabel')
        div.start-petition-form-cell.label
          p= t('confirm.form.visible.description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          = f.check_box :subscribe
          label= t('confirm.form.subscribe.label')
        div.start-petition-form-cell.label
          p= t('confirm.form.subscribe.description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title= t('confirm.form.name.label')
          = f.text_field :person_name, class: 'start-petition-form-cell-input'
        div.start-petition-form-cell.label
          p= t('confirm.form.name.description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title= t('confirm.form.location.label')
          - error = ''
          - if not @signature.errors[:person_city].empty?
            - error = ' error'
          - if @signature.petition.active_petition_type && @signature.petition.active_petition_type.allowed_cities.any?
            - cities = @signature.petition.active_petition_type.cities.map(&:name)

            = f.select(:person_city,
                       options_for_select(cities),
                       class: "start-petition-form-cell-select.large")
          - else
            = f.text_field :person_city, class: 'start-petition-form-cell-input' + error

        div.start-petition-form-cell.label
          p= t('confirm.form.location.description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          = f.check_box :more_information
          label= t('confirm.form.invite_info.label')
        div.start-petition-form-cell.label
          p= t('confirm.form.invite_info.description')

      - if @signature.require_person_country?
        div.start-petition-form-row
          div.start-petition-form-cell.input
            div.start-petition-form-cell-title= t('confirm.form.country.label')
            /= f.text_field :person_birth_country, class: 'start-petition-form-cell-input'
            = f.country_select :person_country, priority_countries: ["NL", "BE", "DE", "GB", "FR"]
          div.start-petition-form-cell.label
            p= t('confirm.form.country.description')

      - if @signature.require_full_address?
        div.start-petition-form-row
          div.start-petition-form-cell.input
            div.start-petition-form-cell-title= t('confirm.form.street.label')
            = f.text_field :person_street, class: 'start-petition-form-cell-input'
          div.start-petition-form-cell.label
            p= t('confirm.form.street.description')

        div.start-petition-form-row
          div.start-petition-form-cell.input.double

            div.start-petition-form-cell-half
              div.start-petition-form-cell-title= t('confirm.form.street_number.label')
              = f.text_field :person_street_number, class: 'start-petition-form-cell-input'

            div.start-petition-form-cell-half
              div.start-petition-form-cell-title= t('confirm.form.street_number_suffix.suffixlabel')
              = f.text_field :person_street_number_suffix, class: 'start-petition-form-cell-input'

          div.start-petition-form-cell.label
            p= t('confirm.form.street_number.description')

        div.start-petition-form-row
          div.start-petition-form-cell.input
            div.start-petition-form-cell-title= t('confirm.form.postal_code.label')
            = f.text_field :person_postalcode, class: 'start-petition-form-cell-input small'
          div.start-petition-form-cell.label
            p= t('confirm.form.postal_code.description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title
            = t('confirm.form.function.label')
            div.start-petition-form-cell-charcount.charCount id="charCount_signature_person_function"
              | 0 / 253

          = f.text_area(:person_function,
                'data-chars': 253,
                class: 'start-petition-form-cell-input validation')
          div.errors

        div.start-petition-form-cell.label
          p= t('confirm.form.function.description')

      /#- if @signature.require_person_birth_city?
      /div.start-petition-form-row
      /  div.start-petition-form-cell.input
      /    div.start-petition-form-cell-title= t('confirm.form.city.label')
      /    = f.text_field :person_birth_city, class: 'start-petition-form-cell-input'
      /  div.start-petition-form-cell.label
      /    p= t('confirm.form.city.description')

      - if @signature.require_born_at? || @signature.require_minimum_age?
        div.start-petition-form-row
          div.start-petition-form-cell.input
            div.start-petition-form-cell-title= t('confirm.form.born_at.label')
            - minium_age = @signature.petition.active_petition_type.required_minimum_age || 9
            - newest_date = Date.today.year - minium_age
            = f.date_select :person_born_at, order: [:day, :month, :year], end_year: newest_date, start_year: 1920, prompt: { day: t('confirm.form.date.day'), month: t('confirm.form.date.month'), year: t('confirm.form.date.year') }
            div.person_born_at_errors
          div.start-petition-form-cell.label
            p
              =<> t('confirm.form.born_at.description')
              =<> minium_age

      span.errors id="confirm_errors" style='display: none;'

        div.start-petition-form-row
          h2.start-petition-form-cell.input.error
            = t('signature.confirm_errors')

      span#confirm_success style='display: none;'

        div.start-petition-form-row
          h2.start-petition-form-cell.input
            = t('signature.success')

          div.start-petition-form-cell.label.empty
            | &nbsp;

      div.start-petition-form-row
        div.start-petition-form-cell.input
          | &nbsp;
          = f.submit @action, class: 'petition-form-button'

        div.start-petition-form-cell.label.empty
          | &nbsp;

      div.start-petition-form-row
          div.start-petition-form-cell.input
            = t('confirm.info.confirmed_at', confirmed_at: l(@signature.confirmed_at, format: :long))
            br
            = t('confirm.info.ip', ip: @signature.signature_remote_addr)
            br
            = t('confirm.info.browser', browser: @signature.signature_remote_browser)

          div.start-petition-form-cell.label
            p= t('confirm.form.bigbrother')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          | &nbsp;
        div.start-petition-form-cell.label.empty
          | &nbsp;
div.page
  section.start-petition-form-container
    h1.petition-section-title
      = t('confirm.info.help_petition')

    = form_for @pledge, url: petition_signature_pledge_confirm_path(@petition, @signature.unique_key), remote: true, data: { type: :json } do |pf|
      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title
            = t('confirm.form.influencelabel')
            = pf.select(:influence,
                       options_for_select(Pledge::INFLUENCE_OPTIONS,
                        selected: @pledge.influence),
                       include_blank: t("pledge.influence.blank", default:""),
                       class: "start-petition-form-cell-select.large")

        div.start-petition-form-cell.label
          p= t('confirm.form.influence_description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title= t('confirm.form.skillslabel')
          = pf.select(:skill,
                     options_for_select(Pledge::SKILL_OPTIONS,
                      selected: @pledge.skill),
                     include_blank: t("pledge.skill.blank", default:""),
                     class: "start-petition-form-cell-select.large")

        div.start-petition-form-cell.label
          p= t('confirm.form.skills_offer_description')

      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title
            | &nbsp;
            div.start-petition-form-cell-charcount.charCount id="charCount_pledge_feedback"
              | 0 / 253

          = pf.text_area(:feedback,
                       'data-chars': 253,
                       class: "start-petition-form-cell-input validation",
                       placeholder: t('pledge.feedback.placeholder', default: '...'))

          div.errors

        div.start-petition-form-cell.label.empty
          p= t('pledge.feedback.description')


      div.start-petition-form-row
        div.start-petition-form-cell.input
          h2.start-petition-form-cell-title
            = t('confirm.info.donate_petition')
        div.start-petition-form-cell.label.empty
          | &nbsp;

      div.start-petition-form-row
        div.start-petition-form-cell.input
          div.start-petition-form-cell-title
            = pf.label :money, t('confirm.info.how_much')
          - Pledge::MONEY_OPTIONS.each do |value|
            label.start-petition-form-cell-label
              = pf.radio_button :money, value
              = t("confirm.form.money.#{value}")

        div.start-petition-form-cell.label
          p= t('confirm.info.how_much_description')


      div.start-petition-form-row
        div.start-petition-form-cell.input
          = pf.submit t('confirm.form.action.pledge'), class: 'petition-form-button'
        div.start-petition-form-cell.label.empty
          | &nbsp;

      div.start-petition-form-row
        div.start-petition-form-cell.input
          h1.pledge_thanks style="display: none;"
            = t('pledge.thank_you')
          | &nbsp;
        div.start-petition-form-cell.label.empty
          | &nbsp;

      div.start-petition-form-row
        div.start-petition-form-cell.input
          h1.pledge_error style="display: none;"
            = t('pledge.failed')
          | &nbsp;
        div.start-petition-form-cell.label.empty
          | &nbsp;


div.page
  section.start-petition-form-container
    h1.petition-section-title
      = t('confirm.info.share_petition')
    div
      | &nbsp;

    div.start-petition-form-row.require-cookies
      div.start-petition-form-cell.input
        h2.start-petition-form-cell-title= t('confirm.mailafriend.title')
        div.whitespace

        = form_for InviteForm.new, url: petition_signature_invites_path(@petition, @signature.unique_key), remote: true, data: { type: :json, success: t('confirm.mailafriend.success'), failed: t('confirm.mailafriend.failed') } do |f|

          = f.text_field(:mail, class: 'start-petition-form-cell-input',
                                id: :input_share_email,
                                placeholder: t('confirm.mailafriend.input'))

          | &nbsp;
          div.petition-form-button.email-suggest-button id='didyoumean_input_share_email' style="display: none;"
            = t 'signature.did_you_mean'
            div id='suggest_input_share_email'
              | &nbsp;
          | &nbsp;
          = f.submit t('confirm.form.action.send_email'), class: "petition-form-button"
          | &nbsp;

          div.petition-form-button.email-success-note id='success_share_email' style="display: none;"
            = t('signature.success_send', default: 'success')

          | &nbsp;
          div.petition-form-button.email-suggest-button id='fail_share_email' style="display: none;"
            = t('signature.failed_send', default: 'failed')

          div#feedback


      div.start-petition-form-cell.label
        p= t('confirm.mailafriend.label')
        div.email
          - person_function = ''
          - if @signature.person_function.present?
            - person_function = t('mail.mailafriend.note') + " \"#{@signature.person_function}\""
          = markdown t('mail.mailafriend.mail',
            name: @signature.person_name,
            sig_email: @signature.person_email,
            petition_name: @petition.name,
            sig_function: person_function,
            intro: @petition.description,
            petition_email: @petition.petitioner_email,
            subdomain: @petition.subdomain)

    div.start-petition-form-row
       div.start-petition-form-cell.input
         = link_to(t('confirm.info.your_signature'),
             anchor_petition_signatures_path(@petition, @signature),
             class: 'petition-form-button buttonfix')

       div.start-petition-form-cell.label
         p= t('confirm.info.petition_signature_url')
         | &nbsp;

    div.start-petition-form-row
      input type="text_area" class="start-petition-form-cell-input-readonly" value=anchor_petition_signatures_url(@petition, @signature) readonly=""

    div.start-petition-form-row
      div.start-petition-form-cell.input
        div.start-petition-form-cell-title
          = t('confirm.info.your_email')
        input.start-petition-form-cell-input-readonly type="text" value=@signature.person_email readonly=""

      div.start-petition-form-cell.label.empty
        | &nbsp;