Added availability date to product table
authorNeil Smith <neil.git@njae.me.uk>
Mon, 2 Feb 2009 14:06:47 +0000 (14:06 +0000)
committerNeil Smith <neil.git@njae.me.uk>
Mon, 2 Feb 2009 14:06:47 +0000 (14:06 +0000)
app/views/products/edit.html.erb
app/views/products/index.html.erb
app/views/products/new.html.erb
app/views/products/show.html.erb
db/migrate/20090202124100_add_product_date_available.rb [new file with mode: 0644]
db/schema.rb
public/stylesheets/depot.css

index 7aa095b3f9eb37d4d1bee0a5a835546ff2cdf09e..18efd5543223585e1f8042fb30fea317ca08ab4a 100644 (file)
     <%= f.label :price %><br />
     <%= f.text_field :price %>
   </p>
+  <p>
+    <%= f.label :date_available %><br />
+    <%= f.date_select :date_available, :order => [:day, :month, :year] %>
+  </p>
   <p>
     <%= f.submit "Update" %>
   </p>
index 1db53b8ae0b6cd45edcbf1a908b3dbc492abb82f..6bb547aa96d8023ebc9d510494ba5354c34bb5c2 100644 (file)
             <dt><%= h product.title %></dt>
             <dd><%= h truncate(product.description.gsub(/<.*?>/, ''),
                 :length => 80) %></dd>
+              <% if product.date_available.past? %>
+                <dd>Available since <%= product.date_available %></dd>
+              <% else %>
+                <dd class="unavailable">Available from <%= product.date_available %></dd>
+              <% end %>
             </dl>
         </td>
 
index 90ef7f2e0edd275a50db49820fc78281d92aebe5..3762d076dee42a6659306ed4e52c330925826a17 100644 (file)
     <%= f.label :price %><br />
     <%= f.text_field :price %>
   </p>
- <p>
+   <p>
+    <%= f.label :date_available %><br />
+    <%= f.date_select :date_available, :order => [:day, :month, :year] %>
+  </p>
+<p>
     <%= f.submit "Create" %>
   </p>
 <% end %>
index 124ab7756fce492c1c0b81c591bc175b8d9f7e34..fb3631e331d8ba8c51461de4f457f0493fd742e3 100644 (file)
   <%=h @product.price %>
 </p>
 
+<p>
+  <b>Date available:</b>
+  <%=h @product.date_available %>
+</p>
+
 
 <%= link_to 'Edit', edit_product_path(@product) %> |
 <%= link_to 'Back', products_path %>
diff --git a/db/migrate/20090202124100_add_product_date_available.rb b/db/migrate/20090202124100_add_product_date_available.rb
new file mode 100644 (file)
index 0000000..4c05607
--- /dev/null
@@ -0,0 +1,13 @@
+class AddProductDateAvailable < ActiveRecord::Migration
+  def self.up
+    add_column :products, :date_available, :date
+    
+    Product.update(1, :date_available => Time.utc(2008, 12, 25))
+    Product.update(2, :date_available => Time.utc(2010, 12, 25))
+    Product.update(3, :date_available => Time.utc(2009,  1,  1))
+  end
+
+  def self.down
+    remove_column :products, :date_available
+  end
+end
index b87309270457b2db59c6b2ed63fbde255b000724..2b20ee9b9b5c9eef358e4dfabebe901c79e639e7 100644 (file)
@@ -9,7 +9,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version => 20090130111521) do
+ActiveRecord::Schema.define(:version => 20090202124100) do
 
   create_table "products", :force => true do |t|
     t.string   "title"
@@ -17,7 +17,8 @@ ActiveRecord::Schema.define(:version => 20090130111521) do
     t.string   "image_url"
     t.datetime "created_at"
     t.datetime "updated_at"
-    t.decimal  "price",       :precision => 8, :scale => 2, :default => 0.0
+    t.decimal  "price",          :precision => 8, :scale => 2, :default => 0.0
+    t.date     "date_available"
   end
 
 end
index bb9c8b5e6c89ba60dfaabefde5f4e109df3fc5d9..62a2d6708382c442361b52a03a31e6cf3552ef12 100644 (file)
@@ -40,6 +40,10 @@ h1 {
         margin: 0;
 }
 
+#product-list .list-description .unavailable {
+        color: #f00;
+}
+
 #product-list .list-actions {
   font-size:    x-small;
   text-align:   right;