Merge pull request #3133 from AndrewKvalheim/thead-tr

Correct invalid table markup
This commit is contained in:
Henne Vogelsang 2023-04-19 13:14:34 +02:00 committed by GitHub
commit 3aaf86076f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 330 additions and 291 deletions

View file

@ -56,46 +56,48 @@
- if @booths.any? - if @booths.any?
%table.datatable %table.datatable
%thead %thead
%th
%b ID
%th
%b Logo
%th
%b Title
%th
%b Submitter
%th
%b Responsibles
%th
%b State
%th
%b Actions
- @booths.each do |booth|
%tr %tr
%td %th
= booth.id %b ID
%td %th
- if booth.logo_link %b Logo
= image_tag(booth.picture.thumb.url, width: '20%') %th
%td %b Title
= link_to booth.title, admin_conference_booth_path(@conference.short_title, booth) %th
%td %b Submitter
= link_to booth.submitter.name, admin_user_path(booth.submitter) if booth.submitter %th
%td %b Responsibles
.responsibles %th
- booth.responsibles.each_with_index do |responsible, i| %b State
= link_to responsible.name, admin_user_path(responsible) %th
= ", " unless i == booth.responsibles.length - 1 %b Actions
%td %tbody
.btn-group - @booths.each do |booth|
%button{ type: 'button', class: 'btn btn-link dropdown-toggle', 'data-toggle' => 'dropdown' } %tr
= booth.state.humanize
%span.caret
%ul.dropdown-menu{ role: 'menu' }
= render 'change_state_dropdown', booth: booth
%td %td
= link_to 'Edit', edit_admin_conference_booth_path(@conference.short_title, booth.id), = booth.id
class: 'btn btn-primary' %td
- if booth.logo_link
= image_tag(booth.picture.thumb.url, width: '20%')
%td
= link_to booth.title, admin_conference_booth_path(@conference.short_title, booth)
%td
= link_to booth.submitter.name, admin_user_path(booth.submitter) if booth.submitter
%td
.responsibles
- booth.responsibles.each_with_index do |responsible, i|
= link_to responsible.name, admin_user_path(responsible)
= ", " unless i == booth.responsibles.length - 1
%td
.btn-group
%button{ type: 'button', class: 'btn btn-link dropdown-toggle', 'data-toggle' => 'dropdown' }
= booth.state.humanize
%span.caret
%ul.dropdown-menu{ role: 'menu' }
= render 'change_state_dropdown', booth: booth
%td
= link_to 'Edit', edit_admin_conference_booth_path(@conference.short_title, booth.id),
class: 'btn btn-primary'
.row .row
.col-md-12.text-right .col-md-12.text-right
- if can? :create, Booth - if can? :create, Booth

View file

@ -10,12 +10,13 @@
.col-md-12 .col-md-12
%table.table.table-hover#tickets %table.table.table-hover#tickets
%thead %thead
%th Type %tr
%th Start Date %th Type
%th End Date %th Start Date
%th Description %th End Date
%th Days Left %th Description
%th Actions %th Days Left
%th Actions
%tbody %tbody
- @program.cfps.each do |cfp| - @program.cfps.each do |cfp|
%tr %tr

View file

@ -8,10 +8,11 @@
.col-md-12 .col-md-12
%table.table.table-hover#difficulty_levels %table.table.table-hover#difficulty_levels
%thead %thead
%th Title %tr
%th Description %th Title
%th Color %th Description
%th Actions %th Color
%th Actions
%tbody %tbody
- @conference.program.difficulty_levels.each do |difficulty_level| - @conference.program.difficulty_levels.each do |difficulty_level|
%tr %tr

View file

@ -8,12 +8,13 @@
.col-md-12 .col-md-12
%table.table.table-hover#event_types %table.table.table-hover#event_types
%thead %thead
%th Title %tr
%th Description %th Title
%th Length %th Description
%th Abstract Length %th Length
%th Color %th Abstract Length
%th Actions %th Color
%th Actions
%tbody %tbody
- @conference.program.event_types.each do |event_type| - @conference.program.event_types.each do |event_type|
%tr %tr

View file

@ -58,44 +58,46 @@
.margin-event-table .margin-event-table
%table.datatable %table.datatable
%thead %thead
%th %tr
%b ID
%th
%b Title
- if @program.rating_enabled?
%th %th
%b Rating %b ID
%th
%b Submitter
%th
%b Speakers
- if @program.languages.present?
%th %th
%b Language %b Title
%th - if @program.rating_enabled?
%b Requires Registration %th
%th %b Rating
%b Highlight %th
%th %b Submitter
%b Type %th
%th %b Speakers
%b Track - if @program.languages.present?
%th %th
%b Difficulty %b Language
%th %th
%b State %b Requires Registration
%th %th
.fa-solid.fa-comment %b Highlight
%th Add Survey %th
- @events.each do |event| %b Type
= render 'datatable_row', %th
event: event, %b Track
conference_id: @conference.short_title, %th
program: @program, %b Difficulty
rating_enabled: @program.rating_enabled?, %th
show_votes: @program.show_voting?, %b State
max_rating: @program.rating, %th
event_types: @event_types, .fa-solid.fa-comment
tracks: @tracks, %th Add Survey
difficulty_levels: @difficulty_levels, %tbody
email_settings: @conference.email_settings - @events.each do |event|
= render 'datatable_row',
event: event,
conference_id: @conference.short_title,
program: @program,
rating_enabled: @program.rating_enabled?,
show_votes: @program.show_voting?,
max_rating: @program.rating,
event_types: @event_types,
tracks: @tracks,
difficulty_levels: @difficulty_levels,
email_settings: @conference.email_settings

View file

@ -18,12 +18,13 @@
.well .well
%table.datatable#registrations %table.datatable#registrations
%thead %thead
%th %tr
%th Name %th
%th Email %th Name
%th Created At %th Email
%th Attended %th Created At
%th Attended Conference %th Attended
%th Attended Conference
%tbody %tbody
- @event_registrations.each.with_index(1) do |event_registration, index| - @event_registrations.each.with_index(1) do |event_registration, index|
%tr %tr

View file

@ -20,9 +20,10 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th ID %tr
%th Description %th ID
%th Actions %th Description
%th Actions
%tbody %tbody
- @versions.each do |version| - @versions.each do |version|
%tr %tr

View file

@ -3,11 +3,12 @@
- if users.present? - if users.present?
%table.datatable#users %table.datatable#users
%thead %thead
%th Name %tr
%th Email %th Name
- if ( can? :unassign_org_admins, organization ) %th Email
%th - if ( can? :unassign_org_admins, organization )
Actions %th
Actions
%tbody %tbody
- users.each do |user| - users.each do |user|
%tr %tr

View file

@ -11,11 +11,12 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th Name %tr
%th Upcoming Conferences %th Name
%th Past Conferences %th Upcoming Conferences
%th Code of Conduct? %th Past Conferences
%th Actions %th Code of Conduct?
%th Actions
%tbody %tbody
- @organizations.each do |organization| - @organizations.each do |organization|
%tr{ id: "organization-#{organization.id}" } %tr{ id: "organization-#{organization.id}" }

View file

@ -18,11 +18,12 @@
.col-md-12 .col-md-12
%table.datatable#tickets %table.datatable#tickets
%thead %thead
%th ID %tr
%th Type %th ID
%th User %th Type
%th Paid %th User
%th Actions %th Paid
%th Actions
%tbody %tbody
- @physical_tickets.each do |physical_ticket| - @physical_tickets.each do |physical_ticket|
= render "physical_ticket", physical_ticket: physical_ticket, = render "physical_ticket", physical_ticket: physical_ticket,

View file

@ -13,10 +13,11 @@
%table.datatable#question_users %table.datatable#question_users
%thead %thead
%th Name %tr
%th Username %th Name
%th Email %th Username
%th Answer %th Email
%th Answer
%tbody %tbody
- @registrations.each do |registration| - @registrations.each do |registration|
%tr %tr

View file

@ -10,15 +10,16 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th ID %tr
%th Title %th ID
%th Speakers Registered %th Title
%th Speakers Biographies %th Speakers Registered
%th Commercial %th Speakers Biographies
%th Subtitle %th Commercial
%th Difficulty Level %th Subtitle
- if @program.tracks.any? %th Difficulty Level
%th Track - if @program.tracks.any?
%th Track
%tbody %tbody
- @events.each do |event| - @events.each do |event|
%tr %tr

View file

@ -9,13 +9,14 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th ID %tr
%th Title %th ID
%th Speaker(s) %th Title
%th Requirements %th Speaker(s)
%th Room %th Requirements
%th Date %th Room
%th Time %th Date
%th Time
%tbody %tbody
- @events_with_requirements.each do |event| - @events_with_requirements.each do |event|
%tr %tr

View file

@ -9,9 +9,10 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th ID %tr
%th Title %th ID
%th Speaker(s) %th Title
%th Speaker(s)
%tbody %tbody
- @events_missing_commercial.each do |event| - @events_missing_commercial.each do |event|
%tr %tr

View file

@ -9,12 +9,13 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th Speaker Name %tr
%th Registered? %th Speaker Name
%th Event %th Registered?
%th Room %th Event
%th Date %th Room
%th Time %th Date
%th Time
%tbody %tbody
- @missing_event_speakers.each do |event_user| - @missing_event_speakers.each do |event_user|
- speaker = event_user.user - speaker = event_user.user

View file

@ -9,10 +9,11 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th Name %tr
%th Left( Left/Total ) %th Name
%th Used %th Left( Left/Total )
%th Actions %th Used
%th Actions
%tbody %tbody
- @conference.resources.each do |resource| - @conference.resources.each do |resource|
%tr %tr

View file

@ -9,11 +9,12 @@
.col-md-12 .col-md-12
%table.table.table-bordered.table-striped.table-hover#roles %table.table.table-bordered.table-striped.table-hover#roles
%thead %thead
%th ID %tr
%th Name %th ID
%th Description %th Name
%th Users %th Description
%th Actions %th Users
%th Actions
%tbody %tbody
- @roles.each do |role| - @roles.each do |role|
%tr %tr

View file

@ -10,9 +10,10 @@
.col-md-12 .col-md-12
%table.table.table-hover#rooms %table.table.table-hover#rooms
%thead %thead
%th Name %tr
%th Capacity %th Name
%th Actions %th Capacity
%th Actions
%tbody %tbody
- @rooms.each_with_index do |room, index| - @rooms.each_with_index do |room, index|
%tr %tr

View file

@ -16,9 +16,10 @@
.col-md-12 .col-md-12
%table.table.table-hover %table.table.table-hover
%thead %thead
%th Schedule %tr
%th Selected %th Schedule
%th Actions %th Selected
%th Actions
%tbody %tbody
- @schedules.where(track: nil).each do |schedule| - @schedules.where(track: nil).each do |schedule|
%tr %tr
@ -59,10 +60,11 @@
.col-md-12 .col-md-12
%table.table.table-hover %table.table.table-hover
%thead %thead
%th Schedule %tr
%th Track %th Schedule
%th Selected %th Track
%th Actions %th Selected
%th Actions
%tbody %tbody
- @schedules.where.not(track: nil).each do |schedule| - @schedules.where.not(track: nil).each do |schedule|
%tr %tr

View file

@ -9,12 +9,13 @@
.col-md-12 .col-md-12
%table.table.table-hover#sponsors %table.table.table-hover#sponsors
%thead %thead
%th Logo %tr
%th Name %th Logo
%th Description %th Name
%th URL %th Description
%th Level %th URL
%th Actions %th Level
%th Actions
%tbody %tbody
- @conference.sponsors.each do |sponsor| - @conference.sponsors.each do |sponsor|
%tr %tr

View file

@ -9,9 +9,10 @@
.col-md-12 .col-md-12
%table.table.table-hover#sponsorship_levels %table.table.table-hover#sponsorship_levels
%thead %thead
%th Title %tr
%th Position %th Title
%th Actions %th Position
%th Actions
%tbody %tbody
- @conference.sponsorship_levels.each_with_index do |sponsorship_level, index| - @conference.sponsorship_levels.each_with_index do |sponsorship_level, index|
%tr %tr

View file

@ -7,8 +7,9 @@
- if survey_question.survey_replies.any? - if survey_question.survey_replies.any?
%table.table %table.table
%thead %thead
%th User Email %tr
%th Reply %th User Email
%th Reply
%tbody %tbody
- survey_question.survey_replies.reload.each do |reply| - survey_question.survey_replies.reload.each do |reply|
%tr %tr

View file

@ -13,13 +13,14 @@
.col-md-12 .col-md-12
%table.table.table-hover.datatable#surveys %table.table.table-hover.datatable#surveys
%thead %thead
%th Title %tr
%th # of questions %th Title
%th # of submissions %th # of questions
%th When %th # of submissions
%th Start Date %th When
%th End Date %th Start Date
%th Actions %th End Date
%th Actions
%tbody %tbody
- @surveys.each_with_index do |survey, index| - @surveys.each_with_index do |survey, index|
%tr %tr

View file

@ -10,12 +10,13 @@
.col-md-12 .col-md-12
%table.datatable#tickets %table.datatable#tickets
%thead %thead
%th Title %tr
%th Price %th Title
%th Sold %th Price
%th Turnover %th Sold
%th Registration Ticket %th Turnover
%th Actions %th Registration Ticket
%th Actions
%tbody %tbody
- @conference.tickets.each do |ticket| - @conference.tickets.each do |ticket|
%tr %tr

View file

@ -14,12 +14,13 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th # %tr
%th Name %th #
%th Quantity %th Name
%th E-Mail %th Quantity
%th Affiliation %th E-Mail
%th Paid %th Affiliation
%th Paid
%tbody %tbody
- @ticket.buyers.each_with_index do |buyer, index| - @ticket.buyers.each_with_index do |buyer, index|
%tr %tr

View file

@ -35,16 +35,17 @@
- if @tracks.any? - if @tracks.any?
%table.datatable#tracks %table.datatable#tracks
%thead %thead
%th ID %tr
%th Name %th ID
%th Description %th Name
%th Room %th Description
%th Start Date %th Room
%th End Date %th Start Date
%th Submitter %th End Date
%th Included in Cfp %th Submitter
%th State %th Included in Cfp
%th Actions %th State
%th Actions
%tbody %tbody
- @tracks.each do |track| - @tracks.each do |track|
%tr %tr

View file

@ -109,11 +109,12 @@
.col-md-12 .col-md-12
%table.datatable %table.datatable
%thead %thead
%th Title %tr
%th Type %th Title
%th Submitter %th Type
%th State %th Submitter
%th Time %th State
%th Time
%tbody %tbody
- @track.events.each_with_index do |event| - @track.events.each_with_index do |event|
%tr %tr

View file

@ -7,10 +7,11 @@
.well .well
%table.datatable#event_registrations %table.datatable#event_registrations
%thead %thead
%th ID %tr
%th Conference %th ID
%th Title %th Conference
%th Attended %th Title
%th Attended
%tbody %tbody
- @user.events_registrations.each do |event_registration| - @user.events_registrations.each do |event_registration|
- event = event_registration.event - event = event_registration.event

View file

@ -6,13 +6,14 @@
.well .well
%table.datatable#submissions %table.datatable#submissions
%thead %thead
%th ID %tr
%th Conference %th ID
%th Title %th Conference
%th State %th Title
%th Type %th State
%th Rating %th Type
%th Created At %th Rating
%th Created At
%tbody %tbody
- @user.events.each do |event| - @user.events.each do |event|
%tr %tr

View file

@ -12,13 +12,14 @@
.col-md-12.table-responsive .col-md-12.table-responsive
%table.datatable#users{ data: { source: admin_users_path(format: :json) } } %table.datatable#users{ data: { source: admin_users_path(format: :json) } }
%thead %thead
%th{ width: '0' } ID %tr
%th{ width: '0' } Confirmed? %th{ width: '0' } ID
%th{ width: '0' } Email %th{ width: '0' } Confirmed?
%th{ width: '50%' } Name %th{ width: '0' } Email
%th{ width: '0' } Conferences Attended %th{ width: '50%' } Name
%th{ width: '50%' } Roles %th{ width: '0' } Conferences Attended
%th{ width: '0' } Actions %th{ width: '50%' } Roles
%th{ width: '0' } Actions
%tbody %tbody
:javascript :javascript

View file

@ -1,13 +1,14 @@
.well .well
%table.table.table-striped.table-bordered.table-hover#volunteerstable %table.table.table-striped.table-bordered.table-hover#volunteerstable
%thead %thead
%th First Name %tr
%th Last Name %th First Name
%th Email %th Last Name
%th Mobile %th Email
%th Languages %th Mobile
%th Experience %th Languages
%th Tshirt Size %th Experience
%th Tshirt Size
%tbody %tbody
- @volunteers.each do |volunteer| - @volunteers.each do |volunteer|
%tr %tr

View file

@ -8,43 +8,45 @@
.margin-booth-table .margin-booth-table
%table.table.table-striped.table-hover %table.table.table-striped.table-hover
%thead %thead
%th
%b State
%th
%b Logo
%th
%b Title
%th
%b Actions
- @booths.each do |booth|
%tr %tr
%td{ style: "padding:20px 8px 20px 8px;" } %th
- if (booth.state == 'to_accept' || booth.state == 'to_reject') %b State
- show_state = 'new' %th
- else %b Logo
- show_state = booth.state %th
%span{ title: show_state, class: "fa #{status_icon(booth)}" } %b Title
%td %th
- if booth.logo_link %b Actions
= image_tag(booth.picture.thumb.url, width: '20%') %tbody
%td - @booths.each do |booth|
= link_to booth.title, conference_booth_path(@conference.short_title, booth) %tr
%td %td{ style: "padding:20px 8px 20px 8px;" }
-if can? :edit, booth - if (booth.state == 'to_accept' || booth.state == 'to_reject')
= link_to 'Edit', edit_conference_booth_path(@conference.short_title, booth.id), - show_state = 'new'
class: 'btn btn-default' - else
- if booth.transition_possible? :withdraw - show_state = booth.state
= link_to 'Withdraw', %span{ title: show_state, class: "fa #{status_icon(booth)}" }
withdraw_conference_booth_path(@conference.short_title, booth), %td
method: :patch, class: 'btn btn-mini btn-warning', id: "withdraw_booth_#{booth.id}", - if booth.logo_link
data: { confirm: 'Are you sure you really want to withdraw this request?' } = image_tag(booth.picture.thumb.url, width: '20%')
- if booth.transition_possible? :confirm %td
= link_to 'Confirm', = link_to booth.title, conference_booth_path(@conference.short_title, booth)
confirm_conference_booth_path(@conference.short_title, booth), %td
method: :patch, class: 'btn btn-mini btn-success', id: "confirm_booth_#{booth.id}" -if can? :edit, booth
- if booth.transition_possible? :restart = link_to 'Edit', edit_conference_booth_path(@conference.short_title, booth.id),
= link_to 'Re-submit', class: 'btn btn-default'
restart_conference_booth_path(@conference.short_title, booth), - if booth.transition_possible? :withdraw
method: :patch, class: 'btn btn-mini btn-success', id: "restart_booth_#{booth.id}" = link_to 'Withdraw',
withdraw_conference_booth_path(@conference.short_title, booth),
method: :patch, class: 'btn btn-mini btn-warning', id: "withdraw_booth_#{booth.id}",
data: { confirm: 'Are you sure you really want to withdraw this request?' }
- if booth.transition_possible? :confirm
= link_to 'Confirm',
confirm_conference_booth_path(@conference.short_title, booth),
method: :patch, class: 'btn btn-mini btn-success', id: "confirm_booth_#{booth.id}"
- if booth.transition_possible? :restart
= link_to 'Re-submit',
restart_conference_booth_path(@conference.short_title, booth),
method: :patch, class: 'btn btn-mini btn-success', id: "restart_booth_#{booth.id}"
.pull-right .pull-right
= link_to "Add #{(t'booth').capitalize }", new_conference_booth_path(@conference.short_title), class: 'button btn btn-primary' = link_to "Add #{(t'booth').capitalize }", new_conference_booth_path(@conference.short_title), class: 'button btn btn-primary'

View file

@ -13,10 +13,11 @@
- if @physical_tickets.present? - if @physical_tickets.present?
%table.table.table-bordered.table-striped.table-hover#roles %table.table.table-bordered.table-striped.table-hover#roles
%thead %thead
%th ID %tr
%th Type %th ID
%th User %th Type
%th Actions %th User
%th Actions
%tbody %tbody
- @physical_tickets.each do |physical_ticket| - @physical_tickets.each do |physical_ticket|
%tr %tr

View file

@ -15,12 +15,13 @@
.well .well
%table.datatable#registrations %table.datatable#registrations
%thead %thead
%th %tr
%th Name %th
%th Email %th Name
%th Created AT %th Email
%th Attended %th Created AT
%th Attended Conference %th Attended
%th Attended Conference
%tbody %tbody
- @event.events_registrations.each.with_index(1) do |event_registration, index| - @event.events_registrations.each.with_index(1) do |event_registration, index|
%tr %tr

View file

@ -10,11 +10,12 @@
- if @unpaid_ticket_purchases.present? - if @unpaid_ticket_purchases.present?
%table.table.table-bordered.table-striped.table-hover#roles %table.table.table-bordered.table-striped.table-hover#roles
%thead %thead
%th ID %tr
%th Type %th ID
%th Quantity %th Type
%th Date %th Quantity
%th Actions %th Date
%th Actions
%tbody %tbody
- @unpaid_ticket_purchases.each do |ticket_purchase| - @unpaid_ticket_purchases.each do |ticket_purchase|
%tr %tr

View file

@ -13,7 +13,7 @@ feature EventType do
visit admin_conference_program_event_types_path( visit admin_conference_program_event_types_path(
conference_id: conference.short_title) conference_id: conference.short_title)
within('table#event_types') do within('table#event_types > tbody') do
expect(page.assert_selector('tr', count: 2)).to be true expect(page.assert_selector('tr', count: 2)).to be true
end end
@ -30,7 +30,7 @@ feature EventType do
page.find('#flash') page.find('#flash')
# Validations # Validations
expect(flash).to eq('Event type successfully created.') expect(flash).to eq('Event type successfully created.')
within('table#event_types') do within('table#event_types > tbody') do
expect(page.has_content?('Party')).to be true expect(page.has_content?('Party')).to be true
expect(page.has_content?('13042')).to be true expect(page.has_content?('13042')).to be true
expect(page.has_content?('#E4E4E4')).to be true expect(page.has_content?('#E4E4E4')).to be true
@ -44,7 +44,7 @@ feature EventType do
page.find('#flash') page.find('#flash')
expect(flash).to eq('Event type successfully deleted.') expect(flash).to eq('Event type successfully deleted.')
within('table#event_types') do within('table#event_types > tbody') do
expect(page.assert_selector('tr', count: 2)).to be true expect(page.assert_selector('tr', count: 2)).to be true
expect(page.has_content?('Party')).to be false expect(page.has_content?('Party')).to be false
end end

View file

@ -127,7 +127,7 @@ feature Role do
scenario 'successfully removes role organization_admin' do scenario 'successfully removes role organization_admin' do
click_link('Admins', href: admins_admin_organization_path(organization.id)) click_link('Admins', href: admins_admin_organization_path(organization.id))
first('tr').find('.btn-danger').click first('tbody > tr').find('.btn-danger').click
organization_admin.reload organization_admin.reload
expect(organization_admin.has_cached_role?('organization_admin', organization)).to be false expect(organization_admin.has_cached_role?('organization_admin', organization)).to be false
end end