+# redMine - project management software
+# Copyright (C) 2006 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
class Comment < ActiveRecord::Base
belongs_to :commented, :polymorphic => true, :counter_cache => true
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r
\r
class CustomField < ActiveRecord::Base\r
- has_many :custom_values, :dependent => true\r
+ has_many :custom_values, :dependent => :delete_all\r
\r
FIELD_FORMATS = { "string" => { :name => :label_string, :order => 1 },\r
"text" => { :name => :label_text, :order => 2 },\r
class Document < ActiveRecord::Base\r
belongs_to :project\r
belongs_to :category, :class_name => "Enumeration", :foreign_key => "category_id"\r
- has_many :attachments, :as => :container, :dependent => true\r
+ has_many :attachments, :as => :container, :dependent => :destroy\r
\r
validates_presence_of :project, :title, :category
end
belongs_to :priority, :class_name => 'Enumeration', :foreign_key => 'priority_id'\r
belongs_to :category, :class_name => 'IssueCategory', :foreign_key => 'category_id'\r
\r
- #has_many :histories, :class_name => 'IssueHistory', :dependent => true, :order => "issue_histories.created_on DESC", :include => :status\r
- has_many :journals, :as => :journalized, :dependent => true\r
- has_many :attachments, :as => :container, :dependent => true\r
+ has_many :journals, :as => :journalized, :dependent => :destroy\r
+ has_many :attachments, :as => :container, :dependent => :destroy\r
\r
- has_many :custom_values, :dependent => true, :as => :customized\r
+ has_many :custom_values, :dependent => :delete_all, :as => :customized\r
has_many :custom_fields, :through => :custom_values\r
\r
validates_presence_of :subject, :description, :priority, :tracker, :author, :status\r
class Journal < ActiveRecord::Base
belongs_to :journalized, :polymorphic => true
belongs_to :user
- has_many :details, :class_name => "JournalDetail", :dependent => true
+ has_many :details, :class_name => "JournalDetail", :dependent => :delete_all
end
class News < ActiveRecord::Base\r
belongs_to :project\r
belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'\r
- has_many :comments, :as => :commented, :dependent => true, :order => "created_on"\r
+ has_many :comments, :as => :commented, :dependent => :delete_all, :order => "created_on"\r
\r
validates_presence_of :title, :description\r
\r
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r
\r
class Project < ActiveRecord::Base\r
- has_many :versions, :dependent => true, :order => "versions.effective_date DESC, versions.name DESC"\r
- has_many :members, :dependent => true, :include => :user, :conditions => "users.status=#{User::STATUS_ACTIVE}"\r
+ has_many :versions, :dependent => :destroy, :order => "versions.effective_date DESC, versions.name DESC"\r
+ has_many :members, :dependent => :delete_all, :include => :user, :conditions => "users.status=#{User::STATUS_ACTIVE}"\r
has_many :users, :through => :members\r
- has_many :custom_values, :dependent => true, :as => :customized\r
- has_many :issues, :dependent => true, :order => "issues.created_on DESC", :include => [:status, :tracker]\r
- has_many :queries, :dependent => true\r
- has_many :documents, :dependent => true\r
- has_many :news, :dependent => true, :include => :author\r
- has_many :issue_categories, :dependent => true, :order => "issue_categories.name"\r
- has_one :repository, :dependent => true\r
+ has_many :custom_values, :dependent => :delete_all, :as => :customized\r
+ has_many :issues, :dependent => :destroy, :order => "issues.created_on DESC", :include => [:status, :tracker]\r
+ has_many :queries, :dependent => :delete_all\r
+ has_many :documents, :dependent => :destroy\r
+ has_many :news, :dependent => :delete_all, :include => :author\r
+ has_many :issue_categories, :dependent => :delete_all, :order => "issue_categories.name"\r
+ has_one :repository, :dependent => :destroy\r
has_and_belongs_to_many :custom_fields, :class_name => 'IssueCustomField', :join_table => 'custom_fields_projects', :association_foreign_key => 'custom_field_id'\r
acts_as_tree :order => "name", :counter_cache => true\r
\r
class Role < ActiveRecord::Base\r
before_destroy :check_integrity \r
has_and_belongs_to_many :permissions\r
- has_many :workflows, :dependent => true\r
+ has_many :workflows, :dependent => :delete_all\r
has_many :members\r
\r
validates_presence_of :name\r
class Tracker < ActiveRecord::Base\r
before_destroy :check_integrity \r
has_many :issues\r
- has_many :workflows, :dependent => true\r
+ has_many :workflows, :dependent => :delete_all\r
has_and_belongs_to_many :custom_fields, :class_name => 'IssueCustomField', :join_table => 'custom_fields_trackers', :association_foreign_key => 'custom_field_id'\r
\r
validates_presence_of :name\r
require "digest/sha1"\r
\r
class User < ActiveRecord::Base\r
- has_many :memberships, :class_name => 'Member', :include => [ :project, :role ], :dependent => true\r
+ has_many :memberships, :class_name => 'Member', :include => [ :project, :role ], :dependent => :delete_all\r
has_many :projects, :through => :memberships\r
- has_many :custom_values, :dependent => true, :as => :customized\r
- has_one :preference, :dependent => true, :class_name => 'UserPreference'\r
+ has_many :custom_values, :dependent => :delete_all, :as => :customized\r
+ has_one :preference, :dependent => :destroy, :class_name => 'UserPreference'\r
belongs_to :auth_source\r
\r
attr_accessor :password, :password_confirmation\r
before_destroy :check_integrity\r
belongs_to :project\r
has_many :fixed_issues, :class_name => 'Issue', :foreign_key => 'fixed_version_id'\r
- has_many :attachments, :as => :container, :dependent => true\r
+ has_many :attachments, :as => :container, :dependent => :destroy\r
\r
validates_presence_of :name\r
validates_uniqueness_of :name, :scope => [:project_id]\r