End chapter 10
[depot.git] / app / views / products / index.html.erb
index 88120ee7e05a27a417f52f7b280dd760a9ecc1a8..1bed0399ad8347e978c810128e7d7cea163b02d5 100644 (file)
@@ -1,24 +1,41 @@
-<h1>Listing products</h1>
+<div id="product-list">
+  <h1>Listing products</h1>
 
-<table>
-  <tr>
-    <th>Title</th>
-    <th>Description</th>
-    <th>Image url</th>
-  </tr>
-
-<% for product in @products %>
-  <tr>
-    <td><%=h product.title %></td>
-    <td><%=h product.description %></td>
-    <td><%=h product.image_url %></td>
-    <td><%= link_to 'Show', product %></td>
-    <td><%= link_to 'Edit', edit_product_path(product) %></td>
-    <td><%= link_to 'Destroy', product, :confirm => 'Are you sure?', :method => :delete %></td>
-  </tr>
-<% end %>
-</table>
+  <table>
+    <% for product in @products %>
+    <tr class="<%= cycle('list-line-odd', 'list-line-even') %>">
+      <td>
+        <%= image_tag product.image_url, :class => 'list-image' %>
+      </td>
+      <td class="list-description">
+        <dl>
+          <dt><%=h product.title %></dt>
+          <dd><%=h truncate(product.description.gsub(/<.*?>/, '|'), 
+            :length => 80) %></dd>
+          <dd><%=number_to_currency product.price, :unit => "£" %>
+          <% if product.date_available.past? %>
+            <dd>Available since <%= product.date_available %></dd>
+          <% else %>
+            <dd class="unavailable">Available from <%= product.date_available %></dd>
+          <% end %>
+          <% if not product.date_available_until.nil? %> 
+            <% if product.date_available_until.future? %>
+              <dd>Available until <%= product.date_available_until %></dd>
+            <% else %>
+              <dd class="unavailable">Unavailable since <%= product.date_available_until %></dd>
+            <% end %>
+          <% end %>
+        </dl>
+      </td>
 
+      <td class="list-actions">
+        <%= link_to 'Show', product %><br/>
+        <%= link_to 'Edit', edit_product_path(product) %><br/>
+        <%= link_to 'Destroy', product, :confirm => 'Are you sure?', :method => :delete %><br/>
+      </td>
+    </tr>
+    <% end %>
+  </table>
+</div>
 <br />
-
 <%= link_to 'New product', new_product_path %>