ozfortress/citadel

View on GitHub
app/views/leagues/schedulers/_weekly_roster_form.html.haml

Summary

Maintainability
Test Coverage
:ruby
  league = f.object.league
  scheduler = league.scheduler

  klass = ''
  if f.object.errors.include? :schedule_data
    klass = 'has-error'
  end

.control-group{ class: klass }
  - label = 'Availability'
  - if league.schedule_locked?
    - label += ' (locked)'
  = f.label label, class: 'control-label'

  = hidden_field_tag "#{f.object_name}[schedule_data][type]", 'weekly'
  %table.table
    %tr
      - scheduler.schedule_days.each do |weekday|
        %th= weekday
    %tr
      - scheduler.schedule_days.each do |weekday|
        %td
          :ruby
            name = "#{f.object_name}[schedule_data][availability][#{weekday}]"
            value = false
            value = f.object.schedule_data['availability'][weekday] if f.object.schedule_data
          = check_box_tag name, true, value, class: 'checkbox', disabled: league.schedule_locked?
  %span.help-block= f.object.errors.full_messages_for(:schedule_data).first