spree_promo 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,29 +9,31 @@ function cleanUsers(data) {
9
9
  }
10
10
 
11
11
  $(document).ready(function() {
12
- $('.user_picker').select2({
13
- minimumInputLength: 1,
14
- multiple: true,
15
- initSelection: function(element, callback) {
16
- $.get(Spree.routes.user_search, { ids: element.val() }, function(data) {
17
- callback(cleanUsers(data))
18
- })
19
- },
20
- ajax: {
21
- url: Spree.routes.user_search,
22
- datatype: 'json',
23
- data: function(term, page) {
24
- return { q: term }
12
+ if ($('user_picker').length > 0) {
13
+ $('.user_picker').select2({
14
+ minimumInputLength: 1,
15
+ multiple: true,
16
+ initSelection: function(element, callback) {
17
+ $.get(Spree.routes.user_search, { ids: element.val() }, function(data) {
18
+ callback(cleanUsers(data))
19
+ })
25
20
  },
26
- results: function(data, page) {
27
- return { results: cleanUsers(data) }
21
+ ajax: {
22
+ url: Spree.routes.user_search,
23
+ datatype: 'json',
24
+ data: function(term, page) {
25
+ return { q: term }
26
+ },
27
+ results: function(data, page) {
28
+ return { results: cleanUsers(data) }
29
+ }
30
+ },
31
+ formatResult: function(user) {
32
+ return user.email;
33
+ },
34
+ formatSelection: function(user) {
35
+ return user.email;
28
36
  }
29
- },
30
- formatResult: function(user) {
31
- return user.email;
32
- },
33
- formatSelection: function(user) {
34
- return user.email;
35
- }
36
- });
37
+ });
38
+ }
37
39
  })
@@ -4,7 +4,17 @@ module Spree
4
4
  class FirstOrder < PromotionRule
5
5
  def eligible?(order, options = {})
6
6
  user = order.try(:user) || options[:user]
7
- !!(user && user.orders.complete.count == 0)
7
+ if user
8
+ return orders_by_email(user.email) == 0
9
+ elsif order.email
10
+ return orders_by_email(order.email) == 0
11
+ end
12
+
13
+ return false
14
+ end
15
+
16
+ def orders_by_email(email)
17
+ Spree::Order.where(:email => email).count
8
18
  end
9
19
  end
10
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_promo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-19 00:00:00.000000000 Z
12
+ date: 2013-01-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_core
16
- requirement: &70301845341720 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - =
19
+ - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.2.2
21
+ version: 1.2.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70301845341720
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.2.3
25
30
  description: Required dependency for Spree
26
31
  email: david@spreecommerce.com
27
32
  executables: []
@@ -107,7 +112,8 @@ files:
107
112
  - db/migrate/20120119024708_create_spree_pending_promotions.rb
108
113
  - db/migrate/20120119024721_content_visited_event.rb
109
114
  homepage: http://spreecommerce.com
110
- licenses: []
115
+ licenses:
116
+ - BSD-3
111
117
  post_install_message:
112
118
  rdoc_options: []
113
119
  require_paths:
@@ -126,11 +132,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
132
  version: '0'
127
133
  segments:
128
134
  - 0
129
- hash: -4584730679565675092
135
+ hash: 3116838314541820160
130
136
  requirements:
131
137
  - none
132
138
  rubyforge_project:
133
- rubygems_version: 1.8.10
139
+ rubygems_version: 1.8.23
134
140
  signing_key:
135
141
  specification_version: 3
136
142
  summary: Promotion functionality for use with Spree.