mberlanda/cheidelacoriera

View on GitHub
app/views/events/_event.html.haml

Summary

Maintainability
Test Coverage
- event_slugged = seo_url(details_event_path(event.slug))

.col-sm-6.col-xs-12.text-center.wow.fadeInLeft
  .panel.panel-default.event-panel
    .panel-body
      .pull-right
        - if event.bookable_period?
          = EventIconBuilder.build("#{event.bookable? ? :available : :fully_booked}".to_sym)
        = EventIconBuilder.build(:preferred) unless event.everyone?
      %small= event.competition
      %p= I18n.l(event.date, format: :long)
      - if current_user&.can_book?(event)
        = ProgressbarBuilder.build(event)
      - else
        .progress.event-progress
      .row
        .col-md-5.right.event-team
          %img.team-logo{ src: event.home_team.image_url, alt: event.home_team.name }
          %p= event.home_team.name
        .col-md-2.event-score
          - if event.transport_mean?
            %i{ class: "#{Event.transport_mean_class(event.transport_mean)}" }
            %p
              %small= event.transport_mean
          - else
            = event.score.to_s.blank? ? event.time.strftime('%H:%M') : event.score
        .col-md-5.left.event-team
          %img.team-logo{ src: event.away_team.image_url, alt: event.away_team.name }
          %p= event.away_team.name
    .panel-footer.event-footer
      - if current_user
        - if event.booked_by?(current_user.id)
          = link_to(t('events.buttons.booked'), event_slugged, class: 'btn btn-default', id: 'booked')
        - elsif current_user.can_book?(event)
          = link_to(t('events.buttons.book_now'), event_slugged, class: 'btn btn-primary', id: 'book-now')
        - else
          = link_to(t('events.buttons.show'), event_slugged, class: 'btn btn-primary')
        - if event.book_range? && current_user.admin?
          = link_to(t('events.buttons.fans_list'), seo_url(reservations_event_path(event.slug)), class: 'btn btn-default')
      - else
        = link_to(t('events.buttons.show'), event_slugged, class: 'btn btn-primary gtm-home-action', data: { action: :inactive_event })