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
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

View file

@ -45,11 +45,13 @@ class Conference < ActiveRecord::Base
end
def keynotes
where(state: :confirmed).select { |e| e.event_type.title == 'Keynote'}
where(state: :confirmed).
select { |e| e.event_type.is_keynote == true}
end
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
has_many :event_users, through: :events
@ -900,7 +902,8 @@ class Conference < ActiveRecord::Base
maximum_abstract_length: 500)
event_types << EventType.create(title: 'Keynote', length: 60, color: '#00FF00',
minimum_abstract_length: 0,
maximum_abstract_length: 500)
maximum_abstract_length: 500,
is_keynote: true)
true
end

View file

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

View file

@ -13,6 +13,7 @@
= f.input :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 :is_keynote
= f.input :color, :input_html => { :size => 6, :type => 'color' }
%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 Length
%th Abstract Length
%th Keynote
%th Color
%th Actions
%tbody
@ -24,6 +25,7 @@
%td
= "#{event_type.minimum_abstract_length} - #{event_type.maximum_abstract_length}"
Words
%td= event_type.is_keynote
%td
%span.label{style: "background-color: #{event_type.color};"}
= event_type.color

View file

@ -1 +1 @@
= render 'proposal/form'
= render 'proposal/form'

View file

@ -30,12 +30,13 @@
- if @conference.events.highlights.any?
.row
.col-md-12
- @conference.events.highlights.each_slice(2) do |slice|
- @conference.events.highlights.each_slice(3) do |slice|
.row.row-centered
- slice.each do |event|
.col-md-6.col-centered.col-top.highlights
.col-md-4.col-centered.col-top.highlights
%p.text-center
%b= event.title
by #{event.speakers.first.name}
%h5.text-center
= simple_format truncate(event.abstract, length: 500, separator: ' ')
= 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.
ActiveRecord::Schema.define(version: 20141130182139) do
ActiveRecord::Schema.define(version: 20141207115535) do
create_table "ahoy_events", force: true do |t|
t.uuid "visit_id"
@ -191,11 +191,12 @@ ActiveRecord::Schema.define(version: 20141130182139) do
create_table "event_types", force: true do |t|
t.integer "conference_id"
t.string "title", null: false
t.string "title", null: false
t.integer "length", default: 30
t.integer "minimum_abstract_length", default: 0
t.integer "maximum_abstract_length", default: 500
t.string "color"
t.boolean "is_keynote", default: false
end
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|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
t.string "description"
t.integer "resource_id"
t.string "resource_type"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id"