spree_core 0.30.2 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/app/controllers/admin/base_controller.rb +0 -31
  2. data/app/controllers/admin/orders_controller.rb +10 -9
  3. data/app/controllers/admin/overview_controller.rb +1 -1
  4. data/app/controllers/admin/products_controller.rb +8 -8
  5. data/app/controllers/admin/properties_controller.rb +1 -1
  6. data/app/controllers/admin/shipments_controller.rb +6 -3
  7. data/app/controllers/admin/shipping_methods_controller.rb +1 -1
  8. data/app/controllers/admin/tax_rates_controller.rb +2 -2
  9. data/app/controllers/admin/taxons_controller.rb +1 -2
  10. data/app/controllers/admin/users_controller.rb +7 -8
  11. data/app/controllers/admin/variants_controller.rb +2 -2
  12. data/app/controllers/countries_controller.rb +1 -1
  13. data/app/controllers/locale_controller.rb +1 -1
  14. data/app/controllers/spree/base_controller.rb +1 -117
  15. data/app/controllers/states_controller.rb +1 -1
  16. data/app/helpers/spree/base_helper.rb +1 -7
  17. data/app/helpers/taxons_helper.rb +2 -2
  18. data/app/models/app_configuration.rb +0 -3
  19. data/app/models/calculator/flat_percent_item_total.rb +2 -1
  20. data/app/models/calculator/vat.rb +1 -1
  21. data/app/models/creditcard.rb +1 -1
  22. data/app/models/gateway/authorize_net.rb +13 -2
  23. data/app/models/gateway/authorize_net_cim.rb +11 -0
  24. data/app/models/gateway/beanstream.rb +30 -7
  25. data/app/models/inventory_unit.rb +21 -31
  26. data/app/models/line_item.rb +7 -8
  27. data/app/models/order.rb +4 -1
  28. data/app/models/product_group.rb +4 -8
  29. data/app/models/property.rb +1 -3
  30. data/app/models/return_authorization.rb +6 -1
  31. data/app/models/state_event.rb +3 -3
  32. data/app/models/state_monitor.rb +16 -16
  33. data/app/models/taxon.rb +6 -7
  34. data/app/models/user.rb +4 -0
  35. data/app/views/admin/general_settings/edit.html.erb +0 -8
  36. data/app/views/admin/general_settings/show.html.erb +5 -10
  37. data/app/views/admin/images/_form.html.erb +1 -1
  38. data/app/views/admin/images/index.html.erb +1 -1
  39. data/app/views/admin/option_types/new.html.erb +1 -1
  40. data/app/views/admin/orders/_add_product.html.erb +3 -3
  41. data/app/views/admin/orders/_form.html.erb +3 -0
  42. data/app/views/admin/orders/_user_form.html.erb +1 -1
  43. data/app/views/admin/orders/index.html.erb +2 -2
  44. data/app/views/admin/orders/show.html.erb +3 -8
  45. data/app/views/admin/orders/user.html.erb +1 -1
  46. data/app/views/admin/product_groups/index.html.erb +1 -1
  47. data/app/views/admin/product_groups/show.html.erb +1 -1
  48. data/app/views/admin/products/index.html.erb +1 -1
  49. data/app/views/admin/return_authorizations/_form.html.erb +3 -1
  50. data/app/views/admin/shared/_address_form.html.erb +1 -1
  51. data/app/views/admin/shared/_configuration_menu.html.erb +11 -11
  52. data/app/views/admin/shared/_order_tabs.html.erb +12 -12
  53. data/app/views/admin/shared/_product_tabs.html.erb +6 -6
  54. data/app/views/admin/states/_state_list.html.erb +2 -2
  55. data/app/views/admin/taxonomies/_js_head.html.erb +6 -8
  56. data/app/views/admin/taxonomies/edit.html.erb +11 -11
  57. data/app/views/admin/taxonomies/get_children.json.erb +5 -5
  58. data/app/views/admin/taxons/available.js.erb +10 -10
  59. data/app/views/admin/taxons/selected.html.erb +13 -13
  60. data/app/views/admin/variants/index.html.erb +1 -1
  61. data/app/views/checkout/_address.html.erb +2 -2
  62. data/app/views/layouts/admin.html.erb +1 -2
  63. data/app/views/layouts/spree_application.html.erb +1 -2
  64. data/app/views/shared/_admin_head.html.erb +3 -3
  65. data/app/views/shared/_doc_and_xmlns.html.erb +2 -0
  66. data/app/views/shared/_filters.html.erb +3 -28
  67. data/app/views/taxons/show.html.erb +7 -5
  68. data/config/initializers/spree.rb +1 -19
  69. data/config/locales/en.yml +0 -2
  70. data/config/routes.rb +3 -5
  71. data/db/migrate/20091007134354_change_taxons_to_nested_set.rb +2 -2
  72. data/lib/product_filters.rb +10 -11
  73. data/lib/scopes/product.rb +15 -0
  74. data/lib/spree/mail_settings.rb +2 -4
  75. data/lib/spree/preference_access.rb +3 -3
  76. data/lib/spree_base.rb +116 -0
  77. data/lib/spree_core.rb +3 -1
  78. data/lib/spree_core/preferences/model_hooks.rb +1 -1
  79. data/lib/tasks/install.rake +0 -1
  80. data/public/javascripts/admin.js +0 -6
  81. data/public/javascripts/admin/checkouts/edit.js +41 -40
  82. data/public/javascripts/admin/orders/edit_form.js +5 -4
  83. data/public/javascripts/jquery.cookie.js +96 -0
  84. data/public/javascripts/jquery.delayedobserver.js +35 -0
  85. data/public/javascripts/jsTree/jquery.jstree.js +3510 -0
  86. data/public/javascripts/jsTree/themes/apple/d.png +0 -0
  87. data/public/javascripts/jsTree/themes/apple/style.css +60 -34
  88. data/public/javascripts/jsTree/themes/apple/throbber.gif +0 -0
  89. data/public/javascripts/taxonomy.js +150 -149
  90. data/public/stylesheets/admin/admin.css +0 -34
  91. metadata +36 -43
  92. data/app/controllers/password_resets_controller.rb +0 -48
  93. data/app/helpers/users_helper.rb +0 -13
  94. data/app/models/spree/alert.rb +0 -13
  95. data/app/views/admin/shared/_alert.html.erb +0 -6
  96. data/app/views/shared/_login.html.erb +0 -21
  97. data/app/views/shared/_user_form.html.erb +0 -17
  98. data/lib/spree/i18n_utils.rb +0 -47
  99. data/public/javascripts/jquery.js +0 -19
  100. data/public/javascripts/jrails.autocomplete.js +0 -274
  101. data/public/javascripts/jrails.js +0 -1
  102. data/public/javascripts/jsTree/jquery.tree.js +0 -2058
  103. data/public/javascripts/jsTree/plugins/jquery.tree.contextmenu.js +0 -129
  104. data/public/javascripts/jsTree/themes/apple/icons.png +0 -0
@@ -1,129 +0,0 @@
1
- (function ($) {
2
- $.extend($.tree.plugins, {
3
- "contextmenu" : {
4
- object : $("<ul id='jstree-contextmenu' class='tree-context' />"),
5
- data : {
6
- t : false,
7
- a : false,
8
- r : false
9
- },
10
-
11
- defaults : {
12
- class_name : "hover",
13
- items : {
14
- create : {
15
- label : "Create",
16
- icon : "create",
17
- visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return 0; return TREE_OBJ.check("creatable", NODE); },
18
- action : function (NODE, TREE_OBJ) { TREE_OBJ.create(false, TREE_OBJ.get_node(NODE[0])); },
19
- separator_after : true
20
- },
21
- rename : {
22
- label : "Rename",
23
- icon : "rename",
24
- visible : function (NODE, TREE_OBJ) { if(NODE.length != 1) return false; return TREE_OBJ.check("renameable", NODE); },
25
- action : function (NODE, TREE_OBJ) { TREE_OBJ.rename(NODE); }
26
- },
27
- remove : {
28
- label : "Delete",
29
- icon : "remove",
30
- visible : function (NODE, TREE_OBJ) { var ok = true; $.each(NODE, function () { if(TREE_OBJ.check("deletable", this) == false) ok = false; return false; }); return ok; },
31
- action : function (NODE, TREE_OBJ) { $.each(NODE, function () { TREE_OBJ.remove(this); }); }
32
- }
33
- }
34
- },
35
- show : function(obj, t) {
36
- var opts = $.extend(true, {}, $.tree.plugins.contextmenu.defaults, t.settings.plugins.contextmenu);
37
- obj = $(obj);
38
- $.tree.plugins.contextmenu.object.empty();
39
- var str = "";
40
- var cnt = 0;
41
- for(var i in opts.items) {
42
- if(!opts.items.hasOwnProperty(i)) continue;
43
- if(opts.items[i] === false) continue;
44
- var r = 1;
45
- if(typeof opts.items[i].visible == "function") r = opts.items[i].visible.call(null, $.tree.plugins.contextmenu.data.a, t);
46
- if(r == -1) continue;
47
- else cnt ++;
48
- if(opts.items[i].separator_before === true) str += "<li class='separator'><span>&nbsp;</span></li>";
49
- str += '<li><a href="#" rel="' + i + '" class="' + i + ' ' + (r == 0 ? 'disabled' : '') + '">';
50
- if(opts.items[i].icon) str += "<ins " + (opts.items[i].icon.indexOf("/") == -1 ? " class='" + opts.items[i].icon + "' " : " style='background-image:url(\"" + opts.items[i].icon + "\");' " ) + ">&nbsp;</ins>";
51
- else str += "<ins>&nbsp;</ins>";
52
- str += "<span>" + opts.items[i].label + '</span></a></li>';
53
- if(opts.items[i].separator_after === true) str += "<li class='separator'><span>&nbsp;</span></li>";
54
- }
55
- var tmp = obj.children("a:visible").offset();
56
- $.tree.plugins.contextmenu.object.attr("class","tree-context tree-" + t.settings.ui.theme_name.toString() + "-context").html(str);
57
- var h = $.tree.plugins.contextmenu.object.height();
58
- var w = $.tree.plugins.contextmenu.object.width();
59
- var x = tmp.left;
60
- var y = tmp.top + parseInt(obj.children("a:visible").height()) + 2;
61
- var max_y = $(window).height() + $(window).scrollTop();
62
- var max_x = $(window).width() + $(window).scrollLeft();
63
- if(y + h > max_y) y = Math.max( (max_y - h - 2), 0);
64
- if(x + w > max_x) x = Math.max( (max_x - w - 2), 0);
65
- $.tree.plugins.contextmenu.object.css({ "left" : (x), "top" : (y) }).fadeIn("fast");
66
- },
67
- hide : function () {
68
- if(!$.tree.plugins.contextmenu.data.t) return;
69
- var opts = $.extend(true, {}, $.tree.plugins.contextmenu.defaults, $.tree.plugins.contextmenu.data.t.settings.plugins.contextmenu);
70
- if($.tree.plugins.contextmenu.data.r && $.tree.plugins.contextmenu.data.a) {
71
- $.tree.plugins.contextmenu.data.a.children("a, span").removeClass(opts.class_name);
72
- }
73
- $.tree.plugins.contextmenu.data = { a : false, r : false, t : false };
74
- $.tree.plugins.contextmenu.object.fadeOut("fast");
75
- },
76
- exec : function (cmd) {
77
- if($.tree.plugins.contextmenu.data.t == false) return;
78
- var opts = $.extend(true, {}, $.tree.plugins.contextmenu.defaults, $.tree.plugins.contextmenu.data.t.settings.plugins.contextmenu);
79
- try { opts.items[cmd].action.apply(null, [$.tree.plugins.contextmenu.data.a, $.tree.plugins.contextmenu.data.t]); } catch(e) { };
80
- },
81
-
82
- callbacks : {
83
- oninit : function () {
84
- if(!$.tree.plugins.contextmenu.css) {
85
- var css = '#jstree-contextmenu { display:none; position:absolute; z-index:2000; list-style-type:none; margin:0; padding:0; left:-2000px; top:-2000px; } .tree-context { margin:20px; padding:0; width:180px; border:1px solid #979797; padding:2px; background:#f5f5f5; list-style-type:none; }.tree-context li { height:22px; margin:0 0 0 27px; padding:0; background:#ffffff; border-left:1px solid #e0e0e0; }.tree-context li a { position:relative; display:block; height:22px; line-height:22px; margin:0 0 0 -28px; text-decoration:none; color:black; padding:0; }.tree-context li a ins { text-decoration:none; float:left; width:16px; height:16px; margin:0 0 0 0; background-color:#f0f0f0; border:1px solid #f0f0f0; border-width:3px 5px 3px 6px; line-height:16px; }.tree-context li a span { display:block; background:#f0f0f0; margin:0 0 0 29px; padding-left:5px; }.tree-context li.separator { background:#f0f0f0; height:2px; line-height:2px; font-size:1px; border:0; margin:0; padding:0; }.tree-context li.separator span { display:block; margin:0px 0 0px 27px; height:1px; border-top:1px solid #e0e0e0; border-left:1px solid #e0e0e0; line-height:1px; font-size:1px; background:white; }.tree-context li a:hover { border:1px solid #d8f0fa; height:20px; line-height:20px; }.tree-context li a:hover span { background:#e7f4f9; margin-left:28px; }.tree-context li a:hover ins { background-color:#e7f4f9; border-color:#e7f4f9; border-width:2px 5px 2px 5px; }.tree-context li a.disabled { color:gray; }.tree-context li a.disabled ins { }.tree-context li a.disabled:hover { border:0; height:22px; line-height:22px; }.tree-context li a.disabled:hover span { background:#f0f0f0; margin-left:29px; }.tree-context li a.disabled:hover ins { border-color:#f0f0f0; background-color:#f0f0f0; border-width:3px 5px 3px 6px; }';
86
- $.tree.plugins.contextmenu.css = this.add_sheet({ str : css });
87
- }
88
- },
89
- onrgtclk : function (n, t, e) {
90
- var opts = $.extend(true, {}, $.tree.plugins.contextmenu.defaults, t.settings.plugins.contextmenu);
91
- n = $(n);
92
- if(n.size() == 0) return;
93
- $.tree.plugins.contextmenu.data.t = t;
94
- if(!n.children("a:eq(0)").hasClass("clicked")) {
95
- $.tree.plugins.contextmenu.data.a = n;
96
- $.tree.plugins.contextmenu.data.r = true;
97
- n.children("a").addClass(opts.class_name);
98
- e.target.blur();
99
- }
100
- else {
101
- $.tree.plugins.contextmenu.data.r = false;
102
- $.tree.plugins.contextmenu.data.a = (t.selected_arr && t.selected_arr.length > 1) ? t.selected_arr : t.selected;
103
- }
104
- $.tree.plugins.contextmenu.show(n, t);
105
- e.preventDefault();
106
- e.stopPropagation();
107
- // return false; // commented out because you might want to do something in your own callback
108
- },
109
- onchange : function () { $.tree.plugins.contextmenu.hide(); },
110
- beforedata : function () { $.tree.plugins.contextmenu.hide(); },
111
- ondestroy : function () { $.tree.plugins.contextmenu.hide(); }
112
- }
113
- }
114
- });
115
- $(function () {
116
- $.tree.plugins.contextmenu.object.hide().appendTo("body");
117
- $("#jstree-contextmenu a")
118
- .live("click", function (event) {
119
- if(!$(this).hasClass("disabled")) {
120
- $.tree.plugins.contextmenu.exec.apply(null, [$(this).attr("rel")]);
121
- $.tree.plugins.contextmenu.hide();
122
- }
123
- event.stopPropagation();
124
- event.preventDefault();
125
- return false;
126
- })
127
- $(document).bind("mousedown", function(event) { if($(event.target).parents("#jstree-contextmenu").size() == 0) $.tree.plugins.contextmenu.hide(); });
128
- });
129
- })(jQuery);