add is_keynote attribute to event_types

This commit is contained in:
Stella 2014-12-07 16:52:10 +02:00 committed by Stella Rouzi
parent a8b0c28cee
commit c787190571
9 changed files with 29 additions and 13 deletions

View file

@ -49,7 +49,10 @@ module Admin
private private
def event_type_params def event_type_params
params[:event_type] params.require(:event_type).permit(:title, :length,
:minimum_abstract_length,
:maximum_abstract_length,
:color, :is_keynote)
end end
end end
end end

View file

@ -45,11 +45,13 @@ class Conference < ActiveRecord::Base
end end
def keynotes def keynotes
where(state: :confirmed).select { |e| e.event_type.title == 'Keynote'} where(state: :confirmed).
select { |e| e.event_type.is_keynote == true}
end end
def highlights def highlights
where(is_highlight: true) where(state: :confirmed).where(is_highlight: true).
select { |e| e.event_type.is_keynote != true} # No duplication, if event is a keynote
end end
end end
has_many :event_users, through: :events has_many :event_users, through: :events
@ -900,7 +902,8 @@ class Conference < ActiveRecord::Base
maximum_abstract_length: 500) maximum_abstract_length: 500)
event_types << EventType.create(title: 'Keynote', length: 60, color: '#00FF00', event_types << EventType.create(title: 'Keynote', length: 60, color: '#00FF00',
minimum_abstract_length: 0, minimum_abstract_length: 0,
maximum_abstract_length: 500) maximum_abstract_length: 500,
is_keynote: true)
true true
end end

View file

@ -1,6 +1,6 @@
class EventType < ActiveRecord::Base class EventType < ActiveRecord::Base
attr_accessible :title, :length, :minimum_abstract_length, :maximum_abstract_length, :color, attr_accessible :title, :length, :minimum_abstract_length, :maximum_abstract_length, :color,
:conference_id :conference_id, :is_keynote
belongs_to :conference belongs_to :conference

View file

@ -13,6 +13,7 @@
= f.input :length, :input_html => {:size => 3} = f.input :length, :input_html => {:size => 3}
= f.input :minimum_abstract_length, :input_html => {:size => 3} = f.input :minimum_abstract_length, :input_html => {:size => 3}
= f.input :maximum_abstract_length, :input_html => {:size => 3} = f.input :maximum_abstract_length, :input_html => {:size => 3}
= f.input :is_keynote
= f.input :color, :input_html => { :size => 6, :type => 'color' } = f.input :color, :input_html => { :size => 6, :type => 'color' }
%p.text-right %p.text-right
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary' } = f.action :submit, as: :button, button_html: { class: 'btn btn-primary' }

View file

@ -11,6 +11,7 @@
%th Title %th Title
%th Length %th Length
%th Abstract Length %th Abstract Length
%th Keynote
%th Color %th Color
%th Actions %th Actions
%tbody %tbody
@ -24,6 +25,7 @@
%td %td
= "#{event_type.minimum_abstract_length} - #{event_type.maximum_abstract_length}" = "#{event_type.minimum_abstract_length} - #{event_type.maximum_abstract_length}"
Words Words
%td= event_type.is_keynote
%td %td
%span.label{style: "background-color: #{event_type.color};"} %span.label{style: "background-color: #{event_type.color};"}
= event_type.color = event_type.color

View file

@ -30,12 +30,13 @@
- if @conference.events.highlights.any? - if @conference.events.highlights.any?
.row .row
.col-md-12 .col-md-12
- @conference.events.highlights.each_slice(2) do |slice| - @conference.events.highlights.each_slice(3) do |slice|
.row.row-centered .row.row-centered
- slice.each do |event| - slice.each do |event|
.col-md-6.col-centered.col-top.highlights .col-md-4.col-centered.col-top.highlights
%p.text-center %p.text-center
%b= event.title %b= event.title
by #{event.speakers.first.name}
%h5.text-center %h5.text-center
= simple_format truncate(event.abstract, length: 500, separator: ' ') = simple_format truncate(event.abstract, length: 500, separator: ' ')
= link_to "Read More", conference_proposal_path(@conference.short_title, event) = link_to "Read More", conference_proposal_path(@conference.short_title, event)

View file

@ -0,0 +1,5 @@
class AddIsKeynoteToEventTypes < ActiveRecord::Migration
def change
add_column :event_types, :is_keynote, :boolean, default: false
end
end

View file

@ -11,7 +11,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20141130182139) do ActiveRecord::Schema.define(version: 20141207115535) do
create_table "ahoy_events", force: true do |t| create_table "ahoy_events", force: true do |t|
t.uuid "visit_id" t.uuid "visit_id"
@ -196,6 +196,7 @@ ActiveRecord::Schema.define(version: 20141130182139) do
t.integer "minimum_abstract_length", default: 0 t.integer "minimum_abstract_length", default: 0
t.integer "maximum_abstract_length", default: 500 t.integer "maximum_abstract_length", default: 500
t.string "color" t.string "color"
t.boolean "is_keynote", default: false
end end
create_table "event_users", force: true do |t| create_table "event_users", force: true do |t|
@ -334,11 +335,11 @@ ActiveRecord::Schema.define(version: 20141130182139) do
create_table "roles", force: true do |t| create_table "roles", force: true do |t|
t.string "name" t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
t.string "description" t.string "description"
t.integer "resource_id" t.integer "resource_id"
t.string "resource_type" t.string "resource_type"
t.datetime "created_at"
t.datetime "updated_at"
end end
add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id" add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id"