houndci fixes

This commit is contained in:
Stella Rouzi 2014-06-24 12:14:53 +03:00
parent 23bf55b66c
commit 9292b79c78
13 changed files with 151 additions and 144 deletions

View file

@ -5,44 +5,42 @@ class Conference < ActiveRecord::Base
require 'uri'
attr_accessible :title, :short_title, :social_tag, :contact_email, :timezone, :html_export_path,
:start_date, :end_date, :rooms_attributes, :tracks_attributes, :dietary_choices_attributes,
:use_dietary_choices, :use_supporter_levels, :supporter_levels_attributes, :social_events_attributes,
:event_types_attributes, :registration_start_date, :registration_end_date, :logo,
:questions_attributes, :question_ids, :answers_attributes, :answer_ids,
:difficulty_levels_attributes, :use_difficulty_levels,
:use_vpositions, :use_vdays, :vdays_attributes, :vpositions_attributes, :use_volunteers,
:media_id, :media_type, :color, :description,
:registration_description, :ticket_description,
:sponsorship_levels_attributes,
:sponsors_attributes, :facebook_url,
:google_url, :twitter_url, :sponsor_description, :sponsor_email,
:lodging_description, :include_registrations_in_splash,
:include_sponsors_in_splash, :include_tracks_in_splash,
:include_tickets_in_splash, :include_social_media_in_splash,
:include_program_in_splash, :make_conference_public,
:photos_attributes, :banner_photo,
:include_banner_in_splash,
:targets, :targets_attributes, :campaigns, :campaigns_attributes
:start_date, :end_date, :rooms_attributes, :tracks_attributes,
:dietary_choices_attributes, :use_dietary_choices, :use_supporter_levels,
:supporter_levels_attributes, :social_events_attributes, :event_types_attributes,
:registration_start_date, :registration_end_date, :logo, :questions_attributes,
:question_ids, :answers_attributes, :answer_ids, :difficulty_levels_attributes,
:use_difficulty_levels, :use_vpositions, :use_vdays, :vdays_attributes,
:vpositions_attributes, :use_volunteers, :media_id, :media_type, :color,
:description, :registration_description, :ticket_description,
:sponsorship_levels_attributes, :sponsors_attributes, :facebook_url, :google_url,
:twitter_url, :sponsor_description, :sponsor_email, :lodging_description,
:include_registrations_in_splash, :include_sponsors_in_splash,
:include_tracks_in_splash, :include_tickets_in_splash,
:include_social_media_in_splash, :include_program_in_splash,
:make_conference_public, :photos_attributes, :banner_photo,
:include_banner_in_splash, :targets, :targets_attributes, :campaigns,
:campaigns_attributes
has_paper_trail
has_and_belongs_to_many :questions
has_one :email_settings, :dependent => :destroy
has_one :call_for_papers, :dependent => :destroy
has_many :social_events, :dependent => :destroy
has_many :supporter_registrations, :dependent => :destroy
has_many :supporter_levels, :dependent => :destroy
has_many :dietary_choices, :dependent => :destroy
has_many :events, :dependent => :destroy
has_many :event_types, :dependent => :destroy
has_many :tracks, :dependent => :destroy
has_many :difficulty_levels, :dependent => :destroy
has_many :rooms, :dependent => :destroy
has_many :registrations, :dependent => :destroy
has_many :vdays, :dependent => :destroy
has_many :vpositions, :dependent => :destroy
has_many :vchoices, :dependent => :destroy
has_one :email_settings, dependent: :destroy
has_one :call_for_papers, dependent: :destroy
has_many :social_events, dependent: :destroy
has_many :supporter_registrations, dependent: :destroy
has_many :supporter_levels, dependent: :destroy
has_many :dietary_choices, dependent: :destroy
has_many :events, dependent: :destroy
has_many :event_types, dependent: :destroy
has_many :tracks, dependent: :destroy
has_many :difficulty_levels, dependent: :destroy
has_many :rooms, dependent: :destroy
has_many :registrations, dependent: :destroy
has_many :vdays, dependent: :destroy
has_many :vpositions, dependent: :destroy
has_many :vchoices, dependent: :destroy
has_many :sponsorship_levels, dependent: :destroy
has_many :sponsors, dependent: :destroy
has_many :photos, dependent: :destroy
@ -50,20 +48,20 @@ class Conference < ActiveRecord::Base
has_many :campaigns, dependent: :destroy
belongs_to :venue
accepts_nested_attributes_for :rooms, :reject_if => proc {|r| r["name"].blank?}, :allow_destroy => true
accepts_nested_attributes_for :tracks, :reject_if => proc {|r| r["name"].blank?}, :allow_destroy => true
accepts_nested_attributes_for :difficulty_levels, :allow_destroy => true
accepts_nested_attributes_for :social_events, :allow_destroy => true
accepts_nested_attributes_for :rooms, reject_if: proc { |r| r['name'].blank? }, allow_destroy: true
accepts_nested_attributes_for :tracks, reject_if: proc { |r| r['name'].blank? }, allow_destroy: true
accepts_nested_attributes_for :difficulty_levels, allow_destroy: true
accepts_nested_attributes_for :social_events, allow_destroy: true
accepts_nested_attributes_for :venue
accepts_nested_attributes_for :dietary_choices, :allow_destroy => true
accepts_nested_attributes_for :supporter_levels, :allow_destroy => true
accepts_nested_attributes_for :dietary_choices, allow_destroy: true
accepts_nested_attributes_for :supporter_levels, allow_destroy: true
accepts_nested_attributes_for :sponsorship_levels, allow_destroy: true
accepts_nested_attributes_for :sponsors, allow_destroy: true
accepts_nested_attributes_for :event_types, :allow_destroy => true
accepts_nested_attributes_for :event_types, allow_destroy: true
accepts_nested_attributes_for :email_settings
accepts_nested_attributes_for :questions, :allow_destroy => true
accepts_nested_attributes_for :vdays, :allow_destroy => true
accepts_nested_attributes_for :vpositions, :allow_destroy => true
accepts_nested_attributes_for :questions, allow_destroy: true
accepts_nested_attributes_for :vdays, allow_destroy: true
accepts_nested_attributes_for :vpositions, allow_destroy: true
accepts_nested_attributes_for :photos, allow_destroy: true
accepts_nested_attributes_for :targets, allow_destroy: true
accepts_nested_attributes_for :campaigns, allow_destroy: true
@ -98,7 +96,8 @@ class Conference < ActiveRecord::Base
before_create :add_color
def self.media_types
media_types = {:youtube => 'YouTube', :slideshare => 'SlideShare', :flickr => 'Flickr', :vimeo => 'Vimeo', :speakerdeck => 'Speakerdeck', :instagram => 'Instagram'}
media_types = { youtube: 'YouTube', slideshare: 'SlideShare', flickr: 'Flickr', vimeo: 'Vimeo',
speakerdeck: 'Speakerdeck', instagram: 'Instagram' }
return media_types
end
@ -115,7 +114,7 @@ class Conference < ActiveRecord::Base
def user_registered? user
return nil if user.nil?
if self.registrations.where(:user_id => user.id).count == 0
if self.registrations.where(user_id: user.id).count == 0
logger.debug("User #{user.email} isn't registered to self.title")
return false
else
@ -721,7 +720,7 @@ class Conference < ActiveRecord::Base
guid = SecureRandom.urlsafe_base64
# begin
# guid = SecureRandom.urlsafe_base64
# end # while User.where(:guid => guid).exists?
# end while User.where(:guid => guid).exists?
self.guid = guid
end

View file

@ -1,19 +1,21 @@
class EmailSettings < ActiveRecord::Base
attr_accessible :send_on_registration, :send_on_accepted, :send_on_rejected, :send_on_confirmed_without_registration,
:registration_email_template, :accepted_email_template, :rejected_email_template, :confirmed_email_template,
:registration_subject, :accepted_subject, :rejected_subject, :confirmed_without_registration_subject
attr_accessible :send_on_registration, :send_on_accepted, :send_on_rejected,
:send_on_confirmed_without_registration, :registration_email_template,
:accepted_email_template, :rejected_email_template, :confirmed_email_template,
:registration_subject, :accepted_subject, :rejected_subject,
:confirmed_without_registration_subject
def get_values(conference, user, event = nil)
h = {
"email" => user.email,
"name" => user.name,
"conference" => conference.title,
"registrationlink" => Rails.application.routes.url_helpers.register_conference_url(conference.short_title, :host => CONFIG["url_for_emails"])
'email' => user.email,
'name' => user.name,
'conference' => conference.title,
'registrationlink' => Rails.application.routes.url_helpers.register_conference_url(conference.short_title, host: CONFIG['url_for_emails'])
}
if !event.nil?
h["eventtitle"] = event.title
h["proposalslink"] = Rails.application.routes.url_helpers.conference_proposal_url(conference.short_title, event, :host => CONFIG["url_for_emails"])
h['eventtitle'] = event.title
h['proposalslink'] = Rails.application.routes.url_helpers.conference_proposal_url(conference.short_title, event, host: CONFIG['url_for_emails'])
end
h
end
@ -24,7 +26,6 @@ class EmailSettings < ActiveRecord::Base
parse_template(template, values)
end
def generate_accepted_email(event)
values = get_values(event.conference, event.submitter, event)
template = self.accepted_email_template

View file

@ -1,18 +1,20 @@
class Event < ActiveRecord::Base
include ActiveRecord::Transitions
has_paper_trail
attr_accessible :title, :subtitle, :abstract, :description, :event_type_id, :users_attributes, :user, :proposal_additional_speakers, :track_id, :media_id, :media_type, :require_registration, :difficulty_level_id
attr_accessible :title, :subtitle, :abstract, :description, :event_type_id, :users_attributes,
:user, :proposal_additional_speakers, :track_id, :media_id, :media_type,
:require_registration, :difficulty_level_id
acts_as_commentable
after_create :set_week
has_many :event_users, :dependent => :destroy
has_many :event_attachments, :dependent => :destroy
has_many :users, :through => :event_users
has_many :speakers, :through => :event_users, :source => :user
has_many :event_users, dependent: :destroy
has_many :event_attachments, dependent: :destroy
has_many :users, through: :event_users
has_many :speakers, through: :event_users, source: :user
has_many :votes
has_many :voters, :through => :votes, :source => :user
has_many :voters, through: :votes, source: :user
belongs_to :event_type
has_and_belongs_to_many :registrations
@ -22,20 +24,20 @@ class Event < ActiveRecord::Base
belongs_to :difficulty_level
belongs_to :conference
accepts_nested_attributes_for :event_users, :allow_destroy => true
accepts_nested_attributes_for :event_attachments, :allow_destroy => true, :reject_if => :all_blank
accepts_nested_attributes_for :event_users, allow_destroy: true
accepts_nested_attributes_for :event_attachments, allow_destroy: true, reject_if: :all_blank
accepts_nested_attributes_for :users
before_create :generate_guid
validate :abstract_limit
validate :biography_exists
validates :title, :presence => true
validates :abstract, :presence => true
validates :media_type, :allow_nil => true, inclusion: {in: Conference.media_types.values}
validates :title, presence: true
validates :abstract, presence: true
validates :media_type, allow_nil: true, inclusion: { in: Conference.media_types.values }
scope :confirmed, -> { where(state: 'confirmed') }
state_machine :initial => :new do
state_machine initial: :new do
state :new
state :withdrawn
state :unconfirmed
@ -64,7 +66,7 @@ class Event < ActiveRecord::Base
end
def voted?(event, user)
event.votes.where("user_id = ?", user).first
event.votes.where('user_id = ?', user).first
end
def average_rating
@ -73,18 +75,18 @@ class Event < ActiveRecord::Base
@total_rating = @total_rating + vote.rating
end
@total = self.votes.size
number_with_precision(@total_rating / @total.to_f, :precision => 2, :strip_insignificant_zeros => true)
number_with_precision(@total_rating / @total.to_f, precision: 2, strip_insignificant_zeros: true)
end
def submitter
result = self.event_users.where(:event_role => "submitter").first
result = self.event_users.where(event_role: 'submitter').first
if !result.nil?
result.user
else
user = nil
# Perhaps the event_users haven't been saved, if this is a new proposal
self.event_users.each do |p|
if p.event_role == "submitter"
if p.event_role == 'submitter'
user = p.user
end
end
@ -102,7 +104,7 @@ class Event < ActiveRecord::Base
end
if self.track.nil?
json[:track_color] = "#ffffff"
json[:track_color] = '#ffffff'
else
json[:track_color] = self.track.color;
end
@ -194,14 +196,14 @@ class Event < ActiveRecord::Base
def biography_exists
if self.submitter.biography_word_count == 0
errors.add(:user_biography, "must be filled out")
errors.add(:user_biography, 'must be filled out')
end
end
def generate_guid
begin
guid = SecureRandom.urlsafe_base64
end while self.class.where(:guid => guid).exists?
end while self.class.where(guid: guid).exists?
self.guid = guid
end

View file

@ -1,8 +1,8 @@
class EventUser < ActiveRecord::Base
attr_accessible :event, :user, :user_id, :event_role
# TODO Do we need these roles?
ROLES = [["Speaker","speaker"], ["Submitter","submitter"], ["Moderator","moderator"]]
ROLES = [['Speaker', 'speaker'], ['Submitter', 'submitter'], ['Moderator', 'moderator']]
belongs_to :event
belongs_to :user
end
end

View file

@ -4,28 +4,28 @@ class Registration < ActiveRecord::Base
belongs_to :dietary_choice
has_one :supporter_registration
has_one :supporter_level, :through => :supporter_registration
has_one :supporter_level, through: :supporter_registration
has_and_belongs_to_many :social_events
has_and_belongs_to_many :events
has_and_belongs_to_many :qanswers
has_and_belongs_to_many :vchoices
attr_accessible :user_id, :conference_id, :attending_social_events, :attending_with_partner,
:using_affiliated_lodging, :arrival, :departure, :user_attributes, :other_dietary_choice, :dietary_choice_id,
:handicapped_access_required, :supporter_registration_attributes, :social_event_ids, :other_special_needs,
:event_ids, :attended, :volunteer, :vchoice_ids,
:qanswer_ids, :qanswers_attributes
:using_affiliated_lodging, :arrival, :departure, :user_attributes, :attended,
:other_dietary_choice, :dietary_choice_id, :handicapped_access_required,
:supporter_registration_attributes, :social_event_ids, :other_special_needs,
:event_ids, :volunteer, :vchoice_ids, :qanswer_ids, :qanswers_attributes
accepts_nested_attributes_for :user
accepts_nested_attributes_for :supporter_registration
accepts_nested_attributes_for :social_events
accepts_nested_attributes_for :qanswers
delegate :name, :to => :user
delegate :email, :to => :user
delegate :nickname, :to => :user
delegate :affiliation, :to => :user
delegate :name, to: :user
delegate :email, to: :user
delegate :nickname, to: :user
delegate :affiliation, to: :user
alias_attribute :other_needs, :other_special_needs
after_create :set_week

View file

@ -1,6 +1,6 @@
class User < ActiveRecord::Base
include Gravtastic
gravtastic :size => 32
gravtastic size: 32
# Include default devise modules. Others available are:
@ -16,11 +16,11 @@ class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :role_id, :role_ids,
:name, :email_public, :biography, :nickname, :affiliation
has_many :event_users, :dependent => :destroy
has_many :events, -> { uniq }, :through => :event_users
has_many :registrations, :dependent => :destroy
has_many :votes, :dependent => :destroy
has_many :voted_events, :through => :votes, :source => :events
has_many :event_users, dependent: :destroy
has_many :events, -> { uniq }, through: :event_users
has_many :registrations, dependent: :destroy
has_many :votes, dependent: :destroy
has_many :voted_events, through: :votes, source: :events
accepts_nested_attributes_for :roles
@ -49,7 +49,7 @@ class User < ActiveRecord::Base
end
def role?(role)
Rails.logger.debug("Checking role in user")
Rails.logger.debug('Checking role in user')
!!roles.find_by_name(role.to_s.downcase.camelize)
end
@ -68,7 +68,7 @@ class User < ActiveRecord::Base
# If there is a new user, add the necessary attributes
if user.new_record?
user.password = Devise.friendly_token[0,20]
user.password = Devise.friendly_token[0, 20]
user.skip_confirmation!
user.attributes = params
end
@ -99,8 +99,8 @@ class User < ActiveRecord::Base
end
def attending_conference? conference
Registration.where(:conference_id => conference.id,
:user_id => self.id).count
Registration.where(conference_id: conference.id,
user_id: self.id).count
end
def proposals conference
@ -118,10 +118,12 @@ class User < ActiveRecord::Base
self.biography.split.size
end
end
private
def biography_limit
if !self.biography.nil? && self.biography.split.size > 150
errors.add(:abstract, "cannot have more than 150 words")
end
def biography_limit
if !self.biography.nil? && self.biography.split.size > 150
errors.add(:abstract, 'cannot have more than 150 words')
end
end
end

View file

@ -4,5 +4,5 @@ class Vote < ActiveRecord::Base
belongs_to :user
belongs_to :event
delegate :name, :to => :user
delegate :name, to: :user
end