<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>db/migrate/20090516181911_remove_levels_from_raids.rb</filename>
    </added>
    <added>
      <filename>db/migrate/20090516203910_unique_index_on_locations.rb</filename>
    </added>
    <added>
      <filename>public/javascripts/jrails.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/CHANGELOG</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/README</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/init.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/install.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jquery-ui.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jquery.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/jrails.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/javascripts/sources/jrails.js</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/lib/jrails.rb</filename>
    </added>
    <added>
      <filename>vendor/plugins/jrails/tasks/jrails.rake</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -36,15 +36,10 @@ class RaidsController &lt; ApplicationController
     if @current_account == @raid.account or @current_account.admin
       @roles = Role.find(:all)
       @cclasses = Cclass.find(:all)
-      
-      respond_to do |format|
-        format.html
-      end
+
+      @raid.locations.build
     else
-      flash[:error] = &quot;You are not authorized to edit this account&quot;
-      respond_to do |format|
-        format.html { redirect_to raid_url(@raid) }
-      end
+      redirect_to raid_url(@raid)
     end
   end
 
@@ -52,15 +47,18 @@ class RaidsController &lt; ApplicationController
     if @current_account.can_edit(@raid)
       @raid.update_attributes(params[:raid])
       @raid.date = Time.parse(&quot;#{params[:caldate]} #{params[:caltime]}&quot;)
-      @raid.save
 
-      respond_to do |format|
-        format.html { redirect_to raid_url(@raid) }
+      if @raid.save
+        redirect_to raid_url(@raid)
+      else
+        flash[:error] = &quot;Error saving raid&quot;
+        render :action =&gt; :edit
       end
+    else
+      redirect_to raid_url(@raid)
     end
   end
 
-
   def destroy
     if @current_account.can_edit(@raid)
       @raid.destroy</diff>
      <filename>app/controllers/raids_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,16 @@ class Location &lt; ActiveRecord::Base
   belongs_to :instance
   has_many :loots
 
+  before_save :check_duplicates
+
   def name
     instance.name
   end
+
+  private
+
+  def check_duplicates
+    not Raid.find(self.raid_id).instances.member?(self.instance)
+  end
+
 end</diff>
      <filename>app/models/location.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,14 +4,19 @@ class Raid &lt; ActiveRecord::Base
   belongs_to :instance
 
   has_many :locations
-  accepts_nested_attributes_for :locations, :allow_destroy =&gt; true
+  accepts_nested_attributes_for(:locations, :allow_destroy =&gt; true,
+                                :reject_if =&gt; proc { |attr|
+                                  attr['instance_id'].blank?                                  
+                                })
   has_many :instances, :through =&gt; :locations
   has_many :loots, :through =&gt; :locations
   
   belongs_to :raid_template
 
   has_many :slots, :dependent =&gt; :destroy
-  accepts_nested_attributes_for :slots, :allow_destroy =&gt; true
+  accepts_nested_attributes_for(:slots,
+                                :allow_destroy =&gt; true)
+  
 
   has_many :signups, :dependent =&gt; :destroy
   has_many :characters, :through =&gt; :signups</diff>
      <filename>app/models/raid.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
-page[@raid].fade
-
+page.visual_effect(:fade, dom_id(@raid))</diff>
      <filename>app/views/raids/destroy.js.rjs</filename>
    </modified>
    <modified>
      <diff>@@ -3,19 +3,28 @@
   &lt;% form_for(@raid) do |f| %&gt;
     &lt;dl&gt;
       &lt;dt&gt;Name:&lt;/dt&gt;&lt;dd&gt;&lt;%= f.text_field :name %&gt;&lt;/dd&gt;
+      &lt;dt&gt;Date:&lt;/dt&gt;
+      &lt;dd&gt;
+        &lt;%= text_field_tag &quot;caldate&quot;, @raid.caldate, :size =&gt; 10 %&gt;
+        @
+        &lt;%= text_field_tag &quot;caltime&quot;, @raid.caltime, :size =&gt; 8 %&gt;
+      &lt;/dd&gt;
       &lt;dt&gt;Instances:&lt;/dt&gt;
       &lt;dd&gt;
-        &lt;ul&gt;
-          &lt;% @raid.instances.each do |instance| %&gt;
-            &lt;li&gt;&lt;%= instance.name %&gt;&lt;/li&gt;
+        &lt;ul id=&quot;locations&quot;&gt;
+          &lt;% f.fields_for :locations do |l| %&gt;
+            &lt;li&gt;
+              &lt;%= l.collection_select(:instance_id,
+                                      l.object.new_record? ? (Instance.active - @raid.instances) : Instance.active,
+                  :id, :name, :include_blank =&gt; l.object.new_record?) %&gt;
+              &lt;% unless l.object.new_record? %&gt;
+                &lt;%= l.check_box '_delete' %&gt;
+                &lt;%= l.label '_delete', 'Remove' %&gt;
+              &lt;% end %&gt;
+            &lt;/li&gt;
           &lt;% end %&gt;
         &lt;/ul&gt;
       &lt;/dd&gt;
-      &lt;dt&gt;Date:&lt;/dt&gt;&lt;dd&gt;&lt;%= text_field_tag &quot;caldate&quot;, @raid.caldate, :size =&gt; 10 %&gt; @ &lt;%= text_field_tag &quot;caltime&quot;, @raid.caltime, :size =&gt; 8 %&gt;&lt;/dd&gt;
-      &lt;dt&gt;Level Requirement:&lt;/dt&gt;
-      &lt;dd&gt;
-        &lt;%= f.text_field :min_level, :size =&gt; 3 %&gt;-&lt;%= f.text_field :max_level, :size =&gt; 3 %&gt;
-      &lt;/dd&gt;
       &lt;dt&gt;Loot:&lt;/dt&gt;
       &lt;dd&gt;&lt;%= f.text_area :loot_note, :rows =&gt; 5, :cols =&gt; 40 %&gt;&lt;/dd&gt;
       &lt;dt&gt;Note:&lt;/dt&gt;</diff>
      <filename>app/views/raids/edit.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -34,15 +34,18 @@
     &lt;dd&gt;&lt;%= @raid.account.name %&gt;&lt;/dd&gt;
     &lt;dt&gt;Date:&lt;/dt&gt;
     &lt;dd&gt;&lt;%= @raid.date.to_s(:raid) %&gt;&lt;/dd&gt;
-    &lt;dt&gt;Levels:&lt;/dt&gt;
-    &lt;dd&gt;
-      &lt;%= @raid.min_level %&gt;
-      &lt;%= &quot; to #{@raid.max_level}&quot; if @raid.max_level != @raid.min_level %&gt;
-    &lt;/dd&gt;
     &lt;%- if !@raid.loot_note.blank? -%&gt;
       &lt;dt&gt;Loot rules:&lt;/dt&gt;
       &lt;dd&gt;&lt;%= @raid.loot_note %&gt;&lt;/dd&gt;
     &lt;%- end -%&gt;
+    &lt;dt&gt;Instances:&lt;/dt&gt;
+    &lt;dd&gt;
+      &lt;ul&gt;
+        &lt;% @raid.instances.each do |instance| %&gt;
+          &lt;li&gt;&lt;%= instance.name %&gt;&lt;/li&gt;
+        &lt;% end %&gt;
+      &lt;/ul&gt;
+    &lt;/dd&gt;
     &lt;%- if !@raid.note.blank? -%&gt;
       &lt;dt&gt;Note:&lt;/dt&gt;
       &lt;dd&gt;&lt;%= @raid.note %&gt;&lt;/dd&gt;</diff>
      <filename>app/views/raids/show.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -40,6 +40,7 @@ ActionController::Routing::Routes.draw do |map|
   map.resources :raids, :member =&gt; { 'finalize' =&gt; :post } do |raids|
     raids.resources :signups, :loots
     raids.resources :slots, :collection =&gt; { 'wait_list' =&gt; :put }
+    raids.resources :locations
   end
 
   map.namespace :admin do |admin|</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version =&gt; 20090509042041) do
+ActiveRecord::Schema.define(:version =&gt; 20090516203910) do
 
   create_table &quot;accounts&quot;, :force =&gt; true do |t|
     t.string   &quot;name&quot;
@@ -93,6 +93,8 @@ ActiveRecord::Schema.define(:version =&gt; 20090509042041) do
     t.datetime &quot;updated_at&quot;
   end
 
+  add_index &quot;locations&quot;, [&quot;raid_id&quot;, &quot;instance_id&quot;], :name =&gt; &quot;locations_by_raid_and_instance&quot;, :unique =&gt; true
+
   create_table &quot;loots&quot;, :force =&gt; true do |t|
     t.integer  &quot;character_id&quot;, :default =&gt; 0, :null =&gt; false
     t.integer  &quot;list_id&quot;,      :default =&gt; 0, :null =&gt; false
@@ -115,8 +117,6 @@ ActiveRecord::Schema.define(:version =&gt; 20090509042041) do
   create_table &quot;raids&quot;, :force =&gt; true do |t|
     t.string   &quot;name&quot;,                                :null =&gt; false
     t.datetime &quot;date&quot;,                                :null =&gt; false
-    t.integer  &quot;min_level&quot;
-    t.integer  &quot;max_level&quot;
     t.text     &quot;note&quot;
     t.text     &quot;loot_note&quot;
     t.boolean  &quot;uses_loot_system&quot;, :default =&gt; false, :null =&gt; false</diff>
      <filename>db/schema.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d98570578395ccbabd9bb1a413d92e6300e44f23</id>
    </parent>
  </parents>
  <author>
    <name>Christopher Giroir</name>
    <email>kelsin@valefor.com</email>
  </author>
  <url>http://github.com/Kelsin/lilyraid/commit/d1242c6da2975e6292c7d50c5eb057971b03713f</url>
  <id>d1242c6da2975e6292c7d50c5eb057971b03713f</id>
  <committed-date>2009-05-16T13:53:25-07:00</committed-date>
  <authored-date>2009-05-16T13:53:25-07:00</authored-date>
  <message>Lots of work on editing instances. Also added jrails</message>
  <tree>ba8ddf07cfb8ea63beeca04103e1ae3ad505fb1c</tree>
  <committer>
    <name>Christopher Giroir</name>
    <email>kelsin@valefor.com</email>
  </committer>
</commit>
