wordjelly-auth 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.
- checksums.yaml +4 -4
- data/app/assets/images/payumoney.png +0 -0
- data/app/assets/javascripts/auth/auth_dependencies.js +20 -1
- data/app/assets/stylesheets/auth/common-styles.scss +15 -0
- data/app/controllers/auth/concerns/shopping/cart_controller_concern.rb +2 -2
- data/app/controllers/auth/concerns/shopping/cart_item_controller_concern.rb +24 -0
- data/app/controllers/auth/concerns/shopping/discount_controller_concern.rb +2 -2
- data/app/controllers/auth/concerns/shopping/payment_controller_concern.rb +5 -2
- data/app/controllers/auth/concerns/shopping/personality_controller_concern.rb +88 -0
- data/app/controllers/auth/concerns/shopping/place_controller_concern.rb +96 -0
- data/app/controllers/auth/concerns/shopping/product_controller_concern.rb +53 -42
- data/app/controllers/auth/concerns/token_concern.rb +3 -1
- data/app/controllers/auth/search_controller.rb +3 -3
- data/app/controllers/auth/shopping/personalities_controller.rb +14 -0
- data/app/controllers/auth/shopping/places_controller.rb +11 -0
- data/app/controllers/auth/shopping/shopping_controller.rb +26 -0
- data/app/helpers/auth/shopping/payments/pay_u_money_helper.rb +1 -1
- data/app/helpers/auth/shopping/personalities/personalities_helper.rb +26 -0
- data/app/helpers/auth/shopping/places/places_helper.rb +26 -0
- data/app/helpers/auth/shopping/products/products_helper.rb +2 -2
- data/app/models/auth/concerns/chief_model_concern.rb +0 -4
- data/app/models/auth/concerns/shopping/cart_concern.rb +31 -4
- data/app/models/auth/concerns/shopping/cart_item_concern.rb +4 -7
- data/app/models/auth/concerns/shopping/discount_concern.rb +0 -7
- data/app/models/auth/concerns/shopping/pay_u_money_concern.rb +2 -2
- data/app/models/auth/concerns/shopping/payment_concern.rb +25 -8
- data/app/models/auth/concerns/shopping/personality_concern.rb +91 -0
- data/app/models/auth/concerns/shopping/place_concern.rb +134 -0
- data/app/models/auth/concerns/shopping/product_concern.rb +57 -1
- data/app/models/auth/shopping/personality.rb +3 -0
- data/app/models/auth/shopping/place.rb +3 -0
- data/app/views/auth/search/authenticated_user_search.js.erb +5 -31
- data/app/views/auth/shopping/personalities/_form.html.erb +32 -0
- data/app/views/auth/shopping/personalities/_search.html.erb +6 -0
- data/app/views/auth/shopping/personalities/_search_results_holder.html.erb +3 -0
- data/app/views/auth/shopping/personalities/new.html.erb +1 -0
- data/app/views/auth/shopping/places/_form.html.erb +62 -0
- data/app/views/auth/shopping/places/_search.html.erb +6 -0
- data/app/views/auth/shopping/places/_search_results_holder.html.erb +3 -0
- data/app/views/auth/shopping/places/new.html.erb +1 -0
- data/app/views/auth/shopping/products/index/_show.html.erb +1 -1
- data/app/views/auth/shopping/products/show/_content.html.erb +2 -1
- data/lib/assets/javascripts/search.js +0 -2
- data/lib/auth/engine.rb +15 -0
- data/lib/auth/rails/routes.rb +7 -1
- data/lib/auth/search/main.rb +20 -8
- data/lib/auth/version.rb +1 -1
- data/lib/wordjelly-auth.rb +1 -0
- data/spec/dummy/app/assets/time_hashes.json +1 -1
- data/spec/dummy/config/initializers/preinitializer.rb +8 -1
- data/spec/dummy/config/routes.rb +1 -1
- metadata +37 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 175b71c3a18b1cf69cde6e8c515ff85898bf853f
|
|
4
|
+
data.tar.gz: 02a26067e6f60b5111dc96fec8b1e11a8c3b7f10
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e55de5b86cd70fcbe9829f572c356c4c9882b3aec5d7e541146b509bc588734cae0c08e7f360aecec60f2a2d8d9eb3f71c62deb1012ddbc86ef485efdccbbc8f
|
|
7
|
+
data.tar.gz: ce2da498b71b26c56365794980b3fa2441181873a1b4c8203d509261b3b92f4d199700c2b280ad81d7dc0bad27c42b04a28d4b2edfe6734a84041186ad6e5de7
|
|
Binary file
|
|
@@ -14,6 +14,21 @@ $(document).ready(function() {
|
|
|
14
14
|
});
|
|
15
15
|
***/
|
|
16
16
|
|
|
17
|
+
document.addEventListener("turbolinks:load", function() {
|
|
18
|
+
$('.modal').modal();
|
|
19
|
+
$('.tabs').tabs();
|
|
20
|
+
$('.sidenav').sidenav();
|
|
21
|
+
$('.collapsible').collapsible();
|
|
22
|
+
$('.parallax').parallax();
|
|
23
|
+
$('.datepicker').datepicker();
|
|
24
|
+
$('select').formSelect();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
$(document).ready(function(){
|
|
29
|
+
$('select').formSelect();
|
|
30
|
+
});
|
|
31
|
+
|
|
17
32
|
$(document).ready(function(){
|
|
18
33
|
$('.modal').modal();
|
|
19
34
|
});
|
|
@@ -32,4 +47,8 @@ $(document).ready(function(){
|
|
|
32
47
|
|
|
33
48
|
$(document).ready(function(){
|
|
34
49
|
$('.parallax').parallax();
|
|
35
|
-
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
$(document).ready(function(){
|
|
53
|
+
$('.datepicker').datepicker();
|
|
54
|
+
});
|
|
@@ -83,10 +83,25 @@
|
|
|
83
83
|
font-size:23px !important;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
.fs-24{
|
|
87
|
+
font-size:24px !important;
|
|
88
|
+
}
|
|
89
|
+
|
|
86
90
|
.fs-25{
|
|
87
91
|
font-size:25px !important;
|
|
88
92
|
}
|
|
89
93
|
|
|
94
|
+
.fs-26{
|
|
95
|
+
font-size:26px !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.fs-27{
|
|
99
|
+
font-size:27px !important;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.fs-28{
|
|
103
|
+
font-size:28px !important;
|
|
104
|
+
}
|
|
90
105
|
|
|
91
106
|
.fs-30{
|
|
92
107
|
font-size:30px !important;
|
|
@@ -99,7 +99,7 @@ module Auth::Concerns::Shopping::CartControllerConcern
|
|
|
99
99
|
|
|
100
100
|
##override this def in your controller, and add attributes to transaction:[], each of the attributes in the transaction key will be cycled through, and if those fields exist on the cart_item, then they will be set.
|
|
101
101
|
def permitted_params
|
|
102
|
-
params.permit({cart: [:discount_id,:name, :notes, {:add_cart_item_ids => []},{:remove_cart_item_ids => []}]},:id)
|
|
102
|
+
params.permit({cart: [:personality_id, :place_id, :discount_id,:name, :notes, {:add_cart_item_ids => []},{:remove_cart_item_ids => []}]},:id)
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
-
end
|
|
105
|
+
end
|
|
@@ -7,6 +7,7 @@ module Auth::Concerns::Shopping::CartItemControllerConcern
|
|
|
7
7
|
## to be able to initialize a cart item from a product
|
|
8
8
|
## inside the create_multiple def.
|
|
9
9
|
include Auth::Shopping::Products::ProductsHelper
|
|
10
|
+
include Auth::Shopping::CartItems::CartItemsHelper
|
|
10
11
|
|
|
11
12
|
end
|
|
12
13
|
|
|
@@ -88,6 +89,29 @@ module Auth::Concerns::Shopping::CartItemControllerConcern
|
|
|
88
89
|
##
|
|
89
90
|
##
|
|
90
91
|
############################################################
|
|
92
|
+
## need to add this to the route.
|
|
93
|
+
## and need to provide a link to this, and that's the end of this part.
|
|
94
|
+
def create_package_items
|
|
95
|
+
cart_items = []
|
|
96
|
+
params[:product_ids].each do |product_id|
|
|
97
|
+
cart_item = Auth.configuration.cart_item_class.constantize.new(product_id: product_id)
|
|
98
|
+
cart_item.resource_id = lookup_resource.id.to_s
|
|
99
|
+
cart_item.resource_class = lookup_resource.class.name.to_s
|
|
100
|
+
cart_item.signed_in_resource = current_signed_in_resource
|
|
101
|
+
cart_item.save
|
|
102
|
+
cart_items << cart_item
|
|
103
|
+
end
|
|
104
|
+
respond_to do |format|
|
|
105
|
+
format.html do
|
|
106
|
+
redirect_to cart_items_path
|
|
107
|
+
end
|
|
108
|
+
format.json do
|
|
109
|
+
render :json => cart_items.to_json
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
|
|
91
115
|
def create_multiple
|
|
92
116
|
#puts "came to create multiple."
|
|
93
117
|
#puts "params are:"
|
|
@@ -37,7 +37,7 @@ module Auth::Concerns::Shopping::DiscountControllerConcern
|
|
|
37
37
|
respond_with @auth_shopping_discount
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
def update
|
|
42
42
|
|
|
43
43
|
check_for_update(@auth_shopping_discount)
|
|
@@ -45,8 +45,8 @@ module Auth::Concerns::Shopping::DiscountControllerConcern
|
|
|
45
45
|
@auth_shopping_discount.assign_attributes(@auth_shopping_discount_params)
|
|
46
46
|
@auth_shopping_discount = add_owner_and_signed_in_resource(@auth_shopping_discount)
|
|
47
47
|
|
|
48
|
-
|
|
49
48
|
@auth_shopping_discount.save
|
|
49
|
+
|
|
50
50
|
respond_with @auth_shopping_discount
|
|
51
51
|
end
|
|
52
52
|
|
|
@@ -16,6 +16,7 @@ module Auth::Concerns::Shopping::PaymentControllerConcern
|
|
|
16
16
|
|
|
17
17
|
def show
|
|
18
18
|
@auth_shopping_payment = add_signed_in_resource(@auth_shopping_payment)
|
|
19
|
+
|
|
19
20
|
@auth_shopping_payment.set_payment_receipt
|
|
20
21
|
respond_with @auth_shopping_payment
|
|
21
22
|
end
|
|
@@ -27,8 +28,10 @@ module Auth::Concerns::Shopping::PaymentControllerConcern
|
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
def new
|
|
31
|
+
puts "these are payment attributes"
|
|
32
|
+
puts @auth_shopping_payment.attributes.to_s
|
|
30
33
|
@auth_shopping_payment = add_owner_and_signed_in_resource(@auth_shopping_payment)
|
|
31
|
-
|
|
34
|
+
@auth_shopping_payment.set_cart(@auth_shopping_payment.cart_id)
|
|
32
35
|
end
|
|
33
36
|
|
|
34
37
|
def edit
|
|
@@ -68,7 +71,7 @@ module Auth::Concerns::Shopping::PaymentControllerConcern
|
|
|
68
71
|
#puts "these are the attributes assigned in the update action."
|
|
69
72
|
#puts @auth_shopping_payment.attributes.to_s
|
|
70
73
|
@auth_shopping_payment.payment_params = params
|
|
71
|
-
|
|
74
|
+
|
|
72
75
|
save_response = @auth_shopping_payment.save
|
|
73
76
|
|
|
74
77
|
## if save successfull then otherwise, respond_with edit.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
module Auth::Concerns::Shopping::PersonalityControllerConcern
|
|
2
|
+
|
|
3
|
+
extend ActiveSupport::Concern
|
|
4
|
+
|
|
5
|
+
included do
|
|
6
|
+
include Auth::Shopping::Personalities::PersonalitiesHelper
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
##if an id is provided in the permitted params then tries to find that in the database, and makes a new cart item out of it.
|
|
10
|
+
#if no id is provided then creates a new personality from the permitted params, but excluding the id key.
|
|
11
|
+
#if a collection i.e plural resources is present in the permitted_params and its also there in our auth resources, then create a resource class and resource symbol out of it and assign resource as in the comments.
|
|
12
|
+
def initialize_vars
|
|
13
|
+
instantiate_shopping_classes
|
|
14
|
+
|
|
15
|
+
@auth_shopping_personality_params = permitted_params.fetch(:personality,{})
|
|
16
|
+
@auth_shopping_personality = params[:id] ? @auth_shopping_personality_class.find_self(params[:id],current_signed_in_resource) : @auth_shopping_personality_class.new(@auth_shopping_personality_params)
|
|
17
|
+
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
##expects the product id, resource_id is the logged in resource, and quantity
|
|
22
|
+
def create
|
|
23
|
+
##ensure that the cart item is new
|
|
24
|
+
|
|
25
|
+
check_for_create(@auth_shopping_personality)
|
|
26
|
+
@auth_shopping_personality = add_owner_and_signed_in_resource(@auth_shopping_personality)
|
|
27
|
+
|
|
28
|
+
@auth_shopping_personality.save
|
|
29
|
+
|
|
30
|
+
respond_with @auth_shopping_personality
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
##only permits the quantity to be changed, transaction id is internally assigned and can never be changed by the external world.
|
|
34
|
+
def update
|
|
35
|
+
check_for_update(@auth_shopping_personality)
|
|
36
|
+
@auth_shopping_personality.assign_attributes(@auth_shopping_personality_params)
|
|
37
|
+
@auth_shopping_personality = add_owner_and_signed_in_resource(@auth_shopping_personality)
|
|
38
|
+
@auth_shopping_personality.save
|
|
39
|
+
puts @auth_shopping_personality.errors.full_messages.to_s
|
|
40
|
+
respond_with @auth_shopping_personality
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def show
|
|
44
|
+
not_found if @auth_shopping_personality.nil?
|
|
45
|
+
respond_with @auth_shopping_personality
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##should show those cart items which do not have a parent_id.
|
|
49
|
+
##since these are the pending cart items.
|
|
50
|
+
##all remaining cart items have already been assigned to carts
|
|
51
|
+
def index
|
|
52
|
+
@auth_shopping_personalities = @auth_shopping_personality_class.find_personalities({:resource => lookup_resource}).page 1
|
|
53
|
+
respond_with @auth_shopping_personalities
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
##can be removed.
|
|
58
|
+
##responds with 204, and empty response body, if all is ok.
|
|
59
|
+
def destroy
|
|
60
|
+
not_found if @auth_shopping_personality.nil?
|
|
61
|
+
@auth_shopping_personality.destroy
|
|
62
|
+
respond_with @auth_shopping_personality
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def search
|
|
66
|
+
args = {:query_string => params[:query_string]}
|
|
67
|
+
query_clause = Auth::Search::Main.es_six_finalize_search_query_clause(args)
|
|
68
|
+
@search_results = Auth.configuration.personality_class.constantize.es.search(query_clause,{:wrapper => :load}).results
|
|
69
|
+
respond_to do |format|
|
|
70
|
+
## with js.
|
|
71
|
+
format.js do
|
|
72
|
+
render :partial => "search_result", locals: {search_results: @search_results, suggestions: []}
|
|
73
|
+
end
|
|
74
|
+
format.json do
|
|
75
|
+
render json: @search_results.to_json
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## this permitted params is overridden in the dummy app, and as a result throws unpermitted parameters for the daughter app parameters, even though they are subsequently permitted, since super is called first.
|
|
82
|
+
def permitted_params
|
|
83
|
+
|
|
84
|
+
params.permit({personality: [:date_of_birth, :fullname, :sex]},:id, :query_string)
|
|
85
|
+
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
module Auth::Concerns::Shopping::PlaceControllerConcern
|
|
2
|
+
|
|
3
|
+
extend ActiveSupport::Concern
|
|
4
|
+
|
|
5
|
+
included do
|
|
6
|
+
|
|
7
|
+
## to be able to initialize a cart item from a product
|
|
8
|
+
## inside the create_multiple def.
|
|
9
|
+
include Auth::Shopping::Places::PlacesHelper
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
##if an id is provided in the permitted params then tries to find that in the database, and makes a new cart item out of it.
|
|
16
|
+
#if no id is provided then creates a new place from the permitted params, but excluding the id key.
|
|
17
|
+
#if a collection i.e plural resources is present in the permitted_params and its also there in our auth resources, then create a resource class and resource symbol out of it and assign resource as in the comments.
|
|
18
|
+
def initialize_vars
|
|
19
|
+
instantiate_shopping_classes
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@auth_shopping_place_params = permitted_params.fetch(:place,{})
|
|
23
|
+
@auth_shopping_place = params[:id] ? @auth_shopping_place_class.find_self(params[:id],current_signed_in_resource) : @auth_shopping_place_class.new(@auth_shopping_place_params)
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
##expects the product id, resource_id is the logged in resource, and quantity
|
|
29
|
+
def create
|
|
30
|
+
##ensure that the cart item is new
|
|
31
|
+
|
|
32
|
+
check_for_create(@auth_shopping_place)
|
|
33
|
+
@auth_shopping_place = add_owner_and_signed_in_resource(@auth_shopping_place)
|
|
34
|
+
|
|
35
|
+
@auth_shopping_place.save
|
|
36
|
+
|
|
37
|
+
respond_with @auth_shopping_place
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
##only permits the quantity to be changed, transaction id is internally assigned and can never be changed by the external world.
|
|
41
|
+
def update
|
|
42
|
+
check_for_update(@auth_shopping_place)
|
|
43
|
+
@auth_shopping_place.assign_attributes(@auth_shopping_place_params)
|
|
44
|
+
@auth_shopping_place = add_owner_and_signed_in_resource(@auth_shopping_place)
|
|
45
|
+
@auth_shopping_place.save
|
|
46
|
+
puts @auth_shopping_place.errors.full_messages.to_s
|
|
47
|
+
respond_with @auth_shopping_place
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def show
|
|
51
|
+
not_found if @auth_shopping_place.nil?
|
|
52
|
+
respond_with @auth_shopping_place
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
##should show those cart items which do not have a parent_id.
|
|
56
|
+
##since these are the pending cart items.
|
|
57
|
+
##all remaining cart items have already been assigned to carts
|
|
58
|
+
def index
|
|
59
|
+
@auth_shopping_places = @auth_shopping_place_class.find_places({:resource => lookup_resource}).page 1
|
|
60
|
+
respond_with @auth_shopping_places
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
##can be removed.
|
|
65
|
+
##responds with 204, and empty response body, if all is ok.
|
|
66
|
+
def destroy
|
|
67
|
+
not_found if @auth_shopping_place.nil?
|
|
68
|
+
@auth_shopping_place.destroy
|
|
69
|
+
respond_with @auth_shopping_place
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def search
|
|
73
|
+
args = {:query_string => params[:query_string]}
|
|
74
|
+
query_clause = Auth::Search::Main.es_six_finalize_search_query_clause(args)
|
|
75
|
+
@search_results = Auth.configuration.place_class.constantize.es.search(query_clause,{:wrapper => :load}).results
|
|
76
|
+
respond_to do |format|
|
|
77
|
+
## with js.
|
|
78
|
+
format.js do
|
|
79
|
+
render :partial => "search_result", locals: {search_results: @search_results, suggestions: []}
|
|
80
|
+
end
|
|
81
|
+
format.json do
|
|
82
|
+
render json: @search_results.to_json
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
## this permitted params is overridden in the dummy app, and as a result throws unpermitted parameters for the daughter app parameters, even though they are subsequently permitted, since super is called first.
|
|
88
|
+
def permitted_params
|
|
89
|
+
|
|
90
|
+
params.permit({place: [:full_address, :unit_number, :building, :street, :pin_code, :city, :country_state, :country, :latitude, :longitude]},:id,:query_string)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
end
|
|
96
|
+
|
|
@@ -15,16 +15,11 @@ module Auth::Concerns::Shopping::ProductControllerConcern
|
|
|
15
15
|
puts "current signed in resource: #{current_signed_in_resource}"
|
|
16
16
|
@auth_shopping_product = params[:id] ? @auth_shopping_product_class.find_self(params[:id],current_signed_in_resource) : @auth_shopping_product_class.new(@auth_shopping_product_params)
|
|
17
17
|
end
|
|
18
|
-
|
|
19
18
|
|
|
20
19
|
|
|
21
20
|
def create
|
|
22
21
|
check_for_create(@auth_shopping_product)
|
|
23
22
|
@auth_shopping_product = add_owner_and_signed_in_resource(@auth_shopping_product,{:owner_is_current_resource => true})
|
|
24
|
-
#puts "this is the auth shopping product"
|
|
25
|
-
#puts @auth_shopping_product.embedded_document
|
|
26
|
-
#puts @auth_shopping_product.embedded_document_path
|
|
27
|
-
#@auth_shopping_product.send("#{@auth_shopping_product.embedded_document_path}=",@auth_shopping_product.embedded_document) if (@auth_shopping_product.embedded_document && @auth_shopping_product.embedded_document_path)
|
|
28
23
|
@auth_shopping_product.save
|
|
29
24
|
respond_with @auth_shopping_product
|
|
30
25
|
|
|
@@ -34,47 +29,63 @@ module Auth::Concerns::Shopping::ProductControllerConcern
|
|
|
34
29
|
check_for_update(@auth_shopping_product)
|
|
35
30
|
@auth_shopping_product = add_owner_and_signed_in_resource(@auth_shopping_product,{:owner_is_current_resource => true})
|
|
36
31
|
@auth_shopping_product.assign_attributes(@auth_shopping_product_params)
|
|
37
|
-
|
|
38
|
-
## assigns the embedded document to the provided path.
|
|
39
|
-
=begin
|
|
40
|
-
if @auth_shopping_product.embedded_document_path
|
|
41
|
-
curr_element = nil
|
|
42
|
-
total_els = @auth_shopping_product.embedded_document_path.split(".").size
|
|
43
|
-
@auth_shopping_product.embedded_document_path.split(".").each_with_index {|path,key|
|
|
44
|
-
if key == (total_els - 1)
|
|
45
|
-
if curr_element.nil?
|
|
46
|
-
@auth_shopping_product.send(path + "=",@auth_shopping_product.embedded_document)
|
|
47
|
-
else
|
|
48
|
-
curr_element.send(path + "=",@auth_shopping_product.embedded_document) if (path =~ /[a-z]+/)
|
|
49
|
-
curr_element.send(:[]=,path.to_i,@auth_shopping_product.embedded_document) if (path =~ /\d+/)
|
|
50
|
-
end
|
|
51
|
-
else
|
|
52
|
-
if curr_element.nil?
|
|
53
|
-
curr_element = @auth_shopping_product.send(path)
|
|
54
|
-
else
|
|
55
|
-
curr_element = curr_element.send(path) if (path =~ /[a-z]+/)
|
|
56
|
-
curr_element = curr_element[path.to_i] if path=~/\d+/
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
}
|
|
60
|
-
end
|
|
61
|
-
=end
|
|
62
|
-
## prune nil elements.
|
|
63
|
-
## at all levels.
|
|
64
|
-
|
|
65
32
|
@auth_shopping_product.save
|
|
66
33
|
respond_with @auth_shopping_product
|
|
67
34
|
|
|
68
35
|
end
|
|
69
36
|
|
|
37
|
+
## index can accept product bundle as a parameter.
|
|
38
|
+
## like only show the bundles.
|
|
39
|
+
## if we want to show that then?
|
|
40
|
+
## okay so let us add that bundle parameter.
|
|
70
41
|
def index
|
|
71
42
|
instantiate_shopping_classes
|
|
72
|
-
|
|
43
|
+
if params[:query_string]
|
|
44
|
+
if params[:autocomplete_bundle_name]
|
|
45
|
+
## in this case, the autocomplete query has to be done.
|
|
46
|
+
args = {:query_string => params[:query_string]}
|
|
47
|
+
query = Auth::Search::Main.es_six_finalize_search_query_clause(args)
|
|
48
|
+
Auth.configuration.product_class.constantize.bundle_autocomplete_aggregation(query)
|
|
49
|
+
@auth_shopping_results = Auth.configuration.product_class.constantize.es.search(query,{:wrapper => :load}).results
|
|
50
|
+
end
|
|
51
|
+
elsif params[:group_by_bundles]
|
|
52
|
+
results = Auth.configuration.product_class.constantize.collection.aggregate([
|
|
53
|
+
{
|
|
54
|
+
"$match" => {
|
|
55
|
+
"bundle_name" => {
|
|
56
|
+
"$exists" => true
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"$group" => {
|
|
62
|
+
"_id" => "$bundle_name",
|
|
63
|
+
"products" => {
|
|
64
|
+
"$push" => "$$ROOT"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
])
|
|
69
|
+
## we need them keyed by the bundle name.
|
|
70
|
+
@products_grouped_by_bundle = {}
|
|
71
|
+
@auth_shopping_products = []
|
|
72
|
+
results.each do |result|
|
|
73
|
+
bundle_name = result["_id"]
|
|
74
|
+
products = result["products"].map{|c| c = Auth.configuration.product_class.constantize.new(c)}
|
|
75
|
+
@products_grouped_by_bundle[bundle_name] = products
|
|
76
|
+
end
|
|
77
|
+
else
|
|
78
|
+
@auth_shopping_products = @auth_shopping_product_class.all
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
73
83
|
end
|
|
74
84
|
|
|
75
85
|
def show
|
|
76
86
|
instantiate_shopping_classes
|
|
77
87
|
@auth_shopping_product = @auth_shopping_product_class.find(params[:id])
|
|
88
|
+
|
|
78
89
|
## will render show.json.erb if its a json request.
|
|
79
90
|
end
|
|
80
91
|
|
|
@@ -92,15 +103,15 @@ module Auth::Concerns::Shopping::ProductControllerConcern
|
|
|
92
103
|
|
|
93
104
|
end
|
|
94
105
|
|
|
95
|
-
##
|
|
96
|
-
##
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
## we just keep the embedded_document_path
|
|
100
|
-
## i need to change the controllers back to product
|
|
101
|
-
## and i need to
|
|
102
|
-
pr = params.permit({:product => [:name,:price]})
|
|
106
|
+
## first create a new product with a bundle.
|
|
107
|
+
## so let me modify that part first.
|
|
108
|
+
def permitted_params
|
|
109
|
+
pr = params.permit({:product => [:name,:price,:bundle_name]})
|
|
103
110
|
end
|
|
104
111
|
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
105
116
|
end
|
|
106
117
|
|