rightnow_oms 0.1.4 → 0.1.6

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.
Files changed (47) hide show
  1. data/CHANGELOG +12 -0
  2. data/README.md +145 -66
  3. data/app/assets/javascripts/rightnow_oms/app/app.js.coffee +12 -4
  4. data/app/assets/javascripts/rightnow_oms/app/controllers/cart.js.coffee +17 -32
  5. data/app/assets/javascripts/rightnow_oms/app/models/cart.js.coffee +50 -28
  6. data/app/assets/javascripts/rightnow_oms/app/models/cart_item.js.coffee +28 -49
  7. data/app/assets/javascripts/rightnow_oms/app/templates/cart_items/show.handlebars +30 -0
  8. data/app/assets/javascripts/rightnow_oms/app/templates/cart_items/{show_in_detail.hjs → show_in_detail.handlebars} +3 -3
  9. data/app/assets/javascripts/rightnow_oms/app/templates/carts/{show.hjs → show.handlebars} +4 -3
  10. data/app/assets/javascripts/rightnow_oms/app/templates/carts/show_cartable_count.handlebars +2 -0
  11. data/app/assets/javascripts/rightnow_oms/app/templates/carts/show_in_detail.handlebars +30 -0
  12. data/app/assets/javascripts/rightnow_oms/app/views/cart_items/show_in_detail.js.coffee +4 -1
  13. data/app/assets/javascripts/rightnow_oms/application.js.coffee +10 -0
  14. data/app/assets/javascripts/rightnow_oms/cart_items.js +10 -0
  15. data/app/assets/javascripts/rightnow_oms/config/app.js.coffee +5 -0
  16. data/app/assets/javascripts/rightnow_oms/config/locales/en.js.coffee +24 -0
  17. data/app/assets/javascripts/rightnow_oms/config/locales/zh_CN.js.coffee +24 -0
  18. data/app/assets/javascripts/rightnow_oms/lib/ember/data/my_rest_adapter.js.coffee +2 -167
  19. data/app/assets/javascripts/rightnow_oms/vendor/cldr.js +240 -0
  20. data/app/assets/javascripts/rightnow_oms/vendor/ember-data.js +1530 -587
  21. data/app/assets/javascripts/rightnow_oms/vendor/ember-data.min.js +1 -1
  22. data/app/assets/javascripts/rightnow_oms/vendor/ember-i18n.js +123 -0
  23. data/app/assets/javascripts/rightnow_oms/vendor/{ember-0.9.5.js → ember.js} +1584 -928
  24. data/app/assets/javascripts/rightnow_oms/vendor/ember.min.js +5 -5
  25. data/app/assets/stylesheets/rightnow_oms/carts.css.scss +93 -85
  26. data/app/controllers/rightnow_oms/cart_items_controller.rb +2 -2
  27. data/app/controllers/rightnow_oms/orders_controller.rb +27 -5
  28. data/app/models/rightnow_oms/cart.rb +1 -0
  29. data/app/models/rightnow_oms/cart_item.rb +1 -0
  30. data/app/models/rightnow_oms/order.rb +26 -2
  31. data/app/views/rightnow_oms/cart_items/_list.html.haml +24 -0
  32. data/app/views/rightnow_oms/orders/show.html.haml +2 -0
  33. data/config/initializers/rightnow_oms.rb +4 -0
  34. data/config/initializers/validates_timeliness.rb +40 -0
  35. data/config/locales/validates_timeliness.en.yml +16 -0
  36. data/config/locales/validates_timeliness.zh-CN.yml +16 -0
  37. data/db/migrate/20120224051751_add_required_arrival_time_to_rightnow_oms_orders.rb +6 -0
  38. data/db/migrate/20120302085200_add_tastes_to_rightnow_oms_order_items.rb +6 -0
  39. data/lib/rightnow_oms.rb +5 -1
  40. data/lib/rightnow_oms/controller_extension.rb +33 -0
  41. data/lib/rightnow_oms/controller_helpers.rb +4 -21
  42. data/lib/rightnow_oms/version.rb +1 -1
  43. metadata +71 -35
  44. data/app/assets/javascripts/rightnow_oms/app/templates/cart_items/show.hjs +0 -23
  45. data/app/assets/javascripts/rightnow_oms/app/templates/carts/show_cartable_count.hjs +0 -1
  46. data/app/assets/javascripts/rightnow_oms/app/templates/carts/show_in_detail.hjs +0 -27
  47. data/app/assets/javascripts/rightnow_oms/application.js +0 -8
@@ -0,0 +1,16 @@
1
+ en:
2
+ errors:
3
+ messages:
4
+ invalid_date: "is not a valid date"
5
+ invalid_time: "is not a valid time"
6
+ invalid_datetime: "is not a valid datetime"
7
+ is_at: "must be at %{restriction}"
8
+ before: "must be before %{restriction}"
9
+ on_or_before: "must be on or before %{restriction}"
10
+ after: "must be after %{restriction}"
11
+ on_or_after: "must be on or after %{restriction}"
12
+ validates_timeliness:
13
+ error_value_formats:
14
+ date: '%Y-%m-%d'
15
+ time: '%H:%M:%S'
16
+ datetime: '%Y-%m-%d %H:%M:%S'
@@ -0,0 +1,16 @@
1
+ 'zh-CN':
2
+ errors:
3
+ messages:
4
+ invalid_date: "不是有效的日期"
5
+ invalid_time: "不是有效的时间"
6
+ invalid_datetime: "不是有效的日期时间"
7
+ is_at: "必须正好在%{restriction}"
8
+ before: "必须在%{restriction}之前"
9
+ on_or_before: "必须正好或在%{restriction}之前"
10
+ after: "必须在%{restriction}之后"
11
+ on_or_after: "必须正好或在%{restriction}之后"
12
+ validates_timeliness:
13
+ error_value_formats:
14
+ date: '%Y-%m-%d'
15
+ time: '%H:%M:%S'
16
+ datetime: '%Y-%m-%d %H:%M:%S'
@@ -0,0 +1,6 @@
1
+ class AddRequiredArrivalTimeToRightnowOmsOrders < ActiveRecord::Migration
2
+ def change
3
+ add_column :rightnow_oms_orders, :required_arrival_time, :timestamp
4
+
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddTastesToRightnowOmsOrderItems < ActiveRecord::Migration
2
+ def change
3
+ add_column :rightnow_oms_order_items, :tastes, :string
4
+
5
+ end
6
+ end
@@ -1,9 +1,11 @@
1
1
  require 'acts_as_api'
2
2
  require 'confstruct'
3
+ require 'validates_timeliness'
3
4
 
4
5
  require 'rightnow_oms/engine'
5
6
  require 'rightnow_oms/cartable_validator'
6
7
  require 'rightnow_oms/acts_as_cartable'
8
+ require 'rightnow_oms/controller_extension'
7
9
  require 'rightnow_oms/controller_helpers'
8
10
  require 'rightnow_oms/order_no_generator'
9
11
 
@@ -20,4 +22,6 @@ module RightnowOms
20
22
  end
21
23
 
22
24
  ActiveRecord::Base.extend(RightnowOms::ActsAsCartable)
23
- ActionController::Base.send(:include, RightnowOms::ControllerHelpers)
25
+ ActionController::Base.send(:include, RightnowOms::ControllerExtension)
26
+ ActionController::Base.send(:helper, RightnowOms::ControllerHelpers)
27
+ ActionController::Base.send(:helper, RightnowOms::Engine.helpers)
@@ -0,0 +1,33 @@
1
+ module RightnowOms
2
+ module ControllerExtension
3
+ extend ActiveSupport::Concern
4
+
5
+ def has_cart?
6
+ !@cart.nil?
7
+ end
8
+
9
+ def remove_null_params(data = params)
10
+ data.each do |k, v|
11
+ remove_null_params(v) if v.is_a? Hash
12
+ data.delete(k) if v == 'null'
13
+ end
14
+ end
15
+
16
+ def load_cart(key = nil)
17
+ key ||= :current_cart_id
18
+ @cart = RightnowOms::Cart.find_by_id(session[key])
19
+ end
20
+
21
+ def load_or_create_cart(name = nil)
22
+ key = name ? "#{name}_cart_id".to_sym : :current_cart_id
23
+ load_cart key
24
+
25
+ unless has_cart?
26
+ @cart = RightnowOms::Cart.create
27
+ end
28
+
29
+ session[:current_cart_id] = session[key] = @cart.id
30
+ end
31
+
32
+ end
33
+ end
@@ -1,28 +1,11 @@
1
1
  module RightnowOms
2
2
  module ControllerHelpers
3
- extend ActiveSupport::Concern
4
-
5
- def has_cart?
6
- !@cart.nil?
7
- end
8
-
9
- def load_or_create_cart
10
- load_cart
11
-
12
- unless has_cart?
13
- @cart = RightnowOms::Cart.create! and session[:cart_id] = @cart.id
14
- end
15
- end
16
-
17
- def load_cart
18
- @cart = RightnowOms::Cart.find_by_id(session[:cart_id])
3
+ def current_cart
4
+ @cart
19
5
  end
20
6
 
21
- def remove_null_params(data = params)
22
- data.each do |k, v|
23
- remove_null_params(v) if v.is_a? Hash
24
- data.delete(k) if v == 'null'
25
- end
7
+ def list_items(items)
8
+ render partial: "rightnow_oms/cart_items/list", locals: { items: items }
26
9
  end
27
10
  end
28
11
  end
@@ -1,3 +1,3 @@
1
1
  module RightnowOms
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rightnow_oms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,96 +9,118 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-22 00:00:00.000000000 Z
12
+ date: 2012-03-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &17779620 !ruby/object:Gem::Requirement
16
+ requirement: &6485080 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '3.1'
21
+ version: 3.1.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *17779620
24
+ version_requirements: *6485080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jquery-rails
27
- requirement: &15954100 !ruby/object:Gem::Requirement
27
+ requirement: &6524660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: '0'
32
+ version: 1.0.19
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *15954100
35
+ version_requirements: *6524660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: coffee-rails
38
- requirement: &15834820 !ruby/object:Gem::Requirement
38
+ requirement: &6534900 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
- version: '0'
43
+ version: 3.1.1
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *15834820
46
+ version_requirements: *6534900
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sass-rails
49
- requirement: &15833020 !ruby/object:Gem::Requirement
49
+ requirement: &6532120 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.1.5
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *15833020
57
+ version_requirements: *6532120
58
+ - !ruby/object:Gem::Dependency
59
+ name: validates_timeliness
60
+ requirement: &6530220 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: 3.0.2
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *6530220
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: acts_as_api
60
- requirement: &15848500 !ruby/object:Gem::Requirement
71
+ requirement: &6528740 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
64
75
  - !ruby/object:Gem::Version
65
- version: '0'
76
+ version: 0.3.11
66
77
  type: :runtime
67
78
  prerelease: false
68
- version_requirements: *15848500
79
+ version_requirements: *6528740
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: ember-rails
71
- requirement: &15847660 !ruby/object:Gem::Requirement
82
+ requirement: &6550780 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ! '>='
75
86
  - !ruby/object:Gem::Version
76
- version: '0'
87
+ version: 0.2.4
77
88
  type: :runtime
78
89
  prerelease: false
79
- version_requirements: *15847660
90
+ version_requirements: *6550780
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: haml-rails
82
- requirement: &15846940 !ruby/object:Gem::Requirement
93
+ requirement: &6546980 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ! '>='
86
97
  - !ruby/object:Gem::Version
87
- version: '0'
98
+ version: 0.3.4
88
99
  type: :runtime
89
100
  prerelease: false
90
- version_requirements: *15846940
101
+ version_requirements: *6546980
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: confstruct
93
- requirement: &15845720 !ruby/object:Gem::Requirement
104
+ requirement: &6544440 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 0.2.2
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: *6544440
113
+ - !ruby/object:Gem::Dependency
114
+ name: ransack
115
+ requirement: &6543620 !ruby/object:Gem::Requirement
94
116
  none: false
95
117
  requirements:
96
118
  - - ! '>='
97
119
  - !ruby/object:Gem::Version
98
- version: '0'
120
+ version: 0.6.0
99
121
  type: :runtime
100
122
  prerelease: false
101
- version_requirements: *15845720
123
+ version_requirements: *6543620
102
124
  description: A common mountable engine can be used to manage the orders.
103
125
  email:
104
126
  - towerhe@gmail.com
@@ -118,20 +140,22 @@ files:
118
140
  - app/assets/stylesheets/rightnow_oms/carts.css.scss
119
141
  - app/assets/stylesheets/rightnow_oms/orders.css.scss
120
142
  - app/assets/images/rightnow_oms/cart.png
121
- - app/assets/javascripts/rightnow_oms/application.js
122
143
  - app/assets/javascripts/rightnow_oms/vendor/ember-data.min.js
123
144
  - app/assets/javascripts/rightnow_oms/vendor/ember-data.js
124
- - app/assets/javascripts/rightnow_oms/vendor/ember-0.9.5.js
145
+ - app/assets/javascripts/rightnow_oms/vendor/ember.js
146
+ - app/assets/javascripts/rightnow_oms/vendor/ember-i18n.js
147
+ - app/assets/javascripts/rightnow_oms/vendor/cldr.js
125
148
  - app/assets/javascripts/rightnow_oms/vendor/ember.min.js
126
149
  - app/assets/javascripts/rightnow_oms/lib/utils.js.coffee
127
150
  - app/assets/javascripts/rightnow_oms/lib/ember/data/types.js.coffee
128
151
  - app/assets/javascripts/rightnow_oms/lib/ember/data/extensions.js
129
152
  - app/assets/javascripts/rightnow_oms/lib/ember/data/my_rest_adapter.js.coffee
130
- - app/assets/javascripts/rightnow_oms/app/templates/cart_items/show.hjs
131
- - app/assets/javascripts/rightnow_oms/app/templates/cart_items/show_in_detail.hjs
132
- - app/assets/javascripts/rightnow_oms/app/templates/carts/show.hjs
133
- - app/assets/javascripts/rightnow_oms/app/templates/carts/show_cartable_count.hjs
134
- - app/assets/javascripts/rightnow_oms/app/templates/carts/show_in_detail.hjs
153
+ - app/assets/javascripts/rightnow_oms/application.js.coffee
154
+ - app/assets/javascripts/rightnow_oms/app/templates/cart_items/show.handlebars
155
+ - app/assets/javascripts/rightnow_oms/app/templates/cart_items/show_in_detail.handlebars
156
+ - app/assets/javascripts/rightnow_oms/app/templates/carts/show_cartable_count.handlebars
157
+ - app/assets/javascripts/rightnow_oms/app/templates/carts/show.handlebars
158
+ - app/assets/javascripts/rightnow_oms/app/templates/carts/show_in_detail.handlebars
135
159
  - app/assets/javascripts/rightnow_oms/app/app.js.coffee
136
160
  - app/assets/javascripts/rightnow_oms/app/controllers/cart.js.coffee
137
161
  - app/assets/javascripts/rightnow_oms/app/models/cart.js.coffee
@@ -141,9 +165,19 @@ files:
141
165
  - app/assets/javascripts/rightnow_oms/app/views/carts/show_in_detail.js.coffee
142
166
  - app/assets/javascripts/rightnow_oms/app/views/carts/show.js.coffee
143
167
  - app/assets/javascripts/rightnow_oms/app/views/carts/show_cartable_count.js.coffee
168
+ - app/assets/javascripts/rightnow_oms/cart_items.js
169
+ - app/assets/javascripts/rightnow_oms/config/app.js.coffee
170
+ - app/assets/javascripts/rightnow_oms/config/locales/zh_CN.js.coffee
171
+ - app/assets/javascripts/rightnow_oms/config/locales/en.js.coffee
144
172
  - app/views/rightnow_oms/orders/show.html.haml
173
+ - app/views/rightnow_oms/cart_items/_list.html.haml
145
174
  - app/views/rightnow_oms/carts/show.html.haml
175
+ - config/locales/validates_timeliness.zh-CN.yml
176
+ - config/locales/validates_timeliness.en.yml
177
+ - config/initializers/rightnow_oms.rb
178
+ - config/initializers/validates_timeliness.rb
146
179
  - config/routes.rb
180
+ - db/migrate/20120224051751_add_required_arrival_time_to_rightnow_oms_orders.rb
147
181
  - db/migrate/20120202104431_create_rightnow_oms_carts.rb
148
182
  - db/migrate/20120207085551_add_group_to_rightnow_oms_cart_items.rb
149
183
  - db/migrate/20120207095146_add_parent_id_to_rightnow_oms_cart_items.rb
@@ -151,11 +185,13 @@ files:
151
185
  - db/migrate/20120203045059_create_rightnow_oms_cart_items.rb
152
186
  - db/migrate/20120217081138_add_base_quantity_to_rightnow_oms_cart_items.rb
153
187
  - db/migrate/20120214074943_create_rightnow_oms_orders.rb
188
+ - db/migrate/20120302085200_add_tastes_to_rightnow_oms_order_items.rb
154
189
  - db/migrate/20120214081113_create_rightnow_oms_order_items.rb
155
190
  - lib/rightnow_oms.rb
156
191
  - lib/rightnow_oms/controller_helpers.rb
157
192
  - lib/rightnow_oms/acts_as_cartable.rb
158
193
  - lib/rightnow_oms/order_no_generator.rb
194
+ - lib/rightnow_oms/controller_extension.rb
159
195
  - lib/rightnow_oms/engine.rb
160
196
  - lib/rightnow_oms/version.rb
161
197
  - lib/rightnow_oms/cartable_validator.rb
@@ -177,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
213
  version: '0'
178
214
  segments:
179
215
  - 0
180
- hash: -1275997018015637822
216
+ hash: 1453687471519212132
181
217
  required_rubygems_version: !ruby/object:Gem::Requirement
182
218
  none: false
183
219
  requirements:
@@ -186,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
222
  version: '0'
187
223
  segments:
188
224
  - 0
189
- hash: -1275997018015637822
225
+ hash: 1453687471519212132
190
226
  requirements: []
191
227
  rubyforge_project:
192
228
  rubygems_version: 1.8.10
@@ -1,23 +0,0 @@
1
- {{#unless cartItem.hasParent }}
2
- <dt>
3
- <ul>
4
- <li class="name" {{ action "toggleChildren" }}>{{ cartItem.name }}</li>
5
- <li class="price r-money">¥{{ cartItem.priceString }}x{{ cartItem.quantity }}</li>
6
- <li class="delete">
7
- <a href="#" {{ action "deleteRecord" }}>删除</a>
8
- </li>
9
- <ul>
10
- </dt>
11
- {{#if isChildrenHidden}}
12
- {{#if cartItem.hasChildren}}
13
- <dd>
14
- {{#each cartItem.children }}
15
- <ul class='child'>
16
- <li class="name">{{ name }}</li>
17
- <li class="price r-money">¥{{ priceString }}x{{ quantity }}</li>
18
- </ul>
19
- {{/each}}
20
- </dd>
21
- {{/if}}
22
- {{/if}}
23
- {{/unless}}
@@ -1 +0,0 @@
1
- <a href="/rightnow_oms/cart">购物车 {{ cartableCount }} 件</a>
@@ -1,27 +0,0 @@
1
- <h2>我的购物车</h2>
2
- <div class="r-cart-items">
3
- <ul class='title'>
4
- <li class="name">名称</li>
5
- <li class="others">
6
- <div class="price">价格</div>
7
- <div class="quantity">数量</div>
8
- <div class="subtotal">小计</div>
9
- <div class="delete"></div>
10
- </li>
11
- </ul>
12
- <div class='r-clear'></div>
13
- {{#each cart.cartItems}}
14
- {{ view RightnowOms.ShowCartItemInDetailView cartItemBinding="this" }}
15
- {{/each}}
16
- <div class='r-clear'></div>
17
- </div>
18
- <div class="r-bottom-bar">
19
- <div class="left-conner">
20
- <span class="r-cleanup-cart"><a href="#" {{ action cleanUp }}>清空购物车</a></span>
21
- </div>
22
- <div class="right-conner">
23
- <span>总价:<span class="r-money">¥{{ cart.total }}</span></span>
24
- <span class="r-continue-to-shop"><a href="/"><< 继续购物</a></span>
25
- <span class="r-checkout"><a {{ bindAttr href="newOrderUrl" }}>去结算 >></a></span>
26
- </div>
27
- </div>
@@ -1,8 +0,0 @@
1
- //= require_tree ./lib
2
- //
3
- //= require ./app/app
4
- //= require ./app/models/cart_item
5
- //= require ./app/models/cart
6
- //= require_tree ./app/controllers
7
- //= require_tree ./app/views
8
- //= require_tree ./app/templates