spree_backend 2.2.2 → 2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c28791d3f7243ffae36fe5fa92d3d8ac759d88b
4
- data.tar.gz: 1407c077a4ff761036dfc7c4db6cb045d39e9093
3
+ metadata.gz: 141a054dae5dabb9b0419390a14925ab30b09091
4
+ data.tar.gz: 79f1e35967bc67ca1601f3651d5124d2c78a23dc
5
5
  SHA512:
6
- metadata.gz: f31473246ca26399b5436fe419204235fdb2576da21b0b9a3a3273f669c72cee56edd4f7591ea3448e4affac1ea59a1bc37655553a92c0b5985f039117e268cb
7
- data.tar.gz: dc5cb36da3effc2be58c104e3abeb4e24a4dada50c14fa5ae8eb8458cf10ec573bf244f561cd3ff567f8f6250e3f00c8eb7c5bb68c6aa90796001ae49ba56b9a
6
+ metadata.gz: 87a7898e914acab3eaa8258652c218814a91956937cda7c46ae970efb1338a36958fddbbace23ecc070905113bceb7758f94c8ba4f9be35af6b0e4432bc3f4c7
7
+ data.tar.gz: 0d9fc6a1aa1427f8c972c337de690268010e745223e10946ca68806b01fc3e9a6d15db13cf92569c6df7e9b049d2009d1dbbaaff1747e2bdb3370c4e8d361b9d
@@ -82,33 +82,48 @@ $ ->
82
82
 
83
83
  refresh_variants: ->
84
84
  if @receiving_stock()
85
- @_refresh_transfer_variants()
85
+ @_search_transfer_variants()
86
86
  else
87
- @_refresh_transfer_stock_items()
87
+ @_search_transfer_stock_items()
88
88
 
89
- _refresh_transfer_variants: ->
90
- if @cached_variants?
91
- @populate_select @cached_variants
92
- else
93
- $.getJSON Spree.url(Spree.routes.variants_api), (data) =>
94
- @cached_variants = _.map(data.variants, (variant) -> new TransferVariant(variant))
95
- @populate_select @cached_variants
89
+ _search_transfer_variants: ->
90
+ @build_select(Spree.url(Spree.routes.variants_api), 'product_name_or_sku_cont')
96
91
 
97
- _refresh_transfer_stock_items: ->
92
+ _search_transfer_stock_items: ->
98
93
  stock_location_id = $('#transfer_source_location_id').val()
99
- $.getJSON Spree.url(Spree.routes.stock_locations_api + "/#{stock_location_id}/stock_items"), (data) =>
100
- @populate_select _.map(data.stock_items, (stock_item) -> new TransferStockItem(stock_item))
101
-
102
- populate_select: (variants) ->
103
- $('#transfer_variant').children('option').remove()
104
-
105
- for variant in variants
106
- $('#transfer_variant').append($('<option></option>')
107
- .text(variant.name)
108
- .prop('value', variant.id)
109
- .data('variant', variant))
94
+ @build_select(Spree.url(Spree.routes.stock_locations_api + "/#{stock_location_id}/stock_items"),
95
+ 'variant_product_name_or_variant_sku_cont')
96
+
97
+ format_variant_result: (result) ->
98
+ "#{result.name} - #{result.sku}"
99
+
100
+ build_select: (url, query) ->
101
+ $('#transfer_variant').select2
102
+ minimumInputLength: 3
103
+ ajax:
104
+ url: url
105
+ datatype: "json"
106
+ data: (term, page) ->
107
+ query_object = {}
108
+ query_object[query] = term
109
+ q: query_object
110
+
111
+ results: (data, page) ->
112
+ result = data["variants"] || data["stock_items"]
113
+ # Format stock items as variants
114
+ if data["stock_items"]?
115
+ result = _(result).map (variant) ->
116
+ variant.variant
117
+ window.variants = result
118
+ results: result
119
+
120
+ formatResult: @format_variant_result
121
+ formatSelection: (variant) ->
122
+ if !!variant.options_text
123
+ variant.name + " (#{variant.options_text})" + " - #{variant.sku}"
124
+ else
125
+ variant.name + " - #{variant.sku}"
110
126
 
111
- $('#transfer_variant').select2()
112
127
 
113
128
  # Add/Remove variant line items
114
129
  class TransferAddVariants
@@ -120,7 +135,10 @@ $ ->
120
135
 
121
136
  $('button.transfer_add_variant').click (event) =>
122
137
  event.preventDefault()
123
- @add_variant()
138
+ if $('#transfer_variant').select2('data')?
139
+ @add_variant()
140
+ else
141
+ alert('Please select a variant first')
124
142
 
125
143
  $('#transfer-variants-table').on 'click', '.transfer_remove_variant', (event) =>
126
144
  event.preventDefault()
@@ -132,7 +150,7 @@ $ ->
132
150
  false
133
151
 
134
152
  add_variant: ->
135
- variant = $('#transfer_variant option:selected').data('variant')
153
+ variant = $('#transfer_variant').select2('data')
136
154
  quantity = parseInt $('#transfer_variant_quantity').val()
137
155
 
138
156
  variant = @find_or_add(variant)
@@ -143,7 +161,7 @@ $ ->
143
161
  if existing = _.find(@variants, (v) -> v.id == variant.id)
144
162
  return existing
145
163
  else
146
- variant = $.extend({}, variant)
164
+ variant = new TransferVariant($.extend({}, variant))
147
165
  @variants.push variant
148
166
  return variant
149
167
 
@@ -2,15 +2,16 @@
2
2
  > ul, .jstree-icon {
3
3
  background-image: none;
4
4
  }
5
-
5
+
6
6
  .jstree-icon {
7
7
  @extend [class^="icon-"]:before;
8
+ @extend .fa;
8
9
  }
9
10
 
10
- .jstree-open > .jstree-icon {
11
+ .jstree-open > .jstree-icon {
11
12
  @extend .fa-caret-down;
12
13
  }
13
- .jstree-closed > .jstree-icon {
14
+ .jstree-closed > .jstree-icon {
14
15
  @extend .fa-caret-right;
15
16
  }
16
17
 
@@ -31,24 +32,27 @@
31
32
 
32
33
  .jstree-icon {
33
34
  padding-left: 0px;
34
- @extend .fa-arrows;
35
+ @extend .fa;
36
+ @extend .fa-arrows;
35
37
  }
36
38
  }
37
39
  }
38
40
  }
39
41
 
40
- #vakata-dragged.jstree-apple .jstree-invalid,
42
+ #vakata-dragged.jstree-apple .jstree-invalid,
41
43
  #vakata-dragged.jstree-apple .jstree-ok,
42
44
  #jstree-marker {
43
45
  background-image: none !important;
44
46
  background-color: transparent !important;
45
- @extend [class^="icon-"]:before;
47
+ @extend [class^="icon-"]:before;
46
48
  }
47
49
  #vakata-dragged.jstree-apple .jstree-invalid {
48
- @extend .fa-bars;
50
+ @extend .fa;
51
+ @extend .fa-bars;
49
52
  color: $color-5;
50
53
  }
51
54
  #vakata-dragged.jstree-apple .jstree-ok {
55
+ @extend .fa;
52
56
  @extend .fa-check;
53
57
  color: $color-2;
54
58
  }
@@ -71,7 +75,7 @@
71
75
  -webkit-box-shadow: none !important;
72
76
  -moz-box-shadow: none !important;
73
77
  box-shadow: none !important;
74
-
78
+
75
79
  }
76
80
 
77
81
  #vakata-contextmenu {
@@ -109,7 +113,7 @@
109
113
  -webkit-box-shadow: none !important;
110
114
  line-height: inherit !important;
111
115
  padding: 5px 10px !important;
112
- margin: 0 !important;
116
+ margin: 0 !important;
113
117
  }
114
118
  }
115
119
 
@@ -128,4 +132,4 @@
128
132
  li.vakata-separator {
129
133
  display: none;
130
134
  }
131
- }
135
+ }
@@ -173,9 +173,12 @@
173
173
  background-image: none !important;
174
174
  font-size: 85% !important;
175
175
  @extend .fa;
176
- @extend .fa-bars;
176
+ @extend .fa-void;
177
177
  margin-left: 2px;
178
178
  color: $color-1;
179
+ &:before {
180
+ font-size: 11px;
181
+ }
179
182
  }
180
183
  }
181
184
  }
@@ -14,22 +14,35 @@
14
14
  }
15
15
  }
16
16
 
17
- .fa-email:before { @extend .fa-envelope:before }
18
- .fa-resume:before { @extend .fa-refresh:before }
19
- .fa-approve:before { @extend .fa-check:before }
17
+ .fa-email:before { @extend .fa-envelope:before }
18
+ .fa-resume:before { @extend .fa-refresh:before }
19
+ .fa-approve:before { @extend .fa-check:before }
20
20
 
21
+ .fa-remove:before,
21
22
  .fa-cancel:before,
22
- .fa-void:before { @extend .fa-times:before }
23
+ .fa-void:before { @extend .fa-times:before }
23
24
 
24
- .fa-trash:before { @extend .fa-trash-o:before }
25
-
26
- .fa-capture:before { @extend .fa-check:before }
27
- .fa-credit:before { @extend .fa-check:before }
28
- .fa-approve:before { @extend .fa-check:before }
25
+ .fa-trash:before { @extend .fa-trash-o:before }
29
26
 
27
+ .fa-capture:before { @extend .fa-check:before }
28
+ .fa-credit:before { @extend .fa-check:before }
29
+ .fa-approve:before { @extend .fa-check:before }
30
+ .fa-icon-cogs:before { @extend .fa-cogs:before }
31
+ .fa-ok:before,
32
+ .fa-icon-ok:before { @extend .fa-check:before }
30
33
 
31
34
  button, a {
32
35
  &.fa:before {
33
36
  padding-right: 5px;
34
37
  }
35
38
  }
39
+
40
+ // Admin navigation fixes
41
+ .icon-user,
42
+ .icon-signout,
43
+ .icon-external-link {
44
+ @extend .fa;
45
+ }
46
+ .icon-user { @extend .fa-user; }
47
+ .icon-signout { @extend .fa-sign-out; }
48
+ .icon-external-link { @extend .fa-external-link; }
@@ -105,6 +105,7 @@ table {
105
105
 
106
106
  .handle {
107
107
  @extend [class^="icon-"]:before;
108
+ @extend .fa;
108
109
  @extend .fa-bars;
109
110
  cursor: move;
110
111
  }
@@ -1,16 +1,18 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class AdjustmentsController < ResourceController
4
- belongs_to 'spree/order', :find_by => :number
5
- destroy.after :reload_order
6
- destroy.after :update_totals
4
+
5
+ belongs_to 'spree/order', find_by: :number
6
+
7
7
  create.after :update_totals
8
+ destroy.after :update_totals
8
9
  update.after :update_totals
9
10
 
10
- skip_before_filter :load_resource, :only => [:toggle_state, :edit, :update, :destroy]
11
+ skip_before_filter :load_resource, only: [:toggle_state, :edit, :update, :destroy]
11
12
 
12
- def index
13
- @adjustments = @order.all_adjustments.order("created_at ASC")
13
+ def destroy
14
+ find_adjustment
15
+ super
14
16
  end
15
17
 
16
18
  def edit
@@ -18,30 +20,26 @@ module Spree
18
20
  super
19
21
  end
20
22
 
21
- def update
22
- find_adjustment
23
- super
23
+ def index
24
+ @adjustments = @order.all_adjustments.order("created_at ASC")
24
25
  end
25
26
 
26
- def destroy
27
- find_adjustment
27
+ def update
28
+ find_adjustment
28
29
  super
29
30
  end
30
31
 
31
32
  private
33
+
32
34
  def find_adjustment
33
35
  # Need to assign to @object here to keep ResourceController happy
34
36
  @adjustment = @object = parent.all_adjustments.find(params[:id])
35
37
  end
36
38
 
37
- def reload_order
38
- @order.reload
39
- end
40
-
41
39
  def update_totals
42
- @order.updater.update_adjustment_total
43
- @order.persist_totals
40
+ @order.reload.update!
44
41
  end
42
+
45
43
  end
46
44
  end
47
45
  end
@@ -31,7 +31,9 @@ module Spree
31
31
  invoke_callbacks(:create, :after)
32
32
  # Transition order as far as it will go.
33
33
  while @order.next; end
34
- @payment.process! if @order.completed?
34
+ # If "@order.next" didn't trigger payment processing already (e.g. if the order was
35
+ # already complete) then trigger it manually now
36
+ @payment.process! if @order.completed? && @payment.checkout?
35
37
  flash[:success] = flash_message_for(@payment, :successfully_created)
36
38
  redirect_to admin_order_payments_path(@order)
37
39
  else
@@ -1,11 +1,24 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class PropertiesController < ResourceController
4
+ def index
5
+ respond_with(@collection)
6
+ end
7
+
8
+ private
9
+
10
+ def collection
11
+ return @collection if @collection.present?
12
+ # params[:q] can be blank upon pagination
13
+ params[:q] = {} if params[:q].blank?
14
+
15
+ @collection = super
16
+ @search = @collection.ransack(params[:q])
17
+ @collection = @search.result.
18
+ page(params[:page]).
19
+ per(Spree::Config[:properties_per_page])
4
20
 
5
- # Looks like this action is unused
6
- def filtered
7
- @properties = Property.where('lower(name) LIKE ?', "%#{params[:q].mb_chars.downcase}%").order(:name)
8
- render :template => "spree/admin/properties/filtered", :layout => false
21
+ @collection
9
22
  end
10
23
  end
11
24
  end
@@ -10,10 +10,10 @@
10
10
  <% adjustments.eligible.group_by(&:label).each do |label, adjustments| %>
11
11
  <tr class="total">
12
12
  <td><strong><%= label %>:</strong></td>
13
- <td class="total align-center"><span><%= Spree::Money.new(adjustments.sum(&:amount)) %></span></td>
13
+ <td class="total align-center"><span><%= Spree::Money.new(adjustments.sum(&:amount), currency: adjustments.first.order.try(:currency)) %></span></td>
14
14
  </tr>
15
15
  <% end %>
16
16
  </tbody>
17
17
  </table>
18
18
  </fieldset>
19
- <% end %>
19
+ <% end %>
@@ -2,7 +2,7 @@
2
2
  <div class="alpha three columns">
3
3
  <div class="field">
4
4
  <%= f.label :amount, Spree.t(:amount) %>
5
- <%= f.text_field :amount, :value => @order.outstanding_balance, :class => 'fullwidth' %>
5
+ <%= f.text_field :amount, :value => @order.display_outstanding_balance.money, :class => 'fullwidth' %>
6
6
  </div>
7
7
  </div>
8
8
  <div class="omega nine columns">
@@ -1,11 +1,11 @@
1
1
  <%= render 'spree/admin/shared/product_sub_menu' %>
2
- <%= render 'spree/admin/shared/product_tabs', :current => 'Product Properties' %>
3
- <%= render 'spree/shared/error_messages', :target => @product %>
2
+ <%= render 'spree/admin/shared/product_tabs', current: 'Product Properties' %>
3
+ <%= render 'spree/shared/error_messages', target: @product %>
4
4
 
5
5
  <% content_for :page_actions do %>
6
6
  <ul class="tollbar inline-menu">
7
7
  <li>
8
- <%= link_to_add_fields Spree.t(:add_product_properties), 'tbody#product_properties', :class => 'plus button' %>
8
+ <%= link_to_add_fields Spree.t(:add_product_properties), 'tbody#product_properties', class: 'plus button' %>
9
9
  </li>
10
10
  <li>
11
11
  <span id="new_ptype_link">
@@ -1,40 +1,48 @@
1
1
  <div data-hook="admin_product_form_fields">
2
-
3
- <div class="left eight columns alpha" data-hook="admin_product_form_left">
4
- <%= f.field_container :name do %>
5
- <%= f.label :name, raw(Spree.t(:name) + content_tag(:span, ' *', :class => 'required')) %>
6
- <%= f.text_field :name, :class => 'fullwidth title' %>
7
- <%= f.error_message_on :name %>
8
- <% end %>
9
2
 
10
- <%= f.field_container :slug do %>
11
- <%= f.label :slug, raw(Spree.t(:slug) + content_tag(:span, ' *', :class => "required")) %>
12
- <%= f.text_field :slug, :class => 'fullwidth title' %>
13
- <%= f.error_message_on :slug %>
14
- <% end %>
3
+ <div class="left eight columns alpha" data-hook="admin_product_form_left">
4
+ <div data-hook="admin_product_form_name">
5
+ <%= f.field_container :name do %>
6
+ <%= f.label :name, raw(Spree.t(:name) + content_tag(:span, ' *', :class => 'required')) %>
7
+ <%= f.text_field :name, :class => 'fullwidth title' %>
8
+ <%= f.error_message_on :name %>
9
+ <% end %>
10
+ </div>
15
11
 
16
- <%= f.field_container :description do %>
17
- <%= f.label :description, Spree.t(:description) %>
18
- <%= f.text_area :description, {:rows => "#{unless @product.has_variants? then '20' else '13' end}", :class => 'fullwidth'} %>
19
- <%= f.error_message_on :description %>
20
- <% end %>
12
+ <div data-hook="admin_product_form_slug">
13
+ <%= f.field_container :slug do %>
14
+ <%= f.label :slug, raw(Spree.t(:slug) + content_tag(:span, ' *', :class => "required")) %>
15
+ <%= f.text_field :slug, :class => 'fullwidth title' %>
16
+ <%= f.error_message_on :slug %>
17
+ <% end %>
18
+ </div>
19
+
20
+ <div data-hook="admin_product_form_description">
21
+ <%= f.field_container :description do %>
22
+ <%= f.label :description, Spree.t(:description) %>
23
+ <%= f.text_area :description, {:rows => "#{unless @product.has_variants? then '20' else '13' end}", :class => 'fullwidth'} %>
24
+ <%= f.error_message_on :description %>
25
+ <% end %>
26
+ </div>
21
27
  </div>
22
28
 
23
29
  <div class="right four columns omega" data-hook="admin_product_form_right">
30
+ <div data-hook="admin_product_form_price">
24
31
  <%= f.field_container :price do %>
25
32
  <%= f.label :price, raw(Spree.t(:master_price) + content_tag(:span, ' *', :class => "required")) %>
26
33
  <%= f.text_field :price, :value => number_to_currency(@product.price, :unit => '') %>
27
34
  <%= f.error_message_on :price %>
28
35
  <% end %>
36
+ </div>
29
37
 
30
- <div class="alpha two columns">
38
+ <div data-hook="admin_product_form_cost_price" class="alpha two columns">
31
39
  <%= f.field_container :cost_price do %>
32
40
  <%= f.label :cost_price, Spree.t(:cost_price) %>
33
41
  <%= f.text_field :cost_price, :value => number_to_currency(@product.cost_price, :unit => '') %>
34
42
  <%= f.error_message_on :cost_price %>
35
43
  <% end %>
36
44
  </div>
37
- <div class="omega two columns">
45
+ <div data-hook="admin_product_form_cost_currency" class="omega two columns">
38
46
  <%= f.field_container :cost_currency do %>
39
47
  <%= f.label :cost_currency, Spree.t(:cost_currency) %>
40
48
  <%= f.text_field :cost_currency %>
@@ -44,73 +52,89 @@
44
52
 
45
53
  <div class="clear"></div>
46
54
 
47
- <%= f.field_container :available_on do %>
48
- <%= f.label :available_on, Spree.t(:available_on) %>
49
- <%= f.error_message_on :available_on %>
50
- <%= f.text_field :available_on, :value => datepicker_field_value(@product.available_on), :class => 'datepicker' %>
51
- <% end %>
55
+ <div data-hook="admin_product_form_available_on">
56
+ <%= f.field_container :available_on do %>
57
+ <%= f.label :available_on, Spree.t(:available_on) %>
58
+ <%= f.error_message_on :available_on %>
59
+ <%= f.text_field :available_on, :value => datepicker_field_value(@product.available_on), :class => 'datepicker' %>
60
+ <% end %>
61
+ </div>
52
62
 
53
63
  <% unless @product.has_variants? %>
54
- <%= f.field_container :sku do %>
55
- <%= f.label :sku, Spree.t(:sku) %>
56
- <%= f.text_field :sku, :size => 16 %>
57
- <% end %>
64
+ <div data-hook="admin_product_form_sku">
65
+ <%= f.field_container :sku do %>
66
+ <%= f.label :sku, Spree.t(:sku) %>
67
+ <%= f.text_field :sku, :size => 16 %>
68
+ <% end %>
69
+ </div>
58
70
 
59
71
  <ul id="shipping_specs">
60
- <li id="shipping_specs_weight_field" class="field alpha two columns">
72
+ <li id="shipping_specs_weight_field" data-hook="admin_product_form_weight" class="field alpha two columns">
61
73
  <%= f.label :weight, Spree.t(:weight) %>
62
74
  <%= f.text_field :weight, :size => 4 %>
63
75
  </li>
64
- <li id="shipping_specs_height_field" class="field omega two columns">
76
+ <li id="shipping_specs_height_field" data-hook="admin_product_form_height" class="field omega two columns">
65
77
  <%= f.label :height, Spree.t(:height) %>
66
78
  <%= f.text_field :height, :size => 4 %>
67
79
  </li>
68
- <li id="shipping_specs_width_field" class="field alpha two columns">
80
+ <li id="shipping_specs_width_field" data-hook="admin_product_form_width" class="field alpha two columns">
69
81
  <%= f.label :width, Spree.t(:width) %>
70
82
  <%= f.text_field :width, :size => 4 %>
71
83
  </li>
72
- <li id="shipping_specs_depth_field" class="field omega two columns">
84
+ <li id="shipping_specs_depth_field" data-hook="admin_product_form_depth" class="field omega two columns">
73
85
  <%= f.label :depth, Spree.t(:depth) %>
74
86
  <%= f.text_field :depth, :size => 4 %>
75
87
  </li>
76
88
  </ul>
77
89
  <% end %>
78
90
 
79
- <%= f.field_container :shipping_categories do %>
80
- <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %>
81
- <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
82
- <%= f.error_message_on :shipping_category %>
83
- <% end %>
91
+ <div data-hook="admin_product_form_shipping_categories">
92
+ <%= f.field_container :shipping_categories do %>
93
+ <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %>
94
+ <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
95
+ <%= f.error_message_on :shipping_category %>
96
+ <% end %>
97
+ </div>
84
98
 
85
- <%= f.field_container :tax_category do %>
86
- <%= f.label :tax_category_id, Spree.t(:tax_category) %>
87
- <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
88
- <%= f.error_message_on :tax_category %>
89
- <% end %>
99
+ <div data-hook="admin_product_form_tax_category">
100
+ <%= f.field_container :tax_category do %>
101
+ <%= f.label :tax_category_id, Spree.t(:tax_category) %>
102
+ <%= f.collection_select(:tax_category_id, @tax_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2' }) %>
103
+ <%= f.error_message_on :tax_category %>
104
+ <% end %>
105
+ </div>
90
106
  </div>
91
107
 
92
108
  <div class="twelve columns alpha omega">
93
- <%= f.field_container :taxons do %>
94
- <%= f.label :taxon_ids, Spree.t(:taxons) %><br />
95
- <%= f.hidden_field :taxon_ids, :value => @product.taxon_ids.join(',') %>
96
- <% end %>
109
+ <div data-hook="admin_product_form_taxons">
110
+ <%= f.field_container :taxons do %>
111
+ <%= f.label :taxon_ids, Spree.t(:taxons) %><br />
112
+ <%= f.hidden_field :taxon_ids, :value => @product.taxon_ids.join(',') %>
113
+ <% end %>
114
+ </div>
97
115
 
98
- <%= f.field_container :option_types do %>
99
- <%= f.label :option_type_ids, Spree.t(:option_types) %>
100
- <%= f.hidden_field :option_type_ids, :value => @product.option_type_ids.join(',') %>
101
- <% end %>
116
+ <div data-hook="admin_product_form_option_types">
117
+ <%= f.field_container :option_types do %>
118
+ <%= f.label :option_type_ids, Spree.t(:option_types) %>
119
+ <%= f.hidden_field :option_type_ids, :value => @product.option_type_ids.join(',') %>
120
+ <% end %>
121
+ </div>
102
122
  </div>
103
123
 
104
124
  <div data-hook="admin_product_form_meta" class="alpha omega twelve columns">
105
- <%= f.field_container :meta_keywords do %>
106
- <%= f.label :meta_keywords, Spree.t(:meta_keywords) %>
107
- <%= f.text_field :meta_keywords, :class => 'fullwidth' %>
108
- <% end %>
125
+ <div data-hook="admin_product_form_meta_keywords">
126
+ <%= f.field_container :meta_keywords do %>
127
+ <%= f.label :meta_keywords, Spree.t(:meta_keywords) %>
128
+ <%= f.text_field :meta_keywords, :class => 'fullwidth' %>
129
+ <% end %>
130
+ </div>
109
131
 
110
- <%= f.field_container :meta_description do %>
111
- <%= f.label :meta_description, Spree.t(:meta_description) %>
112
- <%= f.text_field :meta_description, :class => 'fullwidth' %>
113
- <% end %>
132
+ <div data-hook="admin_product_form_meta_description">
133
+ <%= f.field_container :meta_description do %>
134
+ <%= f.label :meta_description, Spree.t(:meta_description) %>
135
+ <%= f.text_field :meta_description, :class => 'fullwidth' %>
136
+ <% end %>
137
+ </div>
114
138
  </div>
115
139
 
116
140
  <div class="clear"></div>
@@ -15,7 +15,7 @@
15
15
 
16
16
  <div data-hook="new_product_attrs" class="row">
17
17
  <% unless @product.has_variants? %>
18
- <div class="alpha four columns">
18
+ <div data-hook="new_product_sku" class="alpha four columns">
19
19
  <%= f.field_container :sku do %>
20
20
  <%= f.label :sku, Spree.t(:sku) %><br />
21
21
  <%= f.text_field :sku, :size => 16, :class => 'fullwidth' %>
@@ -24,14 +24,14 @@
24
24
  </div>
25
25
  <% end %>
26
26
 
27
- <div class="four columns">
27
+ <div data-hook="new_product_prototype" class="four columns">
28
28
  <%= f.field_container :prototype do %>
29
29
  <%= f.label :prototype_id, Spree.t(:prototype) %><br />
30
30
  <%= f.collection_select :prototype_id, Spree::Prototype.all, :id, :name, {:include_blank => true}, {:class => 'select2 fullwidth'} %>
31
31
  <% end %>
32
32
  </div>
33
33
 
34
- <div class="four columns">
34
+ <div data-hook="new_product_price" class="four columns">
35
35
  <%= f.field_container :price do %>
36
36
  <%= f.label :price, Spree.t(:master_price) %> <span class="required">*</span><br />
37
37
  <%= f.text_field :price, :value => number_to_currency(@product.price, :unit => ''), :class => 'fullwidth' %>
@@ -39,7 +39,7 @@
39
39
  <% end %>
40
40
  </div>
41
41
 
42
- <div class="omega four columns">
42
+ <div data-hook="new_product_available_on" class="omega four columns">
43
43
  <%= f.field_container :available_on do %>
44
44
  <%= f.label :available_on, Spree.t(:available_on) %>
45
45
  <%= f.error_message_on :available_on %>
@@ -50,7 +50,7 @@
50
50
  </div>
51
51
 
52
52
  <div class='row'>
53
- <div class="alpha four columns">
53
+ <div data-hook="new_product_shipping_category" class="alpha four columns">
54
54
  <%= f.field_container :shipping_category do %>
55
55
  <%= f.label :shipping_category_id, Spree.t(:shipping_categories) %><span class="required">*</span><br />
56
56
  <%= f.collection_select(:shipping_category_id, @shipping_categories, :id, :name, { :include_blank => Spree.t('match_choices.none') }, { :class => 'select2 fullwidth' }) %>
@@ -10,6 +10,35 @@
10
10
 
11
11
  <%= render 'spree/admin/shared/product_sub_menu' %>
12
12
 
13
+ <% content_for :table_filter_title do %>
14
+ <%= Spree.t(:search) %>
15
+ <% end %>
16
+
17
+ <% content_for :table_filter do %>
18
+ <div data-hook="admin_property_sidebar">
19
+
20
+ <%= search_form_for [:admin, @search] do |f| %>
21
+
22
+ <%- locals = {:f => f} %>
23
+
24
+ <div data-hook="admin_property_index_search">
25
+ <div class="alpha eight columns">
26
+ <div class="field">
27
+ <%= f.label :name_cont, Spree.t(:name) %>
28
+ <%= f.text_field :name_cont, :size => 15 %>
29
+ </div>
30
+ </div>
31
+ </div>
32
+
33
+ <div class="clear"></div>
34
+
35
+ <div class="form-buttons actions filter-actions" data-hook="admin_properties_index_search_buttons">
36
+ <%= button Spree.t(:search), 'search' %>
37
+ </div>
38
+ <% end %>
39
+ </div>
40
+ <% end %>
41
+
13
42
  <div id="new_property"></div>
14
43
 
15
44
  <% if @properties.any? %>
@@ -46,3 +75,4 @@
46
75
  </div>
47
76
  <% end %>
48
77
 
78
+ <%= paginate @collection %>
@@ -4,7 +4,7 @@
4
4
  <col style="width: 20%" />
5
5
  </colgroup>
6
6
  <thead>
7
- <tr data-hook="avilable_header">
7
+ <tr data-hook="available_header">
8
8
  <th><%= Spree.t(:name) %></th>
9
9
  <th class="actions"></th>
10
10
  </tr>
@@ -2,24 +2,24 @@
2
2
  <dl class="additional-info">
3
3
  <dt id="order_status" data-hook><%= Spree.t(:status) %>:</dt>
4
4
  <dd><span class="state <%= @order.state %>"><%= Spree.t(@order.state, :scope => :order_state) %></span></dd>
5
- <dt data-hook><%= Spree.t(:subtotal) %>:</dt>
5
+ <dt data-hook='admin_order_tab_subtotal_title'><%= Spree.t(:subtotal) %>:</dt>
6
6
  <dd id='item_total'><%= @order.display_item_total.to_html %></dd>
7
7
  <% if checkout_steps.include?("delivery") && @order.ship_total > 0 %>
8
- <dt data-hook><%= Spree.t(:ship_total) %>:</dt>
9
- <dd id='item_total'><%= @order.display_ship_total.to_html %></dd>
8
+ <dt data-hook='admin_order_tab_ship_total_title'><%= Spree.t(:ship_total) %>:</dt>
9
+ <dd id='ship_total'><%= @order.display_ship_total.to_html %></dd>
10
10
  <% end %>
11
11
 
12
12
  <% if @order.included_tax_total != 0 %>
13
- <dt data-hook><%= Spree.t(:tax_included) %>:</dt>
13
+ <dt data-hook='admin_order_tab_included_tax_title'><%= Spree.t(:tax_included) %>:</dt>
14
14
  <dd id='included_tax_total'><%= @order.display_included_tax_total.to_html %></dd>
15
15
  <% end %>
16
16
 
17
17
  <% if @order.additional_tax_total != 0 %>
18
- <dt data-hook><%= Spree.t(:tax) %>:</dt>
19
- <dd id='item_total'><%= @order.display_additional_tax_total.to_html %></dd>
18
+ <dt data-hook='admin_order_tab_additional_tax_title'><%= Spree.t(:tax) %>:</dt>
19
+ <dd id='additional_tax_total'><%= @order.display_additional_tax_total.to_html %></dd>
20
20
  <% end %>
21
21
 
22
- <dt data-hook><%= Spree.t(:total) %>:</dt>
22
+ <dt data-hook='admin_order_tab_total_title'><%= Spree.t(:total) %>:</dt>
23
23
  <dd id='order_total'><%= @order.display_total.to_html %></dd>
24
24
 
25
25
  <% if @order.completed? %>
@@ -27,7 +27,7 @@
27
27
  <dd id='shipment_status'><span class="state <%= @order.shipment_state %>"><%= Spree.t(@order.shipment_state, :scope => :shipment_states, :default => [:missing, "none"]) %></span></dd>
28
28
  <dt><%= Spree.t(:payment) %>: </dt>
29
29
  <dd id='payment_status'><span class="state <%= @order.payment_state %>"><%= Spree.t(@order.payment_state, :scope => :payment_states, :default => [:missing, "none"]) %></span></dd>
30
- <dt data-hook><%= Spree.t(:date_completed) %>:</dt>
30
+ <dt data-hook='admin_order_tab_date_completed_title'><%= Spree.t(:date_completed) %>:</dt>
31
31
  <dd id='date_complete'><%= pretty_time(@order.completed_at) %></dd>
32
32
  <% end %>
33
33
 
@@ -13,7 +13,7 @@
13
13
  <%= link_to_with_icon 'edit', Spree.t(:product_details), edit_admin_product_url(@product) %>
14
14
  <% end if can?(:admin, Spree::Product) %>
15
15
  <%= content_tag :li, :class => ('active' if current == 'Images') do %>
16
- <%= link_to_with_icon 'picture', Spree.t(:images), admin_product_images_url(@product) %>
16
+ <%= link_to_with_icon 'picture-o', Spree.t(:images), admin_product_images_url(@product) %>
17
17
  <% end if can?(:admin, Spree::Image) %>
18
18
  <%= content_tag :li, :class => ('active' if current == 'Variants') do %>
19
19
  <%= link_to_with_icon 'th-large', Spree.t(:variants), admin_product_variants_url(@product) %>
@@ -64,7 +64,7 @@
64
64
  <div class="alpha eight columns">
65
65
  <div class="field" id="stock_movement_variant_id_field">
66
66
  <%= label_tag 'variant_id', Spree.t(:variant) %>
67
- <%= select_tag 'transfer_variant', {}, class: 'fullwidth' %>
67
+ <%= hidden_field_tag 'transfer_variant', {}, class: 'fullwidth' %>
68
68
  </div>
69
69
  </div>
70
70
  <div class="two columns">
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-15 00:00:00.000000000 Z
11
+ date: 2014-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree_api
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.2.2
19
+ version: 2.2.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.2.2
26
+ version: 2.2.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: spree_core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 2.2.2
33
+ version: 2.2.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 2.2.2
40
+ version: 2.2.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: jquery-rails
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -529,7 +529,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
529
529
  requirements:
530
530
  - none
531
531
  rubyforge_project: spree_backend
532
- rubygems_version: 2.2.0
532
+ rubygems_version: 2.2.2
533
533
  signing_key:
534
534
  specification_version: 4
535
535
  summary: backend e-commerce functionality for the Spree project.