spree_admin 5.4.0.beta3 → 5.4.0.beta5

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 (104) 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/controllers/spree/admin/stores_controller.rb +0 -2
  5. data/app/helpers/spree/admin/orders_helper.rb +0 -18
  6. data/app/helpers/spree/admin/products_helper.rb +0 -27
  7. data/app/helpers/spree/admin/promotions_helper.rb +0 -11
  8. data/app/helpers/spree/admin/stores_helper.rb +1 -1
  9. data/app/helpers/spree/admin/table_helper.rb +5 -2
  10. data/app/models/spree/admin/table/column.rb +1 -0
  11. data/app/views/spree/admin/coupon_codes/index.html.erb +2 -1
  12. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -1
  13. data/app/views/spree/admin/reimbursement_types/index.html.erb +1 -1
  14. data/app/views/spree/admin/return_authorization_reasons/index.html.erb +1 -1
  15. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
  16. data/app/views/spree/admin/shipping_categories/index.html.erb +1 -1
  17. data/app/views/spree/admin/shipping_methods/index.html.erb +1 -1
  18. data/app/views/spree/admin/stock_locations/index.html.erb +1 -1
  19. data/app/views/spree/admin/stores/edit.html.erb +0 -1
  20. data/app/views/spree/admin/stores/form/_checkout.html.erb +0 -27
  21. data/app/views/spree/admin/tax_categories/index.html.erb +1 -1
  22. data/app/views/spree/admin/tax_rates/index.html.erb +1 -1
  23. data/app/views/spree/admin/taxonomies/index.html.erb +1 -1
  24. data/app/views/spree/admin/zones/index.html.erb +1 -1
  25. data/config/initializers/spree_admin_tables.rb +384 -0
  26. metadata +6 -84
  27. data/app/views/spree/admin/coupon_codes/_filters.html.erb +0 -41
  28. data/app/views/spree/admin/coupon_codes/_table_header.html.erb +0 -0
  29. data/app/views/spree/admin/coupon_codes/_table_row.html.erb +0 -8
  30. data/app/views/spree/admin/coupon_codes/index.csv.erb +0 -14
  31. data/app/views/spree/admin/customer_returns/_filters.html.erb +0 -11
  32. data/app/views/spree/admin/customer_returns/_table_header.html.erb +0 -8
  33. data/app/views/spree/admin/customer_returns/_table_row.html.erb +0 -31
  34. data/app/views/spree/admin/gift_cards/_filters.html.erb +0 -53
  35. data/app/views/spree/admin/gift_cards/_gift_card.html.erb +0 -28
  36. data/app/views/spree/admin/gift_cards/_list.html.erb +0 -24
  37. data/app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb +0 -25
  38. data/app/views/spree/admin/metafield_definitions/_filters.html.erb +0 -18
  39. data/app/views/spree/admin/metafield_definitions/_table_header.html.erb +0 -11
  40. data/app/views/spree/admin/metafield_definitions/_table_row.html.erb +0 -22
  41. data/app/views/spree/admin/newsletter_subscribers/_filters.html.erb +0 -41
  42. data/app/views/spree/admin/newsletter_subscribers/_table_header.html.erb +0 -8
  43. data/app/views/spree/admin/newsletter_subscribers/_table_row.html.erb +0 -36
  44. data/app/views/spree/admin/option_types/_filters.html.erb +0 -7
  45. data/app/views/spree/admin/option_types/_table_header.html.erb +0 -19
  46. data/app/views/spree/admin/option_types/_table_row.html.erb +0 -19
  47. data/app/views/spree/admin/orders/_filters.html.erb +0 -116
  48. data/app/views/spree/admin/orders/_list.html.erb +0 -28
  49. data/app/views/spree/admin/orders/_order.html.erb +0 -28
  50. data/app/views/spree/admin/orders/_table_filter_dropdown.html.erb +0 -34
  51. data/app/views/spree/admin/policies/_filters.html.erb +0 -8
  52. data/app/views/spree/admin/policies/_table_header.html.erb +0 -8
  53. data/app/views/spree/admin/policies/_table_row.html.erb +0 -20
  54. data/app/views/spree/admin/price_lists/_table_header.html.erb +0 -7
  55. data/app/views/spree/admin/products/_filters.html.erb +0 -66
  56. data/app/views/spree/admin/products/_list.html.erb +0 -47
  57. data/app/views/spree/admin/products/_product.html.erb +0 -29
  58. data/app/views/spree/admin/products/_product_status.html.erb +0 -3
  59. data/app/views/spree/admin/products/_table_filter_dropdown.html.erb +0 -42
  60. data/app/views/spree/admin/promotions/_filters.html.erb +0 -29
  61. data/app/views/spree/admin/promotions/_table_filter_dropdown.html.erb +0 -17
  62. data/app/views/spree/admin/promotions/_table_header.html.erb +0 -7
  63. data/app/views/spree/admin/promotions/_table_row.html.erb +0 -31
  64. data/app/views/spree/admin/refund_reasons/_table_header.html.erb +0 -6
  65. data/app/views/spree/admin/refund_reasons/_table_row.html.erb +0 -14
  66. data/app/views/spree/admin/reimbursement_types/_table_header.html.erb +0 -7
  67. data/app/views/spree/admin/reimbursement_types/_table_row.html.erb +0 -17
  68. data/app/views/spree/admin/return_authorization_reasons/_table_header.html.erb +0 -5
  69. data/app/views/spree/admin/return_authorization_reasons/_table_row.html.erb +0 -18
  70. data/app/views/spree/admin/return_authorizations/_list.html.erb +0 -21
  71. data/app/views/spree/admin/return_authorizations/_table_header.html.erb +0 -6
  72. data/app/views/spree/admin/return_authorizations/_table_row.html.erb +0 -40
  73. data/app/views/spree/admin/return_authorizations/filters.html.erb +0 -34
  74. data/app/views/spree/admin/shared/_page_section_image.html.erb +0 -4
  75. data/app/views/spree/admin/shared/_page_section_logo.html.erb +0 -1
  76. data/app/views/spree/admin/shipping_categories/_table_header.html.erb +0 -4
  77. data/app/views/spree/admin/shipping_categories/_table_row.html.erb +0 -8
  78. data/app/views/spree/admin/shipping_methods/_table_header.html.erb +0 -8
  79. data/app/views/spree/admin/shipping_methods/_table_row.html.erb +0 -33
  80. data/app/views/spree/admin/stock_items/_filters.html.erb +0 -35
  81. data/app/views/spree/admin/stock_items/_table_header.html.erb +0 -9
  82. data/app/views/spree/admin/stock_items/_table_row.html.erb +0 -43
  83. data/app/views/spree/admin/stock_locations/_table_header.html.erb +0 -9
  84. data/app/views/spree/admin/stock_locations/_table_row.html.erb +0 -36
  85. data/app/views/spree/admin/stock_transfers/_filters.html.erb +0 -49
  86. data/app/views/spree/admin/stock_transfers/_table_header.html.erb +0 -9
  87. data/app/views/spree/admin/stock_transfers/_table_row.html.erb +0 -11
  88. data/app/views/spree/admin/stores/form/_buttons.html.erb +0 -3
  89. data/app/views/spree/admin/stores/form/_checkout_links.html.erb +0 -28
  90. data/app/views/spree/admin/stores/form/_policies.html.erb +0 -69
  91. data/app/views/spree/admin/tax_categories/_table_header.html.erb +0 -7
  92. data/app/views/spree/admin/tax_categories/_table_row.html.erb +0 -13
  93. data/app/views/spree/admin/tax_rates/_table_header.html.erb +0 -9
  94. data/app/views/spree/admin/tax_rates/_table_row.html.erb +0 -15
  95. data/app/views/spree/admin/taxonomies/_table_header.html.erb +0 -6
  96. data/app/views/spree/admin/taxonomies/_table_row.html.erb +0 -16
  97. data/app/views/spree/admin/taxonomies/filters.html.erb +0 -6
  98. data/app/views/spree/admin/users/_filters.html.erb +0 -81
  99. data/app/views/spree/admin/webhook_deliveries/_table_header.html.erb +0 -8
  100. data/app/views/spree/admin/webhook_deliveries/_table_row.html.erb +0 -22
  101. data/app/views/spree/admin/webhook_endpoints/_table_header.html.erb +0 -7
  102. data/app/views/spree/admin/webhook_endpoints/_table_row.html.erb +0 -24
  103. data/app/views/spree/admin/zones/_table_header.html.erb +0 -8
  104. data/app/views/spree/admin/zones/_table_row.html.erb +0 -8
@@ -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