effective_datatables 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 414d2116620a9a9fc13a0bc1834558b06d962d45
4
- data.tar.gz: 23396e31fee70831e41f9e90aec1d269c9009248
3
+ metadata.gz: 86c4a4ce9bbbe51c5b6a37624ab041e0150130a7
4
+ data.tar.gz: 5601231c343b39b14aeb87b5e5e04c7086f26c4d
5
5
  SHA512:
6
- metadata.gz: abb7a4c4b53a0c3218ac24d07cea39fb245eac48d7c8f3764a1362005c7bd012fc20107fd8c6f81b82efcac168e0e6f6c5eee30754b009bc69a66c1a6f003a25
7
- data.tar.gz: 80a229f44939b2d4762d53e412217443c3f8402fd3be82523e7013809530e517867252800d97e049ab93b19ad9afc4a63b9e98aa80bf11147adabf74940a7450
6
+ metadata.gz: c4a50e770e239cbef09f544414d4f18a78471140e456309536672e61e40e192de1c2e5ad25d7e98ae9d4fc8e1964c4c3e3a8649e639fb8cb4442b14eb87bd65e
7
+ data.tar.gz: 8edc669655778534cddfc4e74e31811740759574d0f0597b2e2b033211084014a397340e14a9b48177f499c02009538658d4c883ccb7682ac65f5b9ff30857ea
data/README.md CHANGED
@@ -184,11 +184,25 @@ or (complex example):
184
184
 
185
185
  ```ruby
186
186
  def collection
187
- User.unscoped.uniq
188
- .joins('LEFT JOIN customers ON customers.user_id = users.id')
189
- .select('users.*')
190
- .select('customers.stripe_customer_id AS stripe_customer_id')
191
- .includes(:addresses)
187
+ collection = Effective::Order.unscoped.purchased
188
+ .joins(:user)
189
+ .joins(:order_items)
190
+ .group('users.email')
191
+ .group('orders.id')
192
+ .select('users.email AS email')
193
+ .select('orders.*')
194
+ .select("#{query_total} AS total")
195
+ .select("string_agg(order_items.title, '!!OI!!') AS order_items")
196
+
197
+ if attributes[:user_id].present?
198
+ collection.where(:user_id => attributes[:user_id])
199
+ else
200
+ collection
201
+ end
202
+ end
203
+
204
+ def query_total
205
+ "SUM((order_items.price * order_items.quantity) + (CASE order_items.tax_exempt WHEN true THEN 0 ELSE ((order_items.price * order_items.quantity) * order_items.tax_rate) END))"
192
206
  end
193
207
  ```
194
208
 
@@ -6,7 +6,7 @@ module Effective
6
6
  @datatable = Effective::Datatable.find(params[:id], params[:attributes])
7
7
  @datatable.view = view_context if @datatable.present?
8
8
 
9
- EffectiveDatatables.authorized?(self, :index, @datatable.collection_class)
9
+ EffectiveDatatables.authorized?(self, :index, @datatable.try(:collection_class) || Effective::Datatable)
10
10
 
11
11
  respond_to do |format|
12
12
  format.html
@@ -164,13 +164,13 @@ module Effective
164
164
  col = collection
165
165
 
166
166
  if active_record_collection?
167
- self.total_records = (col.select('*').reorder(nil).count rescue 1)
167
+ self.total_records = (collection_class.connection.execute("SELECT COUNT(*) FROM (#{col.to_sql}) AS datatables_count").first['count'] rescue 1)
168
168
 
169
169
  col = table_tool.order(col)
170
170
  col = table_tool.search(col)
171
171
 
172
172
  if table_tool.search_terms.present? && array_tool.search_terms.blank?
173
- self.display_records = (col.select('*').reorder(nil).count rescue 1)
173
+ self.display_records = (collection_class.connection.execute("SELECT COUNT(*) FROM (#{col.to_sql}) AS datatables_count").first['count'] rescue 1)
174
174
  end
175
175
  else
176
176
  self.total_records = col.size
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '1.0.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_datatables
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-08 00:00:00.000000000 Z
11
+ date: 2014-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  version: '0'
173
173
  requirements: []
174
174
  rubyforge_project:
175
- rubygems_version: 2.4.3
175
+ rubygems_version: 2.2.0
176
176
  signing_key:
177
177
  specification_version: 4
178
178
  summary: Uniquely powerful server-side searching, sorting and filtering of any ActiveRecord