erichaydel/errdo

View on GitHub
app/views/errdo/errors/show.html.slim

Summary

Maintainability
Test Coverage
.container
  .columns
    .column.is-one-fifth.box
      div
        b Total Occurrences
      = @error.error_occurrences.count

      div
        b Affected Users
        br
        .level
          = @error.affected_users.length
          - if @error.affected_users.any?
            a#affected-users-button.button.is-inverted
              | Expand
      #affected-users.is-hidden
        - for user in @error.affected_users
          = link_to user_show_string(user), user_show_path(user)
          | , &nbsp

      div
        b Oldest
      = @error.oldest_occurrence.created_at.in_time_zone("EST").to_s(:time_in_zone)
      div
        b Newest
      = @error.newest_occurrence.created_at.in_time_zone("EST").to_s(:time_in_zone)
      div
        b Span
      = distance_of_time_in_words(@error.newest_occurrence.created_at - @error.oldest_occurrence.created_at)

      div
        b Status
      = form_for @error do |f|
        .field.has-addons
          .control.is-expanded
            .select.is-fullwidth
              = f.select(:status, Errdo::Error.statuses.keys, {})
          .control
            = f.submit "Update status", class: "button is-primary"

    .column.is-three-quarters
      = column_chart @error.grouped_error_occurrences, discrete: true, height: "200px", colors: ["#00d1b2"]
      .columns
        .column.is-three-quarters
          span.tabs.is-boxed
            ul
              li.is-active
                a[container='#tab0'] Debug
              li
                a[container='#tab1'] User
        .column
          .level
            - ind = [@index-1, 0].max
            = link_to "<", error_path(@error, occurrence_index: ind), class: "button", disabled: (@index == 0)
            span
              = @index + 1
              | &nbsp;of&nbsp;
              = @total
            - ind = [@index+1, @total-1].min
            = link_to ">", error_path(@error, occurrence_index: ind), class: "button", disabled: (@index == @total-1)

      #tab0.tabbed
        table.table.is-striped.is-bordered
          tbody
            tr
              td
                b Exception Class
              td = @error.exception_class_name

            tr
              td
                b Exception message
              td = @error.exception_message

            tr
              td
                b Occurrence Time
              td = @occurrence.created_at

            tr
              td
                b Param Values
              td = @occurrence.param_values


            tr
              td
                b Referer
              td = @occurrence.referer || "None"


            tr
              td
                b Header Values
              td = @occurrence.header_values

            tr
              td
                b HTTP Method
              td = @error.http_method

            tr
              td
                b Requested URL
              td = @error.url

        div
          b Cookie Values
          .errdo-backtrace-box
            = @occurrence.cookie_values
        br
        div
          b Backtrace
          .errdo-cookies-box
            - @error.backtrace.each do |line|
              div
                - if line =~ Errdo::Error::REJECTION_REGEX
                  span.has-text-grey = line
                - else
                  b = line

      #tab1.tabbed.is-hidden
        table.table.is-striped.is-bordered
          tbody
            tr
              td
                b Experiencer
              td
                - if user_show_path(@occurrence.experiencer)
                  = link_to user_show_string(@occurrence.experiencer),
                    user_show_path(@occurrence.experiencer), class: "errdo"
                - else
                  = user_show_string(@occurrence.experiencer)

            tr
              td
                b IP Address
              td = @occurrence.ip

            tr
              td
                b User Agent
              td = @occurrence.user_agent