KyivKrishnaAcademy/ved_akadem_students

View on GitHub
app/views/academic_groups/index.html.haml

Summary

Maintainability
Test Coverage
- provide(:title, t('.title'))

.row
  .col-xs-12
    %h1.text-center
      = t('.title')

.row.vert-offset-top-1
  .col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-sm-offset-3
    :ruby
      props = {
        filters: {
          'general_search' => {
            type: 'general-search',
            title: t('.general_search_placeholder'),
            isMultiple: false,
            isRemovable: false,
            isRenderOnStart: true
          },
          'title' => {
            type: 'text',
            title: t('.table_title_name'),
            isMultiple: true,
            isRemovable: true,
            isRenderOnStart: false
          },
          'establ_date' => {
            type: 'date',
            title: t('.table_title_established'),
            isMultiple: true,
            isRemovable: true,
            isRenderOnStart: false
          },
          'graduated_at' => {
            type: 'datetime-local',
            title: t('.table_title_graduated'),
            isMultiple: true,
            isRemovable: true,
            isRenderOnStart: false
          },
          'group_description' => {
            type: 'text',
            title: t('.table_title_description'),
            isMultiple: true,
            isRemovable: true,
            isRenderOnStart: false
          }
        }
      }

    = render 'shared/advanced_search', props: props

.row.vert-offset-top-1
  .col-xs-12
    .table-responsive
      %table.table.table-condensed.table-striped
        %thead
          %tr
            %th.text-top=t('.table_title_name')
            %th.text-top.text-center=t('.table_title_established')
            %th.text-top.text-center=t('.table_title_graduated')
            %th.text-top=t('.table_title_description')
            %th.text-top.text-center=t('.table_title_active_students_count')

            - if @groups_page.any? { |c| policy(c).tap { |p| break p.edit? || p.destroy? || p.statistics? } }
              %th.text-top.text-right=t('.table_title_actions')

        %tbody
          - @groups_page.each do |academic_group|
            %tr{class: 'academic_group', id: academic_group.id}
              %td= link_to_show_academic_group_or_title(academic_group)
              %td.text-center= l(academic_group.establ_date) if academic_group.establ_date.present?
              %td.text-center= l(academic_group.graduated_at, format: :with_day) unless academic_group.active?
              %td= academic_group.group_description
              %td.text-center= @active_students_count[academic_group.id] || 0

              - if policy(academic_group).tap { |p| break p.edit? || p.destroy? || p.statistics? }
                %td.col-xs-2.col-sm-4.col-md-3.text-right.text-middle
                  = link_to_action policy(academic_group).statistics?,
                    academic_group_statistics_path(academic_group),
                    'info',
                    t('links.statistics'),
                    'stats'
                  = link_to_edit policy(academic_group).edit?,
                    edit_academic_group_path(academic_group)
                  = link_to_destroy policy(academic_group).destroy?, academic_group

  .col-xs-12.text-center
    = paginate @groups_page