refinerycms-products 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/addresses_controller.rb +22 -22
- data/app/controllers/admin/carts_controller.rb +7 -7
- data/app/controllers/admin/categories_controller.rb +50 -50
- data/app/controllers/admin/customers_controller.rb +12 -12
- data/app/controllers/admin/line_items_controller.rb +7 -7
- data/app/controllers/admin/products_controller.rb +23 -23
- data/app/controllers/carts_controller.rb +110 -110
- data/app/controllers/categories_controller.rb +32 -32
- data/app/controllers/customers_controller.rb +33 -33
- data/app/controllers/line_items_controller.rb +8 -8
- data/app/controllers/products_controller.rb +61 -61
- data/app/controllers/profiles_controller.rb +36 -36
- data/app/helpers/address_helper.rb +20 -20
- data/app/helpers/products_helper.rb +41 -33
- data/app/models/address.rb +18 -18
- data/app/models/cart.rb +54 -54
- data/app/models/category.rb +28 -28
- data/app/models/customer.rb +32 -32
- data/app/models/line_item.rb +28 -28
- data/app/models/product.rb +46 -46
- data/app/views/addresses/edit.html.erb +42 -42
- data/app/views/admin/carts/_actions.html.erb +27 -27
- data/app/views/admin/carts/_cart.html.erb +18 -18
- data/app/views/admin/carts/_carts.html.erb +1 -1
- data/app/views/admin/carts/_form.html.erb +24 -24
- data/app/views/admin/carts/_records.html.erb +17 -17
- data/app/views/admin/carts/_sortable_list.html.erb +7 -7
- data/app/views/admin/carts/edit.html.erb +1 -1
- data/app/views/admin/carts/index.html.erb +10 -10
- data/app/views/admin/carts/new.html.erb +1 -1
- data/app/views/admin/categories/_actions.html.erb +27 -27
- data/app/views/admin/categories/_categories.html.erb +1 -1
- data/app/views/admin/categories/_category.html.erb +25 -25
- data/app/views/admin/categories/_form.html.erb +49 -49
- data/app/views/admin/categories/_records.html.erb +17 -17
- data/app/views/admin/categories/_sortable_list.html.erb +10 -10
- data/app/views/admin/categories/edit.html.erb +1 -1
- data/app/views/admin/categories/index.html.erb +12 -12
- data/app/views/admin/categories/new.html.erb +1 -1
- data/app/views/admin/customers/_actions.html.erb +27 -27
- data/app/views/admin/customers/_customer.html.erb +18 -18
- data/app/views/admin/customers/_customers.html.erb +1 -1
- data/app/views/admin/customers/_form.html.erb +40 -40
- data/app/views/admin/customers/_records.html.erb +17 -17
- data/app/views/admin/customers/_sortable_list.html.erb +7 -7
- data/app/views/admin/customers/edit.html.erb +1 -1
- data/app/views/admin/customers/index.html.erb +10 -10
- data/app/views/admin/customers/new.html.erb +1 -1
- data/app/views/admin/customers/show.html.erb +59 -59
- data/app/views/admin/line_items/_actions.html.erb +27 -27
- data/app/views/admin/line_items/_form.html.erb +29 -29
- data/app/views/admin/line_items/_line_item.html.erb +18 -18
- data/app/views/admin/line_items/_line_items.html.erb +1 -1
- data/app/views/admin/line_items/_records.html.erb +17 -17
- data/app/views/admin/line_items/_sortable_list.html.erb +7 -7
- data/app/views/admin/line_items/edit.html.erb +1 -1
- data/app/views/admin/line_items/index.html.erb +10 -10
- data/app/views/admin/line_items/new.html.erb +1 -1
- data/app/views/admin/products/_actions.html.erb +42 -42
- data/app/views/admin/products/_form.html.erb +120 -120
- data/app/views/admin/products/_product.html.erb +23 -23
- data/app/views/admin/products/_products.html.erb +1 -1
- data/app/views/admin/products/_records.html.erb +17 -17
- data/app/views/admin/products/_sortable_list.html.erb +13 -13
- data/app/views/admin/products/edit.html.erb +1 -1
- data/app/views/admin/products/index.html.erb +12 -12
- data/app/views/admin/products/new.html.erb +1 -1
- data/app/views/carts/show.html.erb +56 -56
- data/app/views/categories/index.html.erb +11 -11
- data/app/views/categories/show.html.erb +33 -33
- data/app/views/customers/index.html.erb +11 -11
- data/app/views/customers/show.html.erb +52 -52
- data/app/views/line_items/index.html.erb +11 -11
- data/app/views/line_items/show.html.erb +39 -39
- data/app/views/products/index.html.erb +33 -33
- data/app/views/products/show.html.erb +65 -65
- data/app/views/profiles/_order_history.html.erb +23 -23
- data/app/views/profiles/_show_address.html.erb +3 -3
- data/app/views/profiles/account_details.html.erb +31 -31
- data/app/views/profiles/address_details.html.erb +9 -9
- data/app/views/profiles/index.html.erb +75 -75
- data/app/views/profiles/order_history_details.html.erb +39 -39
- data/config/locales/en.yml +97 -97
- data/config/locales/fr.yml +25 -25
- data/config/locales/lolcat.yml +25 -25
- data/config/locales/nb.yml +21 -21
- data/config/locales/nl.yml +21 -21
- data/config/routes.rb +58 -58
- data/lib/generators/refinerycms_products_generator.rb +5 -5
- data/lib/refinerycms-carts.rb +31 -31
- data/lib/refinerycms-categories.rb +30 -30
- data/lib/refinerycms-customers.rb +34 -34
- data/lib/refinerycms-line_items.rb +30 -30
- data/lib/refinerycms-products.rb +65 -65
- data/lib/tasks/products.rake +12 -12
- metadata +95 -98
@@ -1,22 +1,22 @@
|
|
1
|
-
class AddressesController < ApplicationController
|
2
|
-
|
3
|
-
def edit
|
4
|
-
|
5
|
-
@address = Address.find(params[:id])
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
|
-
def update
|
10
|
-
|
11
|
-
@address = Address.find(params[:id])
|
12
|
-
|
13
|
-
if @address.update_attributes(params[:address])
|
14
|
-
flash[:success] = 'Address was successfully updated.'
|
15
|
-
redirect_to profiles_path
|
16
|
-
else
|
17
|
-
render :action => "edit"
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
1
|
+
class AddressesController < ApplicationController
|
2
|
+
|
3
|
+
def edit
|
4
|
+
|
5
|
+
@address = Address.find(params[:id])
|
6
|
+
|
7
|
+
end
|
8
|
+
|
9
|
+
def update
|
10
|
+
|
11
|
+
@address = Address.find(params[:id])
|
12
|
+
|
13
|
+
if @address.update_attributes(params[:address])
|
14
|
+
flash[:success] = 'Address was successfully updated.'
|
15
|
+
redirect_to profiles_path
|
16
|
+
else
|
17
|
+
render :action => "edit"
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Admin
|
2
|
-
class CartsController < Admin::BaseController
|
3
|
-
|
4
|
-
crudify :cart, :xhr_paging => true
|
5
|
-
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Admin
|
2
|
+
class CartsController < Admin::BaseController
|
3
|
+
|
4
|
+
crudify :cart, :xhr_paging => true
|
5
|
+
|
6
|
+
end
|
7
|
+
end
|
@@ -1,50 +1,50 @@
|
|
1
|
-
module Admin
|
2
|
-
class CategoriesController < Admin::BaseController
|
3
|
-
|
4
|
-
crudify :category,
|
5
|
-
:conditions => nil,
|
6
|
-
:include => [:parent],
|
7
|
-
:title_attribute => 'name', :xhr_paging => true
|
8
|
-
|
9
|
-
def create
|
10
|
-
# if the position field exists, set this object as last object, given the conditions of this class.
|
11
|
-
if Category.column_names.include?("position")
|
12
|
-
params[:category].merge!({
|
13
|
-
:position => ((Category.maximum(:position)||-1) + 1)
|
14
|
-
})
|
15
|
-
end
|
16
|
-
|
17
|
-
if (@category = Category.create(params[:category])).valid?
|
18
|
-
|
19
|
-
flash[:notice] = t('refinery.crudify.created', :what => @category.name)
|
20
|
-
|
21
|
-
if @category.parent.present?
|
22
|
-
if @category.parent.products.present?
|
23
|
-
flash[:notice] += " Please be aware that the '#{@category.parent.name}' category has products attached to it. Please re-assign these."
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
redirect_to admin_categories_path
|
28
|
-
|
29
|
-
else
|
30
|
-
render :action => 'new'
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def update
|
35
|
-
|
36
|
-
if @category.update_attributes(params[:category])
|
37
|
-
|
38
|
-
if @category.parent.present?
|
39
|
-
if @category.parent.products.present?
|
40
|
-
flash[:notice] = "Please be aware that the '#{@category.parent.name}' category has products attached to it. Please re-assign these."
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
redirect_to admin_categories_path
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
50
|
-
end
|
1
|
+
module Admin
|
2
|
+
class CategoriesController < Admin::BaseController
|
3
|
+
|
4
|
+
crudify :category,
|
5
|
+
:conditions => nil,
|
6
|
+
:include => [:parent],
|
7
|
+
:title_attribute => 'name', :xhr_paging => true
|
8
|
+
|
9
|
+
def create
|
10
|
+
# if the position field exists, set this object as last object, given the conditions of this class.
|
11
|
+
if Category.column_names.include?("position")
|
12
|
+
params[:category].merge!({
|
13
|
+
:position => ((Category.maximum(:position)||-1) + 1)
|
14
|
+
})
|
15
|
+
end
|
16
|
+
|
17
|
+
if (@category = Category.create(params[:category])).valid?
|
18
|
+
|
19
|
+
flash[:notice] = t('refinery.crudify.created', :what => @category.name)
|
20
|
+
|
21
|
+
if @category.parent.present?
|
22
|
+
if @category.parent.products.present?
|
23
|
+
flash[:notice] += " Please be aware that the '#{@category.parent.name}' category has products attached to it. Please re-assign these."
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
redirect_to admin_categories_path
|
28
|
+
|
29
|
+
else
|
30
|
+
render :action => 'new'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def update
|
35
|
+
|
36
|
+
if @category.update_attributes(params[:category])
|
37
|
+
|
38
|
+
if @category.parent.present?
|
39
|
+
if @category.parent.products.present?
|
40
|
+
flash[:notice] = "Please be aware that the '#{@category.parent.name}' category has products attached to it. Please re-assign these."
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
redirect_to admin_categories_path
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
@@ -1,12 +1,12 @@
|
|
1
|
-
module Admin
|
2
|
-
class CustomersController < Admin::BaseController
|
3
|
-
|
4
|
-
crudify :customer,
|
5
|
-
:title_attribute => 'name', :xhr_paging => true
|
6
|
-
|
7
|
-
def show
|
8
|
-
@customer = Customer.find(params[:id])
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
1
|
+
module Admin
|
2
|
+
class CustomersController < Admin::BaseController
|
3
|
+
|
4
|
+
crudify :customer,
|
5
|
+
:title_attribute => 'name', :xhr_paging => true
|
6
|
+
|
7
|
+
def show
|
8
|
+
@customer = Customer.find(params[:id])
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
module Admin
|
2
|
-
class LineItemsController < Admin::BaseController
|
3
|
-
|
4
|
-
crudify :line_item, :xhr_paging => true
|
5
|
-
|
6
|
-
end
|
7
|
-
end
|
1
|
+
module Admin
|
2
|
+
class LineItemsController < Admin::BaseController
|
3
|
+
|
4
|
+
crudify :line_item, :xhr_paging => true
|
5
|
+
|
6
|
+
end
|
7
|
+
end
|
@@ -1,23 +1,23 @@
|
|
1
|
-
module Admin
|
2
|
-
class ProductsController < Admin::BaseController
|
3
|
-
|
4
|
-
crudify :product,
|
5
|
-
:title_attribute => 'name', :xhr_paging => true
|
6
|
-
|
7
|
-
def index
|
8
|
-
if params[:category_id].present?
|
9
|
-
@category = Category.find(params[:category_id])
|
10
|
-
@products = Product.by_category(@category.id).order('position ASC').paginate(:page => params[:page])
|
11
|
-
else
|
12
|
-
paginate_all_products
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def update_prices
|
17
|
-
Product.update(params[:products].keys, params[:products].values)
|
18
|
-
flash[:notice] = 'Prices were successfully updated.'
|
19
|
-
redirect_to :action => "index"
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|
1
|
+
module Admin
|
2
|
+
class ProductsController < Admin::BaseController
|
3
|
+
|
4
|
+
crudify :product,
|
5
|
+
:title_attribute => 'name', :xhr_paging => true
|
6
|
+
|
7
|
+
def index
|
8
|
+
if params[:category_id].present?
|
9
|
+
@category = Category.find(params[:category_id])
|
10
|
+
@products = Product.by_category(@category.id).order('position ASC').paginate(:page => params[:page])
|
11
|
+
else
|
12
|
+
paginate_all_products
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def update_prices
|
17
|
+
Product.update(params[:products].keys, params[:products].values)
|
18
|
+
flash[:notice] = 'Prices were successfully updated.'
|
19
|
+
redirect_to :action => "index"
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -1,110 +1,110 @@
|
|
1
|
-
class CartsController < ApplicationController
|
2
|
-
|
3
|
-
before_filter :initialize_cart
|
4
|
-
|
5
|
-
def add_to_cart
|
6
|
-
check_quantity_then_update_cart
|
7
|
-
|
8
|
-
# redirect_to_products("Product added to Cart")
|
9
|
-
redirect_to show_cart_path
|
10
|
-
end
|
11
|
-
|
12
|
-
# Here for backwards compatibility
|
13
|
-
def show_cart
|
14
|
-
render :action => 'show'
|
15
|
-
end
|
16
|
-
|
17
|
-
def show
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
def check_quantity_then_update_cart
|
22
|
-
|
23
|
-
#logger.info("****************** the variant = #{params[:variant][:id]}")
|
24
|
-
|
25
|
-
if params[:quantity].present?
|
26
|
-
if params[:variant].present?
|
27
|
-
@current_cart.add_to_the_cart(params[:product_id], params[:quantity], params[:variant][:id])
|
28
|
-
else
|
29
|
-
@current_cart.add_to_the_cart(params[:product_id], params[:quantity])
|
30
|
-
end
|
31
|
-
else
|
32
|
-
if params[:variant].present?
|
33
|
-
@current_cart.add_to_the_cart(params[:product_id], 1, params[:variant][:id])
|
34
|
-
else
|
35
|
-
@current_cart.add_to_the_cart(params[:product_id])
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
def increment_cart
|
42
|
-
check_quantity_then_update_cart
|
43
|
-
|
44
|
-
redirect_to show_cart_path
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
def redirect_to_products(msg)
|
50
|
-
flash[:notice] = msg
|
51
|
-
|
52
|
-
if params[:category_id].present?
|
53
|
-
if params[:category_id] == "0"
|
54
|
-
redirect_to "/"
|
55
|
-
else
|
56
|
-
redirect_to category_products_path(params[:category_id])
|
57
|
-
end
|
58
|
-
else
|
59
|
-
redirect_to product_path(params[:product_id])
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def initialize_cart
|
64
|
-
@current_cart = get_cart
|
65
|
-
end
|
66
|
-
|
67
|
-
# Get the current customer's cart
|
68
|
-
def get_cart
|
69
|
-
if customer_signed_in?
|
70
|
-
|
71
|
-
if session[:cart_id].present?
|
72
|
-
cart = Cart.find(session[:cart_id])
|
73
|
-
if cart.customer_id.blank?
|
74
|
-
cart.customer_id = current_customer.id
|
75
|
-
cart.is_current = true
|
76
|
-
cart.save
|
77
|
-
end
|
78
|
-
return cart
|
79
|
-
else
|
80
|
-
cart = Cart.where(:is_current => true, :customer_id => current_customer.id).first
|
81
|
-
if cart.blank?
|
82
|
-
cart = Cart.create(:is_current => true, :customer_id => current_customer.id)
|
83
|
-
end
|
84
|
-
|
85
|
-
session[:cart_id] = cart.id
|
86
|
-
return cart
|
87
|
-
end
|
88
|
-
|
89
|
-
else
|
90
|
-
if session[:cart_id].present?
|
91
|
-
# logger.info("*************** signed OUT and session was present")
|
92
|
-
cart = Cart.find_by_id(session[:cart_id])
|
93
|
-
if cart.blank?
|
94
|
-
cart = Cart.create(:is_current => true)
|
95
|
-
session[:cart_id] = cart.id
|
96
|
-
return cart
|
97
|
-
else
|
98
|
-
cart.is_current = true
|
99
|
-
cart.save
|
100
|
-
return cart
|
101
|
-
end
|
102
|
-
else
|
103
|
-
# logger.info("*************** signed OUT and session was NOT present")
|
104
|
-
cart = Cart.create(:is_current => true)
|
105
|
-
session[:cart_id] = cart.id
|
106
|
-
return cart
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
1
|
+
class CartsController < ApplicationController
|
2
|
+
|
3
|
+
before_filter :initialize_cart
|
4
|
+
|
5
|
+
def add_to_cart
|
6
|
+
check_quantity_then_update_cart
|
7
|
+
|
8
|
+
# redirect_to_products("Product added to Cart")
|
9
|
+
redirect_to show_cart_path
|
10
|
+
end
|
11
|
+
|
12
|
+
# Here for backwards compatibility
|
13
|
+
def show_cart
|
14
|
+
render :action => 'show'
|
15
|
+
end
|
16
|
+
|
17
|
+
def show
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
def check_quantity_then_update_cart
|
22
|
+
|
23
|
+
#logger.info("****************** the variant = #{params[:variant][:id]}")
|
24
|
+
|
25
|
+
if params[:quantity].present?
|
26
|
+
if params[:variant].present?
|
27
|
+
@current_cart.add_to_the_cart(params[:product_id], params[:quantity], params[:variant][:id])
|
28
|
+
else
|
29
|
+
@current_cart.add_to_the_cart(params[:product_id], params[:quantity])
|
30
|
+
end
|
31
|
+
else
|
32
|
+
if params[:variant].present?
|
33
|
+
@current_cart.add_to_the_cart(params[:product_id], 1, params[:variant][:id])
|
34
|
+
else
|
35
|
+
@current_cart.add_to_the_cart(params[:product_id])
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
def increment_cart
|
42
|
+
check_quantity_then_update_cart
|
43
|
+
|
44
|
+
redirect_to show_cart_path
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def redirect_to_products(msg)
|
50
|
+
flash[:notice] = msg
|
51
|
+
|
52
|
+
if params[:category_id].present?
|
53
|
+
if params[:category_id] == "0"
|
54
|
+
redirect_to "/"
|
55
|
+
else
|
56
|
+
redirect_to category_products_path(params[:category_id])
|
57
|
+
end
|
58
|
+
else
|
59
|
+
redirect_to product_path(params[:product_id])
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def initialize_cart
|
64
|
+
@current_cart = get_cart
|
65
|
+
end
|
66
|
+
|
67
|
+
# Get the current customer's cart
|
68
|
+
def get_cart
|
69
|
+
if customer_signed_in?
|
70
|
+
|
71
|
+
if session[:cart_id].present?
|
72
|
+
cart = Cart.find(session[:cart_id])
|
73
|
+
if cart.customer_id.blank?
|
74
|
+
cart.customer_id = current_customer.id
|
75
|
+
cart.is_current = true
|
76
|
+
cart.save
|
77
|
+
end
|
78
|
+
return cart
|
79
|
+
else
|
80
|
+
cart = Cart.where(:is_current => true, :customer_id => current_customer.id).first
|
81
|
+
if cart.blank?
|
82
|
+
cart = Cart.create(:is_current => true, :customer_id => current_customer.id)
|
83
|
+
end
|
84
|
+
|
85
|
+
session[:cart_id] = cart.id
|
86
|
+
return cart
|
87
|
+
end
|
88
|
+
|
89
|
+
else
|
90
|
+
if session[:cart_id].present?
|
91
|
+
# logger.info("*************** signed OUT and session was present")
|
92
|
+
cart = Cart.find_by_id(session[:cart_id])
|
93
|
+
if cart.blank?
|
94
|
+
cart = Cart.create(:is_current => true)
|
95
|
+
session[:cart_id] = cart.id
|
96
|
+
return cart
|
97
|
+
else
|
98
|
+
cart.is_current = true
|
99
|
+
cart.save
|
100
|
+
return cart
|
101
|
+
end
|
102
|
+
else
|
103
|
+
# logger.info("*************** signed OUT and session was NOT present")
|
104
|
+
cart = Cart.create(:is_current => true)
|
105
|
+
session[:cart_id] = cart.id
|
106
|
+
return cart
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|