diff --git a/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb b/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb index 9e22d6c1..090f54d1 100644 --- a/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb +++ b/vendor/built_in_modules/personal_conference/app/models/writing_conference.rb @@ -42,6 +42,7 @@ class WritingConference validates :paper_title, :at_least_one => true before_validation :add_http 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?} attr_reader :author_tokens @@ -63,6 +64,19 @@ class WritingConference self.conference_co_author_ids = authors_ids 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 ) if category_id.to_s.size > 0 find(:all, :conditions => {writing_conference_category_id: category_id}).desc( :is_top, :title )