caboose-cms 0.7.85 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/caboose/{admin_edit_order.js → admin_edit_invoice.js} +332 -189
- data/app/assets/javascripts/caboose/cart.js +15 -15
- data/app/assets/javascripts/caboose/cart_old.js +2 -2
- data/app/assets/javascripts/caboose/checkout/authnet_payment_method_controller.js +120 -0
- data/app/assets/javascripts/caboose/checkout/billing_address_controller.js +85 -0
- data/app/assets/javascripts/caboose/checkout/cart_controller.js +257 -0
- data/app/assets/javascripts/caboose/checkout/checkout_controller.js +258 -0
- data/app/assets/javascripts/caboose/checkout/gift_cards_controller.js +57 -0
- data/app/assets/javascripts/caboose/checkout/shipping_address_controller.js +86 -0
- data/app/assets/javascripts/caboose/checkout/shipping_method_controller.js +121 -0
- data/app/assets/javascripts/caboose/checkout/stripe_payment_method_controller.js +155 -0
- data/app/assets/javascripts/caboose/checkout_login_register.js +2 -2
- data/app/assets/javascripts/caboose/checkout_module.js +8 -8
- data/app/assets/javascripts/caboose/checkout_old.js +151 -0
- data/app/assets/javascripts/caboose/{checkout_payment.js → checkout_payment_authnet.js} +1 -1
- data/app/assets/javascripts/caboose/checkout_payment_stripe.js +212 -0
- data/app/assets/javascripts/caboose/checkout_shipping.js +1 -1
- data/app/assets/javascripts/caboose/jquery.payment.js +1 -0
- data/app/assets/javascripts/caboose/model/attribute.js +3 -2
- data/app/assets/javascripts/caboose/model/bound_control.js +56 -14
- data/app/assets/javascripts/caboose/model/bound_select.js +9 -11
- data/app/assets/javascripts/caboose/model/bound_select_simple.js +215 -0
- data/app/assets/javascripts/caboose/model/bound_text.js +7 -8
- data/app/assets/javascripts/caboose/{my_account_edit_order.js → my_account_edit_invoice.js} +55 -55
- data/app/assets/javascripts/caboose/united_states.js +65 -0
- data/app/assets/stylesheets/caboose/{my_account_edit_order.css.scss → my_account_edit_invoice.css.scss} +1 -1
- data/app/assets/templates/caboose/cart/line_items.jst.ejs +3 -3
- data/app/assets/templates/caboose/checkout/line_items.jst.ejs +7 -7
- data/app/controllers/caboose/ab_options_controller.rb +4 -4
- data/app/controllers/caboose/ab_variants_controller.rb +5 -5
- data/app/controllers/caboose/admin_controller.rb +0 -6
- data/app/controllers/caboose/application_controller.rb +16 -15
- data/app/controllers/caboose/billing_addresses_controller.rb +22 -22
- data/app/controllers/caboose/block_type_sources_controller.rb +8 -8
- data/app/controllers/caboose/block_types_controller.rb +2 -42
- data/app/controllers/caboose/blocks_controller.rb +26 -26
- data/app/controllers/caboose/calendars_controller.rb +5 -5
- data/app/controllers/caboose/cart_controller.rb +55 -36
- data/app/controllers/caboose/categories_controller.rb +78 -76
- data/app/controllers/caboose/checkout_controller.rb +313 -340
- data/app/controllers/caboose/checkout_controller_bak.rb +620 -0
- data/app/controllers/caboose/domains_controller.rb +5 -5
- data/app/controllers/caboose/event_groups_controller.rb +26 -4
- data/app/controllers/caboose/events_controller.rb +7 -6
- data/app/controllers/caboose/fonts_controller.rb +2 -2
- data/app/controllers/caboose/gift_cards_controller.rb +113 -139
- data/app/controllers/caboose/google_spreadsheets_controller.rb +1 -1
- data/app/controllers/caboose/{order_packages_controller.rb → invoice_packages_controller.rb} +49 -49
- data/app/controllers/caboose/{order_reports_controller.rb → invoice_reports_controller.rb} +11 -13
- data/app/controllers/caboose/invoice_transactions_controller.rb +35 -0
- data/app/controllers/caboose/invoices_controller.rb +328 -0
- data/app/controllers/caboose/line_items_controller.rb +35 -34
- data/app/controllers/caboose/login_controller.rb +7 -7
- data/app/controllers/caboose/login_logs_controller.rb +4 -4
- data/app/controllers/caboose/logout_controller.rb +3 -1
- data/app/controllers/caboose/media_categories_controller.rb +9 -9
- data/app/controllers/caboose/media_controller.rb +21 -46
- data/app/controllers/caboose/modal_controller.rb +4 -3
- data/app/controllers/caboose/modification_values_controller.rb +6 -6
- data/app/controllers/caboose/modifications_controller.rb +7 -6
- data/app/controllers/caboose/my_account_controller.rb +2 -2
- data/app/controllers/caboose/my_account_invoices_controller.rb +166 -0
- data/app/controllers/caboose/my_account_line_items_controller.rb +15 -13
- data/app/controllers/caboose/page_custom_fields_controller.rb +9 -8
- data/app/controllers/caboose/page_permissions_controller.rb +3 -3
- data/app/controllers/caboose/pages_controller.rb +132 -135
- data/app/controllers/caboose/permissions_controller.rb +8 -7
- data/app/controllers/caboose/post_categories_controller.rb +22 -7
- data/app/controllers/caboose/post_custom_fields_controller.rb +9 -8
- data/app/controllers/caboose/posts_controller.rb +35 -43
- data/app/controllers/caboose/product_images_controller.rb +5 -5
- data/app/controllers/caboose/products_controller.rb +53 -47
- data/app/controllers/caboose/redirects_controller.rb +7 -7
- data/app/controllers/caboose/register_controller.rb +2 -2
- data/app/controllers/caboose/retargeting_controller.rb +2 -61
- data/app/controllers/caboose/reviews_controller.rb +1 -0
- data/app/controllers/caboose/roles_controller.rb +10 -9
- data/app/controllers/caboose/settings_controller.rb +9 -7
- data/app/controllers/caboose/shipping_addresses_controller.rb +18 -18
- data/app/controllers/caboose/shipping_packages_controller.rb +24 -21
- data/app/controllers/caboose/sites_controller.rb +35 -25
- data/app/controllers/caboose/smtp_controller.rb +3 -3
- data/app/controllers/caboose/sns_controller.rb +6 -6
- data/app/controllers/caboose/social_controller.rb +5 -6
- data/app/controllers/caboose/stackable_groups_controller.rb +10 -8
- data/app/controllers/caboose/station_controller.rb +3 -3
- data/app/controllers/caboose/store_controller.rb +93 -87
- data/app/controllers/caboose/subscriptions_controller.rb +153 -0
- data/app/controllers/caboose/users_controller.rb +25 -22
- data/app/controllers/caboose/variants_controller.rb +72 -93
- data/app/controllers/caboose/vendors_controller.rb +35 -32
- data/app/mailers/caboose/{orders_mailer.rb → invoices_mailer.rb} +21 -21
- data/app/mailers/caboose/login_mailer.rb +3 -3
- data/app/models/caboose/authnet.rb +295 -195
- data/app/models/caboose/comment_routes.rb +68 -41
- data/app/models/caboose/core_plugin.rb +1 -1
- data/app/models/caboose/discount.rb +14 -3
- data/app/models/caboose/domain_constraint.rb +11 -3
- data/app/models/caboose/gift_card.rb +8 -8
- data/app/models/caboose/invoice.rb +706 -0
- data/app/models/caboose/invoice_discount.rb +10 -0
- data/app/models/caboose/invoice_package.rb +76 -0
- data/app/models/caboose/{order_package_calculator.rb → invoice_package_calculator.rb} +20 -20
- data/app/models/caboose/{order_pdf.rb → invoice_pdf.rb} +30 -30
- data/app/models/caboose/{order_reporter.rb → invoice_reporter.rb} +5 -5
- data/app/models/caboose/invoice_transaction.rb +169 -0
- data/app/models/caboose/line_item.rb +11 -8
- data/app/models/caboose/payment_processors/authorizenet.rb +15 -15
- data/app/models/caboose/payment_processors/base.rb +3 -3
- data/app/models/caboose/{pending_orders_pdf.rb → pending_invoices_pdf.rb} +31 -31
- data/app/models/caboose/product.rb +2 -4
- data/app/models/caboose/schema.rb +159 -111
- data/app/models/caboose/shipping_calculator.rb +41 -139
- data/app/models/caboose/smtp_config.rb +2 -1
- data/app/models/caboose/store_config.rb +7 -7
- data/app/models/caboose/subscription.rb +32 -0
- data/app/models/caboose/tax_calculator.rb +36 -36
- data/app/models/caboose/user.rb +6 -0
- data/app/models/caboose/user_subscription.rb +142 -0
- data/app/models/caboose/wish_list.rb +14 -0
- data/app/models/caboose/wish_list_line_item.rb +13 -0
- data/app/views/caboose/blocks/_products.html.erb +10 -13
- data/app/views/caboose/checkout/_address_form.html.erb +14 -14
- data/app/views/caboose/checkout/_billing_form.html.erb +3 -3
- data/app/views/caboose/checkout/_cart.html.erb +7 -7
- data/app/views/caboose/checkout/_cart_old.html.erb +9 -9
- data/app/views/caboose/checkout/_confirm.html.erb +9 -9
- data/app/views/caboose/checkout/_order_discount.html.erb +3 -3
- data/app/views/caboose/checkout/_shipping_address.html.erb +1 -1
- data/app/views/caboose/checkout/_shipping_method.html.erb +1 -1
- data/app/views/caboose/checkout/addresses.html.erb +10 -10
- data/app/views/caboose/checkout/authnet.html.erb +34 -0
- data/app/views/caboose/checkout/authnet_response_handler.html.erb +3 -0
- data/app/views/caboose/checkout/checkout.html.erb +100 -0
- data/app/views/caboose/checkout/confirm_without_payment.html.erb +6 -6
- data/app/views/caboose/checkout/discount.html.erb +1 -1
- data/app/views/caboose/checkout/index.html.erb +4 -4
- data/app/views/caboose/checkout/payment_authnet.html.erb +140 -0
- data/app/views/caboose/checkout/payment_stripe.html.erb +95 -0
- data/app/views/caboose/checkout/shipping.html.erb +4 -4
- data/app/views/caboose/checkout/thanks.html.erb +3 -3
- data/app/views/caboose/gift_cards/admin_edit.html.erb +19 -19
- data/app/views/caboose/gift_cards/admin_index.html.erb +9 -9
- data/app/views/caboose/{orders → invoices}/_admin_footer.html.erb +0 -0
- data/app/views/caboose/{orders → invoices}/_admin_header.html.erb +0 -0
- data/app/views/caboose/{orders/_quickbooks_order.html.erb → invoices/_quickbooks_invoice.html.erb} +0 -0
- data/app/views/caboose/{orders → invoices}/admin_city_report.html.erb +1 -1
- data/app/views/caboose/invoices/admin_delete_form.html.erb +18 -0
- data/app/views/caboose/{orders → invoices}/admin_edit.html.erb +14 -14
- data/app/views/caboose/{orders → invoices}/admin_index.html.erb +24 -24
- data/app/views/caboose/{orders → invoices}/admin_invalid_order.html.erb +2 -2
- data/app/views/caboose/{orders → invoices}/admin_new.html.erb +7 -7
- data/app/views/caboose/{orders → invoices}/admin_print.html.erb +15 -15
- data/app/views/caboose/{orders → invoices}/admin_summary_report.html.erb +4 -4
- data/app/views/caboose/{orders_mailer/customer_new_order.html.erb → invoices_mailer/customer_new_invoice.html.erb} +21 -21
- data/app/views/caboose/invoices_mailer/customer_payment_authorization.html.erb +5 -0
- data/app/views/caboose/{orders_mailer → invoices_mailer}/customer_status_updated.html.erb +22 -22
- data/app/views/caboose/{orders_mailer/fulfillment_new_order.html.erb → invoices_mailer/fulfillment_new_invoice.html.erb} +23 -23
- data/app/views/caboose/{orders_mailer/shipping_order_ready.html.erb → invoices_mailer/shipping_invoice_ready.html.erb} +0 -0
- data/app/views/caboose/{orders_mailer → invoices_mailer}/test_email.html.erb +0 -0
- data/app/views/caboose/line_items/admin_new.html.erb +1 -1
- data/app/views/caboose/login_mailer/forgot_password_email.html.erb +2 -3
- data/app/views/caboose/my_account/index.html.erb +1 -1
- data/app/views/caboose/{my_account_orders → my_account_invoices}/authnet_relay.html.erb +0 -0
- data/app/views/caboose/{my_account_orders → my_account_invoices}/authnet_response.html.erb +0 -0
- data/app/views/caboose/{my_account_orders → my_account_invoices}/edit.html.erb +9 -9
- data/app/views/caboose/my_account_invoices/index.html.erb +36 -0
- data/app/views/caboose/{my_account_orders → my_account_invoices}/payment_form.html.erb +10 -10
- data/app/views/caboose/post_categories/admin_index.html.erb +1 -1
- data/app/views/caboose/sites/admin_edit.html.erb +1 -1
- data/app/views/caboose/store/admin_edit_general.html.erb +5 -3
- data/app/views/caboose/store/admin_edit_packages.html.erb +6 -6
- data/app/views/caboose/store/admin_edit_shipping.html.erb +3 -3
- data/app/views/caboose/store/admin_edit_tax.html.erb +1 -1
- data/app/views/caboose/subscriptions/admin_edit.html.erb +82 -0
- data/app/views/caboose/subscriptions/admin_index.html.erb +45 -0
- data/config/routes.rb +1 -759
- data/config/routes_old.rb +759 -0
- data/lib/caboose/version.rb +1 -1
- data/lib/tasks/caboose.rake +41 -15
- metadata +101 -61
- data/app/controllers/caboose/my_account_orders_controller.rb +0 -165
- data/app/controllers/caboose/orders_controller.rb +0 -310
- data/app/models/caboose/order.rb +0 -479
- data/app/models/caboose/order_discount.rb +0 -10
- data/app/models/caboose/order_package.rb +0 -133
- data/app/models/caboose/order_transaction.rb +0 -41
- data/app/models/caboose/payment_processors/payscape.rb +0 -94
- data/app/views/caboose/checkout/payment.html.erb +0 -146
- data/app/views/caboose/my_account_orders/index.html.erb +0 -36
- data/app/views/caboose/orders/admin_delete_form.html.erb +0 -21
- data/app/views/caboose/orders_mailer/customer_payment_authorization.html.erb +0 -5
@@ -1,27 +1,28 @@
|
|
1
1
|
module Caboose
|
2
2
|
class LineItemsController < Caboose::ApplicationController
|
3
3
|
|
4
|
-
# GET /admin/
|
4
|
+
# @route GET /admin/invoices/:id/line-items/json
|
5
|
+
# @route GET /admin/invoices/:id/packages/json
|
5
6
|
def admin_json
|
6
|
-
return if !user_is_allowed('
|
7
|
-
|
8
|
-
render :json =>
|
7
|
+
return if !user_is_allowed('invoices', 'edit')
|
8
|
+
invoice = Invoice.find(params[:id])
|
9
|
+
render :json => invoice.line_items.as_json(:include => :invoice_package)
|
9
10
|
end
|
10
11
|
|
11
|
-
# GET /admin/
|
12
|
+
# @route GET /admin/invoices/:invoice_id/line-items/new
|
12
13
|
def admin_new
|
13
|
-
return if !user_is_allowed('
|
14
|
+
return if !user_is_allowed('invoices', 'edit')
|
14
15
|
render :layout => 'caboose/modal'
|
15
16
|
end
|
16
17
|
|
17
|
-
# POST /admin/
|
18
|
+
# @route POST /admin/invoices/:invoice_id/line-items
|
18
19
|
def admin_add
|
19
|
-
return if !user_is_allowed('
|
20
|
+
return if !user_is_allowed('invoices', 'edit')
|
20
21
|
|
21
22
|
resp = StdClass.new
|
22
23
|
v = Variant.find(params[:variant_id])
|
23
24
|
li = LineItem.new(
|
24
|
-
:
|
25
|
+
:invoice_id => params[:invoice_id],
|
25
26
|
:variant_id => params[:variant_id],
|
26
27
|
:quantity => 1,
|
27
28
|
:unit_price => v.price,
|
@@ -32,9 +33,9 @@ module Caboose
|
|
32
33
|
render :json => resp
|
33
34
|
end
|
34
35
|
|
35
|
-
# PUT /admin/
|
36
|
+
# @route PUT /admin/invoices/:invoice_id/line-items/:id
|
36
37
|
def admin_update
|
37
|
-
return if !user_is_allowed('
|
38
|
+
return if !user_is_allowed('invoices', 'edit')
|
38
39
|
|
39
40
|
resp = Caboose::StdClass.new({'attributes' => {}})
|
40
41
|
li = LineItem.find(params[:id])
|
@@ -43,8 +44,8 @@ module Caboose
|
|
43
44
|
send_status_email = false
|
44
45
|
params.each do |name,value|
|
45
46
|
case name
|
46
|
-
when '
|
47
|
-
when '
|
47
|
+
when 'invoice_id' then li.invoice_id = value
|
48
|
+
when 'invoice_package_id' then li.invoice_package_id = value
|
48
49
|
when 'variant_id' then li.variant_id = value
|
49
50
|
when 'parent_id' then li.parent_id = value
|
50
51
|
#when 'unit_price' then li.unit_price = value
|
@@ -60,16 +61,16 @@ module Caboose
|
|
60
61
|
li.save
|
61
62
|
|
62
63
|
|
63
|
-
li.
|
64
|
-
li.
|
64
|
+
li.invoice.subtotal = li.invoice.calculate_subtotal
|
65
|
+
li.invoice.total = li.invoice.calculate_total
|
65
66
|
|
66
67
|
# Recalculate everything
|
67
|
-
#r = ShippingCalculator.rate(li.
|
68
|
-
#li.
|
69
|
-
#li.
|
70
|
-
#li.
|
71
|
-
#li.
|
72
|
-
#li.
|
68
|
+
#r = ShippingCalculator.rate(li.invoice, li.invoice.shipping_method_code)
|
69
|
+
#li.invoice.shipping = r['negotiated_rate'] / 100
|
70
|
+
#li.invoice.handling = (r['negotiated_rate'] / 100) * 0.05
|
71
|
+
#li.invoice.tax = TaxCalculator.tax(li.invoice)
|
72
|
+
#li.invoice.calculate_total
|
73
|
+
#li.invoice.save
|
73
74
|
|
74
75
|
when 'tracking_number'
|
75
76
|
li.tracking_number = value
|
@@ -81,36 +82,36 @@ module Caboose
|
|
81
82
|
end
|
82
83
|
end
|
83
84
|
if send_status_email
|
84
|
-
|
85
|
+
InvoicesMailer.configure_for_site(@site.id).customer_status_updated(li.invoice).deliver
|
85
86
|
end
|
86
87
|
resp.success = save && li.save
|
87
88
|
render :json => resp
|
88
89
|
end
|
89
90
|
|
90
|
-
# DELETE /admin/
|
91
|
+
# @route DELETE /admin/invoices/:invoice_id/line-items/:id
|
91
92
|
def admin_delete
|
92
|
-
return if !user_is_allowed('
|
93
|
+
return if !user_is_allowed('invoices', 'delete')
|
93
94
|
li = LineItem.find(params[:id])
|
94
|
-
|
95
|
+
invoice = li.invoice
|
95
96
|
li.destroy
|
96
|
-
|
97
|
-
|
97
|
+
invoice.calculate_total
|
98
|
+
invoice.save
|
98
99
|
render :json => Caboose::StdClass.new({
|
99
|
-
:redirect => '/admin/
|
100
|
+
:redirect => '/admin/invoices'
|
100
101
|
})
|
101
102
|
end
|
102
103
|
|
103
|
-
# GET /admin/
|
104
|
+
# @route GET /admin/invoices/:invoice_id/line-items/:id/highlight
|
104
105
|
def admin_highlight
|
105
|
-
return if !user_is_allowed('
|
106
|
+
return if !user_is_allowed('invoices', 'view')
|
106
107
|
li = LineItem.find(params[:id])
|
107
108
|
v = li.variant
|
108
109
|
redirect_to "/admin/products/#{v.product_id}/variants?highlight=#{v.id}"
|
109
110
|
end
|
110
111
|
|
111
|
-
# GET /admin/
|
112
|
+
# @route GET /admin/invoices/line-items/status-options
|
112
113
|
def admin_status_options
|
113
|
-
arr = ['pending', 'ready to ship', 'shipped', '
|
114
|
+
arr = ['pending', 'ready to ship', 'shipped', 'backinvoiceed', 'canceled']
|
114
115
|
options = []
|
115
116
|
arr.each do |status|
|
116
117
|
options << {
|
@@ -121,7 +122,7 @@ module Caboose
|
|
121
122
|
render :json => options
|
122
123
|
end
|
123
124
|
|
124
|
-
# GET /admin/line-items/product-stubs
|
125
|
+
# @route GET /admin/invoices/line-items/product-stubs
|
125
126
|
def admin_product_stubs
|
126
127
|
title = params[:title].strip.downcase.split(' ')
|
127
128
|
render :json => [] and return if title.length == 0
|
@@ -133,7 +134,7 @@ module Caboose
|
|
133
134
|
vars << "%#{str}%"
|
134
135
|
end
|
135
136
|
where = where.join(' and ')
|
136
|
-
query = ["select id, title, option1, option2, option3 from store_products where #{where}
|
137
|
+
query = ["select id, title, option1, option2, option3 from store_products where #{where} invoice by title limit 20"]
|
137
138
|
vars.each{ |v| query << v }
|
138
139
|
|
139
140
|
rows = ActiveRecord::Base.connection.select_rows(ActiveRecord::Base.send(:sanitize_sql_array, query))
|
@@ -2,7 +2,7 @@ module Caboose
|
|
2
2
|
class LoginController < Caboose::ApplicationController
|
3
3
|
#layout 'caboose/modal'
|
4
4
|
|
5
|
-
# GET /login
|
5
|
+
# @route GET /login
|
6
6
|
def index
|
7
7
|
if params[:logout]
|
8
8
|
logout_user
|
@@ -15,7 +15,7 @@ module Caboose
|
|
15
15
|
render :layout => Caboose::login_layout
|
16
16
|
end
|
17
17
|
|
18
|
-
# POST /login
|
18
|
+
# @route POST /login
|
19
19
|
def login
|
20
20
|
resp = StdClass.new('error' => '', 'redirect' => '')
|
21
21
|
return_url = params[:return_url].nil? ? "/" : params[:return_url]
|
@@ -47,7 +47,7 @@ module Caboose
|
|
47
47
|
render :json => resp
|
48
48
|
end
|
49
49
|
|
50
|
-
# GET /login/forgot-password
|
50
|
+
# @route GET /login/forgot-password
|
51
51
|
def forgot_password_form
|
52
52
|
@return_url = params[:return_url].nil? ? "/" : params[:return_url]
|
53
53
|
@modal = params[:modal].nil? ? false : params[:modal]
|
@@ -55,7 +55,7 @@ module Caboose
|
|
55
55
|
render :layout => Caboose::login_layout
|
56
56
|
end
|
57
57
|
|
58
|
-
# POST /login/forgot-password
|
58
|
+
# @route POST /login/forgot-password
|
59
59
|
def send_reset_email
|
60
60
|
@return_url = params[:return_url].nil? ? "/" : params[:return_url]
|
61
61
|
redirect_to @return_url if logged_in?
|
@@ -89,17 +89,17 @@ module Caboose
|
|
89
89
|
render :json => resp
|
90
90
|
end
|
91
91
|
|
92
|
-
# GET /login/reset-password/:reset_id
|
92
|
+
# @route GET /login/reset-password/:reset_id
|
93
93
|
def reset_password_form
|
94
94
|
@return_url = params[:return_url].nil? ? "/" : params[:return_url]
|
95
95
|
redirect_to @return_url if logged_in?
|
96
|
-
|
96
|
+
return
|
97
97
|
@reset_id = params[:reset_id]
|
98
98
|
@user = Caboose::User.user_for_reset_id(@reset_id)
|
99
99
|
render :layout => Caboose::login_layout
|
100
100
|
end
|
101
101
|
|
102
|
-
# POST /login/reset-password
|
102
|
+
# @route POST /login/reset-password
|
103
103
|
def reset_password
|
104
104
|
@return_url = params[:return_url].nil? ? "/" : params[:return_url]
|
105
105
|
redirect_to @return_url if logged_in?
|
@@ -7,14 +7,14 @@ module Caboose
|
|
7
7
|
@page = Page.page_with_uri(request.host_with_port, '/admin')
|
8
8
|
end
|
9
9
|
|
10
|
-
# GET /admin/login-logs
|
10
|
+
# @route GET /admin/login-logs
|
11
11
|
def admin_index
|
12
12
|
return if !user_is_allowed_to 'view', 'loginlogs'
|
13
13
|
@pager = self.login_logs_pager
|
14
14
|
render :layout => 'caboose/admin'
|
15
15
|
end
|
16
16
|
|
17
|
-
# GET /admin/login-logs/json
|
17
|
+
# @route GET /admin/login-logs/json
|
18
18
|
def admin_json
|
19
19
|
return if !user_is_allowed_to 'view', 'loginlogs'
|
20
20
|
pager = self.login_logs_pager
|
@@ -43,14 +43,14 @@ module Caboose
|
|
43
43
|
})
|
44
44
|
end
|
45
45
|
|
46
|
-
# GET /admin/login-logs/:id/json
|
46
|
+
# @route GET /admin/login-logs/:id/json
|
47
47
|
def admin_json_single
|
48
48
|
return if !user_is_allowed_to 'view', 'loginlogs'
|
49
49
|
login_log = LoginLog.find(params[:id])
|
50
50
|
render :json => login_log
|
51
51
|
end
|
52
52
|
|
53
|
-
# GET /admin/login-logs/:id
|
53
|
+
# @route GET /admin/login-logs/:id
|
54
54
|
def admin_edit
|
55
55
|
return if !user_is_allowed_to 'edit', 'loginlogs'
|
56
56
|
@login_log = LoginLog.find(params[:id])
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Caboose
|
2
2
|
class LogoutController < ApplicationController
|
3
|
-
|
3
|
+
|
4
|
+
# @route GET /logout
|
4
5
|
def index
|
5
6
|
Caboose.plugin_hook('before_logout')
|
6
7
|
|
@@ -9,5 +10,6 @@ module Caboose
|
|
9
10
|
login_user(elo)
|
10
11
|
redirect_to params[:return_url] ? params[:return_url] : "/"
|
11
12
|
end
|
13
|
+
|
12
14
|
end
|
13
15
|
end
|
@@ -2,14 +2,14 @@
|
|
2
2
|
module Caboose
|
3
3
|
class MediaCategoriesController < ApplicationController
|
4
4
|
|
5
|
-
# GET /admin/media-categories/json
|
5
|
+
# @route GET /admin/media-categories/json
|
6
6
|
def admin_json
|
7
7
|
return unless user_is_allowed('mediacategories', 'view')
|
8
8
|
tree = Caboose::MediaCategory.flat_tree(@site.id)
|
9
9
|
render :json => tree
|
10
10
|
end
|
11
11
|
|
12
|
-
# GET /admin/media-categories/flat-tree
|
12
|
+
# @route GET /admin/media-categories/flat-tree
|
13
13
|
def admin_flat_tree
|
14
14
|
return unless user_is_allowed('mediacategories', 'view')
|
15
15
|
prefix = params[:prefix] ? params[:prefix] : '- '
|
@@ -17,7 +17,7 @@ module Caboose
|
|
17
17
|
render :json => tree
|
18
18
|
end
|
19
19
|
|
20
|
-
# GET /admin/media-categories/options
|
20
|
+
# @route GET /admin/media-categories/options
|
21
21
|
def admin_options
|
22
22
|
return unless user_is_allowed('mediacategories', 'view')
|
23
23
|
prefix = params[:prefix] ? params[:prefix] : '- '
|
@@ -26,13 +26,13 @@ module Caboose
|
|
26
26
|
render :json => options
|
27
27
|
end
|
28
28
|
|
29
|
-
# GET /admin/media-categories/tree
|
29
|
+
# @route GET /admin/media-categories/tree
|
30
30
|
def admin_tree
|
31
31
|
return unless user_is_allowed('mediacategories', 'view')
|
32
32
|
render :json => Caboose::MediaCategory.tree_hash(@site.id)
|
33
33
|
end
|
34
34
|
|
35
|
-
# PUT /admin/media-categories/:id/sort-order
|
35
|
+
# @route PUT /admin/media-categories/:id/sort-order
|
36
36
|
def admin_update_sort_order
|
37
37
|
return unless user_is_allowed('mediacategories', 'edit')
|
38
38
|
resp = Caboose::StdClass.new
|
@@ -47,7 +47,7 @@ module Caboose
|
|
47
47
|
render :json => resp
|
48
48
|
end
|
49
49
|
|
50
|
-
# POST /admin/media-categories
|
50
|
+
# @route POST /admin/media-categories
|
51
51
|
def admin_add
|
52
52
|
return unless user_is_allowed('mediacategories', 'add')
|
53
53
|
|
@@ -68,7 +68,7 @@ module Caboose
|
|
68
68
|
render :json => resp
|
69
69
|
end
|
70
70
|
|
71
|
-
# PUT /admin/media-categories/:id
|
71
|
+
# @route PUT /admin/media-categories/:id
|
72
72
|
def admin_update
|
73
73
|
return unless user_is_allowed('mediacategories', 'edit')
|
74
74
|
|
@@ -94,7 +94,7 @@ module Caboose
|
|
94
94
|
render :json => resp
|
95
95
|
end
|
96
96
|
|
97
|
-
# DELETE /admin/media-categories/:id
|
97
|
+
# @route DELETE /admin/media-categories/:id
|
98
98
|
def admin_delete
|
99
99
|
return unless user_is_allowed('mediacategories', 'delete')
|
100
100
|
cat = MediaCategory.find(params[:id])
|
@@ -103,7 +103,7 @@ module Caboose
|
|
103
103
|
render :json => { :success => true }
|
104
104
|
end
|
105
105
|
|
106
|
-
# POST /admin/media-categories/:id/attach
|
106
|
+
# @route POST /admin/media-categories/:id/attach
|
107
107
|
def admin_attach
|
108
108
|
return unless user_is_allowed('mediacategories', 'view')
|
109
109
|
|
@@ -8,7 +8,7 @@ module Caboose
|
|
8
8
|
@page = Page.page_with_uri(request.host_with_port, '/admin')
|
9
9
|
end
|
10
10
|
|
11
|
-
# GET /admin/media
|
11
|
+
# @route GET /admin/media
|
12
12
|
def admin_index
|
13
13
|
return if !user_is_allowed('media', 'view')
|
14
14
|
render :file => 'caboose/extras/error_invalid_site' and return if @site.nil?
|
@@ -40,7 +40,7 @@ module Caboose
|
|
40
40
|
render :layout => 'caboose/admin'
|
41
41
|
end
|
42
42
|
|
43
|
-
# GET /admin/media/json
|
43
|
+
# @route GET /admin/media/json
|
44
44
|
def admin_json
|
45
45
|
return if !user_is_allowed('media', 'view')
|
46
46
|
render :json => false and return if @site.nil?
|
@@ -49,7 +49,7 @@ module Caboose
|
|
49
49
|
render :json => cat.api_hash
|
50
50
|
end
|
51
51
|
|
52
|
-
# GET /admin/media/last-upload-processed
|
52
|
+
# @route GET /admin/media/last-upload-processed
|
53
53
|
def admin_last_upload_processed
|
54
54
|
return if !user_is_allowed('media', 'view')
|
55
55
|
render :json => false and return if @site.nil?
|
@@ -59,28 +59,28 @@ module Caboose
|
|
59
59
|
render :json => { :last_upload_processed => s.value }
|
60
60
|
end
|
61
61
|
|
62
|
-
# GET /admin/media/new
|
62
|
+
# @route GET /admin/media/new
|
63
63
|
def admin_new
|
64
64
|
return unless user_is_allowed('media', 'add')
|
65
65
|
@media_category_id = params[:media_category_id]
|
66
66
|
render :layout => 'caboose/admin'
|
67
67
|
end
|
68
68
|
|
69
|
-
# GET /admin/media/:id
|
70
|
-
def
|
69
|
+
# @route GET /admin/media/:id/description
|
70
|
+
def admin_edit_description
|
71
71
|
return unless user_is_allowed('media', 'edit')
|
72
72
|
@media = Media.find(params[:id])
|
73
|
-
render :layout => 'caboose/
|
73
|
+
render :layout => 'caboose/modal'
|
74
74
|
end
|
75
75
|
|
76
|
-
# GET /admin/media/:id
|
77
|
-
def
|
76
|
+
# @route GET /admin/media/:id
|
77
|
+
def admin_edit
|
78
78
|
return unless user_is_allowed('media', 'edit')
|
79
79
|
@media = Media.find(params[:id])
|
80
|
-
render :layout => 'caboose/
|
80
|
+
render :layout => 'caboose/admin'
|
81
81
|
end
|
82
|
-
|
83
|
-
# PUT /admin/media/:id
|
82
|
+
|
83
|
+
# @route PUT /admin/media/:id
|
84
84
|
def admin_update
|
85
85
|
return unless user_is_allowed('media', 'edit')
|
86
86
|
|
@@ -104,23 +104,7 @@ module Caboose
|
|
104
104
|
render :json => resp
|
105
105
|
end
|
106
106
|
|
107
|
-
# POST /admin/media/
|
108
|
-
#def admin_edit_image
|
109
|
-
# new_url = params[:new_url]
|
110
|
-
# media_id = params[:media_id]
|
111
|
-
# resp = StdClass.new({'attributes' => {}})
|
112
|
-
# if !new_url.blank? && !media_id.blank?
|
113
|
-
# m = Media.find(media_id.gsub("image-",""))
|
114
|
-
# m.image = new_url
|
115
|
-
# m.save
|
116
|
-
# resp.success = "Saved image!"
|
117
|
-
# else
|
118
|
-
# resp.error = "Couldn't save image"
|
119
|
-
# end
|
120
|
-
# render :json => resp
|
121
|
-
#end
|
122
|
-
|
123
|
-
# POST /admin/media/:id/image
|
107
|
+
# @route POST /admin/media/:id/image
|
124
108
|
def admin_update_image
|
125
109
|
return unless user_is_allowed('media', 'edit')
|
126
110
|
|
@@ -140,28 +124,19 @@ module Caboose
|
|
140
124
|
render :json => resp
|
141
125
|
end
|
142
126
|
|
143
|
-
# DELETE /admin/media/:id
|
127
|
+
# @route DELETE /admin/media/:id
|
144
128
|
def admin_delete
|
145
129
|
return unless user_is_allowed('media', 'delete')
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
def admin_bulk_delete
|
153
|
-
return unless user_is_allowed('media', 'delete')
|
154
|
-
ids = params[:ids]
|
155
|
-
if ids
|
156
|
-
ids.each do |id|
|
157
|
-
Media.where(:id => id).destroy_all
|
158
|
-
ProductImage.where(:media_id => id).destroy_all
|
159
|
-
end
|
160
|
-
end
|
130
|
+
|
131
|
+
model_ids = params[:id] == 'bulk' ? params[:ids] : [params[:id]]
|
132
|
+
model_ids.each do |media_id|
|
133
|
+
ProductImage.where(:media_id => media_id).destroy_all
|
134
|
+
Media.where(:id => media_id).destroy_all
|
135
|
+
end
|
161
136
|
render :json => { :success => true }
|
162
137
|
end
|
163
138
|
|
164
|
-
# POST /admin/media/pre-upload
|
139
|
+
# @route POST /admin/media/pre-upload
|
165
140
|
def admin_pre_upload
|
166
141
|
return unless user_is_allowed('media', 'view')
|
167
142
|
media_category_id = params[:media_category_id]
|