<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/functional/sys_api_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/CHANGELOG</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/MIT-LICENSE</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/Rakefile</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/TODO</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/install.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/api.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/base.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/casting.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/client.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/client/base.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/client/soap_client.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/client/xmlrpc_client.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/container.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/container/action_controller_container.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/container/delegated_container.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/container/direct_container.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/dispatcher.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/dispatcher/abstract.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/invocation.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/protocol.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/protocol/abstract.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/protocol/discovery.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/protocol/soap_protocol.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/protocol/soap_protocol/marshaler.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/protocol/xmlrpc_protocol.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/scaffolding.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/struct.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/support/class_inheritable_options.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/support/signature_types.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/layout.erb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/layout.rhtml</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/methods.erb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/methods.rhtml</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.erb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/parameters.rhtml</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/result.erb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/result.rhtml</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/test_invoke.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/action_web_service/version.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/lib/actionwebservice.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/actionwebservice/setup.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_list/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_list/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_list/lib/active_record/acts/list.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_list/test/list_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/Rakefile</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/test/abstract_unit.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/test/database.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/test/fixtures/mixin.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/test/fixtures/mixins.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/acts_as_tree/test/schema.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/CHANGELOG</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/Rakefile</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/install.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/lib/pagination.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/lib/pagination_helper.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/companies.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/company.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/developer.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/developers.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/developers_projects.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/project.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/projects.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/replies.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/reply.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/schema.sql</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/topic.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/fixtures/topics.yml</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/helper.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/pagination_helper_test.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/classic_pagination/test/pagination_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -90,9 +90,10 @@ class SearchController &lt; ApplicationController
         end
       else
         operator = @all_words ? ' AND ' : ' OR '
-        Project.with_scope(:find =&gt; {:conditions =&gt; Project.visible_by(User.current)}) do
-          @results += Project.find(:all, :limit =&gt; limit, :conditions =&gt; [ ([&quot;(LOWER(name) like ? OR LOWER(description) like ?)&quot;] * like_tokens.size).join(operator), * (like_tokens * 2).sort] ) if @scope.include? 'projects'
-        end
+        @results += Project.find(:all, 
+                                 :limit =&gt; limit,
+                                 :conditions =&gt; [ ([&quot;(#{Project.visible_by(User.current)}) AND (LOWER(name) like ? OR LOWER(description) like ?)&quot;] * like_tokens.size).join(operator), * (like_tokens * 2).sort]
+                                 ) if @scope.include? 'projects'
         # if only one project is found, user is redirected to its overview
         redirect_to :controller =&gt; 'projects', :action =&gt; 'show', :id =&gt; @results.first and return if @results.size == 1
       end</diff>
      <filename>app/controllers/search_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -150,6 +150,11 @@ class Mailer &lt; ActionMailer::Base
   def render_message(method_name, body)
     layout = method_name.match(%r{text\.html\.(rhtml|rxml)}) ? 'layout.text.html.rhtml' : 'layout.text.plain.rhtml'
     body[:content_for_layout] = render(:file =&gt; method_name, :body =&gt; body)
-    ActionView::Base.new(File.join(template_root, 'mailer'), body, self).render(:file =&gt; layout)
+    ActionView::Base.new(template_root, body, self).render(:file =&gt; &quot;mailer/#{layout}&quot;)
   end
+  
+  # Makes partial rendering work with Rails 1.2 (retro-compatibility)
+  def self.controller_path
+    ''
+  end unless respond_to?('controller_path')
 end</diff>
      <filename>app/models/mailer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,7 @@ class Project &lt; ActiveRecord::Base
   STATUS_ACTIVE     = 1
   STATUS_ARCHIVED   = 9
   
-  has_many :members, :dependent =&gt; :delete_all, :include =&gt; :user, :conditions =&gt; &quot;#{User.table_name}.status=#{User::STATUS_ACTIVE}&quot;
+  has_many :members, :include =&gt; :user, :conditions =&gt; &quot;#{User.table_name}.status=#{User::STATUS_ACTIVE}&quot;
   has_many :users, :through =&gt; :members
   has_many :custom_values, :dependent =&gt; :delete_all, :as =&gt; :customized
   has_many :enabled_modules, :dependent =&gt; :delete_all
@@ -62,6 +62,8 @@ class Project &lt; ActiveRecord::Base
   validates_length_of :identifier, :in =&gt; 3..20
   validates_format_of :identifier, :with =&gt; /^[a-z0-9\-]*$/
   
+  before_destroy :delete_all_members
+  
   def identifier=(identifier)
     super unless identifier_frozen?
   end
@@ -129,6 +131,11 @@ class Project &lt; ActiveRecord::Base
     children.select {|child| child.active?}
   end
   
+  # Deletes all project's members
+  def delete_all_members
+    Member.delete_all(['project_id = ?', id])
+  end
+  
   # Users issues can be assigned to
   def assignable_users
     members.select {|m| m.role.assignable?}.collect {|m| m.user}.sort</diff>
      <filename>app/models/project.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 &lt;%= l(:text_issue_added, &quot;##{@issue.id}&quot;) %&gt;
 &lt;hr /&gt;
-&lt;%= render :file =&gt; &quot;_issue_text_html&quot;, :use_full_path =&gt; true, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;
+&lt;%= render :partial =&gt; &quot;issue_text_html&quot;, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;</diff>
      <filename>app/views/mailer/issue_add.text.html.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 &lt;%= l(:text_issue_added, &quot;##{@issue.id}&quot;) %&gt;
 ----------------------------------------
-&lt;%= render :file =&gt; &quot;_issue_text_plain&quot;, :use_full_path =&gt; true, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;
+&lt;%= render :partial =&gt; &quot;issue_text_plain&quot;, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;</diff>
      <filename>app/views/mailer/issue_add.text.plain.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -7,4 +7,4 @@
 &lt;/ul&gt;
 &lt;%= textilizable(@journal.notes) %&gt;
 &lt;hr /&gt;
-&lt;%= render :file =&gt; &quot;_issue_text_html&quot;, :use_full_path =&gt; true, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;
+&lt;%= render :partial =&gt; &quot;issue_text_html&quot;, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;</diff>
      <filename>app/views/mailer/issue_edit.text.html.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -5,4 +5,4 @@
 &lt;% end %&gt;
 &lt;%= @journal.notes if @journal.notes? %&gt;
 ----------------------------------------
-&lt;%= render :file =&gt; &quot;_issue_text_plain&quot;, :use_full_path =&gt; true, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;
+&lt;%= render :partial =&gt; &quot;issue_text_plain&quot;, :locals =&gt; { :issue =&gt; @issue, :issue_url =&gt; @issue_url } %&gt;</diff>
      <filename>app/views/mailer/issue_edit.text.plain.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,7 @@ Rails::Initializer.run do |config|
   # Use the database for sessions instead of the file system
   # (create the session table with 'rake create_sessions_table')
   # config.action_controller.session_store = :active_record_store
+  config.action_controller.session_store = :PStore
 
   # Enable page/fragment caching by setting a file-based store
   # (remember to create the caching directory and make it readable to the application)</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,9 +8,6 @@ config.cache_classes     = false
 # Log error messages when you accidentally call methods on nil.
 config.whiny_nils        = true
 
-# Enable the breakpoint server that script/breakpointer connects to
-config.breakpoint_server = true
-
 # Show full error reports and disable caching
 config.action_controller.consider_all_requests_local = true
 config.action_controller.perform_caching             = false</diff>
      <filename>config/environments/development.rb</filename>
    </modified>
    <modified>
      <diff>@@ -17,4 +17,11 @@ members_003:
   role_id: 2
   id: 3
   user_id: 2
+members_004: 
+  id: 4
+  created_on: 2006-07-19 19:35:36 +02:00
+  project_id: 1
+  role_id: 2
+  # Locked user
+  user_id: 5
   
\ No newline at end of file</diff>
      <filename>test/fixtures/members.yml</filename>
    </modified>
    <modified>
      <diff>@@ -59,3 +59,19 @@ users_003:
   auth_source_id: 
   mail_notification: true
   login: dlopper
+users_005: 
+  id: 5
+  created_on: 2006-07-19 19:33:19 +02:00
+  # Locked
+  status: 3
+  last_login_on: 
+  language: en
+  hashed_password: 7feb7657aa7a7bf5aef3414a5084875f27192415
+  updated_on: 2006-07-19 19:33:19 +02:00
+  admin: false
+  mail: dlopper2@somenet.foo
+  lastname: Lopper2
+  firstname: Dave2
+  auth_source_id: 
+  mail_notification: true
+  login: dlopper2</diff>
      <filename>test/fixtures/users.yml</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,7 @@
 require File.dirname(__FILE__) + '/../test_helper'
 
 class ProjectTest &lt; Test::Unit::TestCase
-  fixtures :projects, :issues, :issue_statuses, :journals, :journal_details
+  fixtures :projects, :issues, :issue_statuses, :journals, :journal_details, :users, :members, :roles
 
   def setup
     @ecookbook = Project.find(1)
@@ -80,8 +80,16 @@ class ProjectTest &lt; Test::Unit::TestCase
   end
   
   def test_destroy
+    # 2 active members
+    assert_equal 2, @ecookbook.members.size
+    # and 1 is locked
+    assert_equal 3, Member.find(:all, :conditions =&gt; ['project_id = ?', @ecookbook.id]).size
+    
     @ecookbook.destroy
+    # make sure that the project non longer exists
     assert_raise(ActiveRecord::RecordNotFound) { Project.find(@ecookbook.id) }
+    # make sure all members have been removed
+    assert_equal 0, Member.find(:all, :conditions =&gt; ['project_id = ?', @ecookbook.id]).size
   end
   
   def test_subproject_ok</diff>
      <filename>test/unit/project_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f58db70bdecdbfd0a0d81c0c452d58b88391f9f1</id>
    </parent>
  </parents>
  <author>
    <name>Jean-Philippe Lang</name>
    <email>jp_lang@yahoo.fr</email>
  </author>
  <url>http://github.com/edavis10/redmine/commit/6d9490ddcc9c501d31a8b403146cd4ba6d8cc5b5</url>
  <id>6d9490ddcc9c501d31a8b403146cd4ba6d8cc5b5</id>
  <committed-date>2007-12-10T09:58:07-08:00</committed-date>
  <authored-date>2007-12-10T09:58:07-08:00</authored-date>
  <message>Merged Rails 2.0 compatibility changes.
Compatibility with Rails 1.2 is preserved.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@975 e93f8b46-1217-0410-a6f0-8f06a7374b81</message>
  <tree>ad4a6a8cbc3ec2dadf61886a67c19ffc66ec6710</tree>
  <committer>
    <name>Jean-Philippe Lang</name>
    <email>jp_lang@yahoo.fr</email>
  </committer>
</commit>
