spree_promo 0.60.6 → 0.70.RC1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +26 -0
- data/app/assets/javascripts/admin/promotions.js +131 -0
- data/app/assets/javascripts/admin/spree_promo.js +3 -0
- data/app/assets/javascripts/store/spree_promo.js +2 -0
- data/{public → app/assets}/stylesheets/admin/promotions.css +19 -29
- data/app/assets/stylesheets/admin/spree_promo.css +5 -0
- data/app/assets/stylesheets/store/spree_promo.css +4 -0
- data/app/controllers/admin/promotion_actions_controller.rb +28 -0
- data/app/controllers/admin/promotions_controller.rb +2 -2
- data/app/controllers/content_controller_decorator.rb +8 -0
- data/app/controllers/orders_controller_decorator.rb +14 -5
- data/app/models/adjustment_decorator.rb +3 -0
- data/app/models/order_decorator.rb +24 -0
- data/app/models/product_decorator.rb +10 -0
- data/app/models/product_group_decorator.rb +3 -0
- data/app/models/promotion.rb +61 -41
- data/app/models/promotion/actions/create_adjustment.rb +28 -0
- data/app/models/promotion/actions/create_line_items.rb +29 -0
- data/app/models/promotion/rules/first_order.rb +1 -1
- data/app/models/promotion/rules/item_total.rb +3 -2
- data/app/models/promotion/rules/landing_page.rb +17 -0
- data/app/models/promotion/rules/product.rb +1 -1
- data/app/models/promotion/rules/user.rb +1 -1
- data/app/models/promotion/rules/user_logged_in.rb +13 -0
- data/app/models/promotion_action.rb +19 -0
- data/app/models/promotion_action_line_item.rb +6 -0
- data/app/models/promotion_rule.rb +3 -16
- data/app/overrides/promo_admin_tabs.rb +5 -0
- data/app/overrides/promo_coupon_code_field.rb +5 -0
- data/app/overrides/promo_product_properties.rb +5 -0
- data/app/views/admin/promotion_actions/create.js.erb +7 -0
- data/app/views/admin/promotion_actions/destroy.js.erb +2 -0
- data/app/views/admin/promotions/_actions.html.erb +32 -0
- data/app/views/admin/promotions/_form.html.erb +17 -17
- data/app/views/admin/promotions/_promotion_action.html.erb +12 -0
- data/app/views/admin/promotions/_promotion_rule.html.erb +2 -2
- data/app/views/admin/promotions/_rules.html.erb +32 -0
- data/app/views/admin/promotions/actions/_create_adjustment.html.erb +19 -0
- data/app/views/admin/promotions/actions/_create_line_items.html.erb +52 -0
- data/app/views/admin/promotions/actions/_give_store_credit.html.erb +6 -0
- data/app/views/admin/promotions/edit.html.erb +4 -38
- data/app/views/admin/promotions/index.html.erb +5 -7
- data/app/views/admin/promotions/rules/_landing_page.html.erb +8 -0
- data/app/views/admin/promotions/rules/_user_logged_in.html.erb +3 -0
- data/app/views/checkout/_coupon_code_field.html.erb +1 -1
- data/config/locales/en.yml +27 -5
- data/config/routes.rb +1 -0
- data/db/migrate/20101026184833_migrate_adjustments.rb +9 -0
- data/db/migrate/20110331094351_promotion_changes_to_subclass_of_activator.rb +22 -0
- data/db/migrate/20110404123358_create_promotion_actions.rb +13 -0
- data/db/migrate/20110601202923_create_promotion_action_line_items.rb +12 -0
- data/lib/spree_promo.rb +24 -100
- metadata +77 -26
- data/app/models/promotion_credit.rb +0 -9
- data/db/migrate/20100419194457_fix_existing_coupon_credits.rb +0 -9
- data/lib/spree_promo_hooks.rb +0 -11
- data/lib/tasks/install.rake +0 -26
- data/public/javascripts/admin/promotions.js +0 -26
@@ -1,9 +0,0 @@
|
|
1
|
-
class PromotionCredit < ::Adjustment
|
2
|
-
scope :with_order, :conditions => "order_id IS NOT NULL"
|
3
|
-
|
4
|
-
# Checks if credit is still applicable to order
|
5
|
-
# If source of adjustment is credit, it checks if it's still valid
|
6
|
-
def applicable?
|
7
|
-
source && source.eligible?(order) && super
|
8
|
-
end
|
9
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
class FixExistingCouponCredits < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
execute("UPDATE adjustments SET type='PromotionCredit' WHERE type='CouponCredit'")
|
4
|
-
execute("UPDATE adjustments SET adjustment_source_type='Promotion' WHERE adjustment_source_type='Coupon'")
|
5
|
-
end
|
6
|
-
|
7
|
-
def self.down
|
8
|
-
end
|
9
|
-
end
|
data/lib/spree_promo_hooks.rb
DELETED
data/lib/tasks/install.rake
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
namespace :spree_promo do
|
2
|
-
desc "Copies all migrations and assets (NOTE: This will be obsolete with Rails 3.1)"
|
3
|
-
task :install do
|
4
|
-
Rake::Task['spree_promo:install:migrations'].invoke
|
5
|
-
Rake::Task['spree_promo:install:assets'].invoke
|
6
|
-
end
|
7
|
-
|
8
|
-
namespace :install do
|
9
|
-
|
10
|
-
desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)"
|
11
|
-
task :migrations do
|
12
|
-
source = File.join(File.dirname(__FILE__), '..', '..', 'db')
|
13
|
-
destination = File.join(Rails.root, 'db')
|
14
|
-
Spree::FileUtilz.mirror_files(source, destination)
|
15
|
-
end
|
16
|
-
|
17
|
-
desc "Copies all assets (NOTE: This will be obsolete with Rails 3.1)"
|
18
|
-
task :assets do
|
19
|
-
source = File.join(File.dirname(__FILE__), '..', '..', 'public')
|
20
|
-
destination = File.join(Rails.root, 'public')
|
21
|
-
puts "INFO: Mirroring assets from #{source} to #{destination}"
|
22
|
-
Spree::FileUtilz.mirror_files(source, destination)
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
var initProductRuleSourceField = function(){
|
2
|
-
|
3
|
-
$products_source_field = jQuery('.products_rule_products_source_field input');
|
4
|
-
$products_source_field.click(function() {
|
5
|
-
$rule_container = jQuery(this).parents('.promotion-rule');
|
6
|
-
if(this.checked){
|
7
|
-
if(this.value == 'manual'){
|
8
|
-
$rule_container.find('.products_rule_products').show();
|
9
|
-
$rule_container.find('.products_rule_product_group').hide();
|
10
|
-
} else {
|
11
|
-
$rule_container.find('.products_rule_products').hide();
|
12
|
-
$rule_container.find('.products_rule_product_group').show();
|
13
|
-
}
|
14
|
-
}
|
15
|
-
});
|
16
|
-
$products_source_field.each(function() {
|
17
|
-
$(this).triggerHandler('click');
|
18
|
-
});
|
19
|
-
|
20
|
-
};
|
21
|
-
|
22
|
-
|
23
|
-
jQuery(document).ready(function() {
|
24
|
-
initProductRuleSourceField();
|
25
|
-
});
|
26
|
-
|