diff --git a/app/controllers/admin/sponsors_controller.rb b/app/controllers/admin/sponsors_controller.rb index ae2e3fbb..da687124 100644 --- a/app/controllers/admin/sponsors_controller.rb +++ b/app/controllers/admin/sponsors_controller.rb @@ -4,7 +4,7 @@ module Admin load_and_authorize_resource :sponsor, through: :conference before_action :sponsorship_level_required, only: [:index, :new] - helper_method :generate_swags_hash + helper_method :add_swags def index authorize! :index, Sponsor.new(conference_id: @conference.id) @@ -57,8 +57,8 @@ module Admin end end - def add_swag - swags_hash = @sponsor.swags_hash + def add_swags(form, index) + render partial: 'swag_fields', locals: { f: form, index: (index + 1), v_type: nil, v_quantity: 0} end diff --git a/app/views/admin/sponsors/_edit_form.html.haml b/app/views/admin/sponsors/_edit_form.html.haml index 5a24f4cf..c5a65195 100644 --- a/app/views/admin/sponsors/_edit_form.html.haml +++ b/app/views/admin/sponsors/_edit_form.html.haml @@ -24,7 +24,6 @@ off_text: 'No' } - @sponsor.swags.each_with_index do |(key, value), index| =render partial: 'swag_fields', locals: {f: f, index: index, v_type: value[:type].to_s, v_quantity: value[:quantity].to_i} - =render partial: 'swag_fields', locals: { f: f, index: @sponsor.swag_index, v_type: nil, v_quantity: 0} .row .col-md-8 diff --git a/app/views/admin/sponsors/index.html.haml b/app/views/admin/sponsors/index.html.haml index 71223f17..0283e346 100644 --- a/app/views/admin/sponsors/index.html.haml +++ b/app/views/admin/sponsors/index.html.haml @@ -4,36 +4,96 @@ %h1 Sponsors %p.text-muted People supporting your conference -- if @conference.sponsors.any? - .row - .col-md-12 - %table.table.table-hover#sponsors - %thead - %th Logo - %th Name - %th Description - %th URL - %th Level - %th Actions - %tbody - - @conference.sponsors.each do |sponsor| - %tr - %td - = image_tag(sponsor.picture.thumb.url, width: '20%') - %td - = link_to sponsor.name, admin_conference_sponsor_path(@conference.short_title, sponsor) - %td - = truncate(sponsor.description) - %td - = sponsor.website_url - %td - = sponsor.sponsorship_level.title - %td - .btn-group - = link_to 'Edit', edit_admin_conference_sponsor_path(@conference.short_title, sponsor), - method: :get, class: 'btn btn-primary' - = link_to 'Delete', admin_conference_sponsor_path(@conference.short_title, sponsor), - method: :delete, class: 'btn btn-danger', data: { confirm: "Do you really want to delete the sponsor #{sponsor.name}?" } .row .col-md-12 - = link_to 'Add Sponsor', new_admin_conference_sponsor_path(@conference.short_title), class: 'btn btn-primary pull-right' + %div{ role: 'tabpanel' } + %ul.nav.nav-tabs{ role: 'tablist' } + %li.active{ role: 'presentation'} + %a{ 'aria-controls' => 'sponsorship', 'data-toggle' => 'tab', href: '#sponsorship', role: 'tab'} Sponsorship + %li{ role: 'Swags'} + %a{ 'aria-controls' => 'swags','data-toggle' => 'tab', href: '#swags', role: 'tab'} Swags + .tab-content + #sponsorship.tab-pane.active{ role: 'tabpanel' } + - if @conference.sponsors.any? + .row + .col-md-12 + %table.table.table-hover#sponsors + %thead + %th Logo + %th Name + %th Description + %th URL + %th Level + %th Actions + %tbody + - @conference.sponsors.each do |sponsor| + %tr + %td + = image_tag(sponsor.picture.thumb.url, width: '20%') + %td + = link_to sponsor.name, admin_conference_sponsor_path(@conference.short_title, sponsor) + %td + = truncate(sponsor.description) + %td + = sponsor.website_url + %td + = sponsor.sponsorship_level.title + %td + .btn-group + = link_to 'Edit', edit_admin_conference_sponsor_path(@conference.short_title, sponsor), + method: :get, class: 'btn btn-primary' + = link_to 'Delete', admin_conference_sponsor_path(@conference.short_title, sponsor), + method: :delete, class: 'btn btn-danger', data: { confirm: "Do you really want to delete the sponsor #{sponsor.name}?" } + + #swags.tab-pane.active{ role: 'tabpanel' } + - if @conference.sponsors.any? + .row + .col-md-12 + %table.table.table-hover#sponsors + %thead + %th Logo + %th Name + %th Banner + %th Swags + %th Swag Items + %th Received + %th Actions + %tbody + - @conference.sponsors.each do |sponsor| + %tr + %td + = image_tag(sponsor.picture.thumb.url, width: '20%') + %td + = link_to sponsor.name, admin_conference_sponsor_path(@conference.short_title, sponsor) + %td + - if sponsor.has_banner + %span.fa.fa-check.text-success + - else + %span.fa.fa-times + %td + - if sponsor.has_swag + %span.fa.fa-check.text-success + - else + %span.fa.fa-times + %td + - if sponsor.has_swag + - sponsor.swags.each do |key, value| + = value[:type] + ( + = value[:quantity] + ) + %br + %td + - if sponsor.swag_received + %span.fa.fa-check.text-success + - else + %span.fa.fa-times + %td + .btn-group + = link_to 'Edit', edit_admin_conference_sponsor_path(@conference.short_title, sponsor), + method: :get, class: 'btn btn-primary' + = link_to 'Delete', admin_conference_sponsor_path(@conference.short_title, sponsor), + method: :delete, class: 'btn btn-danger', data: { confirm: "Do you really want to delete the sponsor #{sponsor.name}?" } + .row + .col-md-12 + = link_to 'Add Sponsor', new_admin_conference_sponsor_path(@conference.short_title), class: 'btn btn-primary pull-right'