Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/assets/javascripts/store/all.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
//= require spree_faq
//= require store/spree_faq
4 changes: 2 additions & 2 deletions app/views/admin/question_categories/edit.html.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<% content_for :head do %>
<%= javascript_include_tag 'jquery.scrollTo-min' %>
<%= stylesheet_link_tag 'spree_faq' %>
<%= javascript_include_tag 'admin/jquery.scrollTo-min' %>
<%= stylesheet_link_tag 'admin/spree_faq' %>
<% end %>
<%= form_for @question_category, :url => object_path do |f| %>
<%= render "shared/error_messages", :target => f.object %>
Expand Down
2 changes: 1 addition & 1 deletion app/views/faqs/index.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<%= h question.question -%>
</a>
<div class="answer" id="<%= "answer_#{question.id}"-%>">
<%= question.answer %>
<%= raw question.answer %>
</div>
</li>
<% end %>
Expand Down
13 changes: 13 additions & 0 deletions config/locales/ru.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
ru:
frequently_asked_questions: Вопросы-Ответы
question_categories_admin: FAQ
question_categories: Вопросы-Ответы
new_question_category: Новая категория
questions: Вопросы
create_category: Создать категорию
category_name: Название категории
add_question: Добавить вопрос
question: Вопрос
answer: Ответ

8 changes: 5 additions & 3 deletions lib/spree_faq_hooks.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
class SpreeFaqHooks < Spree::ThemeSupport::HookListener
insert_bottom :admin_tabs do
"<%= tab(:question_categories, :label => :question_categories_admin) %>"
end
Deface::Override.new(:virtual_path => "layouts/admin",
:name => "faq_admin_tab",
:insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]",
:text => "<%= tab(:question_categories, :label => :question_categories_admin) %>",
:disabled => false)
end

84 changes: 84 additions & 0 deletions lib/tasks/faq.rake
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
require 'fileutils'
include FileUtils::Verbose

namespace :db do
desc "Standart migrations"
task :migrate do
Rake::Task["faq:db:migrate"].invoke
end

desc "Loads a specified fixture using rake db:load_file[filename.rb]"
task :seed do
Rake::Task["faq:db:load_dir"].invoke("default")
end
end

namespace :faq do
namespace :db do
desc "Custom migrations"
task :migrate do
require 'erb'
require 'logger'
require 'active_record'
reference = YAML::load(ERB.new(IO.read("#{Rails.root}/config/database.yml")).result)
env = RAILS_ENV = ENV['RAILS_ENV'] || 'development'
ActiveRecord::Base.logger = Logger.new(STDOUT)
ActiveRecord::Base.logger.level = Logger::WARN
ActiveRecord::Base.configurations = reference.dup
reference.each_key do |name|
next unless name.include? env
puts "Migrating #{name} faq"
ActiveRecord::Base.clear_active_connections!
ActiveRecord::Base.configurations[env] = reference[name]
ActiveRecord::Base.establish_connection RAILS_ENV
ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
ActiveRecord::Migrator.migrate("#{File.expand_path('../..', File.dirname(__FILE__))}/db/migrate", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
Rake::Task["db:schema:dump"].invoke if ActiveRecord::Base.schema_format == :ruby
end
end

desc "Loads a specified fixture using rake db:load_file[filename.rb]"
task :seed do
Rake::Task["faq:db:load_dir"].invoke("default")
end

desc "Loads a specified fixture using rake db:load_file[filename.rb]"
task :load_file, [:file] => :environment do |t, args|
file = args.file
ext = File.extname file
if ext == ".csv" or ext == ".yml"
puts "loading fixture " + file
Fixtures.create_fixtures(File.dirname(file), File.basename(file, '.*'))
else
if File.exists? file
puts "loading ruby " + file
require file
end
end
end

desc "Loads fixtures from the the dir you specify using rake db:load_dir[loadfrom]"
task :load_dir, [:dir] => :environment do |t, args|
dir = args.dir
fixtures = ActiveSupport::OrderedHash.new
ruby_files = ActiveSupport::OrderedHash.new
Dir.glob(File.join(File.expand_path('../..', File.dirname(__FILE__)), "db", dir, '*.{yml,csv,rb}')).each do |fixture_file|
ext = File.extname fixture_file
if ext == ".rb"
ruby_files[File.basename(fixture_file, '.*')] = fixture_file
else
fixtures[File.basename(fixture_file, '.*')] = fixture_file
end
end
fixtures.sort.each do |fixture, fixture_file|
# an invoke will only execute the task once
Rake::Task["db:load_file"].execute(Rake::TaskArguments.new([:file], [fixture_file]))
end
ruby_files.sort.each do |fixture, ruby_file|
# an invoke will only execute the task once
Rake::Task["db:load_file"].execute(Rake::TaskArguments.new([:file], [ruby_file]))
end
end
end
end