spree_sample 4.2.3.1 → 4.3.0.rc2

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
  SHA256:
3
- metadata.gz: c6a20842c91f90e5d051afbbf99fd75caf01d1e78c4c470de5aca5b2c6904689
4
- data.tar.gz: cea25b22bfca471c78131b02e281b2b8c1b915ebd63ca21cdfcb6b30265c14c3
3
+ metadata.gz: 65f091910e2b5dc5ca26c58f967cb62032a7c82412db09865897103a5c2ea320
4
+ data.tar.gz: d9e287ffe81d77b515e4944738803bb69b63f61b345d954635d2f4ef97b8c7db
5
5
  SHA512:
6
- metadata.gz: 0d21b4e2f196976014d649f73c0825f28802d945650928ab4edb1fdaf500b89baec5719650a74bc9da101e9f5d0af23e01028bb6d5d14d5afdfbe57891184361
7
- data.tar.gz: 368d3360fa7c94e2c9431c8519a981d839e2fdcef312663f1b2384b465bdfe5a7c1833f2d7676cdc5233ea252e53b6368ce2336d6c38a9cf3742617bf3dee420
6
+ metadata.gz: e38e9725ab131e73cbd1b019a850db63192d27332b3ff33631cc1eb2d78a9733192bbb3480bfeff429702ebfad3d1e100de65df3d7e72395e0224093e0c495cf
7
+ data.tar.gz: c1e65de50b556fc910a0488e73b7b5ea2b700709e297d867122b717530fe81a261cfb5288030b433a9ca568bb8c0ac8ba531be555604df31089adb2f05e3236e
@@ -0,0 +1,34 @@
1
+ Spree::Store.all.each do |store|
2
+ store.supported_locales_list.each do |locale|
3
+ case locale
4
+ when 'en'
5
+ Spree::CmsPage.where(
6
+ title: 'Feature Page',
7
+ type: 'Spree::Cms::Pages::FeaturePage',
8
+ store: store,
9
+ locale: locale
10
+ ).first_or_create!
11
+ when 'fr'
12
+ Spree::CmsPage.where(
13
+ title: 'Page de fonctionnalité',
14
+ type: 'Spree::Cms::Pages::FeaturePage',
15
+ store: store,
16
+ locale: locale
17
+ ).first_or_create!
18
+ when 'de'
19
+ Spree::CmsPage.where(
20
+ title: 'Feature-Seite',
21
+ type: 'Spree::Cms::Pages::FeaturePage',
22
+ store: store,
23
+ locale: locale
24
+ ).first_or_create!
25
+ when 'es'
26
+ Spree::CmsPage.where(
27
+ title: 'Página de características',
28
+ type: 'Spree::Cms::Pages::FeaturePage',
29
+ store: store,
30
+ locale: locale
31
+ ).first_or_create!
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ Spree::Store.all.each do |store|
2
+ store.supported_locales_list.each do |locale|
3
+ case locale
4
+ when 'en'
5
+ Spree::CmsPage.where(
6
+ title: 'Homepage (English)',
7
+ type: 'Spree::Cms::Pages::Homepage',
8
+ store: store,
9
+ locale: locale
10
+ ).first_or_create!
11
+ when 'fr'
12
+ Spree::CmsPage.where(
13
+ title: "Page d'accueil (Français)",
14
+ type: 'Spree::Cms::Pages::Homepage',
15
+ store: store,
16
+ locale: locale
17
+ ).first_or_create!
18
+ when 'de'
19
+ Spree::CmsPage.where(
20
+ title: 'Startseite (Deutsche)',
21
+ type: 'Spree::Cms::Pages::Homepage',
22
+ store: store,
23
+ locale: locale
24
+ ).first_or_create!
25
+ when 'es'
26
+ Spree::CmsPage.where(
27
+ title: 'Página principal (Español)',
28
+ type: 'Spree::Cms::Pages::Homepage',
29
+ store: store,
30
+ locale: locale
31
+ ).first_or_create!
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,246 @@
1
+ PAGES = []
2
+
3
+ Spree::CmsPage.all.each do |page|
4
+ unless page.type == 'Spree::Cms::Pages::StandardPage'
5
+ PAGES << page
6
+ end
7
+ end
8
+
9
+ # Hero Image
10
+ PAGES.each do |page|
11
+ case page.locale
12
+ when 'en'
13
+ name_txt = 'Hero Image'
14
+ title_txt = 'Summer Collection'
15
+ button_txt = 'Shop Now'
16
+ when 'de'
17
+ name_txt = 'Heldenbild'
18
+ title_txt = 'Sommerkollektion'
19
+ button_txt = 'Jetzt einkaufen'
20
+ when 'fr'
21
+ name_txt = 'Image de héros'
22
+ title_txt = "Collection d'été"
23
+ button_txt = 'Achetez maintenant'
24
+ when 'es'
25
+ name_txt = 'Imagen de héroe'
26
+ title_txt = 'Colección de verano'
27
+ button_txt = 'Compra ahora'
28
+ end
29
+
30
+ summer_collection = Spree::Taxon.find_by!(permalink: "categories/new-collection/summer-#{Date.today.year}")
31
+
32
+ hero_section = Spree::CmsSection.where(
33
+ name: name_txt,
34
+ type: 'Spree::Cms::Sections::HeroImage',
35
+ linked_resource_type: 'Spree::Taxon',
36
+ cms_page: page
37
+ ).first_or_create!
38
+
39
+ hero_section.title = title_txt
40
+ hero_section.button_text = button_txt
41
+ hero_section.linked_resource_id = summer_collection.id
42
+ hero_section.save!
43
+ end
44
+
45
+ # Three Taxons
46
+ PAGES.each do |page|
47
+ link_one = 'categories/men'
48
+ link_two = 'categories/women'
49
+ link_three = 'categories/sportswear'
50
+
51
+ case page.locale
52
+ when 'en'
53
+ name_txt = 'Main Taxons'
54
+
55
+ title_one = 'Men'
56
+ title_two = 'Women'
57
+ title_three = 'Sportswear'
58
+
59
+ when 'de'
60
+ name_txt = 'Haupttaxa'
61
+
62
+ title_one = 'Männer'
63
+ title_two = 'Frauen'
64
+ title_three = 'Sportbekleidung'
65
+ when 'fr'
66
+ name_txt = 'Main Taxons'
67
+
68
+ title_one = 'Hommes'
69
+ title_two = 'Femmes'
70
+ title_three = 'Tenue de sport'
71
+ when 'es'
72
+ name_txt = 'Taxón principal'
73
+
74
+ title_one = 'Hombres'
75
+ title_two = 'Mujeres'
76
+ title_three = 'Ropa de deporte'
77
+ end
78
+
79
+ three_taxon_section = Spree::CmsSection.where(
80
+ name: name_txt,
81
+ type: 'Spree::Cms::Sections::ImageGallery',
82
+ cms_page: page
83
+ ).first_or_create!
84
+
85
+ three_taxon_section.link_one = link_one
86
+ three_taxon_section.link_two = link_two
87
+ three_taxon_section.link_three = link_three
88
+
89
+ three_taxon_section.title_one = title_one
90
+ three_taxon_section.title_two = title_two
91
+ three_taxon_section.title_three = title_three
92
+
93
+ three_taxon_section.save!
94
+ end
95
+
96
+ # Best Sellers Product Carousel
97
+ PAGES.each do |page|
98
+ case page.locale
99
+ when 'en'
100
+ name_txt = 'Best Sellers Carousel'
101
+ when 'de'
102
+ name_txt = 'Bestseller Karussell'
103
+ when 'fr'
104
+ name_txt = 'Carrousel des meilleures ventes'
105
+ when 'es'
106
+ name_txt = 'Carrusel de los más vendidos'
107
+ end
108
+
109
+ bestsellers = Spree::Taxon.find_by!(permalink: 'categories/bestsellers')
110
+
111
+ product_carousel = Spree::CmsSection.where(
112
+ name: name_txt,
113
+ type: 'Spree::Cms::Sections::ProductCarousel',
114
+ linked_resource_type: 'Spree::Taxon',
115
+ cms_page: page
116
+ ).first_or_create!
117
+
118
+ product_carousel.linked_resource_id = bestsellers.id
119
+ product_carousel.save!
120
+ end
121
+
122
+ # Featured Article
123
+ PAGES.each do |page|
124
+ case page.locale
125
+ when 'en'
126
+ name_txt = 'Fashion Trends'
127
+ title_txt = "Summer #{Date.today.year}"
128
+ subtitle_txt = 'Fashion Trends'
129
+ button_txt = 'Read More'
130
+ when 'de'
131
+ name_txt = 'Modetrends'
132
+ title_txt = "Sommer #{Date.today.year}"
133
+ subtitle_txt = 'Modetrends'
134
+ button_txt = 'Weiterlesen'
135
+ when 'fr'
136
+ name_txt = 'Tendances de la mode'
137
+ title_txt = "Été #{Date.today.year}"
138
+ subtitle_txt = 'Tendances de la mode'
139
+ button_txt = 'Lire la suite'
140
+ when 'es'
141
+ name_txt = 'Tendencias de la moda'
142
+ title_txt = "Verano #{Date.today.year}"
143
+ subtitle_txt = 'Tendencias de la moda'
144
+ button_txt = 'Lee mas'
145
+ end
146
+
147
+ trending = Spree::Taxon.find_by!(permalink: 'categories/trending')
148
+
149
+ featured_article = Spree::CmsSection.where(
150
+ name: name_txt,
151
+ type: 'Spree::Cms::Sections::FeaturedArticle',
152
+ linked_resource_type: 'Spree::Taxon',
153
+ cms_page: page
154
+ ).first_or_create!
155
+
156
+ featured_article.title = title_txt
157
+ featured_article.subtitle = subtitle_txt
158
+ featured_article.button_text = button_txt
159
+ featured_article.rte_content = '<div style="text-center">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam.</div>'
160
+ featured_article.linked_resource_id = trending.id
161
+ featured_article.save!
162
+ end
163
+
164
+ # Trending Product Carousel
165
+ PAGES.each do |page|
166
+ case page.locale
167
+ when 'en'
168
+ name_txt = 'Trending Carousel'
169
+ when 'de'
170
+ name_txt = 'Trendiges Karussell'
171
+ when 'fr'
172
+ name_txt = 'Carrousel tendance'
173
+ when 'es'
174
+ name_txt = 'Carrusel de tendencias'
175
+ end
176
+
177
+ trending = Spree::Taxon.find_by!(permalink: 'categories/trending')
178
+
179
+ trending_section = Spree::CmsSection.where(
180
+ name: name_txt,
181
+ type: 'Spree::Cms::Sections::ProductCarousel',
182
+ linked_resource_type: 'Spree::Taxon',
183
+ cms_page: page
184
+ ).first_or_create!
185
+
186
+ trending_section.linked_resource_id = trending.id
187
+ trending_section.save!
188
+ end
189
+
190
+ # Side-by-Side Promotions
191
+ PAGES.each do |page|
192
+ link_one = 'categories/streetstyle'
193
+ link_two = 'categories/special-offers/30-percent-off'
194
+
195
+ case page.locale
196
+ when 'en'
197
+ name_txt = 'Promotions'
198
+
199
+ title_one = 'New Collection'
200
+ subtitle_one = 'Street Style'
201
+
202
+ title_two = 'Summer Sale'
203
+ subtitle_two = 'Up To 30% OFF'
204
+
205
+ when 'de'
206
+ name_txt = 'Werbeaktionen'
207
+
208
+ title_one = 'Neue Kollektion'
209
+ subtitle_one = 'Street Style'
210
+
211
+ title_two = 'Summer Sale'
212
+ subtitle_two = 'Bis zu 30% RABATT'
213
+ when 'fr'
214
+ name_txt = 'Promotions'
215
+
216
+ title_one = 'Nouvelle collection'
217
+ subtitle_one = 'Style de rue'
218
+
219
+ title_two = 'Summer Sale'
220
+ subtitle_two = "Jusqu'à 30% de réduction"
221
+ when 'es'
222
+ name_txt = 'Promociones'
223
+
224
+ title_one = 'Nueva colección'
225
+ subtitle_one = 'Estilo callejero'
226
+
227
+ title_two = 'Summer Sale'
228
+ subtitle_two = 'Hasta 30% DE DESCUENTO'
229
+ end
230
+
231
+ promos_section = Spree::CmsSection.where(
232
+ name: name_txt,
233
+ type: 'Spree::Cms::Sections::SideBySideImages',
234
+ cms_page: page
235
+ ).first_or_create!
236
+
237
+ promos_section.title_one = title_one
238
+ promos_section.subtitle_one = subtitle_one
239
+ promos_section.link_one = link_one
240
+
241
+ promos_section.title_two = title_two
242
+ promos_section.subtitle_two = subtitle_two
243
+ promos_section.link_two = link_two
244
+
245
+ promos_section.save!
246
+ end
@@ -0,0 +1,134 @@
1
+ Spree::Store.all.each do |store|
2
+ store.supported_locales_list.each do |locale|
3
+ case locale
4
+ when 'en'
5
+ Spree::CmsPage.where(
6
+ title: 'About Us',
7
+ type: 'Spree::Cms::Pages::StandardPage',
8
+ store: store,
9
+ locale: locale,
10
+ content: FFaker::Lorem.paragraph(8)
11
+ ).first_or_create!
12
+
13
+ Spree::CmsPage.where(
14
+ title: 'Privacy Policy',
15
+ type: 'Spree::Cms::Pages::StandardPage',
16
+ store: store,
17
+ locale: locale,
18
+ content: FFaker::Lorem.paragraph(8)
19
+ ).first_or_create!
20
+
21
+ Spree::CmsPage.where(
22
+ title: 'Shipping Policy',
23
+ type: 'Spree::Cms::Pages::StandardPage',
24
+ store: store,
25
+ locale: locale,
26
+ content: FFaker::Lorem.paragraph(8)
27
+ ).first_or_create!
28
+
29
+ Spree::CmsPage.where(
30
+ title: 'Returns Policy',
31
+ type: 'Spree::Cms::Pages::StandardPage',
32
+ store: store,
33
+ locale: locale,
34
+ content: FFaker::Lorem.paragraph(8)
35
+ ).first_or_create!
36
+ when 'fr'
37
+ Spree::CmsPage.where(
38
+ title: 'À propos de nous',
39
+ type: 'Spree::Cms::Pages::StandardPage',
40
+ store: store,
41
+ locale: locale,
42
+ content: FFaker::Lorem.paragraph(8)
43
+ ).first_or_create!
44
+
45
+ Spree::CmsPage.where(
46
+ title: 'Politique de confidentialité',
47
+ type: 'Spree::Cms::Pages::StandardPage',
48
+ store: store,
49
+ locale: locale,
50
+ content: FFaker::Lorem.paragraph(8)
51
+ ).first_or_create!
52
+
53
+ Spree::CmsPage.where(
54
+ title: "Politique d'expédition",
55
+ type: 'Spree::Cms::Pages::StandardPage',
56
+ store: store,
57
+ locale: locale,
58
+ content: FFaker::Lorem.paragraph(8)
59
+ ).first_or_create!
60
+
61
+ Spree::CmsPage.where(
62
+ title: 'Politique de retour',
63
+ type: 'Spree::Cms::Pages::StandardPage',
64
+ store: store,
65
+ locale: locale,
66
+ content: FFaker::Lorem.paragraph(8)
67
+ ).first_or_create!
68
+ when 'de'
69
+ Spree::CmsPage.where(
70
+ title: 'Über uns',
71
+ type: 'Spree::Cms::Pages::StandardPage',
72
+ store: store,
73
+ locale: locale,
74
+ content: FFaker::Lorem.paragraph(8)
75
+ ).first_or_create!
76
+
77
+ Spree::CmsPage.where(
78
+ title: 'Datenschutz-Bestimmungen',
79
+ type: 'Spree::Cms::Pages::StandardPage',
80
+ store: store,
81
+ locale: locale,
82
+ content: FFaker::Lorem.paragraph(8)
83
+ ).first_or_create!
84
+
85
+ Spree::CmsPage.where(
86
+ title: 'Versandbedingungen',
87
+ type: 'Spree::Cms::Pages::StandardPage',
88
+ store: store,
89
+ locale: locale,
90
+ content: FFaker::Lorem.paragraph(8)
91
+ ).first_or_create!
92
+
93
+ Spree::CmsPage.where(
94
+ title: 'Rückgaberecht',
95
+ type: 'Spree::Cms::Pages::StandardPage',
96
+ store: store,
97
+ locale: locale,
98
+ content: FFaker::Lorem.paragraph(8)
99
+ ).first_or_create!
100
+ when 'es'
101
+ Spree::CmsPage.where(
102
+ title: 'Sobre nosotros',
103
+ type: 'Spree::Cms::Pages::StandardPage',
104
+ store: store,
105
+ locale: locale,
106
+ content: FFaker::Lorem.paragraph(8)
107
+ ).first_or_create!
108
+
109
+ Spree::CmsPage.where(
110
+ title: 'Política de privacidad',
111
+ type: 'Spree::Cms::Pages::StandardPage',
112
+ store: store,
113
+ locale: locale,
114
+ content: FFaker::Lorem.paragraph(8)
115
+ ).first_or_create!
116
+
117
+ Spree::CmsPage.where(
118
+ title: 'Politica de envios',
119
+ type: 'Spree::Cms::Pages::StandardPage',
120
+ store: store,
121
+ locale: locale,
122
+ content: FFaker::Lorem.paragraph(8)
123
+ ).first_or_create!
124
+
125
+ Spree::CmsPage.where(
126
+ title: 'Política de devoluciones',
127
+ type: 'Spree::Cms::Pages::StandardPage',
128
+ store: store,
129
+ locale: locale,
130
+ content: FFaker::Lorem.paragraph(8)
131
+ ).first_or_create!
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,413 @@
1
+ MENUS = []
2
+
3
+ Spree::Menu.all.each do |menu|
4
+ MENUS << menu
5
+ end
6
+
7
+ MENUS.each do |menu|
8
+ ################
9
+ # Translations #
10
+ ################
11
+ case menu.locale
12
+ when 'en'
13
+ root_name_a = 'Women'
14
+ root_name_b = 'Men'
15
+ root_name_c = 'Sportswear'
16
+
17
+ catagories = 'Categories'
18
+
19
+ skirts = 'Skirts'
20
+ dresses = 'Dresses'
21
+ shirts_and_blouses = 'Skirts and Blouses'
22
+ sweaters = 'Sweaters'
23
+ tops_and_t_shirts = 'Tops and T-Shirts'
24
+ jackets_and_coats = 'Jackets and Coats'
25
+ shirts = 'Shirts'
26
+ t_shirts = 'T-Shirts'
27
+ tops = 'Tops'
28
+ sweat_shirts = 'Sweatshirts'
29
+ pants = 'Pants'
30
+
31
+ promo_a_name = 'New Collection'
32
+ promo_a_subtitle = "Summer #{Date.today.year}"
33
+
34
+ promo_b_name = 'Special Offers'
35
+ promo_b_subtitle = 'Get up to 30% off'
36
+
37
+ when 'fr'
38
+ root_name_a = 'Femmes'
39
+ root_name_b = 'Hommes'
40
+ root_name_c = 'Tenue de sport'
41
+
42
+ catagories = 'Catégories'
43
+
44
+ skirts = 'Jupes'
45
+ dresses = 'Robes'
46
+ shirts_and_blouses = 'Jupes et chemisiers'
47
+ sweaters = 'Chandails'
48
+ tops_and_t_shirts = 'Hauts et T-shirts'
49
+ jackets_and_coats = 'Vestes et manteaux'
50
+ shirts = 'Chemises'
51
+ t_shirts = 'T-Shirts'
52
+ tops = 'Hauts'
53
+ sweat_shirts = 'Pulls molletonnés'
54
+ pants = 'Pantalon'
55
+
56
+ promo_a_name = 'Nouvelle collection'
57
+ promo_a_subtitle = "Été #{Date.today.year}"
58
+
59
+ promo_b_name = 'Offres spéciales'
60
+ promo_b_subtitle = "Obtenez jusqu'à 30% de réduction"
61
+
62
+ when 'de'
63
+ root_name_a = 'Frauen'
64
+ root_name_b = 'Männer'
65
+ root_name_c = 'Sportbekleidung'
66
+
67
+ catagories = 'Kategorien'
68
+
69
+ skirts = 'die Röcke'
70
+ dresses = 'Kleider'
71
+ shirts_and_blouses = 'Röcke und Blusen'
72
+ sweaters = 'Pullovers'
73
+ tops_and_t_shirts = 'Tops und T-Shirts'
74
+ jackets_and_coats = 'Jacken und Mäntel'
75
+ shirts = 'Hemden'
76
+ t_shirts = 'T-Shirts'
77
+ tops = 'Tops'
78
+ sweat_shirts = 'Sweatshirts'
79
+ pants = 'Hose'
80
+
81
+ promo_a_name = 'Neue Kollektion'
82
+ promo_a_subtitle = "Sommer #{Date.today.year}"
83
+
84
+ promo_b_name = 'Sonderangebote'
85
+ promo_b_subtitle = 'Erhalten Sie bis zu 30% Rabatt'
86
+
87
+ when 'es'
88
+ root_name_a = 'Hombres'
89
+ root_name_b = 'Mujeres'
90
+ root_name_c = 'Ropa de deporte'
91
+
92
+ catagories = 'Categorías'
93
+
94
+ skirts = 'Faldas'
95
+ dresses = 'Vestidos'
96
+ shirts_and_blouses = 'Faldas y blusas'
97
+ sweaters = 'Suéteres'
98
+ tops_and_t_shirts = 'Tops y camisetas'
99
+ jackets_and_coats = 'Chaquetas y abrigos'
100
+ shirts = 'Camisas'
101
+ t_shirts = 'Camisetas'
102
+ tops = 'Tops'
103
+ sweat_shirts = 'Sudaderas'
104
+ pants = 'Pantalones'
105
+
106
+ promo_a_name = 'Nueva colección'
107
+ promo_a_subtitle = "Verano #{Date.today.year}"
108
+
109
+ promo_b_name = 'Ofertas especiales'
110
+ promo_b_subtitle = 'Obtenga hasta un 30% de descuento'
111
+ end
112
+
113
+ ##############
114
+ # Root Items #
115
+ ##############
116
+ woman_taxon = Spree::Taxon.find_by!(permalink: 'categories/women')
117
+ menu_root_women = Spree::MenuItem.where(
118
+ name: root_name_a,
119
+ item_type: 'Link',
120
+ linked_resource_type: 'Spree::Taxon',
121
+ menu_id: menu,
122
+ parent_id: menu.root.id
123
+ ).first_or_create!
124
+ menu_root_women.linked_resource_id = woman_taxon.id
125
+ menu_root_women.save!
126
+
127
+ men_taxon = Spree::Taxon.find_by!(permalink: 'categories/men')
128
+ menu_root_men = Spree::MenuItem.where(
129
+ name: root_name_b,
130
+ item_type: 'Link',
131
+ linked_resource_type: 'Spree::Taxon',
132
+ menu_id: menu,
133
+ parent_id: menu.root.id
134
+ ).first_or_create!
135
+ menu_root_men.linked_resource_id = men_taxon.id
136
+ menu_root_men.save!
137
+
138
+ sw_taxon = Spree::Taxon.find_by!(permalink: 'categories/sportswear')
139
+ menu_root_sw = Spree::MenuItem.where(
140
+ name: root_name_c,
141
+ item_type: 'Link',
142
+ linked_resource_type: 'Spree::Taxon',
143
+ menu_id: menu,
144
+ parent_id: menu.root.id
145
+ ).first_or_create!
146
+ menu_root_sw.linked_resource_id = sw_taxon.id
147
+ menu_root_sw.save!
148
+
149
+ if menu.location == 'header'
150
+ ## Only For Header Menu
151
+ ##############
152
+ # Categories #
153
+ ##############
154
+ menu_cat_women = Spree::MenuItem.where(
155
+ name: catagories,
156
+ item_type: 'Container',
157
+ code: 'category',
158
+ menu_id: menu,
159
+ parent_id: menu_root_women
160
+ ).first_or_create!
161
+
162
+ menu_cat_men = Spree::MenuItem.where(
163
+ name: catagories,
164
+ item_type: 'Container',
165
+ code: 'category',
166
+ menu_id: menu,
167
+ parent_id: menu_root_men
168
+ ).first_or_create!
169
+
170
+ menu_cat_sw = Spree::MenuItem.where(
171
+ name: catagories,
172
+ item_type: 'Container',
173
+ code: 'category',
174
+ menu_id: menu,
175
+ parent_id: menu_root_sw
176
+ ).first_or_create!
177
+
178
+ ##############
179
+ # Promotions #
180
+ ##############
181
+ menu_promo_women = Spree::MenuItem.where(
182
+ name: 'Promos',
183
+ item_type: 'Container',
184
+ code: 'promo',
185
+ menu_id: menu,
186
+ parent_id: menu_root_women
187
+ ).first_or_create!
188
+
189
+ menu_promo_men = Spree::MenuItem.where(
190
+ name: 'Promos',
191
+ item_type: 'Container',
192
+ code: 'promo',
193
+ menu_id: menu,
194
+ parent_id: menu_root_men
195
+ ).first_or_create!
196
+
197
+ menu_promo_sw = Spree::MenuItem.where(
198
+ name: 'Promos',
199
+ item_type: 'Container',
200
+ code: 'promo',
201
+ menu_id: menu,
202
+ parent_id: menu_root_sw
203
+ ).first_or_create!
204
+
205
+ promos = [menu_promo_women, menu_promo_men, menu_promo_sw]
206
+ else
207
+ promos = []
208
+ end
209
+
210
+ summer = Spree::Taxon.find_by!(permalink: 'categories/new-collection/summer-2021')
211
+ offers = Spree::Taxon.find_by!(permalink: 'categories/special-offers/30-percent-off')
212
+
213
+ #####################
214
+ # Links For: PROMOS #
215
+ #####################
216
+
217
+ promos.each do |promo|
218
+ summer_promo = Spree::MenuItem.where(
219
+ name: promo_a_name,
220
+ subtitle: promo_a_subtitle,
221
+ linked_resource_type: 'Spree::Taxon',
222
+ item_type: 'Link',
223
+ menu_id: menu,
224
+ parent_id: promo
225
+ ).first_or_create!
226
+ summer_promo.linked_resource_id = summer.id
227
+ summer_promo.save!
228
+
229
+ special_offer = Spree::MenuItem.where(
230
+ name: promo_b_name,
231
+ subtitle: promo_b_subtitle,
232
+ linked_resource_type: 'Spree::Taxon',
233
+ item_type: 'Link',
234
+ menu_id: menu,
235
+ parent_id: promo
236
+ ).first_or_create!
237
+ special_offer.linked_resource_id = offers.id
238
+ special_offer.save!
239
+ end
240
+
241
+ #################################
242
+ # Links For: WOMEN / CATAGORIES #
243
+ #################################
244
+
245
+ women_link_parent_id = if menu.location == 'header'
246
+ menu_cat_women
247
+ else
248
+ menu_root_women
249
+ end
250
+
251
+ women_skirts_t = Spree::Taxon.find_by!(permalink: 'categories/women/skirts')
252
+ women_skirts = Spree::MenuItem.where(
253
+ name: skirts,
254
+ linked_resource_type: 'Spree::Taxon',
255
+ item_type: 'Link',
256
+ menu_id: menu,
257
+ parent_id: women_link_parent_id
258
+ ).first_or_create!
259
+ women_skirts.linked_resource_id = women_skirts_t.id
260
+ women_skirts.save!
261
+
262
+ women_dresses_t = Spree::Taxon.find_by!(permalink: 'categories/women/dresses')
263
+ women_dresses = Spree::MenuItem.where(
264
+ name: dresses,
265
+ linked_resource_type: 'Spree::Taxon',
266
+ item_type: 'Link',
267
+ menu_id: menu,
268
+ parent_id: women_link_parent_id
269
+ ).first_or_create!
270
+ women_dresses.linked_resource_id = women_dresses_t.id
271
+ women_dresses.save!
272
+
273
+ women_s_b_t = Spree::Taxon.find_by!(permalink: 'categories/women/shirts-and-blouses')
274
+ women_s_b = Spree::MenuItem.where(
275
+ name: shirts_and_blouses,
276
+ linked_resource_type: 'Spree::Taxon',
277
+ item_type: 'Link',
278
+ menu_id: menu,
279
+ parent_id: women_link_parent_id
280
+ ).first_or_create!
281
+ women_s_b.linked_resource_id = women_s_b_t.id
282
+ women_s_b.save!
283
+
284
+ women_sweaters_t = Spree::Taxon.find_by!(permalink: 'categories/women/sweaters')
285
+ women_sweaters = Spree::MenuItem.where(
286
+ name: sweaters,
287
+ linked_resource_type: 'Spree::Taxon',
288
+ item_type: 'Link',
289
+ menu_id: menu,
290
+ parent_id: women_link_parent_id
291
+ ).first_or_create!
292
+ women_sweaters.linked_resource_id = women_sweaters_t.id
293
+ women_sweaters.save!
294
+
295
+ women_tops_tees_t = Spree::Taxon.find_by!(permalink: 'categories/women/tops-and-t-shirts')
296
+ women_tops_tees = Spree::MenuItem.where(
297
+ name: tops_and_t_shirts,
298
+ linked_resource_type: 'Spree::Taxon',
299
+ item_type: 'Link',
300
+ menu_id: menu,
301
+ parent_id: women_link_parent_id
302
+ ).first_or_create!
303
+ women_tops_tees.linked_resource_id = women_tops_tees_t.id
304
+ women_tops_tees.save!
305
+
306
+ women_j_c_t = Spree::Taxon.find_by!(permalink: 'categories/women/jackets-and-coats')
307
+ women_j_c = Spree::MenuItem.where(
308
+ name: jackets_and_coats,
309
+ linked_resource_type: 'Spree::Taxon',
310
+ item_type: 'Link',
311
+ menu_id: menu,
312
+ parent_id: women_link_parent_id
313
+ ).first_or_create!
314
+ women_j_c.linked_resource_id = women_j_c_t.id
315
+ women_j_c.save!
316
+
317
+ ###############################
318
+ # Links For: MEN / CATAGORIES #
319
+ ###############################
320
+
321
+ men_link_parent_id = if menu.location == 'header'
322
+ menu_cat_men
323
+ else
324
+ menu_root_men
325
+ end
326
+
327
+ men_shirts_t = Spree::Taxon.find_by!(permalink: 'categories/men/shirts')
328
+ men_shirts = Spree::MenuItem.where(
329
+ name: shirts,
330
+ linked_resource_type: 'Spree::Taxon',
331
+ item_type: 'Link',
332
+ menu_id: menu,
333
+ parent_id: men_link_parent_id
334
+ ).first_or_create!
335
+ men_shirts.linked_resource_id = men_shirts_t.id
336
+ men_shirts.save!
337
+
338
+ men_t_shirts_t = Spree::Taxon.find_by!(permalink: 'categories/men/t-shirts')
339
+ men_t_shirts = Spree::MenuItem.where(
340
+ name: t_shirts,
341
+ linked_resource_type: 'Spree::Taxon',
342
+ item_type: 'Link',
343
+ menu_id: menu,
344
+ parent_id: men_link_parent_id
345
+ ).first_or_create!
346
+ men_t_shirts.linked_resource_id = men_t_shirts_t.id
347
+ men_t_shirts.save!
348
+
349
+ men_sweaters_t = Spree::Taxon.find_by!(permalink: 'categories/men/sweaters')
350
+ men_sweaters = Spree::MenuItem.where(
351
+ name: sweaters,
352
+ linked_resource_type: 'Spree::Taxon',
353
+ item_type: 'Link',
354
+ menu_id: menu,
355
+ parent_id: men_link_parent_id
356
+ ).first_or_create!
357
+ men_sweaters.linked_resource_id = men_sweaters_t.id
358
+ men_sweaters.save!
359
+
360
+ men_j_c_t = Spree::Taxon.find_by!(permalink: 'categories/men/jackets-and-coats')
361
+ men_j_c = Spree::MenuItem.where(
362
+ name: jackets_and_coats,
363
+ linked_resource_type: 'Spree::Taxon',
364
+ item_type: 'Link',
365
+ menu_id: menu,
366
+ parent_id: men_link_parent_id
367
+ ).first_or_create!
368
+ men_j_c.linked_resource_id = men_j_c_t.id
369
+ men_j_c.save!
370
+
371
+ ######################################
372
+ # Links For: SPORTSWARE / CATAGORIES #
373
+ ######################################
374
+
375
+ sw_link_parent_id = if menu.location == 'header'
376
+ menu_cat_sw
377
+ else
378
+ menu_root_sw
379
+ end
380
+
381
+ sw_tops_t = Spree::Taxon.find_by!(permalink: 'categories/sportswear/tops')
382
+ sw_tops = Spree::MenuItem.where(
383
+ name: tops,
384
+ linked_resource_type: 'Spree::Taxon',
385
+ item_type: 'Link',
386
+ menu_id: menu,
387
+ parent_id: sw_link_parent_id
388
+ ).first_or_create!
389
+ sw_tops.linked_resource_id = sw_tops_t.id
390
+ sw_tops.save!
391
+
392
+ sw_sweatshirts_t = Spree::Taxon.find_by!(permalink: 'categories/sportswear/sweatshirts')
393
+ sw_sweatshirts = Spree::MenuItem.where(
394
+ name: sweat_shirts,
395
+ linked_resource_type: 'Spree::Taxon',
396
+ item_type: 'Link',
397
+ menu_id: menu,
398
+ parent_id: sw_link_parent_id
399
+ ).first_or_create!
400
+ sw_sweatshirts.linked_resource_id = sw_sweatshirts_t.id
401
+ sw_sweatshirts.save!
402
+
403
+ sw_pants_t = Spree::Taxon.find_by!(permalink: 'categories/sportswear/pants')
404
+ sw_pants = Spree::MenuItem.where(
405
+ name: pants,
406
+ linked_resource_type: 'Spree::Taxon',
407
+ item_type: 'Link',
408
+ menu_id: menu,
409
+ parent_id: sw_link_parent_id
410
+ ).first_or_create!
411
+ sw_pants.linked_resource_id = sw_pants_t.id
412
+ sw_pants.save!
413
+ end
@@ -0,0 +1,17 @@
1
+ Spree::Store.all.each do |store|
2
+ store.supported_locales_list.each do |locale|
3
+ Spree::Menu.where(
4
+ name: 'Main Menu',
5
+ location: 'header',
6
+ store_id: store,
7
+ locale: locale
8
+ ).first_or_create!
9
+
10
+ Spree::Menu.where(
11
+ name: 'Footer Menu',
12
+ location: 'footer',
13
+ store_id: store,
14
+ locale: locale
15
+ ).first_or_create!
16
+ end
17
+ end
@@ -2,16 +2,16 @@ cc_payment_method = Spree::Gateway::Bogus.where(
2
2
  name: 'Credit Card',
3
3
  description: 'Bogus payment gateway.',
4
4
  active: true
5
- ).first_or_create!
5
+ ).first_or_initialize
6
6
 
7
- cc_payment_method.store_ids = Spree::Store.ids
8
- cc_payment_method.save!
7
+ cc_payment_method.stores = Spree::Store.all
8
+ cc_payment_method.save
9
9
 
10
10
  check_paymemt_method = Spree::PaymentMethod::Check.where(
11
11
  name: 'Check',
12
12
  description: 'Pay by check.',
13
13
  active: true
14
- ).first_or_create!
14
+ ).first_or_initialize
15
15
 
16
- check_paymemt_method.store_ids = Spree::Store.ids
17
- check_paymemt_method.save!
16
+ check_paymemt_method.stores = Spree::Store.all
17
+ check_paymemt_method.save
@@ -4,6 +4,7 @@ Spree::Sample.load_sample('tax_categories')
4
4
  Spree::Sample.load_sample('shipping_categories')
5
5
  Spree::Sample.load_sample('option_types')
6
6
  Spree::Sample.load_sample('taxons')
7
+ Spree::Sample.load_sample('stores')
7
8
 
8
9
  default_shipping_category = Spree::ShippingCategory.find_by!(name: 'Default')
9
10
  clothing_tax_category = Spree::TaxCategory.find_by!(name: 'Clothing')
@@ -35,10 +36,11 @@ PRODUCTS.each do |(parent_name, taxon_name, product_name)|
35
36
  product.sku = [taxon_name.delete(' '), product_name.delete(' '), product.price].join('_')
36
37
  product.taxons << parent unless product.taxons.include?(parent)
37
38
  product.taxons << taxon unless product.taxons.include?(taxon)
39
+ product.stores = Spree::Store.all
38
40
  end
39
41
  end
40
42
 
41
- Spree::Taxon.where(name: ['Bestsellers', 'New', 'Trending', 'Streetstyle', 'Summer Sale']).each do |taxon|
43
+ Spree::Taxon.where(name: ['Bestsellers', 'New', 'Trending', 'Streetstyle', 'Summer Sale', "Summer #{Date.today.year}", '30% Off']).each do |taxon|
42
44
  next if taxon.products.any?
43
45
 
44
46
  taxon.products << Spree::Product.all.sample(30)
@@ -1,3 +1,4 @@
1
+ Spree::Sample.load_sample('stores')
1
2
  Spree::Sample.load_sample('option_values')
2
3
  Spree::Sample.load_sample('products')
3
4
 
@@ -12,7 +13,9 @@ promotion = Spree::Promotion.where(
12
13
  path: nil,
13
14
  match_policy: 'any',
14
15
  description: ''
15
- ).first_or_create!
16
+ ).first_or_create do |promo|
17
+ promo.stores = Spree::Store.all
18
+ end
16
19
 
17
20
  Spree::PromotionRule.where(
18
21
  promotion_id: promotion.id,
@@ -16,3 +16,5 @@ properties = {
16
16
  properties.each do |name, presentation|
17
17
  Spree::Property.where(name: name, presentation: presentation).first_or_create!
18
18
  end
19
+
20
+ Spree::Property.where(name: %w[brand manufacturer]).update(filterable: true)
data/db/samples/stores.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  default_store = Spree::Store.default
2
2
  default_store.checkout_zone = Spree::Zone.find_by(name: 'North America')
3
- default_store.default_country = Spree::Country.default
3
+ default_store.default_country = Spree::Country.find_by(iso: 'US')
4
4
  default_store.supported_currencies = 'CAD,USD'
5
5
  default_store.supported_locales = 'en,fr'
6
6
  default_store.url = Rails.env.development? ? 'localhost:3000' : 'demo.spreecommerce.org'
@@ -1,5 +1,10 @@
1
+ Spree::Sample.load_sample('stores')
2
+
1
3
  taxonomies = [
2
- { name: I18n.t('spree.taxonomy_categories_name') }
4
+ {
5
+ name: I18n.t('spree.taxonomy_categories_name'),
6
+ store: Spree::Store.default
7
+ }
3
8
  ]
4
9
 
5
10
  taxonomies.each do |taxonomy_attrs|
data/db/samples/taxons.rb CHANGED
@@ -17,7 +17,6 @@ categories_taxon = Spree::Taxon.where(name: I18n.t('spree.taxonomy_categories_na
17
17
 
18
18
  TAXON_NAMES.each do |taxon_name|
19
19
  taxon = categories_taxon.children.where(name: taxon_name).first_or_create!
20
- taxon.permalink = taxon.permalink.gsub('categories/', '')
21
20
  taxon.taxonomy = categories
22
21
  taxon.save!
23
22
  end
@@ -25,31 +24,26 @@ end
25
24
  CHILDREN_TAXON_NAMES.each do |(parent_name, taxon_name)|
26
25
  parent = Spree::Taxon.where(name: parent_name).first
27
26
  taxon = parent.children.where(name: taxon_name).first_or_create!
28
- taxon.permalink = taxon.permalink.gsub('categories/', '')
29
27
  taxon.taxonomy = categories
30
28
  taxon.save!
31
29
  end
32
30
 
33
31
  taxon = categories_taxon.children.where(name: 'New', permalink: 'newest').first_or_create!
34
- taxon.permalink = taxon.permalink.gsub('categories/', '')
35
32
  taxon.taxonomy = categories
36
33
  taxon.save!
37
34
 
38
35
  ADDITIONAL_TAXONS.each do |taxon_name|
39
36
  taxon = categories_taxon.children.where(name: taxon_name).first_or_create!
40
- taxon.permalink = taxon.permalink.gsub('categories/', '')
41
37
  taxon.taxonomy = categories
42
38
  taxon.save!
43
39
  end
44
40
 
45
41
  SPECIAL_TAXONS.each do |parent_name, taxon_name|
46
42
  parent = categories_taxon.children.where(name: parent_name.to_s).first_or_create!
47
- parent.permalink = parent.permalink.gsub('categories/', '')
48
43
  parent.taxonomy = categories
49
44
  parent.save!
50
45
 
51
46
  taxon = parent.children.where(name: taxon_name).first_or_create!
52
- taxon.permalink = taxon.permalink.gsub('categories/', '')
53
47
  taxon.taxonomy = categories
54
48
  taxon.save!
55
49
  end
data/lib/spree_sample.rb CHANGED
@@ -32,6 +32,13 @@ module SpreeSample
32
32
  Spree::Sample.load_sample('reimbursements')
33
33
  Spree::Sample.load_sample('return_authorization_reasons')
34
34
  Spree::Sample.load_sample('stores')
35
+
36
+ Spree::Sample.load_sample('cms_standard_pages')
37
+ Spree::Sample.load_sample('cms_feature_pages')
38
+ Spree::Sample.load_sample('cms_homepages')
39
+ Spree::Sample.load_sample('cms_sections')
40
+ Spree::Sample.load_sample('menus')
41
+ Spree::Sample.load_sample('menu_items')
35
42
  end
36
43
  end
37
44
  end
data/spree_sample.gemspec CHANGED
@@ -7,15 +7,15 @@ Gem::Specification.new do |s|
7
7
  s.version = Spree.version
8
8
  s.authors = ['Sean Schofield', 'Spark Solutions']
9
9
  s.email = 'hello@spreecommerce.org'
10
- s.summary = 'Sample data (including images) for use with Spree.'
11
- s.description = 'Required dependency for Spree'
10
+ s.summary = 'Sample data for Spree Commerce'
11
+ s.description = 'Optional package containing example data of products, stores, shipping methods, categories and others to quickly setup a demo Spree store'
12
12
  s.homepage = 'https://spreecommerce.org'
13
13
  s.license = 'BSD-3-Clause'
14
14
 
15
15
  s.metadata = {
16
16
  "bug_tracker_uri" => "https://github.com/spree/spree/issues",
17
17
  "changelog_uri" => "https://github.com/spree/spree/releases/tag/v#{s.version}",
18
- "documentation_uri" => "https://guides.spreecommerce.org/",
18
+ "documentation_uri" => "https://dev-docs.spreecommerce.org/",
19
19
  "source_code_uri" => "https://github.com/spree/spree/tree/v#{s.version}",
20
20
  }
21
21
 
@@ -23,5 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.require_path = 'lib'
24
24
  s.requirements << 'none'
25
25
 
26
- s.add_dependency 'spree_core', s.version
26
+ s.add_dependency 'spree_core', ">= #{s.version}"
27
+ s.add_dependency 'ffaker', '~> 2.9'
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_sample
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.3.1
4
+ version: 4.3.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,23 +9,38 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-05 00:00:00.000000000 Z
12
+ date: 2021-08-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_core
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 4.2.3.1
20
+ version: 4.3.0.rc2
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 4.2.3.1
28
- description: Required dependency for Spree
27
+ version: 4.3.0.rc2
28
+ - !ruby/object:Gem::Dependency
29
+ name: ffaker
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '2.9'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '2.9'
42
+ description: Optional package containing example data of products, stores, shipping
43
+ methods, categories and others to quickly setup a demo Spree store
29
44
  email: hello@spreecommerce.org
30
45
  executables: []
31
46
  extensions: []
@@ -37,6 +52,10 @@ files:
37
52
  - db/samples.rb
38
53
  - db/samples/addresses.rb
39
54
  - db/samples/adjustments.rb
55
+ - db/samples/cms_feature_pages.rb
56
+ - db/samples/cms_homepages.rb
57
+ - db/samples/cms_sections.rb
58
+ - db/samples/cms_standard_pages.rb
40
59
  - db/samples/images/apache_baseball.png
41
60
  - db/samples/images/ror_bag.jpeg
42
61
  - db/samples/images/ror_baseball.jpeg
@@ -69,6 +88,8 @@ files:
69
88
  - db/samples/images/spree_stein_back.jpeg
70
89
  - db/samples/images/spree_tote_back.jpeg
71
90
  - db/samples/images/spree_tote_front.jpeg
91
+ - db/samples/menu_items.rb
92
+ - db/samples/menus.rb
72
93
  - db/samples/option_types.rb
73
94
  - db/samples/option_values.rb
74
95
  - db/samples/orders.rb
@@ -101,9 +122,9 @@ licenses:
101
122
  - BSD-3-Clause
102
123
  metadata:
103
124
  bug_tracker_uri: https://github.com/spree/spree/issues
104
- changelog_uri: https://github.com/spree/spree/releases/tag/v4.2.3.1
105
- documentation_uri: https://guides.spreecommerce.org/
106
- source_code_uri: https://github.com/spree/spree/tree/v4.2.3.1
125
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.3.0.rc2
126
+ documentation_uri: https://dev-docs.spreecommerce.org/
127
+ source_code_uri: https://github.com/spree/spree/tree/v4.3.0.rc2
107
128
  post_install_message:
108
129
  rdoc_options: []
109
130
  require_paths:
@@ -115,13 +136,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
136
  version: '0'
116
137
  required_rubygems_version: !ruby/object:Gem::Requirement
117
138
  requirements:
118
- - - ">="
139
+ - - ">"
119
140
  - !ruby/object:Gem::Version
120
- version: '0'
141
+ version: 1.3.1
121
142
  requirements:
122
143
  - none
123
- rubygems_version: 3.1.4
144
+ rubygems_version: 3.2.3
124
145
  signing_key:
125
146
  specification_version: 4
126
- summary: Sample data (including images) for use with Spree.
147
+ summary: Sample data for Spree Commerce
127
148
  test_files: []