Merge remote-tracking branch 'upstream/master' into multiple-recurring-tasks
Conflicts: config/locales/de.yml
This commit is contained in:
commit
46b07a6136
257 changed files with 5408 additions and 1931 deletions
|
|
@ -17,7 +17,7 @@ class OrderPdf < Prawn::Document
|
|||
# Define header
|
||||
repeat :all, dynamic: true do
|
||||
draw_text title, size: 10, style: :bold, at: [bounds.left, bounds.top+20] if title # Header
|
||||
draw_text "Seite #{page_number}", size: 8, at: [bounds.left, bounds.bottom-10] # Footer
|
||||
draw_text I18n.t('lib.order_pdf.page', :number => page_number), size: 8, at: [bounds.left, bounds.bottom-10] # Footer
|
||||
end
|
||||
|
||||
body # Add content, which is defined in subclasses
|
||||
|
|
@ -29,4 +29,4 @@ class OrderPdf < Prawn::Document
|
|||
def save_tmp
|
||||
File.open("#{Rails.root}/tmp/#{self.class.to_s.underscore}.pdf", 'w') {|f| f.write(to_pdf.force_encoding("UTF-8")) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
# put in here all foodsoft tasks
|
||||
# => :environment loads the environment an gives easy access to the application
|
||||
|
||||
namespace :foodsoft do
|
||||
desc "Notify users of upcoming tasks"
|
||||
task :notify_upcoming_tasks => :environment do
|
||||
|
|
|
|||
142
lib/tasks/foodsoft_setup.rake
Normal file
142
lib/tasks/foodsoft_setup.rake
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
# put in here all foodsoft tasks
|
||||
# => :environment loads the environment an gives easy access to the application
|
||||
|
||||
module Colors
|
||||
def colorize(text, color_code)
|
||||
"\033[#{color_code}m#{text}\033[0m"
|
||||
end
|
||||
|
||||
{
|
||||
:black => 30,
|
||||
:red => 31,
|
||||
:green => 32,
|
||||
:yellow => 33,
|
||||
:blue => 34,
|
||||
:magenta => 35,
|
||||
:cyan => 36,
|
||||
:white => 37
|
||||
}.each do |key, color_code|
|
||||
define_method key do |text|
|
||||
colorize(text, color_code)
|
||||
end
|
||||
end
|
||||
end
|
||||
include Colors
|
||||
|
||||
require 'stringio'
|
||||
|
||||
namespace :foodsoft do
|
||||
desc "Setup foodsoft"
|
||||
task :setup_development do
|
||||
puts yellow "This task will help you get your foodcoop running in development."
|
||||
setup_bundler
|
||||
setup_app_config
|
||||
setup_development
|
||||
setup_database
|
||||
setup_secret_token
|
||||
start_mailcatcher
|
||||
puts yellow "All done! Your foodcoft should be running smoothly."
|
||||
start_server
|
||||
end
|
||||
end
|
||||
|
||||
def setup_bundler
|
||||
puts yellow "Installing bundler if not installed..."
|
||||
%x( if [ -z `which bundle` ]; then gem install bundler --no-rdoc --no-ri; fi )
|
||||
puts yellow "Executing bundle install..."
|
||||
%x( bundle install )
|
||||
end
|
||||
|
||||
def setup_database
|
||||
file = 'config/database.yml'
|
||||
return nil if skip?(file)
|
||||
|
||||
database = ask("What kind of database do you use?\nOptions:\n(1) MySQL\n(2) SQLite", ["1","2"])
|
||||
if database == "1"
|
||||
puts yellow "Using MySQL..."
|
||||
%x( cp #{Rails.root.join("#{file}.MySQL_SAMPLE")} #{Rails.root.join(file)} )
|
||||
elsif database == "2"
|
||||
puts yellow "Using SQLite..."
|
||||
%x( cp #{Rails.root.join("#{file}.SQLite_SAMPLE")} #{Rails.root.join(file)} )
|
||||
end
|
||||
|
||||
reminder(file)
|
||||
|
||||
puts blue "Setup your database before you continue!"
|
||||
finished = ask("Finished?\nOptions:\n(y) Yes", ["y"])
|
||||
if finished
|
||||
Rake::Task["db:setup"].reenable
|
||||
db_setup = capture_stdout { Rake::Task["db:setup"].invoke }
|
||||
puts db_setup
|
||||
end
|
||||
end
|
||||
|
||||
def setup_app_config
|
||||
file = 'config/app_config.yml'
|
||||
return nil if skip?(file)
|
||||
|
||||
puts yellow "Copying #{file}..."
|
||||
%x( cp #{Rails.root.join("#{file}.SAMPLE")} #{Rails.root.join(file)} )
|
||||
reminder(file)
|
||||
end
|
||||
|
||||
def setup_development
|
||||
file = 'config/environments/development.rb'
|
||||
return nil if skip?(file)
|
||||
|
||||
puts yellow "Copying #{file}..."
|
||||
%x( cp #{Rails.root.join("#{file}.SAMPLE")} #{Rails.root.join(file)} )
|
||||
reminder(file)
|
||||
end
|
||||
|
||||
def setup_secret_token
|
||||
file = 'config/initializers/secret_token.rb'
|
||||
return nil if skip?(file)
|
||||
|
||||
puts yellow "Generating secret_token and writing to #{file}..."
|
||||
Rake::Task["secret"].reenable
|
||||
secret = capture_stdout { Rake::Task["secret"].invoke }
|
||||
%x( touch #{Rails.root.join("#{file}")}; echo 'Foodsoft::Application.config.secret_token = "#{secret.chomp}"' > #{Rails.root.join("#{file}")} )
|
||||
end
|
||||
|
||||
def start_mailcatcher
|
||||
mailcatcher = ask("Do you want to start mailcatcher?\nOptions:\n(y) Yes\n(n) No", ["y","n"])
|
||||
if mailcatcher === "y"
|
||||
puts yellow "Starting mailcatcher at http://localhost:1080..."
|
||||
%x( mailcatcher )
|
||||
end
|
||||
end
|
||||
|
||||
def start_server
|
||||
puts blue "Start your server running 'bundle exec rails s' and visit http://localhost:3000"
|
||||
end
|
||||
|
||||
def ask(question, answers = false)
|
||||
puts question
|
||||
input = STDIN.gets.chomp
|
||||
if input.blank? or (answers and !answers.include?(input))
|
||||
puts red "Your Input is not valid. Try again!"
|
||||
input = ask(question, answers)
|
||||
end
|
||||
input
|
||||
end
|
||||
|
||||
def skip?(file)
|
||||
output = false
|
||||
skip = ask(cyan("We found #{file}!\nOptions:\n(1) Skip step\n(2) Force rewrite"), ["1","2"]) if File.exists?(Rails.root.join(file))
|
||||
output = true if skip == "1"
|
||||
output
|
||||
end
|
||||
|
||||
def reminder(file)
|
||||
puts blue "don't forget to edit #{file}"
|
||||
end
|
||||
|
||||
def capture_stdout
|
||||
s = StringIO.new
|
||||
$stdout = s
|
||||
yield
|
||||
s.string
|
||||
ensure
|
||||
$stdout = STDOUT
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue