midas-g_already_grid 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+ 1.0.4 2009-03-26
2
+
3
+ * Refactored to utilize the REST path helper resolution available in Guilded 0.1.9
4
+ * Added multi level scoped by option
5
+ * Added namespace option
6
+
7
+
1
8
  == 1.0.3 2009-03-18
2
9
 
3
10
  * Fixed issue with sorting links not obeying polymorphism
data/PostInstall.txt CHANGED
@@ -1,7 +1,5 @@
1
1
 
2
2
  For more information on g_already_grid, see http://g_already_grid.rubyforge.org
3
3
 
4
- NOTE: Change this information in PostInstall.txt
5
- You can also delete it if you don't want it.
6
4
 
7
5
 
data/Rakefile CHANGED
@@ -14,7 +14,8 @@ $hoe = Hoe.new('g_already_grid', GAlreadyGrid::VERSION) do |p|
14
14
  p.extra_dev_deps = [
15
15
  ['newgem', ">= #{::Newgem::VERSION}"],
16
16
  ['rails', ">= 2.2.0"],
17
- ['midas-guilded', ">=0.1.4"]
17
+ ['midas-guilded', ">=0.1.9"]#,
18
+ #['mislav-will_paginate', ">=2.2.3"]
18
19
  ]
19
20
 
20
21
  p.clean_globs |= %w[**/.DS_Store tmp *.log]
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{g_already_grid}
5
- s.version = "1.0.3"
5
+ s.version = "1.0.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["C. Jason Harrelson (midas)"]
9
- s.date = %q{2009-03-18}
9
+ s.date = %q{2009-03-26}
10
10
  s.description = %q{A Guilded (http://github.com/midas/guilded/tree/master) Rails component that generates a rich grid control from an ActiveRecord collection.}
11
11
  s.email = ["jason@lookforwardenterprises.com"]
12
12
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc"]
13
- s.files = [".git/COMMIT_EDITMSG", ".git/HEAD", ".git/config", ".git/description", ".git/hooks/applypatch-msg.sample", ".git/hooks/commit-msg.sample", ".git/hooks/post-commit.sample", ".git/hooks/post-receive.sample", ".git/hooks/post-update.sample", ".git/hooks/pre-applypatch.sample", ".git/hooks/pre-commit.sample", ".git/hooks/pre-rebase.sample", ".git/hooks/prepare-commit-msg.sample", ".git/hooks/update.sample", ".git/index", ".git/info/exclude", ".git/logs/HEAD", ".git/logs/refs/heads/master", ".git/logs/refs/remotes/origin/HEAD", ".git/logs/refs/remotes/origin/master", ".git/objects/02/85e65fe6d5a62b7badce283d02f1fb626a1ab7", ".git/objects/02/df3eba6f6e8eb54809d163a150c736f67c5a26", ".git/objects/07/823e3e4f3d9ec546d63b6559b37153c0df18a5", ".git/objects/0f/1236da897d1e58f4b07b708476a0501865b691", ".git/objects/0f/961dcada4c3a21a506f410718b1d01f36bd283", ".git/objects/12/6777195e9ef321021d14e942cd4160ce5eca1e", ".git/objects/19/4974f3fea3fc6a21372a4cef13599525714622", ".git/objects/22/4224da073354641355f3662e295d9ec99ef366", ".git/objects/28/bea3eb33169ff67ce34f82168d7cddc6caa440", ".git/objects/36/f59b31836194f47821bd21060c413f229cf174", ".git/objects/3b/2d1ce9b2f5e05f70403e08798b19cb962d84f4", ".git/objects/3c/79c1d2a5f3149296bd5a84a31f6c1e7df08400", ".git/objects/42/17c3829629b09f6757ee68353d7273920939fb", ".git/objects/43/4d1f35c9811567615eb0e13cd87f461a154e19", ".git/objects/45/b904d8ecd3149f3f16e9b86e917690e0eebef9", ".git/objects/4b/7f07757eb7e9560c7acfac98e2fa5b77da5a5e", ".git/objects/52/ede8cef7c02782dbfa6bc9b080384c58d553fd", ".git/objects/5a/2e88151df3b26c1283119bcd11f0e5c30d18e7", ".git/objects/5a/fb625dbee0c45379a4265db895899efab0cf97", ".git/objects/5b/44011696227f26a7c4d4c5b4b2874b9fe7bf7b", ".git/objects/5e/433b062a857c0497375c6fd621543106005ce8", ".git/objects/63/4f7d3f7733838417bc0fa090139ef05e15a74f", ".git/objects/69/2b527d6ddc2c88d57dd5fc6f36191ac7d7124c", ".git/objects/6c/41bedb7233e5cd29ef3f98982d6adabd0b58f9", ".git/objects/6f/d260879fc3d5afe7d68ef43d4466f2391760dd", ".git/objects/76/6f6a48a18be39f100b6bfe69a9a75c9d9f4690", ".git/objects/7d/4116571ec08a206a391f623ac73912707efaae", ".git/objects/7d/dd252e5bcb58a40d39450280d316c327354755", ".git/objects/7d/e4daf36d50aa32f6ce28e2d00237528fb5e87f", ".git/objects/89/886ddee8d0f5351dd33b70ecbadba7d443d40f", ".git/objects/90/b4678b2544afc9cd536bfb32dd5af301583752", ".git/objects/96/3a646fe4d05c3bcb0b9870bdcc6213422547d3", ".git/objects/97/5b7b15f1b0570bc2d65230ffb6a812cf3b27e1", ".git/objects/a1/89e4eb96aaef371bdd31f693034bcfd1c1475b", ".git/objects/a2/317f0f2f5513287c6b5297d1326ff7696b264f", ".git/objects/ab/f47258a219173a7071b0009ed1aa0b53070eec", ".git/objects/ac/42b393696e320f12b662f5dd9686a10655a9c5", ".git/objects/af/4892fceaaf4ae9e7ebe8fd83a321de6e0632ea", ".git/objects/b9/cf9d7dbe8121ede710d2c19a9f572988463a4d", ".git/objects/bb/1162c1f3474c8380d73f48d8af8567a6fe16b2", ".git/objects/c5/653762ee23dd313126ab500e3c827093e39fcf", ".git/objects/c8/1531972f4d15a3de66df8399ec48c8c5cdef68", ".git/objects/db/b6e045c18c46548458d88661efc638b6f33aca", ".git/objects/dd/c38c6eb601a6755bb6bd98ea4d04b7a035857a", ".git/objects/de/57e7ff9810fd6b3d199bda60880acf87f6c1bb", ".git/objects/de/6565d370577eee92734f8ed1907b46e9498d51", ".git/objects/de/e64a19bfaa35c06cd428fb4ad577332267f370", ".git/objects/e4/9df7e2a93d33bd572e458ac6422e93d2c75bb2", ".git/objects/e5/8db62de9ed9b73b92072850d37754de748e532", ".git/objects/e5/9a6a12400500cf1766d332a2735df85083edf8", ".git/objects/eb/82eeb8ee03b998e468aefd726752a4c2c2ab10", ".git/objects/ec/40c86e224f0744d32992dab3e4e8dfff4e44db", ".git/objects/f4/1a2149b85c693085022dceafbe5a0614f5b74a", ".git/objects/f7/9be5951a5f5229e87a2851944d127110e0f5b1", ".git/objects/fc/2f2fa2516ea0f3f1a58f525ff9054ad23e1d47", ".git/objects/fd/98e0f2c18555906861c26c1f0ee05580096caa", ".git/objects/fe/c84815790fe1587b2cdabdf0f62428e1808963", ".git/objects/ff/b6d7438661c2f47854344676bffd4b9b428b5e", ".git/objects/pack/pack-7aed4e203c2b94a917664d44a6cd37ca4eeecfea.idx", ".git/objects/pack/pack-7aed4e203c2b94a917664d44a6cd37ca4eeecfea.pack", ".git/packed-refs", ".git/refs/heads/master", ".git/refs/remotes/origin/HEAD", ".git/refs/remotes/origin/master", ".git/refs/tags/v1.0.0", ".git/refs/tags/v1.0.2", "History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "g_already_grid.gemspec", "lib/g_already_grid.rb", "lib/g_already_grid/templates/guilded.already_grid.html.erb", "lib/g_already_grid/view_helpers.rb", "rails_generators/already_grid_assets/already_grid_assets_generator.rb", "rails_generators/already_grid_assets/templates/default.css", "rails_generators/already_grid_assets/templates/gridHeadBg.gif", "rails_generators/already_grid_assets/templates/gridSort.gif", "rails_generators/already_grid_assets/templates/gridSortAsc.gif", "rails_generators/already_grid_assets/templates/gridSortDesc.gif", "rails_generators/already_grid_assets/templates/guilded.already_grid.js", "rails_generators/already_grid_assets/templates/guilded.already_grid.min.js", "rails_generators/already_grid_assets/templates/jquery-already_grid-0.1.js", "rails_generators/already_grid_assets/templates/jquery-already_grid-0.1.min.js", "script/console", "script/destroy", "script/generate", "spec/g_already_grid_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
13
+ s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "g_already_grid.gemspec", "lib/g_already_grid.rb", "lib/g_already_grid/templates/guilded.already_grid.html.erb", "lib/g_already_grid/view_helpers.rb", "rails_generators/already_grid_assets/already_grid_assets_generator.rb", "rails_generators/already_grid_assets/templates/default.css", "rails_generators/already_grid_assets/templates/gridHeadBg.gif", "rails_generators/already_grid_assets/templates/gridSort.gif", "rails_generators/already_grid_assets/templates/gridSortAsc.gif", "rails_generators/already_grid_assets/templates/gridSortDesc.gif", "rails_generators/already_grid_assets/templates/guilded.already_grid.js", "rails_generators/already_grid_assets/templates/guilded.already_grid.min.js", "rails_generators/already_grid_assets/templates/jquery-already_grid-0.1.js", "rails_generators/already_grid_assets/templates/jquery-already_grid-0.1.min.js", "script/console", "script/destroy", "script/generate", "spec/g_already_grid_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://github.com/midas/g_already_grid/tree/master}
16
16
  s.post_install_message = %q{PostInstall.txt}
@@ -4,7 +4,7 @@ $:.unshift(File.dirname(__FILE__)) unless
4
4
  require 'g_already_grid/view_helpers'
5
5
 
6
6
  module GAlreadyGrid
7
- VERSION = '1.0.3'
7
+ VERSION = '1.0.4'
8
8
  end
9
9
 
10
10
  if defined?( ActionView::Base )
@@ -1,53 +1,52 @@
1
- <div class="<%= grid_class %>" id="<%= grid_id %>">
1
+ <div class="<%= options[:grid_class] %>" id="<%= options[:id] %>">
2
2
  <table cellspacing="0" cellpadding="0">
3
3
  <thead>
4
4
  <tr>
5
- <% if do_checkboxes %>
6
- <th class="chkBox"><input type="checkbox" class="<%= check_all_class %>" /></th>
5
+ <% if options[:checkboxes] %>
6
+ <th class="chkBox"><input type="checkbox" class="<%= options[:check_all_class] %>" /></th>
7
7
  <% end %>
8
- <% unless no_actions %><th>Actions</th><% end %>
9
- <% col_titles.each_with_index do |col, i| %>
10
- <th><%= sort_by.include?( cols[i].to_sym ) ? sortable_header( col, cols[i], index_rest_method ) : col %></th>
8
+ <% unless options[:actions].empty? %><th>Actions</th><% end %>
9
+ <% options[:col_titles].each_with_index do |col, i| %>
10
+ <th><%= sort_by.include?( options[:cols][i].to_sym ) ? sortable_header( col, options[:cols][i], path_helpers[:index_rest_helper], path_helpers[:index_rest_args] ) : col %></th>
11
11
  <% end %>
12
12
  <th class="right"></th>
13
13
  </tr>
14
14
  </thead>
15
15
  <tbody>
16
16
  <% ar_col.each do |record| %>
17
+ <% record_array = Array.new << record %>
17
18
  <tr class="<%= cycle( 'even', 'odd' ) %>">
18
- <% shallow ? path_args = [record] : path_args = [scoped_by, record] %>
19
- <% if do_checkboxes %>
20
- <td class="chkBox"><input type="checkbox" class="<%= checkbox_class %>" name="<%= record.class.to_s.tableize %>[<%= record.id %>]" /></td>
19
+ <% if options[:checkboxes] %>
20
+ <td class="chkBox"><input type="checkbox" class="<%= options[:checkbox_class] %>" name="<%= record.class.to_s.tableize %>[<%= record.id %>]" /></td>
21
21
  <% end %>
22
- <% unless no_actions %>
22
+ <% unless options[:actions].empty? %>
23
23
  <td>
24
- <%= link_to 'show', @controller.send( show_rest_method, *path_args ) unless show_rest_method.nil? %>
25
- <%= link_to 'edit', @controller.send( edit_rest_method, *path_args ) unless edit_rest_method.nil? %>
26
- <%= link_to( 'del', @controller.send( delete_rest_method, *path_args ),
27
- :method => :delete, :confirm => del_confirmation ) unless delete_rest_method.nil? %>
24
+ <%= link_to 'show', @controller.send( path_helpers[:show_rest_helper], *(path_helpers[:show_rest_args] + record_array) ) if options[:actions].include?( :show ) %>
25
+ <%= link_to 'edit', @controller.send( path_helpers[:edit_rest_helper], *(path_helpers[:edit_rest_args] + record_array) ) if options[:actions].include?( :edit ) %>
26
+ <%= link_to( 'del', @controller.send( path_helpers[:delete_rest_helper], *(path_helpers[:edit_rest_args] + record_array) ),
27
+ :method => :delete, :confirm => options[:del_confirmation] ) if options[:actions].include?( :edit ) %>
28
28
  </td>
29
29
  <% end %>
30
- <% cols.each do |col|
30
+ <% options[:cols].each do |col|
31
31
  translate_method = "translate_#{col}".to_sym
32
32
 
33
- if polymorphic_as && col.to_s.include?( polymorphic_as.to_s )
34
- col_name = col.to_s.gsub( /#{polymorphic_as}_/, "" )
35
- col_val = record.send( polymorphic_as.to_sym ).send( col_name.to_sym )
33
+ if options[:polymorphic_as] && col.to_s.include?( options[:polymorphic_as].to_s )
34
+ col_name = col.to_s.gsub( /#{options[:polymorphic_as]}_/, "" )
35
+ col_val = record.send( options[:polymorphic_as].to_sym ).send( col_name.to_sym )
36
36
  else
37
37
  col_val = record.send( col.to_sym )
38
38
  end
39
39
 
40
40
  if col_val.is_a?( Time )
41
- record_val = col_val.to_formatted_s( date_format.to_sym )
41
+ record_val = col_val.to_formatted_s( options[:date_format].to_sym )
42
42
  elsif respond_to?( translate_method )
43
43
  record_val = send( translate_method, col_val )
44
- #elsif col_val.is_a?( TrueClass ) || col_val.is_a?( NilClass )
45
- # record_val = respond_to?( :translate_boolean ) ? translate_boolean( col_val ) : col_val
46
44
  else
47
45
  record_val = col_val.to_s
48
46
  end %>
49
47
  <td>
50
- <%= no_actions ? link_to( record_val, @controller.send( show_rest_method, *path_args ) ) : record_val %>
48
+ <% cell_args = path_helpers[:show_rest_args] + record_array %>
49
+ <%= options[:actions].empty? ? link_to( record_val, @controller.send( path_helpers[:show_rest_helper], *cell_args ) ) : record_val %>
51
50
  </td>
52
51
  <% end %>
53
52
  <td class="right"></td>
@@ -55,7 +54,7 @@
55
54
  </tbody>
56
55
  <tfoot>
57
56
  <tr>
58
- <td colspan="<%= total_columns.to_s %>">
57
+ <td colspan="<%= options[:total_columns].to_s %>">
59
58
  <% if do_paginate %><p><%= will_paginate( ar_col ) %></p><p><%= page_entries_info( ar_col ) %></p><% end %>
60
59
  </td>
61
60
  </tr>
@@ -25,6 +25,9 @@ module GAlreadyGrid
25
25
  # true. Utilizes will_paginate plugin features.
26
26
  # polymorphic_type:: The type of this polymorphic record. Should be a string representing the class name.
27
27
  # polymorphic_as:: The as used for the polymorphic type. Can be a symbol or string.
28
+ # namespace::
29
+ # scoped_by::
30
+ # shallow::
28
31
  #
29
32
  def g_already_grid( ar_col, *args )
30
33
  options = args.extract_options!
@@ -35,23 +38,16 @@ module GAlreadyGrid
35
38
 
36
39
  return "<span class=\"list-empty-msg\">#{options[:empty_msg] || 'No matching records'}</span>" if ar_col.nil? || ar_col.empty?
37
40
 
38
- plural_ar_type = ar_col[0].class.to_s.tableize
39
- singular_ar_type = plural_ar_type.singularize
40
- polymorphic_as = options[:polymorphic_as]
41
- polymorphic_type = options[:polymorphic_type]
42
- plural_polymorphic_type = polymorphic_type.to_s.tableize if polymorphic_type
43
- singular_polymorphic_type = plural_polymorphic_type.singularize if polymorphic_type
44
- options[:checkbox_class] = "chk"
45
- options[:check_all_class] = "checkAll"
46
- date_format = options[:date_format] || :default
47
- plural_derived_type = polymorphic_type.nil? ? plural_ar_type : plural_polymorphic_type
48
- plural_singular_type = polymorphic_type.nil? ? singular_ar_type : singular_polymorphic_type
41
+ options[:grid_class] ||= 'already-grid'
42
+ options[:checkbox_class] ||= "chk"
43
+ options[:check_all_class] ||= "checkAll"
44
+ options[:date_format] ||= :default
45
+ options[:del_confirmation] ||= 'Are you sure you would like to delete this record?'
46
+
47
+ options[:cols], options[:col_titles] = Guilded::Rails::Helpers.resolve_field_methods_and_titles( options[:cols], ar_col[0] )
48
+ path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( ar_col, options )
49
+
49
50
  scoped_by = options.delete( :scoped_by )
50
- if scoped_by
51
- shallow = options.delete( :shallow ) || false
52
- else
53
- shallow = true
54
- end
55
51
 
56
52
  # Resolve sorting
57
53
  if options[:sort]
@@ -65,88 +61,16 @@ module GAlreadyGrid
65
61
  end
66
62
  sort_by = Array.new unless sort_by
67
63
 
68
- # Set up the options booleans we need to decide on output HTML
69
- no_actions = !(options[:actions] == true || options[:actions] == 'true')
70
- no_actions ||= true
71
-
72
- if no_actions
73
- options[:actions] = [ :show ]
74
- elsif !options[:actions].is_a?( Array )
64
+ if options[:actions].is_a?( TrueClass )
75
65
  options[:actions] = [ :show, :edit, :delete ]
66
+ elsif options[:actions].nil?
67
+ options[:actions] = []
76
68
  end
77
-
78
- controller_name_parts = @controller.class.to_s.underscore.split( '/' )
79
- controller_name_parts.pop
80
- pre = controller_name_parts.join( '_' )
81
-
82
- unless ar_col.empty?
83
-
84
- # Figure out the index REST path helper name
85
- if options.has_key?( :index_path_helper )
86
- index_rest_method = options[:index_path_helper].to_s
87
- elsif scoped_by
88
- if pre.empty?
89
- index_rest_method = "#{scoped_by.class.to_s.underscore}_#{plural_derived_type}_path" if ar_col.size > 0
90
- else
91
- index_rest_method = "#{pre}_#{scoped_by.class.to_s.underscore}_#{plural_derived_type}_path" if ar_col.size > 0
92
- end
93
- elsif pre.empty?
94
- index_rest_method = "#{plural_derived_type}_path" if ar_col.size > 0
95
- #index_rest_method.gsub!( /#{plural_ar_type}/, "#{plural_polymorphic_type}") if plural_polymorphic_type
96
- else
97
- index_rest_method = "#{pre}_#{plural_derived_type}_path" if ar_col.size > 0
98
- #index_rest_method.gsub!( /#{plural_ar_type}/, "#{plural_polymorphic_type}") if plural_polymorphic_type
99
- end
100
-
101
- # Figure out the show REST path helper name
102
- if options.has_key?( :show_path_helper )
103
- show_rest_method = options[:show_path_helper].to_s
104
- elsif scoped_by && !shallow
105
- if pre.empty?
106
- show_rest_method = "#{scoped_by.class.to_s.underscore}_#{singular_ar_type}_path" if ar_col.size > 0
107
- else
108
- show_rest_method = "#{pre}_#{scoped_by.class.to_s.underscore}_#{singular_ar_type }_path" if ar_col.size > 0
109
- end
110
- elsif pre.empty?
111
- show_rest_method = "#{singular_ar_type}_path" if ar_col.size > 0
112
- show_rest_method.gsub!( /#{singular_ar_type}/, "#{singular_polymorphic_type}") if singular_polymorphic_type
113
- else
114
- show_rest_method = "#{pre}_#{singular_ar_type}_path" if ar_col.size > 0
115
- show_rest_method.gsub!( /#{singular_ar_type}/, "#{singular_polymorphic_type}") if singular_polymorphic_type
116
- end
117
-
118
- unless no_actions
119
- # Figure out the edit REST path helper name
120
- if options.has_key?( :edit_path_helper )
121
- edit_rest_method = options[:edit_path_helper].to_s
122
- elsif scoped_by && !shallow
123
- if pre.empty?
124
- edit_rest_method = "edit_#{scoped_by.class.to_s.underscore}_#{singular_ar_type}_path" if ar_col.size > 0
125
- else
126
- edit_rest_method = "edit_#{pre}_#{scoped_by.class.to_s.underscore}_#{singular_ar_type }_path" if ar_col.size > 0
127
- end
128
- elsif pre.empty?
129
- edit_rest_method = "edit_#{singular_ar_type}_path" if ar_col.size > 0
130
- else
131
- edit_rest_method = "edit_#{pre}_#{singular_ar_type}_path" if ar_col.size > 0
132
- end
133
-
134
- # Figure out the delete REST path helper name
135
- if options.has_key?( :delete_path_helper )
136
- delete_rest_method = options[:delete_path_helper].to_s
137
- elsif pre.empty?
138
- delete_rest_method = "#{singular_ar_type}_path" if ar_col.size > 0
139
- else
140
- delete_rest_method = "#{pre}_#{singular_ar_type}_path" if ar_col.size > 0
141
- end
142
- end
143
- end
144
-
145
- cols, col_titles = Guilded::Rails::Helpers.resolve_field_methods_and_titles( options[:cols], ar_col[0] )
146
69
 
70
+ # Resolve pagination
147
71
  do_paginate = true
148
72
  begin
149
- if options[:paginate] == false || options[:paginate] == 'false' #ar_col.total_pages <= 1
73
+ if options[:paginate] == false || options[:paginate] == 'false'
150
74
  do_paginate = false
151
75
  end
152
76
  rescue => e
@@ -157,39 +81,16 @@ module GAlreadyGrid
157
81
  end
158
82
  end
159
83
 
160
- do_checkboxes = true
161
- do_checkboxes = false if options[:checkboxes] == false || options[:checkboxes] == 'false'
162
- options[:checkboxes] = do_checkboxes unless options[:checkboxes]
84
+ options[:checkboxes] = true if options[:checkboxes].nil?
163
85
 
164
- total_columns = cols.size
165
- total_columns = total_columns + 1 if do_checkboxes
166
- total_columns = total_columns + 1 unless no_actions
86
+ total_columns = options[:cols].size
87
+ total_columns = total_columns + 1 if options[:checkboxes]
88
+ total_columns = total_columns + 1 unless options[:actions].empty?
167
89
  options[:total_columns] = total_columns
168
90
 
169
91
  vars = {
170
- :no_actions => no_actions, :actions => options[:actions], :do_checkboxes => do_checkboxes,
171
- :total_columns => total_columns, :del_confirmation => 'Are you sure you would like to delete this record?',
172
- :col_titles => col_titles, :cols => cols, :grid_class => 'already-grid', :checkbox_class => options[:checkbox_class],
173
- :check_all_class => options[:check_all_class], :grid_id => options[:id], :ar_col => ar_col, :do_paginate => do_paginate,
174
- :date_format => date_format, :polymorphic_type => polymorphic_type, :polymorphic_as => polymorphic_as,
175
- :sort_by => sort_by, :index_rest_method => index_rest_method, :shallow => shallow, :scoped_by => scoped_by
92
+ :options => options, :ar_col => ar_col, :do_paginate => do_paginate, :sort_by => sort_by, :path_helpers => path_helpers
176
93
  }
177
-
178
- if ( !options[:actions].nil? && options[:actions].include?( :show ) ) || options[:actions].nil?
179
- vars.merge!( :show_rest_method => show_rest_method )
180
- else
181
- vars.merge!( :show_rest_method => nil )
182
- end
183
- if ( !options[:actions].nil? && options[:actions].include?( :edit ) ) || options[:actions].nil?
184
- vars.merge!( :edit_rest_method => edit_rest_method )
185
- else
186
- vars.merge!( :edit_rest_method => nil )
187
- end
188
- if ( !options[:actions].nil? && options[:actions].include?( :delete ) ) || options[:actions].nil?
189
- vars.merge!( :delete_rest_method => delete_rest_method )
190
- else
191
- vars.merge!( :delete_rest_method => nil )
192
- end
193
94
 
194
95
  path = File.dirname(__FILE__)
195
96
  full_path = "#{path}/templates/guilded.already_grid.html.erb"
@@ -208,7 +109,7 @@ module GAlreadyGrid
208
109
  # path:: (Symbol) The name of the path method to call from routing.
209
110
  # options:: see link_to helper.
210
111
  #
211
- def sortable_header( name, method, path, options={} )
112
+ def sortable_header( name, method, path, scoping_args, options={} )
212
113
 
213
114
  is_sorted_link = ( method.to_s == params[:order].to_s )
214
115
 
@@ -229,14 +130,17 @@ module GAlreadyGrid
229
130
  unsorted_options.merge!( :filter => params[:filter] ) if params[:filter]
230
131
 
231
132
  path = path.to_sym unless path.is_a?( Symbol )
133
+ path_args = Array.new + scoping_args
232
134
 
233
135
  if is_sorted_link
234
136
  # Handle the currently sorted by link
235
- path = @controller.send( path, sort_options )
137
+ path_args << sort_options
138
+ path = @controller.send( path, *path_args )
236
139
  else
237
140
  # Handle the the other currently unsorted by links (we will always sort in
238
141
  # an ASC direction the first time)
239
- path = @controller.send( path, unsorted_options )
142
+ path_args << unsorted_options
143
+ path = @controller.send( path, *path_args )
240
144
  end
241
145
  #end
242
146
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: midas-g_already_grid
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - C. Jason Harrelson (midas)
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-18 00:00:00 -07:00
12
+ date: 2009-03-26 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -65,92 +65,6 @@ extra_rdoc_files:
65
65
  - PostInstall.txt
66
66
  - README.rdoc
67
67
  files:
68
- - .git/COMMIT_EDITMSG
69
- - .git/HEAD
70
- - .git/config
71
- - .git/description
72
- - .git/hooks/applypatch-msg.sample
73
- - .git/hooks/commit-msg.sample
74
- - .git/hooks/post-commit.sample
75
- - .git/hooks/post-receive.sample
76
- - .git/hooks/post-update.sample
77
- - .git/hooks/pre-applypatch.sample
78
- - .git/hooks/pre-commit.sample
79
- - .git/hooks/pre-rebase.sample
80
- - .git/hooks/prepare-commit-msg.sample
81
- - .git/hooks/update.sample
82
- - .git/index
83
- - .git/info/exclude
84
- - .git/logs/HEAD
85
- - .git/logs/refs/heads/master
86
- - .git/logs/refs/remotes/origin/HEAD
87
- - .git/logs/refs/remotes/origin/master
88
- - .git/objects/02/85e65fe6d5a62b7badce283d02f1fb626a1ab7
89
- - .git/objects/02/df3eba6f6e8eb54809d163a150c736f67c5a26
90
- - .git/objects/07/823e3e4f3d9ec546d63b6559b37153c0df18a5
91
- - .git/objects/0f/1236da897d1e58f4b07b708476a0501865b691
92
- - .git/objects/0f/961dcada4c3a21a506f410718b1d01f36bd283
93
- - .git/objects/12/6777195e9ef321021d14e942cd4160ce5eca1e
94
- - .git/objects/19/4974f3fea3fc6a21372a4cef13599525714622
95
- - .git/objects/22/4224da073354641355f3662e295d9ec99ef366
96
- - .git/objects/28/bea3eb33169ff67ce34f82168d7cddc6caa440
97
- - .git/objects/36/f59b31836194f47821bd21060c413f229cf174
98
- - .git/objects/3b/2d1ce9b2f5e05f70403e08798b19cb962d84f4
99
- - .git/objects/3c/79c1d2a5f3149296bd5a84a31f6c1e7df08400
100
- - .git/objects/42/17c3829629b09f6757ee68353d7273920939fb
101
- - .git/objects/43/4d1f35c9811567615eb0e13cd87f461a154e19
102
- - .git/objects/45/b904d8ecd3149f3f16e9b86e917690e0eebef9
103
- - .git/objects/4b/7f07757eb7e9560c7acfac98e2fa5b77da5a5e
104
- - .git/objects/52/ede8cef7c02782dbfa6bc9b080384c58d553fd
105
- - .git/objects/5a/2e88151df3b26c1283119bcd11f0e5c30d18e7
106
- - .git/objects/5a/fb625dbee0c45379a4265db895899efab0cf97
107
- - .git/objects/5b/44011696227f26a7c4d4c5b4b2874b9fe7bf7b
108
- - .git/objects/5e/433b062a857c0497375c6fd621543106005ce8
109
- - .git/objects/63/4f7d3f7733838417bc0fa090139ef05e15a74f
110
- - .git/objects/69/2b527d6ddc2c88d57dd5fc6f36191ac7d7124c
111
- - .git/objects/6c/41bedb7233e5cd29ef3f98982d6adabd0b58f9
112
- - .git/objects/6f/d260879fc3d5afe7d68ef43d4466f2391760dd
113
- - .git/objects/76/6f6a48a18be39f100b6bfe69a9a75c9d9f4690
114
- - .git/objects/7d/4116571ec08a206a391f623ac73912707efaae
115
- - .git/objects/7d/dd252e5bcb58a40d39450280d316c327354755
116
- - .git/objects/7d/e4daf36d50aa32f6ce28e2d00237528fb5e87f
117
- - .git/objects/89/886ddee8d0f5351dd33b70ecbadba7d443d40f
118
- - .git/objects/90/b4678b2544afc9cd536bfb32dd5af301583752
119
- - .git/objects/96/3a646fe4d05c3bcb0b9870bdcc6213422547d3
120
- - .git/objects/97/5b7b15f1b0570bc2d65230ffb6a812cf3b27e1
121
- - .git/objects/a1/89e4eb96aaef371bdd31f693034bcfd1c1475b
122
- - .git/objects/a2/317f0f2f5513287c6b5297d1326ff7696b264f
123
- - .git/objects/ab/f47258a219173a7071b0009ed1aa0b53070eec
124
- - .git/objects/ac/42b393696e320f12b662f5dd9686a10655a9c5
125
- - .git/objects/af/4892fceaaf4ae9e7ebe8fd83a321de6e0632ea
126
- - .git/objects/b9/cf9d7dbe8121ede710d2c19a9f572988463a4d
127
- - .git/objects/bb/1162c1f3474c8380d73f48d8af8567a6fe16b2
128
- - .git/objects/c5/653762ee23dd313126ab500e3c827093e39fcf
129
- - .git/objects/c8/1531972f4d15a3de66df8399ec48c8c5cdef68
130
- - .git/objects/db/b6e045c18c46548458d88661efc638b6f33aca
131
- - .git/objects/dd/c38c6eb601a6755bb6bd98ea4d04b7a035857a
132
- - .git/objects/de/57e7ff9810fd6b3d199bda60880acf87f6c1bb
133
- - .git/objects/de/6565d370577eee92734f8ed1907b46e9498d51
134
- - .git/objects/de/e64a19bfaa35c06cd428fb4ad577332267f370
135
- - .git/objects/e4/9df7e2a93d33bd572e458ac6422e93d2c75bb2
136
- - .git/objects/e5/8db62de9ed9b73b92072850d37754de748e532
137
- - .git/objects/e5/9a6a12400500cf1766d332a2735df85083edf8
138
- - .git/objects/eb/82eeb8ee03b998e468aefd726752a4c2c2ab10
139
- - .git/objects/ec/40c86e224f0744d32992dab3e4e8dfff4e44db
140
- - .git/objects/f4/1a2149b85c693085022dceafbe5a0614f5b74a
141
- - .git/objects/f7/9be5951a5f5229e87a2851944d127110e0f5b1
142
- - .git/objects/fc/2f2fa2516ea0f3f1a58f525ff9054ad23e1d47
143
- - .git/objects/fd/98e0f2c18555906861c26c1f0ee05580096caa
144
- - .git/objects/fe/c84815790fe1587b2cdabdf0f62428e1808963
145
- - .git/objects/ff/b6d7438661c2f47854344676bffd4b9b428b5e
146
- - .git/objects/pack/pack-7aed4e203c2b94a917664d44a6cd37ca4eeecfea.idx
147
- - .git/objects/pack/pack-7aed4e203c2b94a917664d44a6cd37ca4eeecfea.pack
148
- - .git/packed-refs
149
- - .git/refs/heads/master
150
- - .git/refs/remotes/origin/HEAD
151
- - .git/refs/remotes/origin/master
152
- - .git/refs/tags/v1.0.0
153
- - .git/refs/tags/v1.0.2
154
68
  - History.txt
155
69
  - Manifest.txt
156
70
  - PostInstall.txt