Skip to content
This repository has been archived by the owner on Aug 10, 2021. It is now read-only.

Commit

Permalink
Make SpreeGlobalize optional
Browse files Browse the repository at this point in the history
  • Loading branch information
damianlegawiec committed Mar 21, 2019
1 parent ede7e2b commit 694bce5
Show file tree
Hide file tree
Showing 13 changed files with 31 additions and 35 deletions.
4 changes: 0 additions & 4 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,23 +1,19 @@
appraise 'spree-3-2' do
gem 'spree', '~> 3.2.0'
gem "globalize", '~> 5.1'
gem 'rails-controller-testing'
end

appraise 'spree-3-3' do
gem 'spree', '~> 3.3.0'
gem "globalize", '~> 5.1'
gem 'rails-controller-testing'
end

appraise 'spree-3-4' do
gem 'spree', '~> 3.4.0'
gem "globalize", '~> 5.1'
gem 'rails-controller-testing'
end

appraise 'spree-master' do
gem 'spree', github: 'spree/spree', branch: 'master'
gem "globalize", '~> 5.1'
gem 'rails-controller-testing'
end
4 changes: 0 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,5 @@ source 'https://rubygems.org/'

gem 'rails-controller-testing'
gem 'spree', github: 'spree/spree', branch: 'master'
gem 'globalize', github: 'globalize/globalize', branch: 'master'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n', branch: 'master'
gem 'spree_globalize', github: 'spree-contrib/spree_globalize', branch: 'master'


gemspec
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,11 @@ Finally, toggle the visibility using the 'Visible' checkbox. If it is unchecked,

## Installation

1. Add these extensions(unfortunately we need them all because of broken dependency on globalize) to your Gemfile with this line:
1. Add this extension to your Gemfile with this line:

#### Spree >= 3.1

```ruby

gem 'globalize', github: 'globalize/globalize'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n'
gem 'spree_globalize', github: 'spree-contrib/spree_globalize', branch: 'master'
gem 'spree_static_content', github: 'spree-contrib/spree_static_content'
```

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/spree/static_content_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class StaticContentController < StoreController
layout :determine_layout

def show
@page = Spree::Page.joins(:translations).by_store(current_store).visible.find_by!(slug: request.path)
@page = Spree::StaticPage.finder_scope.by_store(current_store).find_by!(slug: request.path)
end

private
Expand Down
8 changes: 5 additions & 3 deletions app/models/spree/page.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@ class Spree::Page < ActiveRecord::Base

before_save :update_positions_and_slug

translates :title, :body, :slug, :layout, :foreign_link, :meta_keywords, :meta_title, :meta_description,
fallbacks_for_empty_translations: true
if defined?(SpreeGlobalize)
translates :title, :body, :slug, :layout, :foreign_link, :meta_keywords, :meta_title, :meta_description,
fallbacks_for_empty_translations: true

include SpreeGlobalize::Translatable
include SpreeGlobalize::Translatable
end

def initialize(*args)
super(*args)
Expand Down
4 changes: 3 additions & 1 deletion app/views/spree/admin/pages/index.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@
<td class="text-center"><%= content_tag(:i, '', class: 'icon icon-ok') if page.visible %></td>
<td class="actions text-right" data-hook="admin_pages_index_row_actions">
<%= link_to_edit page, no_text: true %>
<%= link_to '', spree.admin_translations_path('page', page.id), class: 'btn btn-primary btn-sm icon icon-translate with-tip', data: { 'original-title' => Spree.t(:'i18n.translations') } %>
<% if defined?(SpreeGlobalize) %>
<%= link_to '', spree.admin_translations_path('page', page.id), class: 'btn btn-primary btn-sm icon icon-translate with-tip', data: { 'original-title' => Spree.t(:'i18n.translations') } %>
<% end %>
<%= link_to_delete page, no_text: true %>
</td>
</tr>
Expand Down
8 changes: 6 additions & 2 deletions db/migrate/20170827000001_add_translation_to_spree_pages.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
class AddTranslationToSpreePages < SpreeExtension::Migration[4.2]
def up
params = { title: :string, body: :text, slug: :string, foreign_link: :string, meta_keywords: :string, meta_title: :string, meta_description: :string }
Spree::Page.create_translation_table!(params, { migrate_data: true })
if defined?(SpreeGlobalize)
Spree::Page.create_translation_table!(params, { migrate_data: true })
end
end

def down
Spree::Page.drop_translation_table! migrate_data: true
if defined?(SpreeGlobalize)
Spree::Page.drop_translation_table! migrate_data: true
end
end
end
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
class AddLayoutToTranslatableFields < SpreeExtension::Migration[4.2]
def up
Spree::Page.add_translation_fields! layout: :string
if defined?(SpreeGlobalize)
Spree::Page.add_translation_fields! layout: :string
end
end

def down
remove_column :spree_page_translations, :layout
if defined?(SpreeGlobalize)
remove_column :spree_page_translations, :layout
end
end
end
3 changes: 0 additions & 3 deletions gemfiles/spree_3_2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,5 @@ source "https://rubygems.org/"

gem "rails-controller-testing"
gem "spree", "~> 3.2.0"
gem "globalize", "~> 5.1"
gem "spree_i18n", github: "spree-contrib/spree_i18n", branch: "master"
gem "spree_globalize", github: "spree-contrib/spree_globalize", branch: "master"

gemspec path: "../"
3 changes: 0 additions & 3 deletions gemfiles/spree_3_3.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,5 @@ source "https://rubygems.org/"

gem "rails-controller-testing"
gem "spree", "~> 3.3.0"
gem "globalize", "~> 5.1"
gem "spree_i18n", github: "spree-contrib/spree_i18n", branch: "master"
gem "spree_globalize", github: "spree-contrib/spree_globalize", branch: "master"

gemspec path: "../"
3 changes: 0 additions & 3 deletions gemfiles/spree_3_4.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,5 @@ source "https://rubygems.org/"

gem "rails-controller-testing"
gem "spree", "~> 3.4.0"
gem "globalize", "~> 5.1"
gem "spree_i18n", github: "spree-contrib/spree_i18n", branch: "master"
gem "spree_globalize", github: "spree-contrib/spree_globalize", branch: "master"

gemspec path: "../"
3 changes: 0 additions & 3 deletions gemfiles/spree_master.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,5 @@ source "https://rubygems.org/"

gem "rails-controller-testing"
gem "spree", github: "spree/spree", branch: "master"
gem "globalize", "~> 5.1"
gem "spree_i18n", github: "spree-contrib/spree_i18n", branch: "master"
gem "spree_globalize", github: "spree-contrib/spree_globalize", branch: "master"

gemspec path: "../"
10 changes: 9 additions & 1 deletion lib/spree_static_content.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,15 @@ module Spree
class StaticPage
def self.matches?(request)
return false if request.path =~ %r{\A\/+(admin|account|cart|checkout|content|login|pg\/|orders|products|s\/|session|signup|shipments|states|t\/|tax_categories|user)+}
!Spree::Page.joins(:translations).visible.find_by(slug: request.path).nil?
!self.finder_scope.find_by(slug: request.path).nil?
end

protected

def self.finder_scope
scope = Spree::Page.visible
scope = scope.joins(:translations) if defined?(SpreeGlobalize)
scope
end
end
end

0 comments on commit 694bce5

Please sign in to comment.