ozfortress/citadel

View on GitHub
app/views/leagues/edit.html.haml

Summary

Maintainability
Test Coverage
- content_for(:title) { "Edit: #{@league.name}" }

- league_p = present(@league)

.row.no-gutters.align-items-start
  .col-auto.mr-2
    %h1
      = league_p.link
      Editing League


.alert.alert-warning
  - if @league.hidden?
    = inline_svg_tag 'open_iconic/lock-locked.svg', class: 'icon mr-2'
    %b Private
    Only visible to admins with permission.

  - else
    = inline_svg_tag 'open_iconic/warning.svg', class: 'icon mr-2'
    %b Public
    All changes are visible to everyone.


.mb-5
  = bootstrap_form_for @league, url: league_path(@league) do |f|
    = render 'league_form', f: f, weekly_scheduler: @weekly_scheduler

    .d-flex.justify-content-end
      = link_to 'Cancel', league_path(@league), class: 'btn btn-link mr-2'
      = f.primary 'Update'


- if user_can_edit_leagues?
  .alert.alert-danger.mb-3
    %label.font-weight-bold.alert-heading Danger Zone
    .btn-toolbar.guttered
      - if @league.hidden? && @league.rosters.empty?
        = button_to league_path(@league), method: :delete, class: 'btn btn-danger',
                    data: { confirm: 'Are you sure you want to delete this League?' } do
          = inline_svg_tag 'open_iconic/trash.svg', class: 'icon mr-2'
          Delete

      - if @league.hidden?
        = button_to 'Make Public', modify_league_path(@league, status: 'running'),
                    method: :patch, class: 'btn btn-warning'
      - elsif @league.running?
        = button_to 'Make Private', modify_league_path(@league, status: 'hidden'),
                    method: :patch, class: 'btn btn-danger'
        = button_to 'Mark Completed', modify_league_path(@league, status: 'completed'),
                    method: :patch, class: 'btn btn-warning'
      - else
        = button_to 'Unmark Completed', modify_league_path(@league, status: 'running'),
                    method: :patch, class: 'btn btn-warning'