Changeset 1242
- Timestamp:
- 11/12/06 16:31:02 (2 years ago)
- Files:
-
- peasantonline/app/controllers/admin_controller.rb (modified) (2 diffs)
- peasantonline/app/helpers/admin_helper.rb (modified) (1 diff)
- peasantonline/app/models/order.rb (modified) (1 diff)
- peasantonline/app/views/admin/_messages.rhtml (added)
- peasantonline/app/views/admin/_order.rhtml (added)
- peasantonline/app/views/admin/_order_column_headings.rhtml (added)
- peasantonline/app/views/admin/_order_pagination_links.rhtml (added)
- peasantonline/app/views/admin/component_order.rhtml (added)
- peasantonline/app/views/admin/list_orders.rhtml (modified) (1 diff)
- peasantonline/lib/ajax_scaffold.rb (added)
- peasantonline/public/images/add.gif (added)
- peasantonline/public/images/arrow_down.gif (added)
- peasantonline/public/images/arrow_up.gif (added)
- peasantonline/public/images/indicator-small.gif (added)
- peasantonline/public/images/indicator.gif (added)
- peasantonline/public/javascripts/ajax_scaffold.js (added)
- peasantonline/public/javascripts/rico_corner.js (added)
- peasantonline/public/stylesheets/ajax_scaffold.css (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
peasantonline/app/controllers/admin_controller.rb
r1231 r1242 2 2 class AdminController < ApplicationController 3 3 before_filter :authorize 4 include AjaxScaffold::Controller 5 6 after_filter :clear_flashes 7 before_filter :update_params_filter 4 8 5 9 def index 6 10 end 11 12 def update_params_filter 13 update_params :default_scaffold_id => "order", :default_sort => nil, :default_sort_direction => "asc" 14 end 15 7 16 8 17 ################ … … 16 25 @designers = Designer.find(:all, :order => "name") 17 26 @categories = Category.find(:all, :order => "name") 27 end 28 29 def component_order 30 @show_wrapper = true if @show_wrapper.nil? 31 @sort_sql = Order.scaffold_columns_hash[current_sort(params)].sort_sql rescue nil 32 @sort_by = @sort_sql.nil? ? "#{Order.table_name}.#{Order.primary_key} asc" : @sort_sql + " " + current_sort_direction(params) 33 @paginator, @orders = paginate(:orders, :order => @sort_by, :per_page => default_per_page) 34 35 render :action => "component_order", :layout => false 36 end 37 def component_update_order 38 @show_wrapper = false # don't show the outer wrapper elements if we are just updating an existing scaffold 39 if request.xhr? 40 # If this is an AJAX request then we just want to delegate to the component to rerender itself 41 component_order 42 else 43 # If this is from a client without javascript we want to update the session parameters and then delegate 44 # back to whatever page is displaying the scaffold, which will then rerender all scaffolds with these update parameters 45 return_to_main 46 end 18 47 end 19 48 peasantonline/app/helpers/admin_helper.rb
r1233 r1242 1 1 module AdminHelper 2 3 include AjaxScaffold::Helper 4 5 def order_num_columns 6 order_scaffold_columns.length + 1 7 end 8 9 def order_scaffold_columns 10 Order.scaffold_columns 11 end 2 12 3 13 def getSizeClassValues(size_class) peasantonline/app/models/order.rb
r1133 r1242 9 9 end 10 10 end 11 12 @scaffold_columns = [ 13 AjaxScaffold::ScaffoldColumn.new(self, { :name => "last_name", :label => "Name"}), 14 AjaxScaffold::ScaffoldColumn.new(self, { :name => "email", :label => "Email"}), 15 AjaxScaffold::ScaffoldColumn.new(self, { :name => "status", :label => "Status"}), 16 AjaxScaffold::ScaffoldColumn.new(self, { :name => "items", :label => "# of Items", :sortable => false}), 17 AjaxScaffold::ScaffoldColumn.new(self, { :name => "total", :label => "Order Total", :sortable => false}) 18 19 ] 11 20 end 12 21 peasantonline/app/views/admin/list_orders.rhtml
r1233 r1242 1 <h1>Listing orders</h1> 2 3 <table> 4 <tr> 5 <th>Customer Name</th> 6 <th>Address</th> 7 <th>City, State Zip</th> 8 <th>Country</th> 9 <th>Order Total</th> 10 <th>Order Status</th> 11 <th>Comments</th> 12 <th colspan="3"></th> 13 </tr> 14 15 <% for order in @orders %> 16 <tr> 17 <td><%= order.first_name %> <%= order.last_name %></td> 18 <td><%= order.address %></td> 19 <td><%= order.city %>, <%= order.state %> <%= order.zip %></td> 20 <td><%= order.country %></td> 21 <td><%= 22 sum = 0 23 order.line_items.each {|li| sum += li.total_price} 24 format_price(sum) 25 %></td> 26 <td><%= order.status %></td> 27 <td><%= order.comments %></td> 28 <td><%= link_to 'Show', :action => 'show_orders', :id => order %></td> 29 <td><%= link_to 'Edit', :action => 'edit_orders', :id => order %></td> 30 <td><%= link_to 'Destroy', { :action => 'destroy_orders', :id => order }, :confirm => 'Are you sure?', :post => true %></td> 31 </tr> 32 <% end %> 33 </table> 34 35 <%= link_to 'Previous page', { :page => @order_pages.current.previous } if @order_pages.current.previous %> 36 <%= link_to 'Next page', { :page => @order_pages.current.next } if @order_pages.current.next %> 37 38 <br /> 39 40 <%= link_to 'New order', :action => 'new_orders' %> 1 <%= render_component :controller => 'admin', :action => 'component_order', :params => params %>