class Transactions < Netzke::Basepack::Grid def configure(c) super c.model = "Transaction" c.force_fit = true c.strong_default_attrs = { :vendor_id => controller.current_user.id, :customer_id => session[:selected_customer_id], :customer_type => session[:selected_customer_type] } c.columns = [ :amount, :item, { :name => :bike__shop_id}, { :name => :vendor, :getter => lambda { |rec| user = rec.vendor user.nil? ? "" : "#{user.first_name} #{user.last_name}" } }, { :name => :customer, :getter => lambda { |rec| user = rec.customer user.nil? ? "" : "#{user.first_name} #{user.last_name}" } }, :created_at ] end def default_fields_for_forms bike_store = Bike.all.map { |b| [b.id, b.shop_id] } user_store = User.all.map { |u| [u.id, u.to_s] } customer = nil if session[:selected_customer_type] == "User" customer = User.find_by_id(session[:selected_customer_id]) elsif session[:selected_customer_type] == "Customer" customer = Customer.find_by_id(session[:selected_customer_id]) end customer = "No User Selected" if customer.nil? [ { :no_binding => true, :xtype => 'displayfield', :fieldLabel => "Creating Transaction for:", :value => "#{customer.to_s}"}, :amount, :item, { :name => :for_bike, :checkboxName => :bike_item, :inputValue => true, :title => "Selling a bike?", :xtype => 'fieldset', :checkboxToggle => true, :collapsed => true, :items => [ {:xtype => 'combo', :no_binding => true, :name => :bike_id, :title => 'Bike', :fieldLabel => 'Bike', :store => bike_store} ] } ] end #override with nil to remove actions def default_bbar [ :apply, :add_in_form, :search ] end =begin #needed for transaction selection js_configure do |c| c.mixin :init_component end =end end