blob: 99a3b6916ba121c4a0452063b7e26c3be1667e63 [file] [log] [blame]
#--######################################################################
# Copyright (c) 2006 Logica
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#
# Onno van der Straaten:: initial implementation
#++######################################################################
# {Copyright (c) 2006 Logica}[link:files/COPYRIGHT.html]
class Comment < DaText
belongs_to :site
belongs_to :user
belongs_to :page
belongs_to :version
validates_presence_of :text, :user, :page, :site, :version
# Set some redundant properties
#--
# TODO remove these redundant properties
#++
def before_validation_on_create
if self.version.nil?
if self.page.current_version
self.version = self.page.current_version
end
end
unless self.version.nil?
self.page = self.version.page
end
self.site = self.page.site
end
def validate_on_create
if self.version.nil?
errors.add("Cannot comment on new pages that are in the process of being created (not checked in yet). Comments would be left dangling on undo checkout.")
end
end
def after_create
Notification.find_or_create(self.page, self.user, Page.name)
end
end