petities/petitions.eu

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

Summary

Maintainability
Test Coverage
- @signatures.each do |signature|
  div.petition-signature-list
    - if params[:signature_id] && params[:signature_id] == signature.id.to_s
      div#anchor-scroll

      javascript:
        $(document).ready(function(){
          $('html, body').animate({
            scrollTop: $("#anchor-scroll").offset().top
          }, 250);
        })

    div.petition-signature-name
      - if signature.visible?
        = signature.person_name
      - else
        =<> t "anonymous"
        - if user_signed_in? && current_user.has_role?(:admin, @petition)
          br
          =<> signature.person_name

    - if signature.visible? || policy(@petition).edit?
      div.petition-signature-location= signature.person_city
      div.petition-signature-occupation
        = signature.person_function

    div.petition-signature-actions
      = link_to t('signatures.link'), anchor_petition_signatures_path(@petition, signature, page: @page), class: "signature-link"

      = mail_to 'webmaster@petities.nl', t('signatures.notify'),
          class: "signature-report",
          subject: "Notification: #{@petition.name}",
          body: anchor_petition_signatures_url(@petition, signature, page: @page)

    - if user_signed_in? && current_user.has_role?(:admin, @petition)
      - if signature.visible
        = form_for(signature, url: special_signature_url(signature.id, subdomain: false),
          remote: true, data: { type: :json }) do |f|
          = f.check_box :special, class: 'special_check'

          span.signature-time
            = t('signature.promote')

    - if signature.confirmed_at
      span.signature-time= distance_of_time_in_words_to_now(signature.confirmed_at)