spree_sample 4.2.4 → 4.3.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed6a1faed7a4c99df57d3add8b40700b271f2ecd96f15f860060cdc8718ac3f8
4
- data.tar.gz: '04902e3aef6bc5d71d00e1be5b7c850c08ab60d311426e9ed597cb5a983e141a'
3
+ metadata.gz: e21a3a4b53faa1f769af53d53570c10127f022fdc1fc5f99aa474de1336fbfd6
4
+ data.tar.gz: 6e3a32e87c2b88c4d0756ee345778437ae35cc0b5dbb65e3a2160f84a4dc3fad
5
5
  SHA512:
6
- metadata.gz: b8bdd77e11bfe7bf726544f9a768fa99839a8d0ed56c598fb08b9350d1ccd149461d6f5a90ba68e2811f5b8b37f9932e803a9b64c95d70abcd11e59db1f61215
7
- data.tar.gz: '00189c13555b9b3cb8701aa8bae61f2c63eed2a4b175acf565df670e7514250742c73040039523145719e454e8c9590aca400879e4fd2b92def0252162e7c70f'
6
+ metadata.gz: 7da0f49c113d9077d22c34025c9f9416c0579fcf564add5ad793df0ab9893af458c58e52b1a51abb768e5c76a7d8daaa422819ad93af0848565835176b659687
7
+ data.tar.gz: e51d57695a79032d5103282a01bb28097c8922abc78c3f3f843848ede610ac9010880afecfc01bd50bc02250be191eb29765f54bcccca2fd6b6d8fd725553cd2
@@ -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.4
4
+ version: 4.3.0.rc3
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-17 00:00:00.000000000 Z
12
+ date: 2021-08-30 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.4
20
+ version: 4.3.0.rc3
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.4
28
- description: Required dependency for Spree
27
+ version: 4.3.0.rc3
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.4
105
- documentation_uri: https://guides.spreecommerce.org/
106
- source_code_uri: https://github.com/spree/spree/tree/v4.2.4
125
+ changelog_uri: https://github.com/spree/spree/releases/tag/v4.3.0.rc3
126
+ documentation_uri: https://dev-docs.spreecommerce.org/
127
+ source_code_uri: https://github.com/spree/spree/tree/v4.3.0.rc3
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: []