spree_admin 5.4.0.beta3 → 5.4.0.beta4

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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/spree/admin/coupon_codes_controller.rb +6 -0
  3. data/app/controllers/spree/admin/gift_cards_controller.rb +0 -15
  4. data/app/helpers/spree/admin/orders_helper.rb +0 -18
  5. data/app/helpers/spree/admin/products_helper.rb +0 -27
  6. data/app/helpers/spree/admin/promotions_helper.rb +0 -11
  7. data/app/helpers/spree/admin/table_helper.rb +5 -2
  8. data/app/models/spree/admin/table/column.rb +1 -0
  9. data/app/views/spree/admin/coupon_codes/index.html.erb +2 -1
  10. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -1
  11. data/app/views/spree/admin/reimbursement_types/index.html.erb +1 -1
  12. data/app/views/spree/admin/return_authorization_reasons/index.html.erb +1 -1
  13. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
  14. data/app/views/spree/admin/shipping_categories/index.html.erb +1 -1
  15. data/app/views/spree/admin/shipping_methods/index.html.erb +1 -1
  16. data/app/views/spree/admin/stock_locations/index.html.erb +1 -1
  17. data/app/views/spree/admin/tax_categories/index.html.erb +1 -1
  18. data/app/views/spree/admin/tax_rates/index.html.erb +1 -1
  19. data/app/views/spree/admin/taxonomies/index.html.erb +1 -1
  20. data/app/views/spree/admin/zones/index.html.erb +1 -1
  21. data/config/initializers/spree_admin_tables.rb +384 -0
  22. metadata +6 -79
  23. data/app/views/spree/admin/coupon_codes/_filters.html.erb +0 -41
  24. data/app/views/spree/admin/coupon_codes/_table_header.html.erb +0 -0
  25. data/app/views/spree/admin/coupon_codes/_table_row.html.erb +0 -8
  26. data/app/views/spree/admin/coupon_codes/index.csv.erb +0 -14
  27. data/app/views/spree/admin/customer_returns/_filters.html.erb +0 -11
  28. data/app/views/spree/admin/customer_returns/_table_header.html.erb +0 -8
  29. data/app/views/spree/admin/customer_returns/_table_row.html.erb +0 -31
  30. data/app/views/spree/admin/gift_cards/_filters.html.erb +0 -53
  31. data/app/views/spree/admin/gift_cards/_gift_card.html.erb +0 -28
  32. data/app/views/spree/admin/gift_cards/_list.html.erb +0 -24
  33. data/app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb +0 -25
  34. data/app/views/spree/admin/metafield_definitions/_filters.html.erb +0 -18
  35. data/app/views/spree/admin/metafield_definitions/_table_header.html.erb +0 -11
  36. data/app/views/spree/admin/metafield_definitions/_table_row.html.erb +0 -22
  37. data/app/views/spree/admin/newsletter_subscribers/_filters.html.erb +0 -41
  38. data/app/views/spree/admin/newsletter_subscribers/_table_header.html.erb +0 -8
  39. data/app/views/spree/admin/newsletter_subscribers/_table_row.html.erb +0 -36
  40. data/app/views/spree/admin/option_types/_filters.html.erb +0 -7
  41. data/app/views/spree/admin/option_types/_table_header.html.erb +0 -19
  42. data/app/views/spree/admin/option_types/_table_row.html.erb +0 -19
  43. data/app/views/spree/admin/orders/_filters.html.erb +0 -116
  44. data/app/views/spree/admin/orders/_list.html.erb +0 -28
  45. data/app/views/spree/admin/orders/_order.html.erb +0 -28
  46. data/app/views/spree/admin/orders/_table_filter_dropdown.html.erb +0 -34
  47. data/app/views/spree/admin/policies/_filters.html.erb +0 -8
  48. data/app/views/spree/admin/policies/_table_header.html.erb +0 -8
  49. data/app/views/spree/admin/policies/_table_row.html.erb +0 -20
  50. data/app/views/spree/admin/price_lists/_table_header.html.erb +0 -7
  51. data/app/views/spree/admin/products/_filters.html.erb +0 -66
  52. data/app/views/spree/admin/products/_list.html.erb +0 -47
  53. data/app/views/spree/admin/products/_product.html.erb +0 -29
  54. data/app/views/spree/admin/products/_product_status.html.erb +0 -3
  55. data/app/views/spree/admin/products/_table_filter_dropdown.html.erb +0 -42
  56. data/app/views/spree/admin/promotions/_filters.html.erb +0 -29
  57. data/app/views/spree/admin/promotions/_table_filter_dropdown.html.erb +0 -17
  58. data/app/views/spree/admin/promotions/_table_header.html.erb +0 -7
  59. data/app/views/spree/admin/promotions/_table_row.html.erb +0 -31
  60. data/app/views/spree/admin/refund_reasons/_table_header.html.erb +0 -6
  61. data/app/views/spree/admin/refund_reasons/_table_row.html.erb +0 -14
  62. data/app/views/spree/admin/reimbursement_types/_table_header.html.erb +0 -7
  63. data/app/views/spree/admin/reimbursement_types/_table_row.html.erb +0 -17
  64. data/app/views/spree/admin/return_authorization_reasons/_table_header.html.erb +0 -5
  65. data/app/views/spree/admin/return_authorization_reasons/_table_row.html.erb +0 -18
  66. data/app/views/spree/admin/return_authorizations/_list.html.erb +0 -21
  67. data/app/views/spree/admin/return_authorizations/_table_header.html.erb +0 -6
  68. data/app/views/spree/admin/return_authorizations/_table_row.html.erb +0 -40
  69. data/app/views/spree/admin/return_authorizations/filters.html.erb +0 -34
  70. data/app/views/spree/admin/shipping_categories/_table_header.html.erb +0 -4
  71. data/app/views/spree/admin/shipping_categories/_table_row.html.erb +0 -8
  72. data/app/views/spree/admin/shipping_methods/_table_header.html.erb +0 -8
  73. data/app/views/spree/admin/shipping_methods/_table_row.html.erb +0 -33
  74. data/app/views/spree/admin/stock_items/_filters.html.erb +0 -35
  75. data/app/views/spree/admin/stock_items/_table_header.html.erb +0 -9
  76. data/app/views/spree/admin/stock_items/_table_row.html.erb +0 -43
  77. data/app/views/spree/admin/stock_locations/_table_header.html.erb +0 -9
  78. data/app/views/spree/admin/stock_locations/_table_row.html.erb +0 -36
  79. data/app/views/spree/admin/stock_transfers/_filters.html.erb +0 -49
  80. data/app/views/spree/admin/stock_transfers/_table_header.html.erb +0 -9
  81. data/app/views/spree/admin/stock_transfers/_table_row.html.erb +0 -11
  82. data/app/views/spree/admin/tax_categories/_table_header.html.erb +0 -7
  83. data/app/views/spree/admin/tax_categories/_table_row.html.erb +0 -13
  84. data/app/views/spree/admin/tax_rates/_table_header.html.erb +0 -9
  85. data/app/views/spree/admin/tax_rates/_table_row.html.erb +0 -15
  86. data/app/views/spree/admin/taxonomies/_table_header.html.erb +0 -6
  87. data/app/views/spree/admin/taxonomies/_table_row.html.erb +0 -16
  88. data/app/views/spree/admin/taxonomies/filters.html.erb +0 -6
  89. data/app/views/spree/admin/users/_filters.html.erb +0 -81
  90. data/app/views/spree/admin/webhook_deliveries/_table_header.html.erb +0 -8
  91. data/app/views/spree/admin/webhook_deliveries/_table_row.html.erb +0 -22
  92. data/app/views/spree/admin/webhook_endpoints/_table_header.html.erb +0 -7
  93. data/app/views/spree/admin/webhook_endpoints/_table_row.html.erb +0 -24
  94. data/app/views/spree/admin/zones/_table_header.html.erb +0 -8
  95. data/app/views/spree/admin/zones/_table_row.html.erb +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e25435ab28276f0ca9a78db5d61f4b5485be27fb668ee9c1c381db48812445e
4
- data.tar.gz: cc103dc8524c6a0575e367a427e88037647cc22caa9dd5117a0091715df480d6
3
+ metadata.gz: 1f1d8c530824612fafa6bee61bd81e11c8a27d10668ff0512d14dee8ee649f41
4
+ data.tar.gz: 7e24c349b1c6136b14535cf442e2163c1a31370aeea04dea34ce84d03e60026c
5
5
  SHA512:
6
- metadata.gz: 1b5b4a0bd4ee889940ca9826c9f6e2db5337bf1215588e543343be9fab77454ad3e9254f5b903eefcc485f6ef30673d38171fec315f3b3d5a16b463d68a42559
7
- data.tar.gz: 5f67328def69057604315c1c79a3bcaae424ce369d98741b7521b1fe98f91f552aff41883534b5df81914d73d6a3d5985430551c8a6392e8caa537411778b44e
6
+ metadata.gz: faae4901098806713ce09f1c0d3a7a0b06b2223434be9b9e8a934a14c350b8a65ba13e89d6745ea848d16abeb7ba9422d56ff95970a9eb3ac7cdb2d3a88ad7ac
7
+ data.tar.gz: fab2b2fb0c56d78347092ac9459e69a3d990c66ec4c17d668a580abd52e47e37c449a0625d17ceebf5f647af106249462d5b8b38dbf850d3622280f67e0e4f12
@@ -4,6 +4,12 @@ module Spree
4
4
  belongs_to 'spree/promotion', find_by: :prefix_id
5
5
 
6
6
  include PromotionsBreadcrumbConcern
7
+
8
+ def index
9
+ params[:q] ||= {}
10
+ params[:q][:promotion_id_eq] ||= parent.id
11
+ super
12
+ end
7
13
  end
8
14
  end
9
15
  end
@@ -6,8 +6,6 @@ module Spree
6
6
  before_action :add_breadcrumbs
7
7
  before_action :load_orders, only: :show
8
8
 
9
- helper_method :gift_cards_filter_dropdown_value
10
-
11
9
  private
12
10
 
13
11
  def permitted_resource_params
@@ -49,19 +47,6 @@ module Spree
49
47
  @user = Spree.user_class.find_by_prefix_id(params[:user_id]) if params[:user_id].present?
50
48
  end
51
49
 
52
- def gift_cards_filter_dropdown_value
53
- Spree::Deprecation.warn("gift_cards_filter_dropdown_value is deprecated and will be removed in Spree 5.5")
54
- if params.dig(:q, :active).present?
55
- Spree.t('admin.gift_cards.active')
56
- elsif params.dig(:q, :expired).present?
57
- Spree.t(:expired)
58
- elsif params.dig(:q, :redeemed).present?
59
- Spree.t('admin.gift_cards.redeemed')
60
- else
61
- Spree.t('admin.gift_cards.all_statuses')
62
- end
63
- end
64
-
65
50
  def add_breadcrumbs
66
51
  if @user.present?
67
52
  @breadcrumb_icon = 'users'
@@ -141,24 +141,6 @@ module Spree
141
141
  }
142
142
  end
143
143
 
144
- def order_filter_dropdown_value
145
- Spree::Deprecation.warn("order_filter_dropdown_value is deprecated and will be removed in Spree 5.5")
146
-
147
- if params.dig(:q, :shipment_state_not_in) == ['shipped', 'canceled']
148
- Spree.t('admin.orders.unfulfilled')
149
- elsif params.dig(:q, :shipment_state_eq) == 'shipped'
150
- Spree.t('admin.orders.fulfilled')
151
- elsif params.dig(:q, :state_in) == ['canceled','partially_canceled']
152
- Spree.t('admin.orders.canceled')
153
- elsif params.dig(:q, :refunded)&.present?
154
- Spree.t('admin.orders.refunded')
155
- elsif params.dig(:q, :partially_refunded)&.present?
156
- Spree.t('admin.orders.partially_refunded')
157
- else
158
- Spree.t('admin.orders.all_orders')
159
- end
160
- end
161
-
162
144
  private
163
145
 
164
146
  def map_to_tax_line(tax_adjustment, for_shipment: false)
@@ -76,28 +76,6 @@ module Spree
76
76
  category_tree
77
77
  end
78
78
 
79
- def product_filter_status_dropdown_value
80
- case params.dig(:q, :status_eq)
81
- when 'active'
82
- Spree.t('admin.products.active')
83
- when 'draft'
84
- Spree.t('admin.products.draft')
85
- when 'archived'
86
- Spree.t('admin.products.archived')
87
- else
88
- Spree.t('admin.products.all_statuses')
89
- end
90
- end
91
-
92
- def product_filter_stock_dropdown_value
93
- if params.dig(:q, :in_stock) == '1'
94
- Spree.t('admin.products.in_stock')
95
- elsif params.dig(:q, :out_of_stock) == '1'
96
- Spree.t('admin.products.out_of_stock')
97
- else
98
- Spree.t('admin.products.any_stock')
99
- end
100
- end
101
79
 
102
80
  def show_product_status_help_bubble?
103
81
  false
@@ -106,11 +84,6 @@ module Spree
106
84
  def variant_form_stock_location_options
107
85
  options_for_select(available_stock_locations_list)
108
86
  end
109
-
110
- def product_list_filters_search_form_path
111
- [:admin, @search]
112
- end
113
-
114
87
  end
115
88
  end
116
89
  end
@@ -1,17 +1,6 @@
1
1
  module Spree
2
2
  module Admin
3
3
  module PromotionsHelper
4
- def promotion_filter_dropdown_value
5
- Spree::Deprecation.warn("promotion_filter_dropdown_value is deprecated and will be removed in Spree 5.5")
6
- if params.dig(:q, :expired)
7
- Spree.t(:expired)
8
- elsif params.dig(:q, :active)
9
- Spree.t(:active)
10
- else
11
- Spree.t(:all)
12
- end
13
- end
14
-
15
4
  def promotion_status(promotion)
16
5
  if promotion.active?
17
6
  Spree.t(:active)
@@ -125,7 +125,7 @@ module Spree
125
125
  def render_status_column(value, column)
126
126
  return empty_column_placeholder if value.blank?
127
127
 
128
- css_class = STATUS_BADGE_CLASSES[value.to_s] || 'badge-secondary'
128
+ css_class = STATUS_BADGE_CLASSES[value.to_s] || 'badge-light'
129
129
  content_tag(:span, Spree.t(value, scope: column.key, default: value.to_s.humanize), class: "badge #{css_class}")
130
130
  end
131
131
 
@@ -222,7 +222,10 @@ module Spree
222
222
  # @param column [Spree::Admin::Table::Column] column definition
223
223
  # @return [String]
224
224
  def column_cell_class(column)
225
- column.align.to_s == 'left' ? '' : "text-#{column.align}"
225
+ [].tap do |classes|
226
+ classes << "text-#{column.align}" unless column.align.to_s == 'left'
227
+ classes << (column.wrap ? 'text-wrap' : 'text-nowrap')
228
+ end.join(' ')
226
229
  end
227
230
 
228
231
  # Build query builder fields JSON for Stimulus controller
@@ -37,6 +37,7 @@ module Spree
37
37
  attribute :method
38
38
  attribute :width, :string
39
39
  attribute :align, :string, default: 'left'
40
+ attribute :wrap, :boolean, default: false
40
41
  attribute :format, :string
41
42
  attribute :condition
42
43
  attribute :ransack_attribute, :string
@@ -2,13 +2,14 @@
2
2
 
3
3
  <% content_for :page_actions do %>
4
4
  <%= render_admin_partials(:coupon_codes_actions_partials) %>
5
+ <%= link_to_export_modal %>
5
6
  <% end %>
6
7
 
7
8
  <%= render_admin_partials(:coupon_codes_header_partials) %>
8
9
 
9
10
  <div class="grid grid-cols-12 gap-6">
10
11
  <div class="col-span-12 lg:col-span-8">
11
- <%= render 'spree/admin/shared/index_table', new_object_url: nil %>
12
+ <%= render_table @collection, :coupon_codes, export_type: Spree::Exports::CouponCodes %>
12
13
  </div>
13
14
 
14
15
  <div class="col-span-12 lg:col-span-4">
@@ -7,4 +7,4 @@
7
7
 
8
8
  <%= render_admin_partials(:refund_reasons_header_partials) %>
9
9
 
10
- <%= render 'spree/admin/shared/index_table' %>
10
+ <%= render_table @collection, :refund_reasons %>
@@ -7,4 +7,4 @@
7
7
 
8
8
  <%= render_admin_partials(:reimbursement_types_header_partials) %>
9
9
 
10
- <%= render 'spree/admin/shared/index_table' %>
10
+ <%= render_table @collection, :reimbursement_types %>
@@ -7,4 +7,4 @@
7
7
 
8
8
  <%= render_admin_partials(:return_authorization_reasons_header_partials) %>
9
9
 
10
- <%= render 'spree/admin/shared/index_table' %>
10
+ <%= render_table @collection, :return_authorization_reasons %>
@@ -8,4 +8,4 @@
8
8
 
9
9
  <%= render_admin_partials(:return_authorizations_header_partials) %>
10
10
 
11
- <%= render 'spree/admin/shared/index_table', new_object_url: nil %>
11
+ <%= render_table @collection, :return_authorizations %>
@@ -11,4 +11,4 @@
11
11
 
12
12
  <%= render partial: 'spree/admin/shared/shipping_nav' %>
13
13
 
14
- <%= render 'spree/admin/shared/index_table' %>
14
+ <%= render_table @collection, :shipping_categories %>
@@ -17,4 +17,4 @@
17
17
 
18
18
  <%= render_admin_partials(:shipping_methods_header_partials) %>
19
19
 
20
- <%= render 'spree/admin/shared/index_table' %>
20
+ <%= render_table @collection, :shipping_methods %>
@@ -8,4 +8,4 @@
8
8
 
9
9
  <%= render_admin_partials(:stock_locations_header_partials) %>
10
10
 
11
- <%= render 'spree/admin/shared/index_table' %>
11
+ <%= render_table @collection, :stock_locations %>
@@ -11,4 +11,4 @@
11
11
 
12
12
  <%= render 'spree/admin/shared/tax_nav' %>
13
13
 
14
- <%= render 'spree/admin/shared/index_table' %>
14
+ <%= render_table @collection, :tax_categories %>
@@ -11,4 +11,4 @@
11
11
 
12
12
  <%= render 'spree/admin/shared/tax_nav' %>
13
13
 
14
- <%= render 'spree/admin/shared/index_table' %>
14
+ <%= render_table @collection, :tax_rates %>
@@ -9,4 +9,4 @@
9
9
 
10
10
  <%= render_admin_partials(:taxonomies_header_partials) %>
11
11
 
12
- <%= render 'spree/admin/shared/index_table', sortable: true %>
12
+ <%= render_table @collection, :taxonomies, sortable: true %>
@@ -15,4 +15,4 @@
15
15
 
16
16
  <%= render_admin_partials(:zones_header_partials) %>
17
17
 
18
- <%= render 'spree/admin/shared/index_table' %>
18
+ <%= render_table @collection, :zones %>
@@ -1614,4 +1614,388 @@ Rails.application.config.after_initialize do
1614
1614
  sortable: true,
1615
1615
  default: true,
1616
1616
  position: 40
1617
+
1618
+ # ==========================================
1619
+ # Register Coupon Codes table
1620
+ # ==========================================
1621
+ Spree.admin.tables.register(:coupon_codes, model_class: Spree::CouponCode, search_param: :code_i_cont, new_resource: false)
1622
+
1623
+ Spree.admin.tables.coupon_codes.add :code,
1624
+ label: :code,
1625
+ type: :string,
1626
+ sortable: true,
1627
+ filterable: true,
1628
+ default: true,
1629
+ position: 10,
1630
+ method: ->(coupon_code) { coupon_code.display_code }
1631
+
1632
+ Spree.admin.tables.coupon_codes.add :state,
1633
+ label: :status,
1634
+ type: :status,
1635
+ filter_type: :select,
1636
+ sortable: true,
1637
+ filterable: true,
1638
+ default: true,
1639
+ position: 20,
1640
+ value_options: [
1641
+ { value: 'unused', label: 'Unused' },
1642
+ { value: 'used', label: 'Used' }
1643
+ ]
1644
+
1645
+ Spree.admin.tables.coupon_codes.add :created_at,
1646
+ label: :created_at,
1647
+ type: :datetime,
1648
+ sortable: true,
1649
+ filterable: false,
1650
+ default: true,
1651
+ position: 30
1652
+
1653
+ # ==========================================
1654
+ # Register Shipping Categories table
1655
+ # ==========================================
1656
+ Spree.admin.tables.register(:shipping_categories, model_class: Spree::ShippingCategory, search_param: :name_cont)
1657
+
1658
+ Spree.admin.tables.shipping_categories.add :name,
1659
+ label: :name,
1660
+ type: :link,
1661
+ sortable: true,
1662
+ filterable: true,
1663
+ default: true,
1664
+ position: 10
1665
+
1666
+ # ==========================================
1667
+ # Register Refund Reasons table
1668
+ # ==========================================
1669
+ Spree.admin.tables.register(:refund_reasons, model_class: Spree::RefundReason, search_param: :name_cont)
1670
+
1671
+ Spree.admin.tables.refund_reasons.add :name,
1672
+ label: :name,
1673
+ type: :link,
1674
+ sortable: true,
1675
+ filterable: true,
1676
+ default: true,
1677
+ position: 10
1678
+
1679
+ Spree.admin.tables.refund_reasons.add :active,
1680
+ label: :status,
1681
+ type: :status,
1682
+ sortable: false,
1683
+ default: true,
1684
+ position: 20,
1685
+ method: ->(r) { r.active? ? 'active' : 'inactive' }
1686
+
1687
+ Spree.admin.tables.refund_reasons.add :mutable,
1688
+ label: :mutable,
1689
+ type: :boolean,
1690
+ sortable: false,
1691
+ default: true,
1692
+ position: 30
1693
+
1694
+ # ==========================================
1695
+ # Register Return Authorization Reasons table
1696
+ # ==========================================
1697
+ Spree.admin.tables.register(:return_authorization_reasons, model_class: Spree::ReturnAuthorizationReason, search_param: :name_cont)
1698
+
1699
+ Spree.admin.tables.return_authorization_reasons.add :name,
1700
+ label: :name,
1701
+ type: :link,
1702
+ sortable: true,
1703
+ filterable: true,
1704
+ default: true,
1705
+ position: 10
1706
+
1707
+ Spree.admin.tables.return_authorization_reasons.add :active,
1708
+ label: :status,
1709
+ type: :status,
1710
+ sortable: false,
1711
+ default: true,
1712
+ position: 20,
1713
+ method: ->(r) { r.active? ? 'active' : 'inactive' }
1714
+
1715
+ # ==========================================
1716
+ # Register Reimbursement Types table
1717
+ # ==========================================
1718
+ Spree.admin.tables.register(:reimbursement_types, model_class: Spree::ReimbursementType, search_param: :name_cont)
1719
+
1720
+ Spree.admin.tables.reimbursement_types.add :name,
1721
+ label: :name,
1722
+ type: :link,
1723
+ sortable: true,
1724
+ filterable: true,
1725
+ default: true,
1726
+ position: 10,
1727
+ method: ->(rt) { rt.name.humanize }
1728
+
1729
+ Spree.admin.tables.reimbursement_types.add :type,
1730
+ label: :type,
1731
+ type: :string,
1732
+ sortable: false,
1733
+ default: true,
1734
+ position: 20,
1735
+ method: ->(rt) { rt.type.demodulize }
1736
+
1737
+ Spree.admin.tables.reimbursement_types.add :active,
1738
+ label: :status,
1739
+ type: :status,
1740
+ sortable: false,
1741
+ default: true,
1742
+ position: 30,
1743
+ method: ->(r) { r.active? ? 'active' : 'inactive' }
1744
+
1745
+ Spree.admin.tables.reimbursement_types.add :mutable,
1746
+ label: :mutable,
1747
+ type: :boolean,
1748
+ sortable: false,
1749
+ default: true,
1750
+ position: 40
1751
+
1752
+ # ==========================================
1753
+ # Register Zones table
1754
+ # ==========================================
1755
+ Spree.admin.tables.register(:zones, model_class: Spree::Zone, search_param: :name_cont)
1756
+
1757
+ Spree.admin.tables.zones.add :name,
1758
+ label: :name,
1759
+ type: :link,
1760
+ sortable: true,
1761
+ filterable: true,
1762
+ default: true,
1763
+ position: 10
1764
+
1765
+ Spree.admin.tables.zones.add :description,
1766
+ label: :description,
1767
+ type: :string,
1768
+ sortable: true,
1769
+ default: true,
1770
+ position: 20
1771
+
1772
+ Spree.admin.tables.zones.add :default_tax,
1773
+ label: :default_tax_zone,
1774
+ type: :boolean,
1775
+ sortable: false,
1776
+ default: true,
1777
+ position: 30
1778
+
1779
+ # ==========================================
1780
+ # Register Tax Categories table
1781
+ # ==========================================
1782
+ Spree.admin.tables.register(:tax_categories, model_class: Spree::TaxCategory, search_param: :name_cont)
1783
+
1784
+ Spree.admin.tables.tax_categories.add :name,
1785
+ label: :name,
1786
+ type: :link,
1787
+ sortable: true,
1788
+ filterable: true,
1789
+ default: true,
1790
+ position: 10
1791
+
1792
+ Spree.admin.tables.tax_categories.add :tax_code,
1793
+ label: :tax_code,
1794
+ type: :string,
1795
+ sortable: true,
1796
+ filterable: true,
1797
+ default: true,
1798
+ position: 20
1799
+
1800
+ Spree.admin.tables.tax_categories.add :description,
1801
+ label: :description,
1802
+ type: :string,
1803
+ sortable: false,
1804
+ default: true,
1805
+ position: 30
1806
+
1807
+ Spree.admin.tables.tax_categories.add :is_default,
1808
+ label: :default,
1809
+ type: :boolean,
1810
+ sortable: false,
1811
+ default: true,
1812
+ position: 40
1813
+
1814
+ # ==========================================
1815
+ # Register Tax Rates table
1816
+ # ==========================================
1817
+ Spree.admin.tables.register(:tax_rates, model_class: Spree::TaxRate, search_param: :name_cont)
1818
+
1819
+ Spree.admin.tables.tax_rates.add :name,
1820
+ label: :name,
1821
+ type: :link,
1822
+ sortable: true,
1823
+ filterable: true,
1824
+ default: true,
1825
+ position: 10
1826
+
1827
+ Spree.admin.tables.tax_rates.add :tax_category,
1828
+ label: :tax_category,
1829
+ type: :string,
1830
+ sortable: false,
1831
+ default: true,
1832
+ position: 20,
1833
+ method: ->(tr) { tr.tax_category&.name }
1834
+
1835
+ Spree.admin.tables.tax_rates.add :zone,
1836
+ label: :zone,
1837
+ type: :string,
1838
+ sortable: false,
1839
+ default: true,
1840
+ position: 30,
1841
+ method: ->(tr) { tr.zone&.name }
1842
+
1843
+ Spree.admin.tables.tax_rates.add :amount,
1844
+ label: :amount,
1845
+ type: :string,
1846
+ sortable: true,
1847
+ default: true,
1848
+ position: 40,
1849
+ method: ->(tr) { number_to_percentage(tr.amount * 100) }
1850
+
1851
+ Spree.admin.tables.tax_rates.add :included_in_price,
1852
+ label: :included_in_price,
1853
+ type: :boolean,
1854
+ sortable: false,
1855
+ default: true,
1856
+ position: 50
1857
+
1858
+ Spree.admin.tables.tax_rates.add :show_rate_in_label,
1859
+ label: :show_rate_in_label,
1860
+ type: :boolean,
1861
+ sortable: false,
1862
+ default: true,
1863
+ position: 60
1864
+
1865
+ # ==========================================
1866
+ # Register Taxonomies table
1867
+ # ==========================================
1868
+ Spree.admin.tables.register(:taxonomies, model_class: Spree::Taxonomy, search_param: :name_cont)
1869
+
1870
+ Spree.admin.tables.taxonomies.add :name,
1871
+ label: :name,
1872
+ type: :link,
1873
+ sortable: true,
1874
+ filterable: true,
1875
+ default: true,
1876
+ position: 10
1877
+
1878
+ Spree.admin.tables.taxonomies.add :taxons_count,
1879
+ label: :taxons,
1880
+ type: :string,
1881
+ sortable: false,
1882
+ default: true,
1883
+ position: 20,
1884
+ method: ->(taxonomy) { taxonomy.taxons.count - 1 }
1885
+
1886
+ # ==========================================
1887
+ # Register Stock Locations table
1888
+ # ==========================================
1889
+ Spree.admin.tables.register(:stock_locations, model_class: Spree::StockLocation, search_param: :name_cont)
1890
+
1891
+ Spree.admin.tables.stock_locations.add :name,
1892
+ label: :name,
1893
+ type: :link,
1894
+ sortable: true,
1895
+ filterable: true,
1896
+ default: true,
1897
+ position: 10,
1898
+ method: ->(sl) { sl.display_name }
1899
+
1900
+ Spree.admin.tables.stock_locations.add :country,
1901
+ label: :country,
1902
+ type: :string,
1903
+ sortable: false,
1904
+ default: true,
1905
+ position: 20,
1906
+ method: ->(sl) { sl.country_name }
1907
+
1908
+ Spree.admin.tables.stock_locations.add :active,
1909
+ label: :active,
1910
+ type: :boolean,
1911
+ sortable: false,
1912
+ default: true,
1913
+ position: 30
1914
+
1915
+ Spree.admin.tables.stock_locations.add :default,
1916
+ label: :default,
1917
+ type: :boolean,
1918
+ sortable: false,
1919
+ default: true,
1920
+ position: 40
1921
+
1922
+ # ==========================================
1923
+ # Register Return Authorizations table
1924
+ # ==========================================
1925
+ Spree.admin.tables.register(:return_authorizations, model_class: Spree::ReturnAuthorization, search_param: :number_cont, new_resource: false)
1926
+
1927
+ Spree.admin.tables.return_authorizations.add :number,
1928
+ label: :number,
1929
+ type: :string,
1930
+ sortable: true,
1931
+ filterable: true,
1932
+ default: true,
1933
+ position: 10
1934
+
1935
+ Spree.admin.tables.return_authorizations.add :created_at,
1936
+ label: :created_at,
1937
+ type: :datetime,
1938
+ sortable: true,
1939
+ default: true,
1940
+ position: 20
1941
+
1942
+ Spree.admin.tables.return_authorizations.add :state,
1943
+ label: :status,
1944
+ type: :status,
1945
+ sortable: false,
1946
+ default: true,
1947
+ position: 30
1948
+
1949
+ # ==========================================
1950
+ # Register Shipping Methods table
1951
+ # ==========================================
1952
+ Spree.admin.tables.register(:shipping_methods, model_class: Spree::ShippingMethod, search_param: :name_cont)
1953
+
1954
+ Spree.admin.tables.shipping_methods.add :name,
1955
+ label: :name,
1956
+ type: :link,
1957
+ sortable: true,
1958
+ filterable: true,
1959
+ default: true,
1960
+ position: 10
1961
+
1962
+ Spree.admin.tables.shipping_methods.add :admin_name,
1963
+ label: :admin_name,
1964
+ type: :string,
1965
+ sortable: false,
1966
+ default: true,
1967
+ position: 20
1968
+
1969
+ Spree.admin.tables.shipping_methods.add :zones,
1970
+ label: :zones,
1971
+ type: :string,
1972
+ sortable: false,
1973
+ default: true,
1974
+ position: 30,
1975
+ wrap: true,
1976
+ method: ->(sm) { sm.zones.map(&:name).join(', ') }
1977
+
1978
+ Spree.admin.tables.shipping_methods.add :delivery_range,
1979
+ label: :estimated_delivery_time,
1980
+ type: :string,
1981
+ sortable: false,
1982
+ default: true,
1983
+ position: 40,
1984
+ method: ->(sm) { sm.delivery_range.present? ? Spree.t(:display_delivery_range, delivery_range: sm.delivery_range) : nil }
1985
+
1986
+ Spree.admin.tables.shipping_methods.add :estimated_price,
1987
+ label: :amount,
1988
+ type: :string,
1989
+ sortable: false,
1990
+ default: true,
1991
+ position: 50,
1992
+ method: ->(sm) { sm.display_estimated_price }
1993
+
1994
+ Spree.admin.tables.shipping_methods.add :display_on,
1995
+ label: :visibility,
1996
+ type: :status,
1997
+ sortable: false,
1998
+ default: true,
1999
+ position: 60,
2000
+ method: ->(sm) { sm.display_on.presence || 'both' }
1617
2001
  end