refinerycms-products 1.0.0 → 1.0.1

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 (96) hide show
  1. data/app/controllers/addresses_controller.rb +22 -22
  2. data/app/controllers/admin/carts_controller.rb +7 -7
  3. data/app/controllers/admin/categories_controller.rb +50 -50
  4. data/app/controllers/admin/customers_controller.rb +12 -12
  5. data/app/controllers/admin/line_items_controller.rb +7 -7
  6. data/app/controllers/admin/products_controller.rb +23 -23
  7. data/app/controllers/carts_controller.rb +110 -110
  8. data/app/controllers/categories_controller.rb +32 -32
  9. data/app/controllers/customers_controller.rb +33 -33
  10. data/app/controllers/line_items_controller.rb +8 -8
  11. data/app/controllers/products_controller.rb +61 -61
  12. data/app/controllers/profiles_controller.rb +36 -36
  13. data/app/helpers/address_helper.rb +20 -20
  14. data/app/helpers/products_helper.rb +41 -33
  15. data/app/models/address.rb +18 -18
  16. data/app/models/cart.rb +54 -54
  17. data/app/models/category.rb +28 -28
  18. data/app/models/customer.rb +32 -32
  19. data/app/models/line_item.rb +28 -28
  20. data/app/models/product.rb +46 -46
  21. data/app/views/addresses/edit.html.erb +42 -42
  22. data/app/views/admin/carts/_actions.html.erb +27 -27
  23. data/app/views/admin/carts/_cart.html.erb +18 -18
  24. data/app/views/admin/carts/_carts.html.erb +1 -1
  25. data/app/views/admin/carts/_form.html.erb +24 -24
  26. data/app/views/admin/carts/_records.html.erb +17 -17
  27. data/app/views/admin/carts/_sortable_list.html.erb +7 -7
  28. data/app/views/admin/carts/edit.html.erb +1 -1
  29. data/app/views/admin/carts/index.html.erb +10 -10
  30. data/app/views/admin/carts/new.html.erb +1 -1
  31. data/app/views/admin/categories/_actions.html.erb +27 -27
  32. data/app/views/admin/categories/_categories.html.erb +1 -1
  33. data/app/views/admin/categories/_category.html.erb +25 -25
  34. data/app/views/admin/categories/_form.html.erb +49 -49
  35. data/app/views/admin/categories/_records.html.erb +17 -17
  36. data/app/views/admin/categories/_sortable_list.html.erb +10 -10
  37. data/app/views/admin/categories/edit.html.erb +1 -1
  38. data/app/views/admin/categories/index.html.erb +12 -12
  39. data/app/views/admin/categories/new.html.erb +1 -1
  40. data/app/views/admin/customers/_actions.html.erb +27 -27
  41. data/app/views/admin/customers/_customer.html.erb +18 -18
  42. data/app/views/admin/customers/_customers.html.erb +1 -1
  43. data/app/views/admin/customers/_form.html.erb +40 -40
  44. data/app/views/admin/customers/_records.html.erb +17 -17
  45. data/app/views/admin/customers/_sortable_list.html.erb +7 -7
  46. data/app/views/admin/customers/edit.html.erb +1 -1
  47. data/app/views/admin/customers/index.html.erb +10 -10
  48. data/app/views/admin/customers/new.html.erb +1 -1
  49. data/app/views/admin/customers/show.html.erb +59 -59
  50. data/app/views/admin/line_items/_actions.html.erb +27 -27
  51. data/app/views/admin/line_items/_form.html.erb +29 -29
  52. data/app/views/admin/line_items/_line_item.html.erb +18 -18
  53. data/app/views/admin/line_items/_line_items.html.erb +1 -1
  54. data/app/views/admin/line_items/_records.html.erb +17 -17
  55. data/app/views/admin/line_items/_sortable_list.html.erb +7 -7
  56. data/app/views/admin/line_items/edit.html.erb +1 -1
  57. data/app/views/admin/line_items/index.html.erb +10 -10
  58. data/app/views/admin/line_items/new.html.erb +1 -1
  59. data/app/views/admin/products/_actions.html.erb +42 -42
  60. data/app/views/admin/products/_form.html.erb +120 -120
  61. data/app/views/admin/products/_product.html.erb +23 -23
  62. data/app/views/admin/products/_products.html.erb +1 -1
  63. data/app/views/admin/products/_records.html.erb +17 -17
  64. data/app/views/admin/products/_sortable_list.html.erb +13 -13
  65. data/app/views/admin/products/edit.html.erb +1 -1
  66. data/app/views/admin/products/index.html.erb +12 -12
  67. data/app/views/admin/products/new.html.erb +1 -1
  68. data/app/views/carts/show.html.erb +56 -56
  69. data/app/views/categories/index.html.erb +11 -11
  70. data/app/views/categories/show.html.erb +33 -33
  71. data/app/views/customers/index.html.erb +11 -11
  72. data/app/views/customers/show.html.erb +52 -52
  73. data/app/views/line_items/index.html.erb +11 -11
  74. data/app/views/line_items/show.html.erb +39 -39
  75. data/app/views/products/index.html.erb +33 -33
  76. data/app/views/products/show.html.erb +65 -65
  77. data/app/views/profiles/_order_history.html.erb +23 -23
  78. data/app/views/profiles/_show_address.html.erb +3 -3
  79. data/app/views/profiles/account_details.html.erb +31 -31
  80. data/app/views/profiles/address_details.html.erb +9 -9
  81. data/app/views/profiles/index.html.erb +75 -75
  82. data/app/views/profiles/order_history_details.html.erb +39 -39
  83. data/config/locales/en.yml +97 -97
  84. data/config/locales/fr.yml +25 -25
  85. data/config/locales/lolcat.yml +25 -25
  86. data/config/locales/nb.yml +21 -21
  87. data/config/locales/nl.yml +21 -21
  88. data/config/routes.rb +58 -58
  89. data/lib/generators/refinerycms_products_generator.rb +5 -5
  90. data/lib/refinerycms-carts.rb +31 -31
  91. data/lib/refinerycms-categories.rb +30 -30
  92. data/lib/refinerycms-customers.rb +34 -34
  93. data/lib/refinerycms-line_items.rb +30 -30
  94. data/lib/refinerycms-products.rb +65 -65
  95. data/lib/tasks/products.rake +12 -12
  96. metadata +95 -98
@@ -1,32 +1,32 @@
1
- class CategoriesController < ApplicationController
2
-
3
- before_filter :find_all_categories
4
- before_filter :find_page
5
-
6
- def index
7
- # you can use meta fields from your model instead (e.g. browser_title)
8
- # by swapping @page for @category in the line below:
9
- present(@page)
10
- end
11
-
12
- def show
13
- @category = Category.find(params[:id])
14
-
15
- # redirect_to category_products_path(@category)
16
-
17
- # you can use meta fields from your model instead (e.g. browser_title)
18
- # by swapping @page for @category in the line below:
19
- present(@page)
20
- end
21
-
22
- protected
23
-
24
- def find_all_categories
25
- @categories = Category.order('position ASC')
26
- end
27
-
28
- def find_page
29
- @page = Page.where(:link_url => "/categories").first
30
- end
31
-
32
- end
1
+ class CategoriesController < ApplicationController
2
+
3
+ before_filter :find_all_categories
4
+ before_filter :find_page
5
+
6
+ def index
7
+ # you can use meta fields from your model instead (e.g. browser_title)
8
+ # by swapping @page for @category in the line below:
9
+ present(@page)
10
+ end
11
+
12
+ def show
13
+ @category = Category.find(params[:id])
14
+
15
+ # redirect_to category_products_path(@category)
16
+
17
+ # you can use meta fields from your model instead (e.g. browser_title)
18
+ # by swapping @page for @category in the line below:
19
+ present(@page)
20
+ end
21
+
22
+ protected
23
+
24
+ def find_all_categories
25
+ @categories = Category.order('position ASC')
26
+ end
27
+
28
+ def find_page
29
+ @page = Page.where(:link_url => "/categories").first
30
+ end
31
+
32
+ end
@@ -1,33 +1,33 @@
1
- class CustomersController < ApplicationController
2
-
3
- #before_filter :find_all_customers
4
- before_filter :find_page
5
- helper :all
6
-
7
-
8
-
9
- #def index
10
- # # you can use meta fields from your model instead (e.g. browser_title)
11
- # # by swapping @page for @customer in the line below:
12
- # present(@page)
13
- #end
14
-
15
- def show
16
- @customer = Customer.find(params[:id])
17
-
18
- # you can use meta fields from your model instead (e.g. browser_title)
19
- # by swapping @page for @customer in the line below:
20
- present(@page)
21
- end
22
-
23
- protected
24
-
25
- #def find_all_customers
26
- # @customers = Customer.order('surname ASC')
27
- #end
28
-
29
- def find_page
30
- @page = Page.where(:link_url => "/customers").first
31
- end
32
-
33
- end
1
+ class CustomersController < ApplicationController
2
+
3
+ #before_filter :find_all_customers
4
+ before_filter :find_page
5
+ helper :all
6
+
7
+
8
+
9
+ #def index
10
+ # # you can use meta fields from your model instead (e.g. browser_title)
11
+ # # by swapping @page for @customer in the line below:
12
+ # present(@page)
13
+ #end
14
+
15
+ def show
16
+ @customer = Customer.find(params[:id])
17
+
18
+ # you can use meta fields from your model instead (e.g. browser_title)
19
+ # by swapping @page for @customer in the line below:
20
+ present(@page)
21
+ end
22
+
23
+ protected
24
+
25
+ #def find_all_customers
26
+ # @customers = Customer.order('surname ASC')
27
+ #end
28
+
29
+ def find_page
30
+ @page = Page.where(:link_url => "/customers").first
31
+ end
32
+
33
+ end
@@ -1,8 +1,8 @@
1
- class LineItemsController < ApplicationController
2
-
3
- def destroy
4
- LineItem.destroy(params[:id])
5
- redirect_to show_cart_path
6
- end
7
-
8
- end
1
+ class LineItemsController < ApplicationController
2
+
3
+ def destroy
4
+ LineItem.destroy(params[:id])
5
+ redirect_to show_cart_path
6
+ end
7
+
8
+ end
@@ -1,61 +1,61 @@
1
- class ProductsController < ApplicationController
2
- include ActionView::Helpers::NumberHelper
3
- before_filter :find_all_products, :only => :index
4
- before_filter :find_page
5
-
6
- def index
7
- # you can use meta fields from your model instead (e.g. browser_title)
8
- # by swapping @page for @product in the line below:
9
- present(@page)
10
- end
11
-
12
- def show
13
- @product = Product.find(params[:id])
14
-
15
-
16
- @tagged_products = Product.tagged_with(@product.tag_list, :any => :true).order('position ASC')
17
-
18
- # you can use meta fields from your model instead (e.g. browser_title)
19
- # by swapping @page for @product in the line below:
20
- present(@page)
21
- end
22
-
23
- def get_variant_image
24
- if params[:variant_id].present?
25
- variant_url = Variant.find(params[:variant_id]).image.url
26
- end
27
- render :text => variant_url
28
- end
29
-
30
- def get_variant_price
31
- if params[:variant_id].present?
32
- variant_price = Variant.find(params[:variant_id]).price
33
- end
34
- render :text => number_to_currency(variant_price, :unit => 'R')
35
- end
36
-
37
- protected
38
-
39
- def find_all_products
40
-
41
- if params[:category_id].present?
42
- @category = Category.find(params[:category_id])
43
- @products = Product.by_category(@category.id).order('position ASC')
44
- @page_title = @category.name
45
- elsif params[:upper].present? and params[:lower].present?
46
- @products = Product.greater_than(params[:lower]).less_than(params[:upper])
47
- @page_title = "By Price"
48
- elsif params[:tag].present?
49
- @products = Product.tagged_with(params[:tag]).order('position ASC')
50
- @page_title = params[:tag].capitalize
51
- else
52
- @products = Product.all
53
- @page_title = "All Products"
54
- end
55
- end
56
-
57
- def find_page
58
- @page = Page.where(:link_url => "/products").first
59
- end
60
-
61
- end
1
+ class ProductsController < ApplicationController
2
+ include ActionView::Helpers::NumberHelper
3
+ before_filter :find_all_products, :only => :index
4
+ before_filter :find_page
5
+
6
+ def index
7
+ # you can use meta fields from your model instead (e.g. browser_title)
8
+ # by swapping @page for @product in the line below:
9
+ present(@page)
10
+ end
11
+
12
+ def show
13
+ @product = Product.find(params[:id])
14
+
15
+
16
+ @tagged_products = Product.tagged_with(@product.tag_list, :any => :true).order('position ASC')
17
+
18
+ # you can use meta fields from your model instead (e.g. browser_title)
19
+ # by swapping @page for @product in the line below:
20
+ present(@page)
21
+ end
22
+
23
+ def get_variant_image
24
+ if params[:variant_id].present?
25
+ variant_url = Variant.find(params[:variant_id]).image.url
26
+ end
27
+ render :text => variant_url
28
+ end
29
+
30
+ def get_variant_price
31
+ if params[:variant_id].present?
32
+ variant_price = Variant.find(params[:variant_id]).price
33
+ end
34
+ render :text => number_to_currency(variant_price, :unit => 'R')
35
+ end
36
+
37
+ protected
38
+
39
+ def find_all_products
40
+
41
+ if params[:category_id].present?
42
+ @category = Category.find(params[:category_id])
43
+ @products = Product.by_category(@category.id).order('position ASC')
44
+ @page_title = @category.name
45
+ elsif params[:upper].present? and params[:lower].present?
46
+ @products = Product.greater_than(params[:lower]).less_than(params[:upper])
47
+ @page_title = "By Price"
48
+ elsif params[:tag].present?
49
+ @products = Product.tagged_with(params[:tag]).order('position ASC')
50
+ @page_title = params[:tag].capitalize
51
+ else
52
+ @products = Product.all
53
+ @page_title = "All Products"
54
+ end
55
+ end
56
+
57
+ def find_page
58
+ @page = Page.where(:link_url => "/products").first
59
+ end
60
+
61
+ end
@@ -1,37 +1,37 @@
1
- class ProfilesController < ApplicationController
2
- before_filter :authenticate_customer!
3
-
4
- def index
5
- @current_customer = current_customer
6
- if @current_customer.present?
7
- @delivery_addresses = Address.where(:customer_id => current_customer.id).all
8
- end
9
- if @current_customer.present?
10
- @orders = Order.where(:customer_id => current_customer.id).limit(5)
11
- end
12
- end
13
-
14
- def account_details
15
- @current_customer = current_customer
16
- end
17
-
18
- def address_details
19
- if current_customer.present?
20
- @delivery_addresses = Address.where(:customer_id => current_customer.id).all
21
- end
22
- end
23
-
24
- if defined?(OrdersController)
25
- def order_history
26
- if current_customer.present?
27
- @orders = Order.where(:customer_id => current_customer.id).all
28
- end
29
- end
30
-
31
- def order_history_details
32
- @current_order = Order.where(:order_number => params[:order_number]).first
33
- end
34
- end
35
-
36
-
1
+ class ProfilesController < ApplicationController
2
+ before_filter :authenticate_customer!
3
+
4
+ def index
5
+ @current_customer = current_customer
6
+ if @current_customer.present?
7
+ @delivery_addresses = Address.where(:customer_id => current_customer.id).all
8
+ end
9
+ if @current_customer.present?
10
+ @orders = Order.where(:customer_id => current_customer.id).limit(5)
11
+ end
12
+ end
13
+
14
+ def account_details
15
+ @current_customer = current_customer
16
+ end
17
+
18
+ def address_details
19
+ if current_customer.present?
20
+ @delivery_addresses = Address.where(:customer_id => current_customer.id).all
21
+ end
22
+ end
23
+
24
+ if defined?(OrdersController)
25
+ def order_history
26
+ if current_customer.present?
27
+ @orders = Order.where(:customer_id => current_customer.id).all
28
+ end
29
+ end
30
+
31
+ def order_history_details
32
+ @current_order = Order.where(:order_number => params[:order_number]).first
33
+ end
34
+ end
35
+
36
+
37
37
  end
@@ -1,20 +1,20 @@
1
- module AddressHelper
2
-
3
- def address_html(address)
4
- if address.present?
5
- items = []
6
- items << address.address_line_1 if address.address_line_1.present?
7
- items << address.address_line_2 if address.address_line_2.present?
8
- items << address.suburb if address.suburb.present?
9
- items << address.city if address.city.present?
10
- items << address.postal_code if address.postal_code.present?
11
-
12
- items.join("<br />")
13
- else
14
- nil
15
- end
16
- end
17
-
18
-
19
-
20
- end
1
+ module AddressHelper
2
+
3
+ def address_html(address)
4
+ if address.present?
5
+ items = []
6
+ items << address.address_line_1 if address.address_line_1.present?
7
+ items << address.address_line_2 if address.address_line_2.present?
8
+ items << address.suburb if address.suburb.present?
9
+ items << address.city if address.city.present?
10
+ items << address.postal_code if address.postal_code.present?
11
+
12
+ items.join("<br />")
13
+ else
14
+ nil
15
+ end
16
+ end
17
+
18
+
19
+
20
+ end
@@ -1,34 +1,42 @@
1
- require 'acts-as-taggable-on'
2
-
3
- module ProductsHelper
4
- include ActsAsTaggableOn::TagsHelper
5
-
6
- def rands(amount)
7
- number_to_currency(amount, :unit => 'R')
8
- end
9
-
10
- def rands_nocents(amount)
11
- number_to_currency(amount, :unit => 'R', :precision => 0)
12
- end
13
-
14
- def product_or_variant_name(cart_item)
15
- if variant_exists?(cart_item)
16
- "#{cart_item.product.name}: #{cart_item.variant.name}"
17
- else
18
- cart_item.product.name
19
- end
20
- end
21
-
22
- def product_or_variant_price(cart_item)
23
- if variant_exists?(cart_item)
24
- rands(cart_item.variant.price)
25
- else
26
- rands(cart_item.product.price)
27
- end
28
- end
29
-
30
- def variant_exists?(cart_item)
31
- cart_item.variant_id.present? and defined?(Variant)
32
- end
33
-
1
+ require 'acts-as-taggable-on'
2
+
3
+ module ProductsHelper
4
+ include ActsAsTaggableOn::TagsHelper
5
+
6
+ def rands(amount)
7
+ number_to_currency(amount, :unit => 'R')
8
+ end
9
+
10
+ def rands_nocents(amount)
11
+ number_to_currency(amount, :unit => 'R', :precision => 0)
12
+ end
13
+
14
+ def product_or_variant_name(cart_item)
15
+ if variant_exists?(cart_item)
16
+ "#{cart_item.product.name}: #{cart_item.variant.name}"
17
+ else
18
+ cart_item.product.name
19
+ end
20
+ end
21
+
22
+ def product_or_variant_price(cart_item)
23
+ if variant_exists?(cart_item)
24
+ rands(cart_item.variant.price)
25
+ else
26
+ rands(cart_item.product.price)
27
+ end
28
+ end
29
+
30
+ def cart_item_total(cart_item)
31
+ if variant_exists?(cart_item) and cart_item.variant.price.present?
32
+ rands(cart_item.variant.price * cart_item.quantity)
33
+ else
34
+ rands(cart_item.product.price * cart_item.quantity)
35
+ end
36
+ end
37
+
38
+ def variant_exists?(cart_item)
39
+ cart_item.variant_id.present? and defined?(Variant)
40
+ end
41
+
34
42
  end