44 lines
3.2 KiB
Plaintext
44 lines
3.2 KiB
Plaintext
- if params[:exercise_id].nil?
|
|
h1 = ProgrammingGroup.model_name.human(count: 2)
|
|
= render(layout: 'shared/form_filters') do |f|
|
|
.col-auto
|
|
= f.label(:exercise_id_eq, t('activerecord.attributes.programming_group.exercise'), class: 'visually-hidden form-label')
|
|
= f.collection_select(:exercise_id_eq, Exercise.with_programming_groups, :id, :title, class: 'form-control', prompt: t('activerecord.attributes.programming_group.exercise'))
|
|
.col-auto
|
|
= f.label(:programming_group_memberships_user_of_ExternalUser_type_id_eq, t('activerecord.attributes.programming_group.external_user_id'), class: 'visually-hidden form-label')
|
|
= f.search_field(:programming_group_memberships_user_of_ExternalUser_type_id_eq, class: 'form-control', placeholder: t('activerecord.attributes.programming_group.external_user_id'))
|
|
.col-auto
|
|
= f.label(:programming_group_memberships_user_of_InternalUser_type_id_eq, t('activerecord.attributes.programming_group.internal_user_id'), class: 'visually-hidden form-label')
|
|
= f.search_field(:programming_group_memberships_user_of_InternalUser_type_id_eq, class: 'form-control', placeholder: t('activerecord.attributes.programming_group.internal_user_id'))
|
|
- else
|
|
h1 = "#{ProgrammingGroup.model_name.human(count: 2)} for Exercise '#{@exercise.title}'"
|
|
|
|
.table-responsive
|
|
table.table.mt-4 class=(@programming_groups.present? ? 'sortable' : '')
|
|
thead
|
|
tr
|
|
th.sortable_nosort = sort_link(@search, :id, t('activerecord.attributes.programming_group.name'))
|
|
- if params[:exercise_id].blank?
|
|
th.sorttable_nosort = sort_link(@search, :exercise_id, t('activerecord.attributes.programming_group.exercise'))
|
|
th = t('activerecord.attributes.programming_group.member')
|
|
th = t('activerecord.attributes.programming_group.member_count')
|
|
th.sorttable_nosort = sort_link(@search, :created_at, t('shared.created_at'))
|
|
th colspan=3 = t('shared.actions')
|
|
tbody
|
|
- if params[:exercise_id].nil?
|
|
- filtered_programming_groups = @programming_groups
|
|
- else
|
|
- filtered_programming_groups = @programming_groups.where(exercise_id: params[:exercise_id])
|
|
- filtered_programming_groups.each do |programming_group|
|
|
tr
|
|
td = link_to_if(policy(programming_group).show?, programming_group.displayname, programming_group)
|
|
- if params[:exercise_id].blank?
|
|
td = link_to_if(policy(programming_group.exercise).show?, programming_group.exercise.title, programming_group.exercise, 'data-turbolinks': 'false')
|
|
td == programming_group.users.map {|user| link_to_if(policy(user).show?, user.name, user) }.join(', ')
|
|
td = programming_group.users.size
|
|
td = l(programming_group.created_at, format: :short)
|
|
td = link_to(t('shared.show'), programming_group) if policy(programming_group).show?
|
|
td = link_to(t('shared.edit'), edit_programming_group_path(programming_group)) if policy(programming_group).edit?
|
|
td = link_to(t('shared.destroy'), programming_group, data: {confirm: t('shared.confirm_destroy')}, method: :delete) if policy(programming_group).destroy?
|
|
= render('shared/pagination', collection: @programming_groups)
|