<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -339,7 +339,7 @@ class ApplicationController &lt; ActionController::Base
     end
 
     def get_person_campus_groups
-      groups = Group.find :all, :conditions =&gt; {:ministry_id =&gt; @ministry.id}
+      groups = Group.find :all, :conditions =&gt; {:ministry_id =&gt; @ministry.id}, :include =&gt; [:group_type, :group_involvements, :campus]
       my_campuses_ids = @my.active_campuses.collect &amp;:id
       @person_campus_groups = groups.select { |g| g.campus.nil? || my_campuses_ids.include?(g.campus.id) }
     end</diff>
      <filename>app/controllers/application_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@ class GroupsController &lt; ApplicationController
   def index
     @join = false
     if params[:all] == 'true'
-      @groups = @person_campus_groups = @ministry.groups
+      @groups = @person_campus_groups = @ministry.groups.find(:all, :include =&gt; [:group_type, :group_involvements, :campus])
     else
       get_person_campus_groups
       @groups = @person_campus_groups</diff>
      <filename>app/controllers/groups_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@ class PeopleController &lt; ApplicationController
   append_before_filter  :can_edit_profile, :only =&gt; [:edit, :update]
   append_before_filter  :set_use_address2
   skip_before_filter :authorization_filter, :only =&gt; [:set_current_address_states, :set_permanent_address_states,  
-                                                      :get_campus_states, :get_campuses]
+                                                      :get_campus_states]
   
   #  AUTHORIZE_FOR_OWNER_ACTIONS = [:edit, :update, :show, :import_gcx_profile, :getcampuses,
   #                                 :get_campus_states, :set_current_address_states,
@@ -46,7 +46,6 @@ class PeopleController &lt; ApplicationController
 
   def directory
     get_view
-    get_campuses 
     first_name_col = &quot;Person.#{_(:first_name, :person)}&quot;
     last_name_col = &quot;Person.#{_(:last_name, :person)}&quot;
     email = _(:email, :address)
@@ -98,47 +97,6 @@ class PeopleController &lt; ApplicationController
         @advanced = true
       end
     
-      # Check ministry
-      if params[:ministry].present?
-        # Only consider ministry ids that this person is involved in (stop deviousness)
-        params[:ministry] = params[:ministry].collect(&amp;:to_i) &amp; @my.ministry_involvements.collect(&amp;:ministry_id)
-        unless params[:ministry].empty?
-          cond = &quot;MinistryInvolvement.#{_(:ministry_id, :ministry_involvement)} IN(#{quote_string(params[:ministry].join(','))})&quot;
-          if params[:campus].present?
-            conditions &lt;&lt;  cond 
-          else
-            conditions &lt;&lt; ('(' + cond + ' OR ' + campus_condition + ')')
-          end
-          @tables[MinistryInvolvement] = &quot;#{Person.table_name}.#{_(:id, :person)} = MinistryInvolvement.#{_(:person_id, :ministry_involvement)}&quot;
-          @search_for &lt;&lt; Ministry.find(:all, :conditions =&gt; &quot;id in(#{quote_string(params[:ministry].join(','))})&quot;).collect(&amp;:name).join(', ')
-          @advanced = true
-        end
-      end
-    
-      # Check campus
-      if params[:campus].present?
-        # Only consider ministry ids that this person is involved in (stop deviousness)
-        params[:campus] = params[:campus].collect(&amp;:to_i) &amp; @campuses.collect(&amp;:id)
-        @advanced = true
-        @search_for &lt;&lt; Campus.find(:all, :conditions =&gt; &quot;#{_(:id, :campus)} in (#{quote_string(params[:campus].join(','))})&quot;).collect(&amp;:name).join(', ') if !params[:campus].empty?
-      else
-        # If no campuses were passed in, include all the campuses from the current ministry
-        params[:campus] = current_ministry.campuses.collect(&amp;:id)
-      end
-
-      if params[:campus].empty?
-        mi = get_ministry_involvement(current_ministry)
-        if mi &amp;&amp; mi.ministry_role.class == StudentRole
-          #return # they're a student who has either hacked in params[:campus] or they have no campus_involvements. Bad Student.
-          redirect_to :controller =&gt; 'dashboard', :action =&gt; 'index'
-          return
-        end
-      else
-        conditions &lt;&lt; &quot;CampusInvolvement.#{_(:campus_id, :campus_involvement)} IN(#{quote_string(params[:campus].join(','))}) AND CampusInvolvement.#{_(:end_date, :campus_involvement)} is NULL&quot; 
-        @tables[CampusInvolvement] = &quot;#{Person.table_name}.#{_(:id, :person)} = CampusInvolvement.#{_(:person_id, :campus_involvement)}&quot;
-      end
-      
-      
       if params[:first_name].present?
         conditions &lt;&lt; &quot;Person.#{_(:first_name, :person)} LIKE '#{quote_string(params[:first_name])}%'&quot;
         @search_for &lt;&lt; &quot;First Name: #{params[:first_name]}&quot;
@@ -157,14 +115,11 @@ class PeopleController &lt; ApplicationController
         @advanced = true
       end
     
-    
-      conditions = add_involvement_conditions(conditions) if params[:ministry].blank? &amp;&amp; params[:campus].blank?
+      add_involvement_conditions(conditions)
     
       @options = params.dup.delete_if {|key, value| ['action','controller','commit','search'].include?(key)}
     
-
       @conditions = conditions.join(' AND ')
-      
       @search_for = @search_for.empty? ? (params[:search] || 'Everyone') : @search_for.join(&quot;; &quot;)
     end
     
@@ -232,6 +187,60 @@ class PeopleController &lt; ApplicationController
       format.html { render :layout =&gt; 'application' }
     end
   end
+  
+  # Executes a search according to provided criteria.
+  # Guesses if the entry includes a first and last name, splits them out for the search
+  # TODO: Check it can handle two word lastnames like mine &quot;Andrew de Jonge&quot;
+
+  def search
+    # figure out if the search parameter looks like a first or last name only, or both
+    @search = params[:search]
+    if @search &amp;&amp; !@search.empty?
+     	names = @search.strip.split(' ')
+     	conditions = [[],[]]
+    	if (names.size &gt; 1)
+	    	first = names[0].to_s
+    		last = names[1].to_s
+	    	conditions[0] &lt;&lt; &quot;#{_(:last_name, :person)} LIKE ? AND #{_(:first_name, :person)} LIKE ? &quot;
+	    	conditions[1] &lt;&lt; last + &quot;%&quot;
+	    	conditions[1] &lt;&lt; first + &quot;%&quot;
+	   	else
+	   	  name = names.join
+	   		conditions[0] &lt;&lt; &quot;(#{_(:last_name, :person)} LIKE ? OR #{_(:first_name, :person)} LIKE ?) &quot;
+	   		conditions[1] &lt;&lt; name+'%'
+	   		conditions[1] &lt;&lt; name+'%' 
+	   	end
+	   	if params[:filter_ids].present?
+	   	  conditions[0] &lt;&lt; &quot;#{_(:id, :person)} NOT IN(?)&quot;
+	   	  conditions[1] &lt;&lt; params[:filter_ids]
+   	  end
+   	  
+   	  # Scope by the user's ministry / campus involvements
+   	  involvement_condition = &quot;(&quot;
+   	  if my_campus_ids.present?
+     	  involvement_condition += &quot;#{CampusInvolvement.table_name}.#{_(:campus_id, :campus_involvement)} IN(?) OR &quot; 
+  	   	conditions[1] &lt;&lt; my_campus_ids
+ 	    end
+ 	    involvement_condition += &quot;#{MinistryInvolvement.table_name}.#{_(:ministry_id, :ministry_involvement)} IN(?) )&quot; 
+ 	    
+	   	conditions[0] &lt;&lt; involvement_condition
+	   	conditions[1] &lt;&lt; current_ministry.self_plus_descendants.collect(&amp;:id)
+	   	
+	   	@conditions = [ conditions[0].join(' AND ') ] + conditions[1]
+  
+      includes = [:current_address, :campus_involvements, :ministry_involvements]
+	  	@people = Person.find(:all, :order =&gt; &quot;#{_(:last_name, :person)}, #{_(:first_name, :person)}&quot;, :conditions =&gt; @conditions, :include =&gt; includes)
+	  	respond_to do |format|
+	  	  if params[:context]
+	  	    format.js {render :partial =&gt; params[:context] + '/results', :locals =&gt; {:people =&gt; @people, :type =&gt; params[:type], :group_id =&gt; params[:group_id]}}
+  	    else
+  	      format.js {render :action =&gt; 'results'}
+	      end
+	  	end
+	  else
+	    render :nothing =&gt; true
+	  end
+  end
 
   # GET /people/show
   # Shows a person's profile (address info, assignments, involvements, etc)
@@ -503,49 +512,6 @@ class PeopleController &lt; ApplicationController
       end
     end
   end
-  
-  # Executes a search according to provided criteria.
-  # Guesses if the entry includes a first and last name, splits them out for the search
-  # TODO: Check it can handle two word lastnames like mine &quot;Andrew de Jonge&quot;
-
-  def search
-    # figure out if the search parameter looks like a first or last name only, or both
-    @search = params[:search]
-    if @search &amp;&amp; !@search.empty?
-     	names = @search.strip.split(' ')
-     	conditions = [[],[]]
-    	if (names.size &gt; 1)
-	    	first = names[0].to_s
-    		last = names[1].to_s
-	    	conditions[0] &lt;&lt; &quot;#{_(:last_name, :person)} LIKE ? AND #{_(:first_name, :person)} LIKE ? &quot;
-	    	conditions[1] &lt;&lt; last + &quot;%&quot;
-	    	conditions[1] &lt;&lt; first + &quot;%&quot;
-	   	else
-	   	  name = names.join
-	   		conditions[0] &lt;&lt; &quot;(#{_(:last_name, :person)} LIKE ? OR #{_(:first_name, :person)} LIKE ?) &quot;
-	   		conditions[1] &lt;&lt; name+'%'
-	   		conditions[1] &lt;&lt; name+'%' 
-	   	end
-	   	if params[:filter_ids].present?
-	   	  conditions[0] &lt;&lt; &quot;#{_(:id, :person)} NOT IN(?)&quot;
-	   	  conditions[1] &lt;&lt; params[:filter_ids]
-   	  end
-	   	conditions[0] = add_involvement_conditions(conditions[0], true)
-	   	@conditions = [ conditions[0].join(' AND ') ] + conditions[1]
-  
-      includes = [:current_address, :campus_involvements, :ministry_involvements]
-	  	@people = Person.find(:all, :order =&gt; &quot;#{_(:last_name, :person)}, #{_(:first_name, :person)}&quot;, :conditions =&gt; @conditions, :include =&gt; includes)
-	  	respond_to do |format|
-	  	  if params[:context]
-	  	    format.js {render :partial =&gt; params[:context] + '/results', :locals =&gt; {:people =&gt; @people, :type =&gt; params[:type], :group_id =&gt; params[:group_id]}}
-  	    else
-  	      format.js {render :action =&gt; 'results'}
-	      end
-	  	end
-	  else
-	    render :nothing =&gt; true
-	  end
-  end
     
   # Question: what does it do?
   def add_student
@@ -576,13 +542,13 @@ class PeopleController &lt; ApplicationController
     end
     redirect_to @person
   end
-#### THIS METHOD WAS DEFINED TWICE! #####
-  # def get_campuses
-  #   @campus_state = params[:primary_campus_state]
-  #   @campus_country = params[:primary_campus_country]
-  #   render :text =&gt; '' unless @campus_state
-  #   @campuses = CmtGeo.campuses_for_state(@campus_state, @campus_country) || []
-  # end
+
+  def get_campuses
+    @campus_state = params[:primary_campus_state]
+    @campus_country = params[:primary_campus_country]
+    render :text =&gt; '' unless @campus_state
+    @campuses = CmtGeo.campuses_for_state(@campus_state, @campus_country) || []
+  end
 
   def get_campus_states
     @campus_country = params[:primary_campus_country]
@@ -640,41 +606,6 @@ class PeopleController &lt; ApplicationController
       end
     end
     
-    
-    def campus_involvements_field(safe_format = false)
-      if safe_format
-        &quot;campus_involvements.#{_(:campus_id, :campus_involvement)}&quot;
-      else
-        &quot;CampusInvolvement.#{_(:campus_id, :campus_involvement)}&quot;
-      end
-    end
-    
-    def campus_condition(safe_format = false)
-      campus_involvements_field(safe_format) + &quot; IN (#{@ministry.campus_ids.join(',')})&quot;     
-    end
-    
-    def ministry_condition(safe_format = false)
-      @ministry_ids ||= @my.ministry_involvements.collect(&amp;:ministry_id).join(',')
-      if safe_format
-        'ministry_involvements.' + _(:ministry_id, :ministry_involvement) + &quot; IN (#{@ministry_ids})&quot;
-      else
-        'MinistryInvolvement.' + _(:ministry_id, :ministry_involvement) + &quot; IN (#{@ministry_ids})&quot;
-      end
-    end
-    
-    def add_involvement_conditions(conditions, safe_format = false)
-      # figure out which campuses to query based on the campuses listed for the current ministry
-      if  @campus
-        campus_cond = campus_involvements_field(safe_format) + &quot; = #{@campus.id}&quot;
-        conditions &lt;&lt; campus_cond
-      elsif @ministry.campus_ids.length &gt; 0
-        conditions &lt;&lt; '( ' + campus_condition(safe_format) + ' OR ' + ministry_condition(safe_format) + ' )'
-      else
-        conditions &lt;&lt; ministry_condition(safe_format)
-      end
-      return conditions
-    end
-    
     def render_new_from_create(format)
       set_dorms
       format.html { render :action =&gt; &quot;new&quot;, :layout =&gt; 'manage' }
@@ -799,15 +730,62 @@ class PeopleController &lt; ApplicationController
       @use_address2 = !Cmt::CONFIG[:disable_address2]
     end
     
-    private
+    def my_campuses
+      @my_campuses ||= @my.campus_list(get_ministry_involvement(@ministry))
+    end
+    
+    def my_campus_ids
+      @my_campus_ids ||= my_campuses.collect(&amp;:id)
+    end
     
     def get_campuses
-      campuses = @my.ministries.collect {|ministry| ministry.campuses.find(:all)}.flatten.uniq
-      mi = get_ministry_involvement(@ministry)
-      if mi &amp;&amp; mi.ministry_role.class == StudentRole
-        @campuses = campuses.select{|id| @my.campuses.find(:first, :conditions =&gt; {_(:id, :campus) =&gt; id})}
+      @campuses = @my_campuses
+    end
+    
+    def add_involvement_conditions(conditions)
+      # figure out which campuses to query based on the campuses listed for the current ministry
+      # Check ministry
+      ministry_condition = ''
+      if params[:ministry]
+        # Only consider ministry ids that this person is involved in (stop deviousness)
+        params[:ministry] = params[:ministry].collect(&amp;:to_i) &amp; @my.ministry_involvements.collect(&amp;:ministry_id)
+        unless params[:ministry].empty?
+          ministry_condition = &quot;MinistryInvolvement.#{_(:ministry_id, :ministry_involvement)} IN(#{quote_string(params[:ministry].join(','))})&quot;
+          @search_for &lt;&lt; Ministry.find(:all, :conditions =&gt; &quot;id in(#{quote_string(params[:ministry].join(','))})&quot;).collect(&amp;:name).join(', ')
+          @advanced = true 
+        end
+      else
+        ministry_condition = &quot;MinistryInvolvement.#{_(:ministry_id, :ministry_involvement)} IN(#{quote_string(current_ministry.self_plus_descendants.collect(&amp;:id).join(','))})&quot;
       end
-      @campuses ||= campuses 
+      @tables[MinistryInvolvement] = &quot;Person.#{_(:id, :person)} = MinistryInvolvement.#{_(:person_id, :ministry_involvement)}&quot; if @tables
+    
+      # Check campus
+      campus_condition = ''
+      if params[:campus].present?
+        # Only consider campus ids that this person is involved in (stop deviousness)
+        params[:campus] = params[:campus].collect(&amp;:to_i) &amp; my_campuses.collect(&amp;:id)
+        unless params[:campus].empty?
+          conditions &lt;&lt; &quot;CampusInvolvement.#{_(:campus_id, :campus_involvement)} IN(#{quote_string(params[:campus].join(','))}) AND CampusInvolvement.#{_(:end_date, :campus_involvement)} is NULL&quot; 
+          @search_for &lt;&lt; Campus.find(:all, :conditions =&gt; &quot;#{_(:id, :campus)} in (#{quote_string(params[:campus].join(','))})&quot;).collect(&amp;:name).join(', ')
+          @tables[CampusInvolvement] = &quot;#{Person.table_name}.#{_(:id, :person)} = CampusInvolvement.#{_(:person_id, :campus_involvement)}&quot; if @tables
+          @advanced = true
+        end
+      else
+        # If no campuses were passed in...
+        mi = get_ministry_involvement(current_ministry)
+        # If the user is a student, just look at their campus involvements under the current ministry
+        # If the user is staff, look at all campuses in the current ministry tree
+        campus_ids = mi &amp;&amp; mi.ministry_role.class == StudentRole ? (current_ministry.campus_ids &amp; my_campuses.collect(&amp;:id)) : current_ministry.campus_ids
+        campus_condition = &quot;CampusInvolvement.#{_(:campus_id, :campus_involvement)} IN(#{quote_string(campus_ids.join(','))})&quot; if campus_ids.present?
+      end
+      
+      if campus_condition.present?
+        conditions &lt;&lt; ('(' + ministry_condition + ' OR ' + campus_condition + ')')
+        @tables[CampusInvolvement] = &quot;#{Person.table_name}.#{_(:id, :person)} = CampusInvolvement.#{_(:person_id, :campus_involvement)}&quot; if @tables
+      else
+        conditions &lt;&lt; ministry_condition
+      end
+      return conditions
     end
     
 end</diff>
      <filename>app/controllers/people_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,8 +18,7 @@ class Ministry &lt; ActiveRecord::Base
   has_many :campus_involvements
   # has_many :people, :through =&gt; :campus_involvements
   has_many :people, :through =&gt; :ministry_involvements
-  has_many :ministry_campuses, :include =&gt; :campus, :dependent =&gt; :destroy, 
-    :include =&gt; :campus, :order =&gt; Campus.table_name + '.' + _(:name, :campus)
+  has_many :ministry_campuses, :include =&gt; :campus, :dependent =&gt; :destroy, :order =&gt; Campus.table_name + '.' + _(:name, :campus)
   has_many :campuses, :through =&gt; :ministry_campuses, :order =&gt; _(:name, 'campus')
   has_many :ministry_involvements, :dependent =&gt; :destroy, :dependent =&gt; :destroy
   has_many :groups, :dependent =&gt; :destroy
@@ -76,6 +75,14 @@ class Ministry &lt; ActiveRecord::Base
     self.root? ? my_other_roles : self.root.my_other_roles
   end
   
+  def unique_campuses
+    unless @unique_campuses
+      res =  lambda {Campus.find(campus_ids)}
+      @unique_campuses = (Rails.env.production? ? Rails.cache.fetch([self, 'unique_campuses']) {res.call} : res.call)
+    end
+    return @unique_campuses
+  end
+  
   def subministry_campuses(top = true)
     unless @subministry_campuses
       @subministry_campuses = top ? [] : self.ministry_campuses
@@ -85,15 +92,18 @@ class Ministry &lt; ActiveRecord::Base
     end
     return @subministry_campuses
   end
-  
-  def unique_campuses
-    unless @unique_campuses
-      @unique_ministry_campuses = ministry_campuses.clone
-      @unique_campuses = campuses.clone
-      subministry_campuses.each do |mc| 
-        @unique_ministry_campuses &lt;&lt; mc unless @unique_campuses.include?(mc.campus)
-        @unique_campuses &lt;&lt; mc.campus
-      end
+
+  def unique_ministry_campuses
+    unless @unique_ministry_campuses
+      res =  lambda {
+        @unique_ministry_campuses = ministry_campuses.clone
+        @unique_campuses = campuses.clone
+        subministry_campuses.each do |mc| 
+          @unique_ministry_campuses &lt;&lt; mc unless @unique_campuses.include?(mc.campus)
+          @unique_campuses &lt;&lt; mc.campus
+        end
+      }
+      @unique_ministry_campuses = (Rails.env.production? ? Rails.cache.fetch([self, 'unique_ministry_campuses']) {res.call} : res.call)
     end
     return @unique_ministry_campuses
   end
@@ -112,9 +122,12 @@ class Ministry &lt; ActiveRecord::Base
   
   def campus_ids
     unless @campus_ids
-      ministry_ids = ([self] + descendants).collect(&amp;:id)
-      sql = &quot;SELECT #{_(:campus_id, :ministry_campus)} FROM #{MinistryCampus.table_name} WHERE #{_(:ministry_id, :ministry_campus)} IN(#{ministry_ids.join(',')})&quot;
-      @campus_ids = ActiveRecord::Base.connection.select_values(sql).collect(&amp;:to_i)
+      res =  lambda {
+        ministry_ids = self_plus_descendants.collect(&amp;:id)
+        sql = &quot;SELECT #{_(:campus_id, :ministry_campus)} FROM #{MinistryCampus.table_name} WHERE #{_(:ministry_id, :ministry_campus)} IN(#{ministry_ids.join(',')})&quot;
+        ActiveRecord::Base.connection.select_values(sql).collect(&amp;:to_i)
+      }
+      @campus_ids = Rails.env.production? ? Rails.cache.fetch([self, 'campus_ids']) {res.call} : res.call
     end
     @campus_ids
   end
@@ -171,8 +184,9 @@ class Ministry &lt; ActiveRecord::Base
     @involved_student_role_ids ||= involved_student_roles.collect(&amp;:id)
   end
   
-  def all_ministries
-    (self.descendants + [self]).sort
+  def self_plus_descendants
+    res =  lambda {(self.descendants + [self]).sort}
+    Rails.env.production? ? Rails.cache.fetch([self, 'self_plus_descendants']) {res.call} : res.call
   end
   
   def deleteable?</diff>
      <filename>app/models/ministry.rb</filename>
    </modified>
    <modified>
      <diff>@@ -196,8 +196,22 @@ end
   # end
   
   def ministry_tree
-    res =  lambda {(self.ministries.collect(&amp;:ancestors).flatten + self.ministries.collect(&amp;:descendants).flatten).uniq}
-    Rails.env.production? ? Rails.cache.fetch([self.cache_key, 'ministry_tree']) {res.call} : res.call
+    res =  lambda {
+      ministries = self.ministries.find(:all, :include =&gt; [:parent, :children])
+      (ministries.collect(&amp;:ancestors).flatten + ministries.collect(&amp;:descendants).flatten).uniq
+    }
+    Rails.env.production? ? Rails.cache.fetch([self, 'ministry_tree']) {res.call} : res.call
+  end
+  
+  def campus_list(ministry_involvement)
+    res =  lambda {
+      if ministry_involvement &amp;&amp; ministry_involvement.ministry_role.class == StudentRole
+        self.campuses
+      else
+        self.ministries.collect {|ministry| ministry.campuses.find(:all)}.flatten.uniq
+      end
+    }
+    Rails.env.production? ? Rails.cache.fetch([self, 'campus_list', ministry_involvement]) {res.call} : res.call
   end
   
   def role(ministry)</diff>
      <filename>app/models/person.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@
 		&lt;%= spinner %&gt;
 		&lt;% if @my.ministries.length &gt; 1 %&gt;
 		  &lt;%- if is_admin? -%&gt;
-    	  Current Ministry: &lt;%= select_tag(:current_ministry, options_for_select(current_ministry.root.all_ministries.collect {|m| [m.name + &quot; #{m.parent ? '(' + m.parent.name + ')' : ''}&quot;, m.id]}, @ministry.id)) %&gt;&amp;nbsp; 
+    	  Current Ministry: &lt;%= select_tag(:current_ministry, options_for_select(current_ministry.root.self_plus_descendants.collect {|m| [m.name + &quot; #{m.parent ? '(' + m.parent.name + ')' : ''}&quot;, m.id]}, @ministry.id)) %&gt;&amp;nbsp; 
     	&lt;%- else -%&gt;
     	  Current Ministry: &lt;%= select_tag(:current_ministry, options_for_select(@my.ministry_tree.sort.collect {|m| [m.name + &quot; #{m.parent ? '(' + m.parent.name + ')' : ''}&quot;, m.id]}, @ministry.id)) %&gt;&amp;nbsp; 
     	&lt;%- end -%&gt;
@@ -145,7 +145,7 @@
     &lt;div id=&quot;campus-panel&quot;&gt;&lt;/div&gt;
     &lt;div id=&quot;edit-ministry&quot; style=&quot;display:none&quot;&gt;
     	&lt;div id=&quot;ministry&quot;&gt;&lt;%= render :partial =&gt; 'ministries/form' %&gt;&lt;/div&gt;
-    	&lt;div id=&quot;campus-details&quot;&gt;&lt;%#= render :partial =&gt; 'campuses/campus', :locals =&gt; {:campus =&gt; @ministry.unique_campuses.first.campus} unless @ministry.unique_campuses.empty? %&gt;&lt;/div&gt;
+    	&lt;div id=&quot;campus-details&quot;&gt;&lt;%#= render :partial =&gt; 'campuses/campus', :locals =&gt; {:campus =&gt; @ministry.unique_campuses.first} unless @ministry.unique_campuses.empty? %&gt;&lt;/div&gt;
     &lt;/div&gt;
 	&lt;/div&gt;
 	&lt;div id=&quot;campuses&quot;&gt;</diff>
      <filename>app/views/ministries/_ministries.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -3,5 +3,5 @@ update_flash(page, flash[:notice])
 page[:title].replace_html(@ministry.name)
 page[:instructions].replace_html(:partial =&gt; 'ministries/instructions')
 page.call('tabs.setActiveTab', 0)
-page['campus_list'].replace_html :partial =&gt; @ministry.unique_campuses 
+page['campus_list'].replace_html :partial =&gt; @ministry.unique_ministry_campuses 
 page[:ministry].replace_html(:partial =&gt; 'form')</diff>
      <filename>app/views/ministries/destroy.rjs</filename>
    </modified>
    <modified>
      <diff>@@ -3,14 +3,6 @@
 		&lt;ul id=&quot;direct_campus_list&quot;&gt;
 		&lt;%= render :partial =&gt; @ministry.ministry_campuses %&gt;
 		&lt;/ul&gt;
-    &lt;!--&lt;%#- unless @ministry.subministry_campuses.empty? -%&gt;
-      &lt;div class=&quot;title&quot;&gt;Inferred Campuses (from sub-ministries)&lt;/div&gt;
-      &lt;ul id=&quot;inferred_campus_list&quot;&gt;
-        &lt;%#- @subministry = @ministry.subministry_campuses.first.ministry -%&gt;
-        &lt;li&gt;&lt;h4 class=&quot;u&quot;&gt;&lt;strong&gt;&lt;%#= @subministry.name %&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;/li&gt;
-        &lt;%#= render :partial =&gt; @ministry.subministry_campuses %&gt;
-      &lt;/ul&gt;
-    &lt;%#- end -%&gt; --&gt;
 	&lt;/div&gt;
 	&lt;br/&gt;
 	&lt;div&gt;</diff>
      <filename>app/views/ministry_campuses/_campuses.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
   &lt;tr&gt;
   	&lt;td&gt;Main School: &lt;/td&gt;
   	&lt;td&gt;
-  		&lt;%= select_tag :campus, options_for_select(@ministry.unique_campuses.collect {|c| [c.campus.name, c.campus.id]})%&gt;
+  		&lt;%= select_tag :campus, options_for_select(@ministry.unique_campuses.collect {|c| [c.name, c.id]})%&gt;
   	&lt;/td&gt;
   &lt;/tr&gt;
   &lt;table&gt;</diff>
      <filename>app/views/staff/_add_campus.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -20,3 +20,16 @@ config.action_mailer.raise_delivery_errors = false
 
 # turn log level down so that the SQL statements are not visible in the webserver logs
 #config.log_level = :info
+
+# config.after_initialize do
+#   Bullet.enable = true 
+#   Bullet.bullet_logger = true  
+#   # Bullet.console = true
+#   begin
+#     require 'ruby-growl'
+#     Bullet.growl = true
+#   rescue MissingSourceFile
+#     Bullet.alert = true
+#   end
+#   Bullet.rails_logger = true
+# end</diff>
      <filename>config/environments/development.rb</filename>
    </modified>
    <modified>
      <diff>@@ -38,6 +38,14 @@ class PeopleControllerTest &lt; ActionController::TestCase
     assert assigns(:people)
   end
   
+  test &quot;A person with no campus involvements should still show in the directory&quot; do
+    login('staff_on_ministry_with_no_campus')
+    session[:ministry_id] = ministries(:top).id
+    get :directory
+    assert ppl = assigns(:people)
+    assert(ppl.detect {|p| p['person_id'].to_i == people(:staff_on_ministry_with_no_campus).id}, &quot;staff_on_ministry_with_no_campus didn't show up.&quot;)
+  end
+  
   test &quot;perform search by firstname&quot; do
     post :directory, :search =&gt; 'josh'
     assert_response :success
@@ -237,7 +245,8 @@ class PeopleControllerTest &lt; ActionController::TestCase
     ministry = ministries(:no_ministry)
     ministry_involvements = MinistryInvolvement.find_all_by_person_id(person.id)
     assert ministry_involvements.any?{ |mr| mr.ministry_id == ministry.id }
-    assert_redirected_to :action =&gt; &quot;index&quot;, :controller =&gt; &quot;dashboard&quot;
+    # assert_redirected_to :action =&gt; &quot;index&quot;, :controller =&gt; &quot;dashboard&quot;
+    assert_response :success, @response.body
   end
   
   test &quot;ministry leader with no permanent address should render when updating notes&quot; do</diff>
      <filename>test/functional/people_controller_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,8 +25,8 @@ class MinistryTest &lt; ActiveSupport::TestCase
     assert_equal(Ministry.find(1), Ministry.find(2).root)
   end
   
-  def test_all_ministries
-    assert_equal([Ministry.find(2), Ministry.find(3)], Ministry.find(2).all_ministries)
+  def test_self_plus_descendants
+    assert_equal([Ministry.find(2), Ministry.find(3)], Ministry.find(2).self_plus_descendants)
   end
   
   def test_create_first_view</diff>
      <filename>test/unit/ministry_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>doc/app/classes/Address.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/AddressesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/AddressesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/AdminHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ApplicationController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ApplicationHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ApplicationMailer.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/AuthenticatedSystem.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/AuthenticatedTestHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/BadParams.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/BibleStudiesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Campus.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CampusInvolvement.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CampusInvolvementsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CampusInvolvementsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CampusesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CampusesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/College.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Column.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ColumnsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ColumnsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Conference.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ConferenceRegistration.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ContactsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ContactsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Correspondence.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CorrespondenceType.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CorrespondenceTypesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CorrespondenceTypesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CorrespondencesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CorrespondencesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Country.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/County.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CurrentAddress.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CustomAttribute.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CustomAttributesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CustomAttributesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CustomValue.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CustomizeController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/CustomizeHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DashboardController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DashboardHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DevelopersController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DevelopersHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DirectoryHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Dorm.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DormsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/DormsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/EmailTemplate.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/EmailTemplatesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/EmailTemplatesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/EmergencyAddress.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/FacebookHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/FilesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/FilesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/FreeTime.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Group.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupInvolvement.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupInvolvementsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupInvolvementsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupType.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupTypesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupTypesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/GroupsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/HighSchool.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Import.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ImportsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ImportsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/InvolvementController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/InvolvementHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/InvolvementQuestion.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/InvolvementQuestionsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/InvolvementQuestionsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ManageController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistriesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistriesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Ministry.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryCampus.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryCampusesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryCampusesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryInvolovementsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryInvolvement.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryInvolvementsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryRole.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryRolePermission.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryRolePermissionsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryRolePermissionsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryRolesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/MinistryRolesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/OtherRole.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/PeopleController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/PeopleHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/PermanentAddress.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Permission.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/PermissionsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/PermissionsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Person.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/PersonMethods.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ProfilePicture.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ProfilePicturesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ProfilePicturesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ProfileQuestion.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ProfileQuestionsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ProfileQuestionsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SchoolYear.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SchoolYearsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SchoolYearsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Search.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SessionsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SessionsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Staff.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StaffController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StaffHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StaffRole.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/State.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StintApplication.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StintLocation.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StudentRole.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StudentsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/StudentsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SummerProject.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/SummerProjectApplication.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TeamsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/Timetable.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TimetablesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TimetablesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingAnswer.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingCategoriesController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingCategoriesHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingCategory.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingQuestion.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingQuestionActivation.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingQuestionsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/TrainingQuestionsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/UrlFilters.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/User.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/UserMailer.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/UsersController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/UsersHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/View.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ViewColumn.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ViewColumnsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ViewColumnsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ViewsController.html</filename>
    </removed>
    <removed>
      <filename>doc/app/classes/ViewsHelper.html</filename>
    </removed>
    <removed>
      <filename>doc/app/created.rid</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/addresses_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/application_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/campus_involvements_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/campuses_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/columns_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/contacts_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/correspondence_types_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/correspondences_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/custom_attributes_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/customize_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/dashboard_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/developers_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/dorms_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/email_templates_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/files_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/group_involvements_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/group_types_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/groups_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/imports_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/involvement_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/involvement_questions_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/manage_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/ministries_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/ministry_campuses_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/ministry_involvements_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/ministry_role_permissions_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/ministry_roles_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/people_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/permissions_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/profile_pictures_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/profile_questions_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/school_years_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/sessions_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/staff_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/students_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/timetables_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/training_categories_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/training_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/training_questions_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/users_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/view_columns_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/controllers/views_controller_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/addresses_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/admin_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/application_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/bible_studies_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/campus_involvements_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/campuses_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/columns_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/contacts_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/correspondence_types_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/correspondences_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/custom_attributes_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/customize_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/dashboard_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/developers_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/directory_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/dorms_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/email_templates_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/facebook_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/files_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/group_involvements_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/group_types_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/groups_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/imports_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/involvement_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/involvement_questions_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/ministries_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/ministry_campuses_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/ministry_involovements_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/ministry_role_permissions_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/ministry_roles_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/people_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/permissions_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/profile_pictures_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/profile_questions_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/school_years_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/sessions_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/staff_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/students_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/teams_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/timetables_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/training_categories_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/training_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/training_questions_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/users_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/view_columns_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/helpers/views_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/address_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/campus_involvement_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/campus_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/college_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/column_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/conference_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/conference_registration_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/correspondence_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/correspondence_type_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/country_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/county_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/current_address_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/custom_attribute_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/custom_value_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/dorm_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/email_template_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/emergency_address_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/free_time_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/group_involvement_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/group_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/group_type_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/high_school_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/import_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/involvement_question_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/ministry_campus_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/ministry_involvement_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/ministry_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/ministry_role_permission_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/ministry_role_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/other_role_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/permanent_address_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/permission_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/person_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/profile_picture_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/profile_question_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/school_year_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/search_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/staff_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/staff_role_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/state_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/stint_application_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/stint_location_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/student_role_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/summer_project_application_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/summer_project_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/timetable_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/training_answer_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/training_category_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/training_question_activation_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/training_question_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/user_mailer_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/user_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/view_column_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/app/models/view_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/doc/README_FOR_APP.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/lib/authenticated_system_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/lib/authenticated_test_helper_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/lib/person_methods_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/lib/register_users_on_facebook_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/files/lib/test_timetable_rb.html</filename>
    </removed>
    <removed>
      <filename>doc/app/fr_class_index.html</filename>
    </removed>
    <removed>
      <filename>doc/app/fr_file_index.html</filename>
    </removed>
    <removed>
      <filename>doc/app/fr_method_index.html</filename>
    </removed>
    <removed>
      <filename>doc/app/index.html</filename>
    </removed>
    <removed>
      <filename>doc/app/rdoc-style.css</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>999ff5fcb2dbb954e1d2f16b5fa92d49cd10b1d4</id>
    </parent>
  </parents>
  <author>
    <name>Josh Starcher</name>
    <email>josh@Josh-Starchers-MacBook-Pro-15.local</email>
  </author>
  <url>http://github.com/twinge/ministry-tracker/commit/14bd930dff948766f6ce5ed01a19b097c39ebc9c</url>
  <id>14bd930dff948766f6ce5ed01a19b097c39ebc9c</id>
  <committed-date>2009-09-13T22:53:06-07:00</committed-date>
  <authored-date>2009-09-13T22:53:06-07:00</authored-date>
  <message>fixed http://jira.uscm.org/browse/SN-61

refactored directory code some
removed auto generated documentation</message>
  <tree>b2958e917c5cde67889b7722f72f0f0549d27e91</tree>
  <committer>
    <name>Josh Starcher</name>
    <email>josh@Josh-Starchers-MacBook-Pro-15.local</email>
  </committer>
</commit>
