fixed author sample data generation and model method

This commit is contained in:
Rueshyna 2013-03-11 14:53:21 +08:00 committed by Matt K. Fu
parent 65e306a854
commit b5fd6c7a1a
1 changed files with 14 additions and 0 deletions

View File

@ -42,6 +42,7 @@ class WritingConference
validates :paper_title, :at_least_one => true validates :paper_title, :at_least_one => true
before_validation :add_http before_validation :add_http
after_save :save_writing_conference_files after_save :save_writing_conference_files
before_save :update_co_author
validates :url, :format => /^(http|https):\/\/(([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5})|((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))(:[0-9]{1,5})?(\/.*)?/i, :unless => Proc.new{self.url.blank?} validates :url, :format => /^(http|https):\/\/(([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5})|((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))(:[0-9]{1,5})?(\/.*)?/i, :unless => Proc.new{self.url.blank?}
attr_reader :author_tokens attr_reader :author_tokens
@ -63,6 +64,19 @@ class WritingConference
self.conference_co_author_ids = authors_ids self.conference_co_author_ids = authors_ids
end end
def update_co_author
if new_record?
current_user = self.create_user_id
else
current_user = self.update_user_id
end
self.conference_co_author_ids.each do |id|
co_author = ConferenceCoAuthor.find(id)
co_author.update_attribute(:name_id, current_user)
end
end
def self.search( category_id = nil ) def self.search( category_id = nil )
if category_id.to_s.size > 0 if category_id.to_s.size > 0
find(:all, :conditions => {writing_conference_category_id: category_id}).desc( :is_top, :title ) find(:all, :conditions => {writing_conference_category_id: category_id}).desc( :is_top, :title )