Author SHA1 Message Date
gurix 757ac487e5 better tables 2017-04-13 09:15:22 +02:00
gurix 5b069a1aa4 Costs content 2017-04-12 22:53:08 +02:00
gurix e86e6102d5 Sponsoring content 2017-04-12 22:52:49 +02:00
gurix c0e5cd94d7 added footer 2017-04-11 11:24:19 +02:00
gurix a4c408f501 Makeup 2017-04-11 10:47:37 +02:00
gurix cca7b30fba faq 2017-04-11 09:16:29 +02:00
gurix 242e842100 Arguments 2017-04-11 08:46:21 +02:00
gurix 7ce05f1ae4 Page initiativtext 2017-04-11 08:06:32 +02:00
gurix 51a2ace11d makeup 2017-04-11 08:05:59 +02:00
gurix ee8e4a0009 Some performance measurements 2017-04-10 20:36:41 +02:00
gurix 4dc0a8e1a6 added kaminari-actionview 2017-04-03 08:13:06 +02:00
gurix ecc5ac17b8 set passwort for nil sign ins 2017-03-31 18:26:30 +02:00
gurix 74193ab3cf Added script to update users default passwords 2017-03-31 16:59:10 +02:00
gurix cebccfdfda fixed translation 2017-03-31 16:28:57 +02:00
gurix c3bfeed620 Translations, design and content 2017-03-31 14:42:37 +02:00
gurix cfc1fbfd9f Added supporter model and send email with the password 2017-03-30 21:03:59 +02:00
gurix 175c9bea4f initialize devise 2017-03-28 01:14:45 +02:00
gurix 5660d9d3d2 fixed travis 2017-03-28 00:39:28 +02:00
gurix 171f1780d2 bump to ruby 2.3.1 2017-03-28 00:37:39 +02:00
gurix 9484a4cbd4 bundle update 2017-03-28 00:25:41 +02:00
gurix 86e62ccda3 makeup 2017-03-28 00:06:53 +02:00
66 changed files with 1456 additions and 196 deletions
+3
View File
@@ -7,6 +7,7 @@ AllCops:
- config/**/* - config/**/*
- spec/**/* - spec/**/*
- spec/dummy/config/initializers/secret_token.rb - spec/dummy/config/initializers/secret_token.rb
- lib/mail_chimp_batch_update.rb
Documentation: Documentation:
Enabled: false Enabled: false
LineLength: LineLength:
@@ -14,3 +15,5 @@ LineLength:
Max: 160 Max: 160
AbcSize: AbcSize:
Enabled: false Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
+1 -1
View File
@@ -1,6 +1,6 @@
services: mongodb services: mongodb
language: ruby language: ruby
rvm: rvm:
- 2.2 - 2.3.1
cache: bundler cache: bundler
+25 -3
View File
@@ -1,5 +1,5 @@
source 'https://rubygems.org' source 'https://rubygems.org'
ruby '2.3.1'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 4.2' gem 'rails', '~> 4.2'
# Use SCSS for stylesheets # Use SCSS for stylesheets
@@ -13,18 +13,34 @@ gem 'coffee-rails', '~> 4.1.0'
# Use jquery as the JavaScript library # Use jquery as the JavaScript library
gem 'jquery-rails' gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0' gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api. # bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc gem 'sdoc', '~> 0.4.0', group: :doc
# Easily generate a Twitter Bootstrap navbar in your Rails app
gem 'rails_bootstrap_navbar' gem 'rails_bootstrap_navbar'
# Kaminari Mongoid adapter.
gem 'kaminari-mongoid'
gem 'kaminari-actionview'
# Translate routing
gem 'route_translator'
# This gem hooks up your Rails application with Roadie to help you generate HTML emails. # This gem hooks up your Rails application with Roadie to help you generate HTML emails.
gem 'roadie-rails', '~> 1.0' gem 'roadie-rails', '~> 1.0'
# Devise is a flexible authentication solution for Rails based on Warden.
gem 'devise'
# Translations for devise
gem 'devise-i18n'
# Simulate data
gem 'faker'
# Use ActiveModel has_secure_password # Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7' # gem 'bcrypt', '~> 3.1.7'
@@ -63,6 +79,12 @@ group :development, :test do
end end
group :development do group :development do
# A series of things you can use to benchmark a Rails or Ruby app.
gem 'derailed_benchmarks'
# To use all profiling methods available
gem 'stackprof'
# Access an IRB console on exception pages or by using <%= console %> in views # Access an IRB console on exception pages or by using <%= console %> in views
gem 'web-console', '~> 2.0' gem 'web-console', '~> 2.0'
+161 -119
View File
@@ -1,56 +1,58 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actionmailer (4.2.6) actionmailer (4.2.8)
actionpack (= 4.2.6) actionpack (= 4.2.8)
actionview (= 4.2.6) actionview (= 4.2.8)
activejob (= 4.2.6) activejob (= 4.2.8)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5) rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.6) actionpack (4.2.8)
actionview (= 4.2.6) actionview (= 4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
rack (~> 1.6) rack (~> 1.6)
rack-test (~> 0.6.2) rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5) rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (4.2.6) actionview (4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
builder (~> 3.1) builder (~> 3.1)
erubis (~> 2.7.0) erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5) rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2) rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (4.2.6) activejob (4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
globalid (>= 0.3.0) globalid (>= 0.3.0)
activemodel (4.2.6) activemodel (4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
builder (~> 3.1) builder (~> 3.1)
activerecord (4.2.6) activerecord (4.2.8)
activemodel (= 4.2.6) activemodel (= 4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
arel (~> 6.0) arel (~> 6.0)
activesupport (4.2.6) activesupport (4.2.8)
i18n (~> 0.7) i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1) minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4) thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1) tzinfo (~> 1.1)
addressable (2.4.0) addressable (2.5.0)
arel (6.0.3) public_suffix (~> 2.0, >= 2.0.2)
autoprefixer-rails (6.3.6.2) arel (6.0.4)
autoprefixer-rails (6.7.7.1)
execjs execjs
bcrypt (3.1.11)
benchmark-ips (2.7.2)
binding_of_caller (0.7.2) binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1) debug_inspector (>= 0.0.1)
bootstrap-navbar (2.4.0) bootstrap-navbar (2.4.0)
gem_config (~> 0.3) gem_config (~> 0.3)
bootstrap-sass (3.3.6) bootstrap-sass (3.3.7)
autoprefixer-rails (>= 5.2.1) autoprefixer-rails (>= 5.2.1)
sass (>= 3.3.4) sass (>= 3.3.4)
bson (4.1.1) bson (4.2.1)
builder (3.2.2) builder (3.2.3)
byebug (9.0.5) byebug (9.0.6)
capybara (2.7.1) capybara (2.13.0)
addressable addressable
mime-types (>= 1.16) mime-types (>= 1.16)
nokogiri (>= 1.3.3) nokogiri (>= 1.3.3)
@@ -64,41 +66,67 @@ GEM
coffee-script (2.4.1) coffee-script (2.4.1)
coffee-script-source coffee-script-source
execjs execjs
coffee-script-source (1.10.0) coffee-script-source (1.12.2)
concurrent-ruby (1.0.2) concurrent-ruby (1.0.5)
css_parser (1.4.8) css_parser (1.4.10)
addressable addressable
debug_inspector (0.0.2) debug_inspector (0.0.2)
diff-lcs (1.2.5) derailed_benchmarks (1.3.2)
dotenv (2.1.1) benchmark-ips (~> 2)
dotenv-rails (2.1.1) get_process_mem (~> 0)
dotenv (= 2.1.1) heapy (~> 0)
railties (>= 4.0, < 5.1) memory_profiler (~> 0)
rack (>= 1)
rake (> 10, < 13)
thor (~> 0.19)
devise (4.2.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 5.1)
responders
warden (~> 1.2.3)
devise-i18n (1.1.2)
diff-lcs (1.3)
dotenv (2.2.0)
dotenv-rails (2.2.0)
dotenv (= 2.2.0)
railties (>= 3.2, < 5.1)
erubis (2.7.0) erubis (2.7.0)
excon (0.49.0) excon (0.55.0)
execjs (2.7.0) execjs (2.7.0)
font-awesome-rails (4.6.3.0) faker (1.7.2)
i18n (~> 0.5)
font-awesome-rails (4.7.0.1)
railties (>= 3.2, < 5.1) railties (>= 3.2, < 5.1)
gem_config (0.3.1) gem_config (0.3.1)
geocoder (1.3.7) geocoder (1.4.3)
globalid (0.3.6) get_process_mem (0.2.1)
globalid (0.3.7)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
haml (4.0.7) haml (4.0.7)
tilt tilt
i18n (0.7.0) heapy (0.1.2)
jbuilder (2.5.0) i18n (0.8.1)
activesupport (>= 3.0.0, < 5.1) jbuilder (2.6.3)
activesupport (>= 3.0.0, < 5.2)
multi_json (~> 1.2) multi_json (~> 1.2)
jquery-rails (4.1.1) jquery-rails (4.3.1)
rails-dom-testing (>= 1, < 3) rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0) railties (>= 4.2.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
jquery-ui-rails (5.0.5) jquery-ui-rails (5.0.5)
railties (>= 3.2.16) railties (>= 3.2.16)
json (1.8.3) json (1.8.6)
kaminari (0.17.0) kaminari (0.17.0)
actionpack (>= 3.0.0) actionpack (>= 3.0.0)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
kaminari-actionview (1.0.1)
actionview
kaminari-core (= 1.0.1)
kaminari-core (1.0.1)
kaminari-mongoid (1.0.1)
kaminari-core (~> 1.0)
mongoid
loofah (2.0.3) loofah (2.0.3)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.6.4) mail (2.6.4)
@@ -106,20 +134,21 @@ GEM
mailchimp-api (2.0.6) mailchimp-api (2.0.6)
excon (>= 0.16.0) excon (>= 0.16.0)
json (>= 1.7.7) json (>= 1.7.7)
memory_profiler (0.9.8)
method_source (0.8.2) method_source (0.8.2)
mime-types (3.1) mime-types (3.1)
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2016.0521) mime-types-data (3.2016.0521)
mini_portile2 (2.1.0) mini_portile2 (2.1.0)
minitest (5.9.0) minitest (5.10.1)
mongo (2.2.5) mongo (2.4.1)
bson (~> 4.0) bson (>= 4.2.1, < 5.0.0)
mongoid (5.0.2) mongoid (5.0.2)
activemodel (~> 4.0) activemodel (~> 4.0)
mongo (~> 2.1) mongo (~> 2.1)
origin (~> 2.1) origin (~> 2.1)
tzinfo (>= 0.3.37) tzinfo (>= 0.3.37)
mongoid-compatibility (0.4.0) mongoid-compatibility (0.4.1)
activesupport activesupport
mongoid (>= 2.0) mongoid (>= 2.0)
mongoid-rspec (3.0.0) mongoid-rspec (3.0.0)
@@ -131,50 +160,50 @@ GEM
mongoid-compatibility mongoid-compatibility
multi_json (1.12.1) multi_json (1.12.1)
nested_form (0.3.2) nested_form (0.3.2)
nokogiri (1.6.8) nokogiri (1.7.1)
mini_portile2 (~> 2.1.0) mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7) origin (2.3.0)
origin (2.2.0) orm_adapter (0.5.0)
pkg-config (1.1.7) pry (0.10.4)
pry (0.10.3)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.8.1) method_source (~> 0.8.1)
slop (~> 3.4) slop (~> 3.4)
pry-rails (0.3.4) pry-rails (0.3.6)
pry (>= 0.9.10) pry (>= 0.10.4)
puma (3.4.0) public_suffix (2.0.5)
rack (1.6.4) puma (3.8.2)
rack-pjax (0.8.0) rack (1.6.5)
rack-pjax (1.0.0)
nokogiri (~> 1.5) nokogiri (~> 1.5)
rack (~> 1.1) rack (>= 1.1)
rack-test (0.6.3) rack-test (0.6.3)
rack (>= 1.0) rack (>= 1.0)
rails (4.2.6) rails (4.2.8)
actionmailer (= 4.2.6) actionmailer (= 4.2.8)
actionpack (= 4.2.6) actionpack (= 4.2.8)
actionview (= 4.2.6) actionview (= 4.2.8)
activejob (= 4.2.6) activejob (= 4.2.8)
activemodel (= 4.2.6) activemodel (= 4.2.8)
activerecord (= 4.2.6) activerecord (= 4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
bundler (>= 1.3.0, < 2.0) bundler (>= 1.3.0, < 2.0)
railties (= 4.2.6) railties (= 4.2.8)
sprockets-rails sprockets-rails
rails-deprecated_sanitizer (1.0.3) rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha) activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.7) rails-dom-testing (1.0.8)
activesupport (>= 4.2.0.beta, < 5.0) activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6.0) nokogiri (~> 1.6)
rails-deprecated_sanitizer (>= 1.0.1) rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3) rails-html-sanitizer (1.0.3)
loofah (~> 2.0) loofah (~> 2.0)
rails-i18n (4.0.8) rails-i18n (4.0.9)
i18n (~> 0.7) i18n (~> 0.7)
railties (~> 4.0) railties (~> 4.0)
rails_12factor (0.0.3) rails_12factor (0.0.3)
rails_serve_static_assets rails_serve_static_assets
rails_stdout_logging rails_stdout_logging
rails_admin (0.8.1) rails_admin (1.1.1)
builder (~> 3.1) builder (~> 3.1)
coffee-rails (~> 4.0) coffee-rails (~> 4.0)
font-awesome-rails (>= 3.0, < 5) font-awesome-rails (>= 3.0, < 5)
@@ -183,91 +212,94 @@ GEM
jquery-ui-rails (~> 5.0) jquery-ui-rails (~> 5.0)
kaminari (~> 0.14) kaminari (~> 0.14)
nested_form (~> 0.3) nested_form (~> 0.3)
rack-pjax (~> 0.7) rack-pjax (>= 0.7)
rails (~> 4.0) rails (>= 4.0, < 6)
remotipart (~> 1.0) remotipart (~> 1.3)
safe_yaml (~> 1.0)
sass-rails (>= 4.0, < 6) sass-rails (>= 4.0, < 6)
rails_bootstrap_navbar (2.0.1) rails_bootstrap_navbar (2.0.1)
bootstrap-navbar (~> 2.0) bootstrap-navbar (~> 2.0)
rails (>= 3.0.0) rails (>= 3.0.0)
rails_serve_static_assets (0.0.5) rails_serve_static_assets (0.0.5)
rails_stdout_logging (0.0.5) rails_stdout_logging (0.0.5)
railties (4.2.6) railties (4.2.8)
actionpack (= 4.2.6) actionpack (= 4.2.8)
activesupport (= 4.2.6) activesupport (= 4.2.8)
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rake (11.2.2) rake (12.0.0)
rdoc (4.2.2) rdoc (4.3.0)
json (~> 1.4) remotipart (1.3.1)
remotipart (1.2.1) responders (2.3.0)
railties (>= 4.2.0, < 5.1)
roadie (3.2.1) roadie (3.2.1)
css_parser (~> 1.4.5) css_parser (~> 1.4.5)
nokogiri (>= 1.5.0, < 1.8.0) nokogiri (>= 1.5.0, < 1.8.0)
roadie-rails (1.1.1) roadie-rails (1.1.1)
railties (>= 3.0, < 5.1) railties (>= 3.0, < 5.1)
roadie (~> 3.1) roadie (~> 3.1)
rspec (3.4.0) route_translator (4.4.1)
rspec-core (~> 3.4.0) actionpack (>= 3.2, < 5.0)
rspec-expectations (~> 3.4.0) activesupport (>= 3.2, < 5.0)
rspec-mocks (~> 3.4.0) rspec (3.5.0)
rspec-core (3.4.4) rspec-core (~> 3.5.0)
rspec-support (~> 3.4.0) rspec-expectations (~> 3.5.0)
rspec-expectations (3.4.0) rspec-mocks (~> 3.5.0)
rspec-core (3.5.4)
rspec-support (~> 3.5.0)
rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0) rspec-support (~> 3.5.0)
rspec-mocks (3.4.1) rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.4.0) rspec-support (~> 3.5.0)
rspec-rails (3.4.2) rspec-rails (3.5.2)
actionpack (>= 3.0, < 4.3) actionpack (>= 3.0)
activesupport (>= 3.0, < 4.3) activesupport (>= 3.0)
railties (>= 3.0, < 4.3) railties (>= 3.0)
rspec-core (~> 3.4.0) rspec-core (~> 3.5.0)
rspec-expectations (~> 3.4.0) rspec-expectations (~> 3.5.0)
rspec-mocks (~> 3.4.0) rspec-mocks (~> 3.5.0)
rspec-support (~> 3.4.0) rspec-support (~> 3.5.0)
rspec-support (3.4.1) rspec-support (3.5.0)
safe_yaml (1.0.4) sass (3.4.23)
sass (3.4.22) sass-rails (5.0.6)
sass-rails (5.0.4) railties (>= 4.0.0, < 6)
railties (>= 4.0.0, < 5.0)
sass (~> 3.1) sass (~> 3.1)
sprockets (>= 2.8, < 4.0) sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0) sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3) tilt (>= 1.1, < 3)
sdoc (0.4.1) sdoc (0.4.2)
json (~> 1.7, >= 1.7.7) json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0) rdoc (~> 4.0)
simple_form (3.2.1) simple_form (3.4.0)
actionpack (> 4, < 5.1) actionpack (> 4, < 5.1)
activemodel (> 4, < 5.1) activemodel (> 4, < 5.1)
slim (3.0.7) slim (3.0.7)
temple (~> 0.7.6) temple (~> 0.7.6)
tilt (>= 1.3.3, < 2.1) tilt (>= 1.3.3, < 2.1)
slim-rails (3.1.0) slim-rails (3.1.2)
actionpack (>= 3.1) actionpack (>= 3.1)
railties (>= 3.1) railties (>= 3.1)
slim (~> 3.0) slim (~> 3.0)
slop (3.6.0) slop (3.6.0)
sprockets (3.6.1) sprockets (3.7.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
rack (> 1, < 3) rack (> 1, < 3)
sprockets-rails (3.0.4) sprockets-rails (3.2.0)
actionpack (>= 4.0) actionpack (>= 4.0)
activesupport (>= 4.0) activesupport (>= 4.0)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
stackprof (0.2.10)
temple (0.7.7) temple (0.7.7)
thor (0.19.1) thor (0.19.4)
thread_safe (0.3.5) thread_safe (0.3.6)
tilt (2.0.5) tilt (2.0.7)
turbolinks (2.5.3) tzinfo (1.2.3)
coffee-rails
tzinfo (1.2.2)
thread_safe (~> 0.1) thread_safe (~> 0.1)
uglifier (3.0.0) uglifier (3.1.10)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
warden (1.2.7)
rack (>= 1.0)
web-console (2.3.0) web-console (2.3.0)
activemodel (>= 4.0) activemodel (>= 4.0)
binding_of_caller (>= 0.7.2) binding_of_caller (>= 0.7.2)
@@ -284,10 +316,16 @@ DEPENDENCIES
byebug byebug
capybara capybara
coffee-rails (~> 4.1.0) coffee-rails (~> 4.1.0)
derailed_benchmarks
devise
devise-i18n
dotenv-rails dotenv-rails
faker
geocoder geocoder
jbuilder (~> 2.0) jbuilder (~> 2.0)
jquery-rails jquery-rails
kaminari-actionview
kaminari-mongoid
mailchimp-api mailchimp-api
mongoid (~> 5.0.0) mongoid (~> 5.0.0)
mongoid-rspec (= 3.0.0) mongoid-rspec (= 3.0.0)
@@ -300,15 +338,19 @@ DEPENDENCIES
rails_admin rails_admin
rails_bootstrap_navbar rails_bootstrap_navbar
roadie-rails (~> 1.0) roadie-rails (~> 1.0)
route_translator
rspec-rails (~> 3.0) rspec-rails (~> 3.0)
sass-rails (~> 5.0) sass-rails (~> 5.0)
sdoc (~> 0.4.0) sdoc (~> 0.4.0)
simple_form simple_form
slim slim
slim-rails slim-rails
turbolinks stackprof
uglifier (>= 1.3.0) uglifier (>= 1.3.0)
web-console (~> 2.0) web-console (~> 2.0)
RUBY VERSION
ruby 2.3.1p112
BUNDLED WITH BUNDLED WITH
1.14.6 1.14.6
Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

-1
View File
@@ -12,7 +12,6 @@
// //
//= require jquery //= require jquery
//= require jquery_ujs //= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets //= require bootstrap-sprockets
//= require typeahead.bundle //= require typeahead.bundle
//= require markerclusterer_compiled //= require markerclusterer_compiled
+35 -5
View File
@@ -21,26 +21,44 @@ $font-size-base: 14px
$navbar-padding-horizontal: none $navbar-padding-horizontal: none
$navbar-default-link-color: #66903F $navbar-default-link-color: #66903F
$navbar-default-link-active-bg: #FFF $navbar-default-link-active-bg: #FFF
$font-size-h1: floor($font-size-base * 2) $font-size-h1: floor($font-size-base * 1.8)
$font-size-h2: floor($font-size-base * 1.8) $font-size-h2: floor($font-size-base * 1.5)
$font-size-h3: floor($font-size-base * 1.5) $font-size-h3: floor($font-size-base * 1.2)
@import "bootstrap-sprockets" @import "bootstrap-sprockets"
@import "bootstrap" @import "bootstrap"
@import "typeaheadjs" @import "typeaheadjs"
@import "footnotes"
.alert-alert
@extend .alert-danger
.alert-notice
@extend .alert-info
body body
> .container > .container
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19) box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
padding-top: 20px padding: 20px
margin-top: 10px
header header
h1 h1
font-size: 20px font-size: 20px
margin-top: 35px margin-top: 35px
.navbar
.container
padding-left: 0px
ul#topnav ul#topnav
font-size: 1.5em font-size: 1.2em
li
text-transform: uppercase
ul
li
text-transform: none
li.active li.active
border-bottom: 1px solid #66903F border-bottom: 1px solid #66903F
@@ -79,3 +97,15 @@ body
display: block display: block
float: left float: left
margin: 12px margin: 12px
.table-inherit
width: inherit
footer
h2
margin: 0px
font-size: $font-size-base
ol
padding-left: 1em
+49
View File
@@ -0,0 +1,49 @@
/**
* Initialiazing a `footnotes` counter on the wrapper
*/
article {
counter-reset: footnotes;
}
/**
* Inline footnotes references
* 1. Increment the counter at each new reference
* 2. Reset link styles to make it appear like regular text
*/
a[aria-describedby="footnote-label"] {
counter-increment: footnotes; /* 1 */
text-decoration: none; /* 2 */
color: inherit; /* 2 */
cursor: default; /* 2 */
outline: none; /* 2 */
}
/**
* Actual numbered references
* 1. Display the current state of the counter (e.g. `[1]`)
* 2. Align text as superscript
* 3. Make the number smaller (since it's superscript)
* 4. Slightly offset the number from the text
* 5. Reset link styles on the number to show it's usable
*/
a[aria-describedby="footnote-label"]::after {
content: '[' counter(footnotes) ']'; /* 1 */
vertical-align: super; /* 2 */
font-size: 0.5em; /* 3 */
margin-left: 2px; /* 4 */
color: blue; /* 5 */
text-decoration: underline; /* 5 */
cursor: pointer; /* 5 */
}
/**
* Resetting the default focused styles on the number
*/
a[aria-describedby="footnote-label"]:focus::after {
outline: thin dotted;
outline-offset: 2px;
}
footer :target {
background: yellow;
}
@@ -1,3 +1,5 @@
class Admin::ApplicationController < ApplicationController module Admin
http_basic_authenticate_with name: 'admin', password: ENV['ADMIN_PASSWORD'] unless Rails.env.development? class ApplicationController < ::ApplicationController
http_basic_authenticate_with name: 'admin', password: ENV['ADMIN_PASSWORD'] unless Rails.env.development?
end
end end
+5 -3
View File
@@ -1,5 +1,7 @@
class Admin::PagesController < Admin::ApplicationController module Admin
def map class PagesController < Admin::ApplicationController
@supporters = Supporter.where(:coordinates.ne => nil).only(:coordinates, :support) def map
@supporters = Supporter.where(:coordinates.ne => nil).only(:coordinates, :support)
end
end end
end end
@@ -4,6 +4,7 @@ class ApplicationController < ActionController::Base
protect_from_forgery with: :exception protect_from_forgery with: :exception
before_action :set_locale before_action :set_locale
before_action :configure_permitted_parameters, if: :devise_controller?
INPUT_TIMEOUT = 2.seconds # We estimate that a user needs more then x seconds to enter some informations INPUT_TIMEOUT = 2.seconds # We estimate that a user needs more then x seconds to enter some informations
@@ -27,4 +28,10 @@ class ApplicationController < ActionController::Base
def default_url_options(options = {}) def default_url_options(options = {})
options.merge locale: I18n.locale options.merge locale: I18n.locale
end end
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:account_update, keys: [:first_name, :last_name, :street, :city, :zip, :support, :language, :age_category, :unsubscribed])
end
end end
+13 -2
View File
@@ -1,5 +1,16 @@
class PagesController < ApplicationController class PagesController < ApplicationController
def map def show
@supporters = Supporter.where(:coordinates.ne => nil).only(:coordinates, :support) if valid_page?
render template: "pages/#{params[:page]}"
else
render plain: t('.not_found'), status: :not_found
end
end
private
def valid_page?
return true if File.exist?("#{Rails.root}/app/views/pages/#{params[:page]}.#{I18n.locale}.slim")
return true if File.exist?("#{Rails.root}/app/views/pages/#{params[:page]}.#{I18n.default_locale}.slim")
end end
end end
+2 -1
View File
@@ -7,8 +7,9 @@ class SupportersController < ApplicationController
def create def create
@supporter = Supporter.new supporter_form_params.merge(language: I18n.locale) @supporter = Supporter.new supporter_form_params.merge(language: I18n.locale)
@supporter.password = random_password = SecureRandom.hex(5)
if !input_to_fast? && @supporter.save if !input_to_fast? && @supporter.save
# SupporterMailer.welcome_email(@supporter).deliver_now SupporterMailer.welcome_email(@supporter, random_password).deliver_now
mailchimp_registration mailchimp_registration
redirect_to thanks_path redirect_to thanks_path
else else
+2 -1
View File
@@ -1,8 +1,9 @@
class SupporterMailer < ApplicationMailer class SupporterMailer < ApplicationMailer
include Roadie::Rails::Automatic include Roadie::Rails::Automatic
def welcome_email(supporter) def welcome_email(supporter, random_password)
@supporter = supporter @supporter = supporter
@password = random_password
mail(to: @supporter.email, subject: I18n.t('welcome_email.subject')) mail(to: @supporter.email, subject: I18n.t('welcome_email.subject'))
end end
end end
+33 -1
View File
@@ -1,5 +1,38 @@
class Supporter class Supporter
include Mongoid::Document include Mongoid::Document
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
## Database authenticatable
field :email, type: String, default: ''
field :encrypted_password, type: String, default: ''
## Recoverable
field :reset_password_token, type: String
field :reset_password_sent_at, type: Time
## Rememberable
field :remember_created_at, type: Time
## Trackable
field :sign_in_count, type: Integer, default: 0
field :current_sign_in_at, type: Time
field :last_sign_in_at, type: Time
field :current_sign_in_ip, type: String
field :last_sign_in_ip, type: String
## Confirmable
# field :confirmation_token, type: String
# field :confirmed_at, type: Time
# field :confirmation_sent_at, type: Time
# field :unconfirmed_email, type: String # Only if using reconfirmable
## Lockable
# field :failed_attempts, type: Integer, default: 0 # Only if lock strategy is :failed_attempts
# field :unlock_token, type: String # Only if unlock strategy is :email or :both
# field :locked_at, type: Time
include Mongoid::Timestamps include Mongoid::Timestamps
include Mongoid::Paranoia include Mongoid::Paranoia
include Geocoder::Model::Mongoid include Geocoder::Model::Mongoid
@@ -14,7 +47,6 @@ class Supporter
field :street, type: String field :street, type: String
field :zip, type: Integer field :zip, type: Integer
field :city, type: String field :city, type: String
field :email, type: String
field :support, type: String # Indicates the type of support field :support, type: String # Indicates the type of support
field :li_membership, type: Boolean, default: false field :li_membership, type: Boolean, default: false
field :age_category, type: String field :age_category, type: String
+5
View File
@@ -0,0 +1,5 @@
address
| Verein Legalize it! <br/>
| Quellenstrasse 25 <br/>
| Postfach 2159 <br/>
| CH-8031 Zürich
+7
View File
@@ -0,0 +1,7 @@
h2 Kontakt
p
| Nino Forrer (#{mail_to 'nino@hanflegal.ch'})
em Strategie / Presse
br
| Markus Graf (#{mail_to 'markus@hanflegal.ch'})
em Inhalt / Technik
+7
View File
@@ -0,0 +1,7 @@
h2 Contatti
p
| Nino Forrer (#{mail_to 'nino@hanflegal.ch'})
em Strategie / Presse
br
| Markus Graf (#{mail_to 'markus@hanflegal.ch'})
em Inhalt / Technik
@@ -0,0 +1,5 @@
h2 Ziele der Initiative
ol
li Erwachsene haben genauso die Freiheit und das Recht Cannabis zu konsumieren, wie Alkohol oder Tabak.
li Niemand muss gezwungen sein, sich auf dem Schwarzmarkt zu bedienen.
li Steuereinnahmen und Einsparungen aus der Strafverfolgung sollen der Prävention, der Forschung oder den Sozialversicherungen zugutekommen.
@@ -0,0 +1,6 @@
h2 Obiettivi dell'iniziativa
ol
li Gli Adulti hanno la libertà e il diritto di consumare cannabis, come l'alcool o il tabacco.
li Nessuno dovrebbe essere costretto ad operare sul mercato nero.
li Il gettito fiscale e risparmi da forze dell'ordine di beneficiare della prevenzione, della ricerca o sociale.
+13 -3
View File
@@ -1,11 +1,12 @@
doctype html
html lang="#{I18n.locale}" html lang="#{I18n.locale}"
head head
title title
- flash.each do |type, message| - flash.each do |type, message|
= message = message
| #CH420 - #{content_for(:title)} | #CH420 - #{content_for(:title)}
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true = stylesheet_link_tag 'application', media: 'all'
= javascript_include_tag 'application', 'data-turbolinks-track' => true = javascript_include_tag 'application'
= csrf_meta_tags = csrf_meta_tags
link href="/apple-icon-57x57.png" rel="apple-touch-icon" sizes="57x57" / link href="/apple-icon-57x57.png" rel="apple-touch-icon" sizes="57x57" /
link href="/apple-icon-60x60.png" rel="apple-touch-icon" sizes="60x60" / link href="/apple-icon-60x60.png" rel="apple-touch-icon" sizes="60x60" /
@@ -37,7 +38,16 @@ html lang="#{I18n.locale}"
/ = console if Rails.env.development? / = console if Rails.env.development?
.container .container
= render 'shared/flashes'
= render 'shared/header' = render 'shared/header'
= render 'shared/topnavigation' = render 'shared/topnavigation'
= render 'shared/flashes'
= yield = yield
hr
footer.row
.col-xs-12.col-sm-6
= render 'core_statements'
.col-xs-12.col-sm-4
= render 'contact'
.col-xs-12.col-sm-2
= render 'address'
+60
View File
@@ -0,0 +1,60 @@
.row
.col-xs-12.col-sm-6
h1= title 'Argumentarium'
h2 Konsum
p Cannabis als Genussmittel und Medizin ist seit Urzeiten ein fester Bestandteil unserer Gesellschaft. Die vorliegende Initiative hat zum Ziel, Konsumentinnen und Konsumenten, welche einen verantwortungsvollen Umgang mit psychoaktiven Substanzen der Cannabispflanze pflegen, nicht mehr gesetzlich zu verfolgen.
h2 Jugendschutz
p Der Umgang mit Cannabis soll nur Erwachsenen vorbehalten sein. Damit wird die Strategie des Jugendschutzes, die der Bund momentan verfolgt, nicht weiter eingeschränkt. Erwachsene, welche Minderjährigen Zugang gewähren, sollen weiterhin bestraft werden.
h2 Anbau und Handel
p Der gewerbliche Anbau und Handel unter staatlicher Kontrolle soll den Schwarzmarkt austrocknen und den Konsumenten den Zugang zu hochwertigen Produkten ermöglichen. Zusätzlich sollen Gewinne durch Steuereinnahmen an den Staat gehen und nicht in die Taschen von kriminellen Organisationen fliessen, die damit unter anderem den Terror finanzieren.
h2 Privater Anbau
p Cannabis ist eine uralte Kulturpflanze, die relativ genügsam ist und auf jedem Balkon gezogen werden kann. Viele Konsumierende und Patientinnen und Patienten tun dies für ihren eigenen Konsum, meist aus Freude an der Gartenarbeit und mit der Gewissheit, keine Streckmittel zu konsumieren. Sobald der Anbau einem wirtschaftlichen Zweck dient, müssen jedoch gewisse Anbaubedingungen erfüllt werden. Welche Bedingungen erfüllt werden müssen, wird vom Gesetzgeber noch bestimmt.
h2 Gesundheit und Medizin
p Gesundheitliche Risiken beim Cannabis-Konsum sind moderat, insbesondere bei Konsumformen, bei welchen keine Verbrennungsprozesse ablaufen. Alkohol und Tabak sind insbesondere für Erwachsene meist gefährlicher als der gelegentliche Cannabiskonsum. Entsprechend dient die Initiative der Aufklärung, in dem sie die Gefährlichkeit von anderen Substanzen hervorhebt und der Stigmatisierung von Cannabiskonsumierenden entgegenhält.
p Im Gegensatz zu anderen bereits legalen Substanzen bietet Cannabis auch breite therapeutische Möglichkeiten. In vielen Ländern ist Cannabis als Medizin erfolgreich ein Teil der öffentlichen Gesundheitsversorgung. In der Schweiz wird sogar die Selbstmedikation unter Strafe gestellt bei Patientinnen und Patienten, die nachweislich keine andere Möglichkeit mehr haben. Die Initiative bietet Patienten und Patientinnen die Möglichkeit, Cannabis legal zu erwerben und sich selber zu therapieren.
.col-xs-12.col-sm-6
h2 Meinungen und Fakten aus dem In- und Ausland
h3 Cannabis-Irrsinn - Warum uns das Verbot schadet
p
| Das illegale Cannabis-Geschäft wird immer brutaler. Unter den Dealern steigt die Gewalt auch mit Schusswaffen. Auffällig aktiv sind Gruppierungen aus dem Balkan und Vietnam. Aber nicht nur: In Sachen Cannabis haben Kartelle aus Kolumbien und Mexiko in Europa eine neue Front eröffnet. Kriminelle Gruppen, die zuvor mit Heroin und Kokain handelten, mischen nun im Marihuana-Geschäft mit.
br
a href="http://cannabis-irrsinn.info/wp/" target="_blank" Cannabis-Irrsinn
h3 Sind Drogen gefährlich?
p
| Bern, 21.12.2015 - Die Eidgenössische Kommission für Drogenfragen (EKDF) setzt sich seit ihrem Bestehen für einen rationaleren Umgang der Gesellschaft mit psychoaktiven Substanzen ein. Als Folge der neuesten, heute publizierten Studie zur Gefährlichkeit psychoaktiver Substanzen hält die Kommission fest, dass die aktuelle auf Verboten beruhende Gesetzgebung zu Drogen für künftige Herausforderungen nicht mehr ausreicht. Sie fordert entsprechend, dass für alle heute illegale Substanzen Regulationsmodelle entwickelt werden, die diese zugänglich und staatlich kontrollierbar machen. Ergänzend soll die Politik weiterhin selbstverantwortliches Handeln fördern sowie vulnerable Gruppen schützen und suchtkranken Menschen die notwendige Hilfe zusichern.
ul
li
a href="https://unige.ch/sciences-societe/socio/files/1514/5068/7795/Sociograph_22_a.pdf" target="_blank" Publikation der EKDF
li
a href="http://www.20min.ch/schweiz/news/story/Staat-soll-alle-Drogen-zugaenglich-machen-31912845" target="_blank" Staat soll alle Drogen zugänglich machen
h3 LEAP: Gesetzeshüter organisieren sich für Legalisierung (Deutschland)
p
| Polizisten, Richter, Staatsanwälte und andere Gesetzeshüter zusammen, um dem Irrsinn der Prohibition ein Ende zu bereiten.
br
a href="https://www.youtube.com/watch?v=4zJ52kNI_to" target="_blank" LEAP Deutschland Gründung Pressekonferenz
h3 Colorado erlebt einen «Green Rush»
p
| In Colorado ist der Konsum von Cannabis seit zwei Jahren legal. Die Industrie wächst. Die Rede ist von einem richtigen Rausch, dem «Green Rush». Viele Kritiker der Legalisierung haben ihre Meinung mittlerweile geändert.
br
a href="http://www.srf.ch/news/international/colorado-erlebt-einen-green-rush" target="_blank" Colorado erlebt einen «Green Rush» auf SRF
h3 Drogen kann man nicht erschiessen
p
| Der Drogenkrieg begann 1971, als Nixon den Drogenmissbrauch zum Staatsfeind Nummer eins erklärte. Dieser Krieg ist gescheitert: Die USA sind der größte Drogenmarkt der Welt. Zukünftig muss es eine neue Antidrogen-Politik geben. Selbst eine Legalisierung ist kein Tabu mehr. Der Film dokumentiert neue Wege aus dem Drogenkrieg.
br
a href="https://www.youtube.com/watch?v=BTYGxSzfcZA" target="_blank" Sendung «Drogen kann man nicht erschiessen»
h3 Alternative World Drug Report (english)
p
| The war on drugs is a policy choice. There are other options that, at the very least, should be debated and explored using the best possible evidence and analysis. We all share the same goals a safer, healthier and more just world. Therefore, we the undersigned, call upon world leaders and UN agencies to quantify the unintended negative consequences of the current approach to drugs, and assess the potential costs and benefits of alternative approaches.
br
a href="http://www.countthecosts.org/sites/default/files/AWDR-2nd-edition.pdf" target="_blank" The Alternative World Drug Report, 2nd edition
+60
View File
@@ -0,0 +1,60 @@
.row
.col-xs-12.col-sm-6
h1= title 'Argomentazioni'
h2 Consumo
p Il consumo ricreativo e medico della Cannabis è presente fin dai tempi antichi ed é una parte integrante della nostra società. La presente iniziativa vuole che la legge non debba più poter perseguire i consumatori che mantengono un uso responsabile di sostanze psicoattive come la cannabis, preparati a base di cannabis o sostanze con effetti simili alla cannabis.
h2 Tutela dei minori
p Il consumo della cannabis, di derivati e di sostanze con effetti simili alla cannabis, dovrebbe essere riservato agli adulti. Questa è la strategia di protezione dei giovani che attualmente stà perseguendo il governo federale. Quindi liniziativa vuole che gli Adulti che consentono ai minorenni laccesso, il consumo, la vendita o la coltivazione della cannabis e dei derivati o delle sostanze con effetto simile alla cannabis dovrebbero continuare ad essere puniti.
h2 Coltivazione e commercio
p La coltivazione e il commercio legalizzati eliminano il controllo statale, eliminano il mercato nero e consentono l'accesso di prodotti di qualità ai consumatori, i quali, assieme ai minorenni, come per farmaci e altri prodotti regolamentati non sono tutelati come con la legalizzazione che prevede poi i controlli. Inoltre, genereranno entrate fiscali per lo Stato e non finiranno nelle tasche di organizzazioni criminali.
h2 Coltivazione privata
p La cannabis è una antica pianta che è può essere coltivata su ogni balcone o in giardini protetti da intrusi esterni, e che impediscono a minorenni o criminali di appropriarsene. Molti tossicodipendenti e pazienti lo fanno per il proprio consumo, per la gioia di giardinaggio e per la certezza di consumare prodotti di qualità senza pesticidi e sostanze che invece i mercati regolamentati presentano(Esempio: solfiti nel Vino, pesticidi e altre nella frutta e verdura, coloranti tossici nei vestiti, etc…). Liniziativa non ha un obiettivo economico, ma certe condizioni di crescita economica e del mercato del lavoro devono essere soddisfatte. Quali condizioni devono essere soddisfatte, saranno determinate dal legislatore.
h2 Salute e medicina
p Rischi per la salute del consumo di cannabis sono moderati, soprattutto nelle forme di consumo, in cui non vi é nessun processo di combustione(Vaporizzatore, Tisana, Oli estratti, creme, etc…). Alcol e tabacco sono di solito più pericolosi e tossici che l'uso occasionale di cannabis, soprattutto tra gli adulti. Sportivi d’élite come il maratoneta Collins hanno mostrato effetti benefici della cannabis nel post- attività sportive per recupero sia a livello respiratorio, circolazione sanguinea, contusioni, dolori, e ripresa da traumi fisici. Secondo l'iniziativa che sottolinea il pericolo di altre sostanze, Vi è attualmente una stigmatizzazione dei tossicodipendenti di cannabis che invece non lo sono e che spesso vengono obbligati a consumare farmaci che provocano davvero dipendenza.
p A differenza di altre sostanze già legali la Cannabis offre anche ampie possibilità terapeutiche. In molti paesi, la cannabis è un farmaco con successo una parte della sanità pubblica. In Svizzera, anche l'automedicazione è punibile in pazienti che hanno dimostrato di altra scelta. L'iniziativa fornisce ai pazienti e ai pazienti la possibilità di acquistare legalmente la cannabis e curare se stessi.
.col-xs-12.col-sm-6
h2 Opinioni e fatti di casa e dallestero
h3 Cannabis-Irrsinn - Warum uns das Verbot schadet
p
| L'attività di cannabis illegale è sempre più brutale. Tra i rivenditori la violenza aumenta anche con armi da fuoco, vendette e lotte per monopolio commercio. A colpire sono i gruppi attivi provenienti dai Balcani e Vietnam. Ma non solo: Quando anche i cartelli di cannabis provenienti da Colombia e Messico hanno aperto un nuovo fronte in Europa. I gruppi criminali che hanno negoziato in precedenza con l'eroina e la cocaina, ora sono mescolati con il business della marijuana.
br
a href="http://cannabis-irrsinn.info/wp/" target="_blank" Cannabis-Irrsinn
h3 Droghe e farmaci sono pericolosi?
p
| Berna, 2015/12/21 - La Commissione federale per le questioni di droga (EKDF) promuove un uso più razionale nella Società delle sostanze psicoattive siccome la repressione e la politica precedente non ha funzionato. Come risultato del più recente studio pubblicato oggi sui pericoli delle sostanze psicoattive, la Commissione osserva, che l'attuale legislazione sulle sostanze stupefacenti vietate, per le sfide del futuro, non è più sufficiente. Si auspica altresì che tutti i modelli di regolazione di sostanze illegali oggi saranno sviluppati per essere messi a disposizione e controllati dallo Stato. Inoltre, la politica è quello di continuare a promuovere l'azione indipendente e proteggere i gruppi vulnerabili e assicuarare a tossicodipendenti l'assistenza necessaria
ul
li
a href="https://unige.ch/sciences-societe/socio/files/1514/5068/7795/Sociograph_22_a.pdf" target="_blank" Pubblicazione di EKDF
li
a href="http://www.20min.ch/schweiz/news/story/Staat-soll-alle-Drogen-zugaenglich-machen-31912845" target="_blank" Stato deve mettere a disposizione tutti i farmaci
h3 LEAP: Gesetzeshüter organisieren sich für Legalisierung (Deutschland)
p
| I poliziotti, giudici, procuratori e altri funzionari delle forze dell'ordine insieme per mettere fine alla follia del proibizionismo.
br
a href="https://www.youtube.com/watch?v=4zJ52kNI_to" target="_blank" LEAP Deutschland Gründung Pressekonferenz
h3 Colorado ha subito un «Green Rush»
p
| In Colorado l'uso di cannabis è legale da due anni. L'industria è in crescita. Si parla di un vero e proprio business efficace, il „Green Rush“. Molti critici della legalizzazione hanno cambiato idea ora
br
a href="http://www.srf.ch/news/international/colorado-erlebt-einen-green-rush" target="_blank" Colorado erlebt einen «Green Rush» auf SRF
h3 Le droghe non possono spararti
p
| La guerra alla droga ha avuto inizio nel 1971, quando Nixon dichiarò l'abuso di droga al nemico pubblico numero uno. Questa guerra non è riuscita: Gli Stati Uniti sono il più grande mercato della droga in tutto il mondo. In futuro, ci deve essere una nuova politica antidroga. Anche una legalizzazione non è più un tabù. Il film documenta nuovi modi dalla guerra alla droga.
br
a href="https://www.youtube.com/watch?v=BTYGxSzfcZA" target="_blank" Sendung «Drogen kann man nicht erschiessen»
h3 Alternative World Drug Report (english)
p
| The war on drugs is a policy choice. There are other options that, at the very least, should be debated and explored using the best possible evidence and analysis. We all share the same goals a safer, healthier and more just world. Therefore, we the undersigned, call upon world leaders and UN agencies to quantify the unintended negative consequences of the current approach to drugs, and assess the potential costs and benefits of alternative approaches.
br
a href="http://www.countthecosts.org/sites/default/files/AWDR-2nd-edition.pdf" target="_blank" The Alternative World Drug Report, 2nd edition
+86
View File
@@ -0,0 +1,86 @@
.row
section.col-xs-12.col-sm-6
h1= title 'Fragen und Antworten zur Cannabis-Initiative'
h2 Was will die Cannabis-Initiative erreichen?
p Die Ziele der Cannabis-Initiativ werden in den drei Kernbotschaften zum Ausdruck gebracht:
ul
li Erwachsene haben genauso die Freiheit und das Recht Cannabis zu konsumieren, wie Alkohol oder Tabak.
li Niemand muss gezwungen sein, sich auf dem Schwarzmarkt zu bedienen.
li Steuereinnahmen und Einsparungen aus der Strafverfolgung sollen der Prävention, der Forschung oder den Sozialversicherungen zugutekommen.
h2 Wem nützt die Initiative?
p Jeder Schweizer Bürger profitiert von der Annahme der Initiative. Gelder, die über den Schwarzmarkt in internationale Terror-Organisationen fliessen, werden versteuert und Millionen von Steuergeldern in der Strafverfolgung eingespart. Zehntausende von Patienten profitieren von der Möglichkeit einer alternativen Behandlung mittels Cannabis. Hunderttausende Schweizer Bürger werden entkriminalisiert und in Freiheit Cannabis als Genussmittel konsumieren.
h2 Wer steht hinter der Initiative?
p Die Initiative wurde von Mitgliedern des Verein Legalize it! initiiert. Seit 25 Jahren helfen wir vom Verein Legalize it! Menschen, die mit THC-Produkten Umgang pflegen, bei den unterschiedlichsten Fragen.
h2 Wird Cannabis als ganz normales Produkt kaufbar sein?
p Ja, wer volljährig ist darf Cannabis ganz normal kaufen. An welche Rahmenbedingungen der Verkauf genau gebunden ist, muss jedoch vom Gesetzgeber noch definiert werden.
h2 Wie wird der Anbau geregelt?
p Jeder darf für seinen eigenen Bedarf Cannabis anbauen. Sobald der Anbau einem wirtschaftlichen Zweck dient, müssen jedoch gewisse Anbaubedingungen erfüllt werden. Welche Bedingungen erfüllt werden müssen, wird vom Gesetzgeber noch bestimmt.
h2 Wie wird der Jugendschutz gewährleistet?
p Analog der Regelung bei Alkohol gilt ein striktes Verbot, Cannabis an Minderjährige abzugeben. Anreize aus der Gesellschaft können durch ein Werbeverbot minimiert werden. Ein solches Werbeverbot soll analog der bestehenden Regelung im Umgang mit Alkoholwerbung (AlkG. Art. 42b) umgesetzt werden. Steuereinnahmen und Einsparungen aus der Strafverfolgung sollen unter anderem der Prävention zugutekommen.
h2 Sieht die Initiative vor, dass Jugendliche legal kiffen dürfen?
p Nein, ebenso wie niemand will, dass Jugendliche Tabak rauchen oder Alkohol konsumieren, will niemand, dass Jugendliche Cannabis konsumieren. Vor dem Gesetz sollen die Konsequenzen für Jugendliche jedoch dieselben sein, wie bei Alkohol oder Tabak. Werden Jugendliche mit Cannabis erwischt, soll es ihnen entzogen und die Erziehungsberechtigten informiert werden. Jugendliche, die dabei erwischt werden, Cannabis an gleichaltrige zu verkaufen, können wie anhin bestraft werden.
h2 Wird Cannabis als Medizin erhältlich?
p Bereits jetzt ist es möglich Cannabis, therapeutisch einzusetzen. Dies jedoch nur in begrenztem Rahmen. Mit der Annahme der Initiative kann jeder ganz legal sich selber mit Cannabis therapieren. Präparate und Rohstoffe können rezeptfrei und ohne Ausnahmebewilligung gekauft werden. Die Kosten für eine ärztlich begleitete Cannabis-Therapie müssen jedoch nicht von den Krankenkassen übernommen werden. Es bleibt zu hoffen, dass sich die in Zukunft ändern wird. Es werden jedoch neue Produkte auf den Markt kommen, welche die Therapiekosten massiv senken.
h2 Was bedeutet die Initiative für die Landwirtschaft?
p Die bisherigen strikten Kontrollen bezüglich des Wirkstoffgehalts für industriell hergestellten Hanf sollen entfallen. Somit können auch problemlos Hanfprodukte wie Seifen, Dämmmaterial oder Textilien aus Cannabis hergestellt werden, die einen erhöhten THC-Gehalt aufweisen. Lediglich das Endprodukt, dass zum Verzehr gedacht ist oder verzehrt werden könnte, wie beispielsweise Tee oder Hanföl aus Saatgut, muss bezüglich des THC-Gehaltes kontrolliert und entsprechend deklariert werden.
h2 Kann dann in der Öffentlichkeit Cannabis oder Hasch geraucht werden?
p Es gelten dieselben Bestimmungen, wie beim Konsum von Tabak. Es wird immer wieder berichtet, dass sich Personen durch den Cannabis-Rauch gestört fühlen. Grundsätzlich gilt dies jedoch auch für andere Raucherwaren, wie beispielsweise die Brissago, die Pfeife oder der Stumpen. Ausserdem gibt es auch andere, wesentliche gesündere Formen des Konsums von Cannabis, bei dem keine störenden Emissionen auftreten.
h2 Kommt es nach der Annahme der Initiative zu einem Drogentourismus in der Schweiz?
p Ausländer sollen genau so wie Schweizer Bürger im Land legal Cannabis erwerben und konsumieren können. Es wäre zu begrüssen, wenn der kränkelnde Tourismus durch die Legalisierung von Cannabis Aufwind bekommt. Sollten Auswirkungen für Anwohner als störend empfunden werden, steht es den Behörden jedoch frei Regulierungen vorzunehmen, ähnlich dem Ausschank von Alkohol.
h2 Wird es vermehrt zu Cannabis-Schmuggel in den Grenzregionen kommen?
p Nachbarstaaten, die an der momentanen Prohibitionspolitik festhalten, werden mit unter Umständen damit konfrontiert, dass Cannabis illegal aus der Schweiz importiert wird. Der Schwarzmarkt in diesen Ländern ist bereits jetzt gesättigt, somit wird es weniger einen Anstieg des Konsums, sondern eher eine Umstrukturierung des Schwarzmarktes geben.
h2 Verstösst die Initiative gegen Internationale Verträge?
p Bei einer Legalisierung von Cannabis würde die Schweiz gegen die von ihr unterzeichnete UN Drogenkonvention (Einheitsabkommen über die Betäubungsmittel) verstossen. Allerdings hat das Schweizer Volk in den letzten paar Jahren klar gemacht, dass Verstösse gegen internationale Verträge nicht so tragisch sind (Masseneinwanderungsinitiative und Minarettinitiative). Zudem hatte das bei Uruguay, Spanien und den USA auch keine weiteren Konsequenzen. Die Probleme der Prohibitionspolitik sind international dieselben. Mit der Initiative zur Legalisierung von Cannabis hat die Schweiz eine passable Lösung.
h2 Wie sieht die Initiative den Umgang mit Cannabis im Strassenverkehr vor?
p Wer fährt, kifft nicht. Dass jemand unter Einfluss von THC ein Fahrzeug lenkt, muss jedoch bewiesen werden. Entgegen der jetzigen Situation muss der Gesetzgeber realistische und objektive Grenzwerte für aktives THC festsetzen. Da dies in der Natur der Sache liegt, muss der Gesetzgeber diesbezüglich über die Bücher, spätestens bei einer Annahme der Initiative. Im Initiativtext wird dieses Thema zwar ausgeklammert, wird aber einen wichtigen Stellenwert in der Diskussion um die Umsetzung bekommen.
h2 Wird es bei einer Legalisierung von Cannabis mehr Opfer im Strassenverkehr geben?
p Wer fährt, kifft nicht. Diese Regel hat einen guten Grund, denn genau so wie bei Alkohol, gewissen Medikamenten oder einer schlichten Übermüdung, verringert Cannabis die Reaktionszeit. Studien legen nahe, dass <a href="http://bit.ly/2itOXj5" target="_blank">der Gebrauch von Cannabis die Wahrscheinlichkeit von Autounfällen verdoppelt</a>. Viele Uneinsichtige, die sich trotzdem gelegentlich unter Einfluss von Cannabis hinters Steuer setzen, berichten, dass Sie vorsichtiger und aufmerksamer fahren. Das könnte dann auch ein Grund sein, dass 6 Jahre später dasselbe Institut herausgefunden hat, <a href="http://bit.ly/2jgq3EU" target="_blank">dass in US-Staaten, die Cannabis zum medizinischen Gebrauch legalisiert haben, die Zahl der Verkehrstoten sogar zurückgegangen ist</a>. Es gibt bis jetzt keinen Grund anzunehmen, dass Cannabis-Konsum die Strassen unsicherer macht. Im Gegenteil, wer Cannabis konsumiert agiert meist verantwortungsvoller und umsichtiger.
section.col-xs-12.col-sm-6
h1 Allgemeine Fragen zu Cannabis
h2 Wie gefährlich ist Cannabis?
p <a href="https://unige.ch/sciences-societe/socio/files/1514/5068/7795/Sociograph_22_a.pdf" target="_blank">Die Frage wurde durch die Eidgenössische Kommission für Drogenfragen (EKDF) untersucht.</a> Dabei zeigte sich, dass Cannabis durchwegs weniger problematisch ist als die bisherigen legalen Genussmittel Alkohol und Tabak.
h2 Kann man vom Passivkiffen high werden?
p Nein, man müsste sich in einem geschlossenen Raum befinden und Unmengen von Cannabis verbrennen, um eine Wirkung zu erzielen. Das Einatmen einer vorbeiziehenden süsslichen Rauchschwade hat absolut keine Wirkung.
h2 Verführt Cannabis zum Konsum anderer Drogen?
p Nein, die sogenannte Einstiegsdrogen-Theorie gilt bei allen Experten als überholt. Im Gegenteil, die Trennung von sogenannten weichen und harten Drogen kann nur durch eine konsequente Legalisierung vollzogen werden. Wenn Personen, welche nicht mehr in Kontakt mit Dealern kommen, die auch noch harte Drogen verkaufen, greifen sie weniger zu anderen Drogen. Ein Modell, dass in Holland seit Jahrzehnten erfolgreich umgesetzt wird.
h2 Wie wird Cannabis hergestellt und gewonnen?
p Cannabinoide, also die verschiedenen Wirkstoffe sind in der Cannabispflanze, insbesondere in der weiblichen Blüte vorhanden. Die Pflanze kann relativ einfach angepflanzt werden, danach können die getrockneten Blüten direkt konsumiert oder weiter verarbeitet werden. Im Prinzip reicht es ein Samen in einem Blumentopf zu setzen und regelmässig zu giessen.
h2 Macht Cannabis gewalttätig?
p Der Konsum von <a href="http://link.springer.com/article/10.1007/s00213-016-4371-1" target="_blank">Cannabis alleine hat in der Regel eher einen gegenteiligen Effekt</a>, man wird ruhiger und entspannter. Dass Cannabis die Gewaltbereitschaft erhöht ist höchst wahrscheinlich auf die Propaganda der 30er Jahre zurückzuführen — der Film <a href="https://www.youtube.com/watch?v=sbjHOBJzhb0"target="_blank">„Reefer Madness“</a> ist ein gutes Beispiel dafür. Ein Effekt von Cannabis ist jedoch auch, dass es die Wirkung anderer Substanzen verstärken kann. Deshalb wird auch vom Mischkonsum, insbesondere mit Alkohol, abgeraten. Die negativen Effekte von Alkohol, beispielsweise Enthemmung, Gewaltbereitschaft oder erhöhte Risikobereitschaft, können stärker hervortreten, wenn jemand gleichzeitig Cannabis konsumiert.
p Insbesondere Jugendlichen wird eine erhöhte Gewaltbereitschaft nachgesagt. Dass Cannabis nicht ursächlich sein kann für Gewalt unter Jugendlichen, zeigt die Tatsache, dass trotz <a href="http://www.suchtmonitoring.ch/de/4/1-2.html?cannabis-pravalenz-gebrauch-in-der-gesamtbevolkerung"target="_blank">konstantem Konsum</a> die <a href="https://www.bfs.admin.ch/bfs/de/home/statistiken/kriminalitaet-strafrecht/strafjustiz.gnpdetail.2016-0112.html" target="_blank">Jugendgewalt immer mehr abnimmt</a>.
h2 Macht Cannabis süchtig?
p
| Nach der internationalen Klassifikation der Krankheiten und verwandter Gesundheitsprobleme (ICD-10) liegt dann eine Sucht vor, wenn drei oder mehr der folgenden Kriterien zutreffen:
ol
li starkes, oft unüberwindbares Verlangen, die Substanz einzunehmen
li Schwierigkeiten, die Einnahme zu kontrollieren (was den Beginn, die Beendigung und die Menge des Konsums betrifft)
li körperliche Entzugssymptome
li benötigen immer größerer Mengen, damit die gewünschte Wirkung eintritt
li fortschreitende Vernachlässigung anderer Verpflichtungen, Aktivitäten, Vergnügen oder Interessen (das Verlangen nach der Droge wird zum Lebensmittelpunkt)
li fortdauernder Gebrauch der Substanz(en) wider besseres Wissen und trotz eintretender schädlicher Folgen.
| Der Konsum von Cannabis kann, genau so, wie Alkohol, Tabak, Kaffe, Sport, Sex, Smartphonegebrauch, etc. süchtig machen. Das Abhängigkeitspotenzial von Cannabis wird jedoch als mässig bis gering eingestuft.
img.img-responsive src="#{asset_path('abhaengigkeitspotential_dosis_gabel2006.png')}" alt="Acute toxicity of drugs versus regulatory status."
| Gable, R. S. (2006). Acute toxicity of drugs versus regulatory status. In J. M. Fish (Ed.),Drugs and Society: U.S. Public Policy, pp.149-162, Lanham, MD: Rowman & Littlefield Publishers.
p Immer wieder wird auch hervorgehoben, dass Jugendliche besonders anfällig wären, von Cannabis abhängig zu werden. Die Gehirnentwicklung von Jugendlichen ist noch nicht abgeschlossen, was sie anfällig für alle möglichen Abhängigkeiten macht. Eine Abhängigkeit im Jugendalter ist jedoch meist nicht durch Cannabis verursacht, sondern das Resultat vorangehender Probleme im Umfeld und insbesondere in der Familie. Da Cannabis gesellschaftlich nicht akzeptiert ist, lernen die Jugendlichen keinen verantwortungsvollen Umgang mit dieser Substanz. Cannabis wird von den Jugendlichen nicht als gefährlich eingestuft. Die Tatsache, dass es trotzdem illegal ist, macht es zu einer idealen Substanz um die Grenzen auszutesten und gegen die Erwachsenen zu rebellieren. Wäre Cannabis gesellschaftlich akzeptiert, wäre der Anreiz Cannabis zu konsumieren unter Jugendlichen geringer.
+15
View File
@@ -0,0 +1,15 @@
h1= title 'Der Initiativtext im Wortlaut'
.well
p Die Bundesverfassung vom 18. April 1999 wird wie folgt geändert:
p Art. 105a (neu) Cannabis:
ul
li Der Konsum von Stoffen und Präparaten des Wirkungstyps Cannabis sowie die Vorbereitung zum eigenen Konsum sind straffrei. Der gemeinschaftliche Anbau von Cannabis für den Eigenbedarf ist ebenfalls straffrei.
li Der Bund erlässt Vorschriften über den gewerblichen Anbau und die Herstellung sowie den Handel mit Stoffen und Präparaten des Wirkungstyps Cannabis.
li Die Abgabe von Stoffen und Präparaten des Wirkungstyps Cannabis an Minderjährige ohne medizinische Indikation ist verboten.
p Art. 131 Abs.1 Bst. f
ul
li
| Der Bund kann besondere Verbrauchssteuern erheben auf
br
| f. Stoffe und Präparate des Wirkungstyps Cannabis, welche nicht der medizinischen Anwendung dienen.
p Feedback und konstruktive Kritik ist per E-Mail herzlich willkommen. Als Cannabis im Sinne dieses Artikels gelten alle Stadien der Hanfpflanze (inkl. Saatgut) und deren Produkte, unabhängig von ihrem Gehalt an Tetrahydrocannabinol (THC). Als „Vorbereitung“ gilt vor allem der Besitz, der Erwerb und der Anbau für den eigenen Konsum.
+17
View File
@@ -0,0 +1,17 @@
h1= title 'Il testo delliniziativa'
.well
p La Costituzione Federale del 18 aprile 1999 é stata modifata come segue
p Art. 105a (nuovo) Cannabis:
ul
li Il consume di sostanze e preparati a base di cannabis, derivati o sostanze con effetto simile alla cannabis, e la preparazione per il proprio consumo non sono punibili. La coltivazione di cannabis per uso proprio non è punibile.
li La Confederazione emana prescrizioni sulla coltivazione commerciale e la produzione e il commercio di sostanze e preparati del tipo di effetto di cannabis.
li Il rilascio di sostanze e preparati a base di cannabis e di sostanze con effetto simile alla cannabis ai minori senza indicazione medica è vietata.
p Art. 131 Abs.1 Bst. f
ul
li
| La Confederazione può riscuotere imposte speciali di consumo su
br
| f. cannabis o sostanze con effetto simile alla cannabis, che non necessitano l'applicazione medica.
p In questo articolo tutte le fasi della pianta della canapa (semi incl.) e applicare i loro prodotti, indipendentemente dal loro contenuto di tetraidrocannabinolo (THC). Come „preparazione“ è particolarmente vero per il possesso, l'acquisto e la coltivazione per il consumo personale.
+74
View File
@@ -0,0 +1,74 @@
article
h1 = title t("Die Cannabis-Legalisierung in Zahlen: Der Staat wirft Geld aus dem Fenster und verpasst Millionen an Steuereinnahmen")
h2 Cannabis-Konsum
table.table.table-bordered.table-condensed.table-inherit
caption Cannabis-Konsum im Jahr 2014 gemäss <a href="http://www.suchtmonitoring.ch/de/4/1-2.html?cannabis-pravalenz-gebrauch-in-der-gesamtbevolkerung" target="_blank">Suchtmonitoring</a>
tbody
tr
td Gelegenheitskonsumenten (Konsum innerhalb von 12 Monaten)
td ca. 536000
td 6.7%
tr
td Regelmässige Konsumenten (Konsum innerhalb von 30 Tagen)
td ca. 240000
td 3%
tr
td Schweizer Bürger, die mindestens einmal im Leben Cannabis konsumiert haben
td ca. 3136000
td 39.2%
h2 Strafverfolgung
table.table.table-bordered.table-condensed.table-inherit
caption Strafverfolgung im Jahr 2015 gemäss <a href="http://www.bfs.admin.ch/bfs/portal/de/index/themen/19/03/02/key/05/03.html" target="_blank">Bundesamt für Statistik</a>
tbody
tr
td Jährliche Kosten für die Strafverfolgung (gemäss <a href="http://cannabis-irrsinn.info/wp/" target="_blank">«Der Cannabis-Irrsinn»</a>)
td ca. 200000000 Fr.
tr
td Verzeigte Straftaten oder Ordnungsbussen
td ca. 50000
tr
td Kosten pro Straftat oder Ordnungsbusse
td ca. 4000 Fr.
.lead Im Durchschnitt kostet jedes Delikt im Zusammenhang mit Cannabis den Steuerzahler ca. 4000 Fr.
h2 Potenzielle Steuereinnahmen durch kontrollierten Handel (Modellrechnung)
table.table.table-bordered.table-condensed.table-inherit
caption Potenzielle Steuereinnahmen
tbody
tr
td Geschätzte Anzahl Konsumenten
td
a href="#prevalenz" aria-describedby="footnote-label" id="prevalenz-ref" ca. 800000
tr
td Jährliche Konsumation pro Person
td ca. 50 Gramm
tr
td Durchschnittlicher Verkaufspreis pro Gramm
td
a href="#preis" aria-describedby="footnote-label" id="preis-ref" ca. 10 Fr
table.table.table-bordered.table-condensed.table-inherit
caption Bilanz
tbody
tr
td Jährliche Steuereinnahmen
td ca. 100000000 Fr.
tr
td Jährliche Einsparungen
td ca. 200000000 Fr.
tr
td
strong Total
td
strong ca. 300000000 Fr.
footer
h2 id="footnote-label" Fusszeile
ol
li#prevalenz
| Es wird geschätzt, dass 10% der Schweizer Bevölkerung nach der Legalisierung Cannabis konsumiert.
a href="#prevalenz-ref" aria-label="Zurück zum Inhalt"↵
li#preis
| Der Verkaufspreis auf dem Schwarzmarkt liegt derzeit bei ca. 10 - 15 Fr. pro Gramm. Um den Schwarzmarkt wirksam zu bekämpfen, darf der Verkaufspreis inklusive Steuern nicht höher ausfallen, als der Preis auf dem Schwarzmarkt. Reine Produktionskosten liegen bei ca. 0.8 Fr. pro Gramm.
a href="#preis-ref" aria-label="Zurück zum Inhalt"↵
-1
View File
@@ -26,4 +26,3 @@ h3 Weitere Informationen zur Initiative findest du hier:
ul ul
li = link_to 'Initiativ-Seite', 'https://www.hanflegal.ch/initiative' li = link_to 'Initiativ-Seite', 'https://www.hanflegal.ch/initiative'
li = link_to 'Onlineformular', root_path li = link_to 'Onlineformular', root_path
li = link_to 'Initiativ-Forum', 'https://forum.hanflegal.ch'
+45
View File
@@ -0,0 +1,45 @@
h1 = t("Unsere Sponsoren")
.row
.col-xs-12.col-sm-6.col-md-3
= image_tag 'dummy.png', alt: 'Platzhalter für Logo', class: 'img-responsive'
.col-xs-12.col-sm-6.col-md-9
h2 Ihr Firmenname
p Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
.row
.col-xs-12.col-sm-6.col-md-9
h2 Ihr Firmenname
p Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
.col-xs-12.col-sm-6.col-md-3
= image_tag 'dummy.png', alt: 'Platzhalter für Logo', class: 'img-responsive'
.row
.col-xs-12.col-sm-6.col-md-3
= image_tag 'dummy.png', alt: 'Platzhalter für Logo', class: 'img-responsive'
.col-xs-12.col-sm-6.col-md-9
h2 Ihr Firmenname
p Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
hr
.row
.col-xs-12.col-md-6
h1 = title 'Deine Spende zählt - Verein Legalize it!'
p
dl.dl-horizontal
dt Postkonto:
dd 87-091354-3, Verein Legalize it!, Postfach 2159, 8031 Zürich
dt IBAN:
dd CH02 0900 0000 8709 1354 3
dt Zahlungszweck:
dd Spende Initiative
h2 Warum kann ich nicht auch online oder per Kreditkarte spenden?
p Wir haben mehrere Versuche unternommen, dies mittels verschiedener (zahlbaren) Payment-Service-Providern zu ermöglichen, sind jedoch immer wieder gescheitert. Die Gründe dafür sind vielfältig: Zum einen bieten viele solche Dienstleister ihren Service gar nicht für Vereine an, zum anderen ist das Schweizer Vereinsrecht relativ liberal. Ein zentrales Register für Vereine wie in anderen Ländern üblich, gibt es nicht. Einzig ein Handelsregistereintrag könnte ein wenig Klarheit schaffen. Dies ist jedoch zu kostspielig und würde momentan zu viel Zeit in Anspruch nehmen. Selbst wenn wir einen solchen hätten, wäre es nicht sicher, dass Dienste wie beispielsweise PayPal uns akzeptieren würden.
p Eine andere schwierigere Hürde ist unser Umfeld. Wir haben, genau wie in Amerika, die Schwierigkeit, dass unser Themenbereich Cannabis ist. Da der Umgang mit Cannabis illegal ist, scheinen die Banken der Logik verfallen zu sein, dass alles was mit Cannabis zu tun hat, auch illegal sei, notabene auch das Ändern des illegalen Status. Viele Finanzdienstleister wie etwa Stripe.com lehnen daher jegliche Zusammenarbeit kategorisch ab.
p Somit bleibt nur zum guten alten Einzahlungsschein zu greifen beziehungsweise die richtigen Zahlenkombinationen beim E-Banking an den richtigen Stellen einzufügen.
p
b Wir würden uns freuen, wenn ihr das macht und uns finanziell unter die Arme greift.
p Danke, dein Verein Legalize it!
.col-xs-12.col-md-6
= link_to asset_path('Einzahlungsschein_Spende_Initiative.pdf') do
= image_tag('Einzahlungsschein_Spende_Initiative.jpg', class:'img-responsive pagelogo', alt: 'Einzahlungsschein Spende initiative')
+1 -2
View File
@@ -2,5 +2,4 @@ h1 Nutzungsbedingungen
p Die Daten werden ausschliesslich zum Zweck der Kampagnenplanung und zur Beschaffung von Unterschriften bezüglich der Legalisierung von Cannabis in der Schweiz erhoben. Unterstützer und Helfer werden über die Adressen schriftlich oder elektronisch über Neuigkeiten informiert und bezüglich weiterer Unterstützung angefragt. p Die Daten werden ausschliesslich zum Zweck der Kampagnenplanung und zur Beschaffung von Unterschriften bezüglich der Legalisierung von Cannabis in der Schweiz erhoben. Unterstützer und Helfer werden über die Adressen schriftlich oder elektronisch über Neuigkeiten informiert und bezüglich weiterer Unterstützung angefragt.
p Die gesammelten Daten werden nur zum jeweils deklarierten Zweck erhoben und nicht weitergegeben. p Die gesammelten Daten werden nur zum jeweils deklarierten Zweck erhoben und nicht weitergegeben.
p Die von Ihnen in ein Formular eingegebenen Daten werden verschlüsselt übermittelt. Die Online-Übermittlung persönlicher Daten erfolgt auf eigenes Risiko. Die von Ihnen übermittelten Daten werden auf unseren Servern gespeichert, mit aller Sorgfalt aufbewahrt und vor Zugriffen Dritter geschützt. p Die von Ihnen in ein Formular eingegebenen Daten werden verschlüsselt übermittelt. Die Online-Übermittlung persönlicher Daten erfolgt auf eigenes Risiko. Die von Ihnen übermittelten Daten werden auf unseren Servern gespeichert, mit aller Sorgfalt aufbewahrt und vor Zugriffen Dritter geschützt.
= link_to 'Zurück', :back
@@ -2,5 +2,4 @@ h1 Condizioni d'uso
p I dati verranno utilizzati unicamente a scopo di pianificazione della campagna e raccolta firme per la legalizzazione della Cannabis in Svizzera. Sostenitori e collaboratori verranno informati per iscritto od in forma elettronica in merito alle novità e verrà loro chiesto ulteriore aiuto qualora possibile. p I dati verranno utilizzati unicamente a scopo di pianificazione della campagna e raccolta firme per la legalizzazione della Cannabis in Svizzera. Sostenitori e collaboratori verranno informati per iscritto od in forma elettronica in merito alle novità e verrà loro chiesto ulteriore aiuto qualora possibile.
p I dati raccolti verranno utilizzati unicamente a tal scopo e non verranno ritrasmessi a terzi. p I dati raccolti verranno utilizzati unicamente a tal scopo e non verranno ritrasmessi a terzi.
p I dati inseriti nel formulario vengono trasmessi in maniera criptata. Una volta trasmessi, i dati vengono salvati sui nostri Server regolarmente sottoposti a manutanzione e protetti da accessi di terze persone. p I dati inseriti nel formulario vengono trasmessi in maniera criptata. Una volta trasmessi, i dati vengono salvati sui nostri Server regolarmente sottoposti a manutanzione e protetti da accessi di terze persone.
= link_to 'Indietro', :back
+8 -1
View File
@@ -3,4 +3,11 @@
= navbar_collapse do = navbar_collapse do
= navbar_group id: 'topnav' do = navbar_group id: 'topnav' do
= navbar_item "Home", "/#{I18n.locale}" = navbar_item "Home", "/#{I18n.locale}"
= navbar_item t('.donation'), spenden_path = navbar_dropdown t('.initiative') do
= navbar_item t('.initiative_text'), initiative_text_path
= navbar_item t('.arguments'), arguments_path
= navbar_item t('.faq'), faq_path
= navbar_item t('.numbers'), numbers_path
= navbar_item t('.sponsoring'), sponsoring_path
= navbar_item t('.sign_in'), new_supporter_session_path unless supporter_signed_in?
= navbar_item t('.sign_out'), destroy_supporter_session_path, nil, 'data-method' => :delete if supporter_signed_in?
@@ -1,5 +1,14 @@
p Hallo #{@supporter.first_name}, du bist nun ein Teil der Bewegung! p Hallo #{@supporter.first_name}, du bist nun ein Teil der Bewegung!
p
| Um deine Angaben anzupassen kannst dich unter #{link_to new_supporter_session_url, new_supporter_session_url} mit folgenden Daten anmelden:
dl.dl-horizontal
dt E-Mail
dd= @supporter.email
dt Passwort
dd= @password
p Wir informieren dich per E-Mail über die nächsten Schritte und kommen aktiv auf dich zu. Auf <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> informieren wir über laufende Aktivitäten. p Wir informieren dich per E-Mail über die nächsten Schritte und kommen aktiv auf dich zu. Auf <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> informieren wir über laufende Aktivitäten.
p p
@@ -1,9 +1,15 @@
p Salut #{@supporter.first_name}, Tu fais maintenant partie du mouvement! p Salut #{@supporter.first_name}, Tu fais maintenant partie du mouvement!
p Nous allons tenvoyer par e-mail les informations sur les prochaines étapes. Sur <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> initiative nous informons des activités en cours. p Nous allons tenvoyer par e-mail les informations sur les prochaines étapes. Sur <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> initiative nous informons des activités en cours.
p
| Pour régler vos données peut vous inscrire à #{link_to new_supporter_session_url, new_supporter_session_url} avec les données suivantes:
dl.dl-horizontal
dt E-Mail
dd= @supporter.email
dt Mot de passe
dd= @password
p p
| Que peux-tu faire? | Que peux-tu faire?
ul ul
@@ -2,6 +2,14 @@ p Ciao #{@supporter.first_name}, ora sei una parte del movimento!
p Vi informeremo via e-mail circa i prossimi passi e diventare attivo. Su <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> può informarsi sulle attività in corso. p Vi informeremo via e-mail circa i prossimi passi e diventare attivo. Su <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> può informarsi sulle attività in corso.
p
| Per regolare i dati possono iscriversi a #{link_to new_supporter_session_url, new_supporter_session_url} i seguenti dati:
dl.dl-horizontal
dt E-Mail
dd= @supporter.email
dt Password
dd= @password
p p
| Che cosa puoi fare? | Che cosa puoi fare?
ul ul
+2 -12
View File
@@ -14,21 +14,11 @@
| Durch eine ausgeklügelte Logistik werden Sympathisanten und Aktivisten zusammengebracht, um gemeinsam die nötigen Unterschriften zu generieren. | Durch eine ausgeklügelte Logistik werden Sympathisanten und Aktivisten zusammengebracht, um gemeinsam die nötigen Unterschriften zu generieren.
p.lead Wenn du also <span class="text-success">Cannabis in der Schweiz legalisieren</span> willst, fülle das nebenstehende Formular aus und schreibe mit uns Geschichte. p.lead Wenn du also <span class="text-success">Cannabis in der Schweiz legalisieren</span> willst, fülle das nebenstehende Formular aus und schreibe mit uns Geschichte.
p Mehr Informationen findest du unter #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'}
/ p.embed-responsive.embed-responsive-4by3 / p.embed-responsive.embed-responsive-4by3
iframe.embed-responsive-item src="https://www.youtube.com/embed/l5DjuLXRVVM" frameborder="0" allowfullscreen="" iframe.embed-responsive-item src="https://www.youtube.com/embed/l5DjuLXRVVM" frameborder="0" allowfullscreen=""
/ p.embed-responsive.embed-responsive-4by3 / p.embed-responsive.embed-responsive-4by3
iframe src="https://www.youtube.com/embed/videoseries?list=PLlC7Go4yV6YKunLd6O627HTQlNswQQ6vw" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen iframe src="https://www.youtube.com/embed/videoseries?list=PLlC7Go4yV6YKunLd6O627HTQlNswQQ6vw" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen
h3 Wer steht hinter dieser Aktion? h3 Wer steht hinter dieser Aktion?
p Die Aktion wurde von Mitgliedern des Verein Legalize it! initiiert. Seit 25 Jahren helfen wir vom Verein Legalize it! Menschen, die mit THC-Produkten Umgang pflegen, bei den unterschiedlichsten Fragen. p Die Aktion wurde von Mitgliedern des Verein Legalize it! initiiert. Seit 25 Jahren helfen wir vom Verein Legalize it! Menschen, die mit THC-Produkten Umgang pflegen, bei den unterschiedlichsten Fragen.
h3 Kontakt
p
| Nino Forrer (#{mail_to 'nino@hanflegal.ch'})
em Strategie / Presse
br
| Markus Graf (#{mail_to 'markus@hanflegal.ch'})
em Inhalt / Technik
-10
View File
@@ -15,15 +15,5 @@
p.lead Donc, si tu désires <span class="text-success">légaliser le cannabis en Suisse</span>, remplis le formulaire ci-dessous et aide nous à faire un grand pas dans l'histoire p.lead Donc, si tu désires <span class="text-success">légaliser le cannabis en Suisse</span>, remplis le formulaire ci-dessous et aide nous à faire un grand pas dans l'histoire
p Plus d'informations peuvent être trouvées sous #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'}
h3 Qui se trouve derrière cette action? h3 Qui se trouve derrière cette action?
p L'action a été lancée par les membres de l'association Legalize It!. Depuis 25 ans, nous, de lassociation Legalize It!, aidons les gens qui utilisent des produits à base de THC et répondons volontiers à leurs questions. p L'action a été lancée par les membres de l'association Legalize It!. Depuis 25 ans, nous, de lassociation Legalize It!, aidons les gens qui utilisent des produits à base de THC et répondons volontiers à leurs questions.
h3 Contact
p
| Nino Forrer (#{mail_to 'nino@hanflegal.ch'})
em Stratégie / Presse
br
| Markus Graf (#{mail_to 'markus@hanflegal.ch'})
em Contenu / Technologie
+1 -11
View File
@@ -15,16 +15,6 @@
p.lead Quindi, se anche tu vuoi <span class="text-success">legalizzare la Cannabis</span> in Svizzera, compila il seguente modulo e riscrivi la storia con noi. p.lead Quindi, se anche tu vuoi <span class="text-success">legalizzare la Cannabis</span> in Svizzera, compila il seguente modulo e riscrivi la storia con noi.
p Più informazioni le trovi su #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'}
h3 Chi c’é dietro questa azione? h3 Chi c’é dietro questa azione?
p L'azione è stata sostenuta da membri dell'associazione Legalize It! Da 25 anni aiutiamo l'associazione Legalize It! Le persone che si prendono cura con prodotti THC si occupano di una vasta gamma di questioni. p L'azione è stata sostenuta da membri dell'associazione Legalize It! Da 25 anni aiutiamo l'associazione Legalize It! Le persone che si prendono cura con prodotti THC si occupano di una vasta gamma di questioni.
h3 Contatti
p
| Nino Forrer (#{mail_to 'nino@hanflegal.ch'})
em Strategie / Presse
br
| Markus Graf (#{mail_to 'markus@hanflegal.ch'})
em Inhalt / Technik
@@ -0,0 +1,10 @@
h2
= t(".resend_confirmation_instructions")
= simple_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
= f.error_notification
= f.full_error :confirmation_token
.form-inputs
= f.input :email, required: true, autofocus: true
.form-actions
= f.button :submit, t(".resend_confirmation_instructions")
= render "supporters/shared/links"
@@ -0,0 +1,7 @@
- require 'devise/version'
p
= t('.greeting', recipient: @resource.email)
p
= t('.instruction')
p
= link_to t('.action'), confirmation_url(@resource, confirmation_token: (Devise::VERSION.start_with?('3.') ? @token : @resource.confirmation_token))
@@ -0,0 +1,14 @@
p
| Hello
= @email
| !
- if @resource.try(:unconfirmed_email?)
p
| We're contacting you to notify you that your email is being changed to
= @resource.unconfirmed_email
| .
- else
p
| We're contacting you to notify you that your email has been changed to
= @resource.email
| .
@@ -0,0 +1,5 @@
- require 'devise/version'
p
= t('.greeting', recipient: @resource.email)
p
= t('.message')
@@ -0,0 +1,11 @@
- require 'devise/version'
p
= t('devise.mailer.reset_password_instructions.greeting', recipient: "#{@resource.first_name} #{@resource.last_name}")
p
= t('devise.mailer.reset_password_instructions.instruction')
p
= link_to t('devise.mailer.reset_password_instructions..action'), edit_password_url(@resource, reset_password_token: (Devise::VERSION.start_with?('3.', '4.') ? @token : @resource.reset_password_token), locale: I18n.locale)
p
= t('devise.mailer.reset_password_instructions.instruction_2')
p
= t('devise.mailer.reset_password_instructions.instruction_3')
@@ -0,0 +1,9 @@
- require 'devise/version'
p
= t('.greeting', recipient: @resource.email)
p
= t('.message')
p
= t('.instruction')
p
= link_to t('.action'), unlock_url(@resource, unlock_token: (Devise::VERSION.start_with?('3.') ? @token :@resource.unlock_token))
+37 -1
View File
@@ -1,2 +1,38 @@
= render 'form' - if supporter_signed_in?
h1.sr-only = title t('.title', name: current_supporter.first_name)
.row
.col-xs-12.col-md-7
.panel.panel-default
.panel-heading
h2.panel-title = t '.my_data'
.panel-body
dl.dl-horizontal
dt = Supporter.human_attribute_name(:email)
dd = current_supporter.email
dt = Supporter.human_attribute_name(:first_name)
dd = current_supporter.first_name
dt = Supporter.human_attribute_name(:last_name)
dd = current_supporter.last_name
dt = Supporter.human_attribute_name(:street)
dd = current_supporter.street
dt = Supporter.human_attribute_name(:city)
dd = "#{current_supporter.zip} #{current_supporter.city}"
dt = Supporter.human_attribute_name(:support)
dd == t("support_type.#{current_supporter.support}")
dt = Supporter.human_attribute_name(:age_category)
dd == t("age_category.#{current_supporter.age_category}")
dt = Supporter.human_attribute_name(:language)
dd = t("languages.#{current_supporter.language}")
dt = Supporter.human_attribute_name(:unsubscribed)
dd = current_supporter.unsubscribed? ? t('shared.yes') : t('shared.no')
p
= link_to t('.edit'), edit_supporter_registration_path(), class: 'pull-right'
aside.col-md-5.col-xs-12
= render 'right_side'
- else
= render 'form'
@@ -0,0 +1,11 @@
h2
= t("devise.passwords.edit.change_your_password")
= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
= f.input :reset_password_token, as: :hidden
= f.full_error :reset_password_token
.form-inputs
= f.input :password, label: t("devise.passwords.edit.new_password"), required: true, autofocus: true
= f.input :password_confirmation, label: t("devise.passwords.edit.confirm_new_password"), required: true
.form-actions
= f.button :submit, t("devise.passwords.edit.change_my_password")
= render "supporters/shared/links"
@@ -0,0 +1,8 @@
h1= title t("devise.passwords.new.forgot_your_password")
= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
= f.error_notification
.form-inputs
= f.input :email, required: true, autofocus: true
.form-actions
= f.button :submit, t("devise.passwords.new.send_me_reset_password_instructions")
= render "supporters/shared/links"
@@ -0,0 +1,28 @@
.panel.panel-default
.panel-heading
h1.panel-title = title t("devise.registrations.edit.title", resource: resource_class.model_name.human)
.panel-body
= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|
.form-inputs
= f.input :current_password, hint: t("devise.registrations.edit.we_need_your_current_password_to_confirm_your_changes"), required: true
= f.input :email, required: true, autofocus: true
- if devise_mapping.confirmable? && resource.pending_reconfirmation?
p
= t(".currently_waiting_confirmation_for_email", email: resource.unconfirmed_email)
= f.input :password, autocomplete: "off", hint: t("devise.registrations.edit.leave_blank_if_you_don_t_want_to_change_it"), required: false
= f.input :password_confirmation, required: false
= f.input :first_name
= f.input :last_name
= f.input :street
= f.input :city
= f.input :zip
= f.input :support, as: :radio_buttons, collection: t('support_type').map{ |x| [x.first, raw(x.last)]}, label_method: :last, value_method: :first
= f.input :age_category, as: :radio_buttons, collection: t('age_category'), label_method: :last, value_method: :first
= f.input :language, as: :radio_buttons, collection: t('languages').map{ |x| [x.first, raw(x.last)]}, label_method: :last, value_method: :first
= f.input :unsubscribed, as: :boolean
.form-actions
= f.button :submit, t("devise.registrations.edit.update"), class: 'btn btn-primary'
p = link_to t("devise.shared.links.back"), :back
hr
p = link_to t("devise.registrations.edit.cancel_my_account"), registration_path(resource_name), data: { confirm: t("devise.registrations.edit.are_you_sure") }, method: :delete, class: 'btn btn-danger btn-sm pull-right'
@@ -0,0 +1,11 @@
h2
= t(".sign_up")
= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
= f.error_notification
.form-inputs
= f.input :email, required: true, autofocus: true
= f.input :password, required: true
= f.input :password_confirmation, required: true
.form-actions
= f.button :submit, t(".sign_up")
= render "supporters/shared/links"
@@ -0,0 +1,9 @@
h1= title t("devise.sessions.new.sign_in")
= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
.form-inputs
= f.input :email, required: false, autofocus: true
= f.input :password, required: false
= f.input :remember_me, as: :boolean if devise_mapping.rememberable?
.form-actions
= f.button :submit, t("devise.sessions.new.sign_in")
= render "supporters/shared/links"
@@ -0,0 +1,20 @@
- if controller_name != 'sessions'
= link_to t("devise.shared.links.sign_in"), new_session_path(resource_name)
br
- if devise_mapping.registerable? && controller_name != 'registrations'
/= link_to t("devise.shared.links.sign_up"), new_registration_path(resource_name)
= link_to t("devise.shared.links.sign_up"), new_supporter_path
br
- if devise_mapping.recoverable? && controller_name != 'passwords'
= link_to t("devise.shared.links.forgot_your_password"), new_password_path(resource_name)
br
- if devise_mapping.confirmable? && controller_name != 'confirmations'
= link_to t('devise.shared.links.didn_t_receive_confirmation_instructions'), new_confirmation_path(resource_name)
br
- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks'
= link_to t('devise.shared.links.didn_t_receive_unlock_instructions'), new_unlock_path(resource_name)
br
- if devise_mapping.omniauthable?
- resource_class.omniauth_providers.each do |provider|
= link_to t('devise.shared.links.sign_in_with_provider', provider: provider.to_s.titleize), omniauth_authorize_path(resource_name, provider)
br
@@ -0,0 +1,10 @@
h2
= t(".resend_unlock_instructions")
= simple_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
= f.error_notification
= f.full_error :unlock_token
.form-inputs
= f.input :email, required: true, autofocus: true
.form-actions
= f.button :submit, t(".resend_unlock_instructions")
= render "supporters/shared/links"
+1
View File
@@ -31,6 +31,7 @@ module Ch420
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :de config.i18n.default_locale = :de
config.i18n.available_locales = [:de, :it, :fr]
config.generators do |g| config.generators do |g|
g.orm :mongoid g.orm :mongoid
+1
View File
@@ -37,6 +37,7 @@ Rails.application.configure do
# config.action_view.raise_on_missing_translations = true # config.action_view.raise_on_missing_translations = true
config.action_mailer.default_url_options = { host: 'localhost:3000' } config.action_mailer.default_url_options = { host: 'localhost:3000' }
config.action_mailer.asset_host = 'http://localhost:3000'
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 } config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 }
+1
View File
@@ -75,6 +75,7 @@ Rails.application.configure do
config.log_formatter = ::Logger::Formatter.new config.log_formatter = ::Logger::Formatter.new
config.action_mailer.default_url_options = { host: 'ch420.herokuapp.com' } config.action_mailer.default_url_options = { host: 'ch420.herokuapp.com' }
config.action_mailer.asset_host = 'https://ch420.herokuapp.com'
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { config.action_mailer.smtp_settings = {
+2
View File
@@ -39,4 +39,6 @@ Rails.application.configure do
# Raises error for missing translations # Raises error for missing translations
# config.action_view.raise_on_missing_translations = true # config.action_view.raise_on_missing_translations = true
config.action_mailer.default_url_options = { host: 'localhost:3000' }
config.action_mailer.asset_host = 'http://localhost:3000'
end end
+277
View File
@@ -0,0 +1,277 @@
# Use this hook to configure devise mailer, warden hooks and so forth.
# Many of these configuration options can be set straight in your model.
Devise.setup do |config|
# The secret key used by Devise. Devise uses this key to generate
# random tokens. Changing this key will render invalid all existing
# confirmation, reset password and unlock tokens in the database.
# Devise will use the `secret_key_base` as its `secret_key`
# by default. You can change it below and use your own secret key.
# config.secret_key = '74788f2e184b0cce8fe7f12fc4db99abd79cf37d0ad882488d12f1ebba1a3eb314f456c2a1f1fafd4224ccec193a3f0dd563245a37c1de167796e76d75dd33c4'
# ==> Mailer Configuration
# Configure the e-mail address which will be shown in Devise::Mailer,
# note that it will be overwritten if you use your own mailer class
# with default "from" parameter.
config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
# Configure the class responsible to send e-mails.
# config.mailer = 'Devise::Mailer'
# Configure the parent class responsible to send e-mails.
# config.parent_mailer = 'ActionMailer::Base'
# ==> ORM configuration
# Load and configure the ORM. Supports :active_record (default) and
# :mongoid (bson_ext recommended) by default. Other ORMs may be
# available as additional gems.
require 'devise/orm/mongoid'
# ==> Configuration for any authentication mechanism
# Configure which keys are used when authenticating a user. The default is
# just :email. You can configure it to use [:username, :subdomain], so for
# authenticating a user, both parameters are required. Remember that those
# parameters are used only when authenticating and not when retrieving from
# session. If you need permissions, you should implement that in a before filter.
# You can also supply a hash where the value is a boolean determining whether
# or not authentication should be aborted when the value is not present.
# config.authentication_keys = [:email]
# Configure parameters from the request object used for authentication. Each entry
# given should be a request method and it will automatically be passed to the
# find_for_authentication method and considered in your model lookup. For instance,
# if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
# The same considerations mentioned for authentication_keys also apply to request_keys.
# config.request_keys = []
# Configure which authentication keys should be case-insensitive.
# These keys will be downcased upon creating or modifying a user and when used
# to authenticate or find a user. Default is :email.
config.case_insensitive_keys = [:email]
# Configure which authentication keys should have whitespace stripped.
# These keys will have whitespace before and after removed upon creating or
# modifying a user and when used to authenticate or find a user. Default is :email.
config.strip_whitespace_keys = [:email]
# Tell if authentication through request.params is enabled. True by default.
# It can be set to an array that will enable params authentication only for the
# given strategies, for example, `config.params_authenticatable = [:database]` will
# enable it only for database (email + password) authentication.
# config.params_authenticatable = true
# Tell if authentication through HTTP Auth is enabled. False by default.
# It can be set to an array that will enable http authentication only for the
# given strategies, for example, `config.http_authenticatable = [:database]` will
# enable it only for database authentication. The supported strategies are:
# :database = Support basic authentication with authentication key + password
# config.http_authenticatable = false
# If 401 status code should be returned for AJAX requests. True by default.
# config.http_authenticatable_on_xhr = true
# The realm used in Http Basic Authentication. 'Application' by default.
# config.http_authentication_realm = 'Application'
# It will change confirmation, password recovery and other workflows
# to behave the same regardless if the e-mail provided was right or wrong.
# Does not affect registerable.
# config.paranoid = true
# By default Devise will store the user in session. You can skip storage for
# particular strategies by setting this option.
# Notice that if you are skipping storage for all authentication paths, you
# may want to disable generating routes to Devise's sessions controller by
# passing skip: :sessions to `devise_for` in your config/routes.rb
config.skip_session_storage = [:http_auth]
# By default, Devise cleans up the CSRF token on authentication to
# avoid CSRF token fixation attacks. This means that, when using AJAX
# requests for sign in and sign up, you need to get a new CSRF token
# from the server. You can disable this option at your own risk.
# config.clean_up_csrf_token_on_authentication = true
# When false, Devise will not attempt to reload routes on eager load.
# This can reduce the time taken to boot the app but if your application
# requires the Devise mappings to be loaded during boot time the application
# won't boot properly.
# config.reload_routes = true
# ==> Configuration for :database_authenticatable
# For bcrypt, this is the cost for hashing the password and defaults to 11. If
# using other algorithms, it sets how many times you want the password to be hashed.
#
# Limiting the stretches to just one in testing will increase the performance of
# your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
# a value less than 10 in other environments. Note that, for bcrypt (the default
# algorithm), the cost increases exponentially with the number of stretches (e.g.
# a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation).
config.stretches = Rails.env.test? ? 1 : 11
# Set up a pepper to generate the hashed password.
# config.pepper = '23025fe3eb3b19839d84282ce1aecd5143e57258e4b245326a056e01e066d0bd48f2e28ad0f46abb1f5fe99eb17c254ea3b4ba24e317dee93fd1e1c8e5eb1b82'
# Send a notification to the original email when the user's email is changed.
# config.send_email_changed_notification = false
# Send a notification email when the user's password is changed.
# config.send_password_change_notification = false
# ==> Configuration for :confirmable
# A period that the user is allowed to access the website even without
# confirming their account. For instance, if set to 2.days, the user will be
# able to access the website for two days without confirming their account,
# access will be blocked just in the third day. Default is 0.days, meaning
# the user cannot access the website without confirming their account.
# config.allow_unconfirmed_access_for = 2.days
# A period that the user is allowed to confirm their account before their
# token becomes invalid. For example, if set to 3.days, the user can confirm
# their account within 3 days after the mail was sent, but on the fourth day
# their account can't be confirmed with the token any more.
# Default is nil, meaning there is no restriction on how long a user can take
# before confirming their account.
# config.confirm_within = 3.days
# If true, requires any email changes to be confirmed (exactly the same way as
# initial account confirmation) to be applied. Requires additional unconfirmed_email
# db field (see migrations). Until confirmed, new email is stored in
# unconfirmed_email column, and copied to email column on successful confirmation.
config.reconfirmable = true
# Defines which key will be used when confirming an account
# config.confirmation_keys = [:email]
# ==> Configuration for :rememberable
# The time the user will be remembered without asking for credentials again.
# config.remember_for = 2.weeks
# Invalidates all the remember me tokens when the user signs out.
config.expire_all_remember_me_on_sign_out = true
# If true, extends the user's remember period when remembered via cookie.
# config.extend_remember_period = false
# Options to be passed to the created cookie. For instance, you can set
# secure: true in order to force SSL only cookies.
# config.rememberable_options = {}
# ==> Configuration for :validatable
# Range for password length.
config.password_length = 4..128
# Email regex used to validate email formats. It simply asserts that
# one (and only one) @ exists in the given string. This is mainly
# to give user feedback and not to assert the e-mail validity.
config.email_regexp = /\A[^@\s]+@[^@\s]+\z/
# ==> Configuration for :timeoutable
# The time you want to timeout the user session without activity. After this
# time the user will be asked for credentials again. Default is 30 minutes.
# config.timeout_in = 30.minutes
# ==> Configuration for :lockable
# Defines which strategy will be used to lock an account.
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
# :none = No lock strategy. You should handle locking by yourself.
# config.lock_strategy = :failed_attempts
# Defines which key will be used when locking and unlocking an account
# config.unlock_keys = [:email]
# Defines which strategy will be used to unlock an account.
# :email = Sends an unlock link to the user email
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
# :both = Enables both strategies
# :none = No unlock strategy. You should handle unlocking by yourself.
# config.unlock_strategy = :both
# Number of authentication tries before locking an account if lock_strategy
# is failed attempts.
# config.maximum_attempts = 20
# Time interval to unlock the account if :time is enabled as unlock_strategy.
# config.unlock_in = 1.hour
# Warn on the last attempt before the account is locked.
# config.last_attempt_warning = true
# ==> Configuration for :recoverable
#
# Defines which key will be used when recovering the password for an account
# config.reset_password_keys = [:email]
# Time interval you can reset your password with a reset password key.
# Don't put a too small interval or your users won't have the time to
# change their passwords.
config.reset_password_within = 6.hours
# When set to false, does not sign a user in automatically after their password is
# reset. Defaults to true, so a user is signed in automatically after a reset.
# config.sign_in_after_reset_password = true
# ==> Configuration for :encryptable
# Allow you to use another hashing or encryption algorithm besides bcrypt (default).
# You can use :sha1, :sha512 or algorithms from others authentication tools as
# :clearance_sha1, :authlogic_sha512 (then you should set stretches above to 20
# for default behavior) and :restful_authentication_sha1 (then you should set
# stretches to 10, and copy REST_AUTH_SITE_KEY to pepper).
#
# Require the `devise-encryptable` gem when using anything other than bcrypt
# config.encryptor = :sha512
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# "users/sessions/new". It's turned off by default because it's slower if you
# are using only default views.
config.scoped_views = true
# Configure the default scope given to Warden. By default it's the first
# devise role declared in your routes (usually :user).
# config.default_scope = :user
# Set this configuration to false if you want /users/sign_out to sign out
# only the current scope. By default, Devise signs out all scopes.
# config.sign_out_all_scopes = true
# ==> Navigation configuration
# Lists the formats that should be treated as navigational. Formats like
# :html, should redirect to the sign in page when the user does not have
# access, but formats like :xml or :json, should return 401.
#
# If you have any extra navigational formats, like :iphone or :mobile, you
# should add them to the navigational formats lists.
#
# The "*/*" below is required to match Internet Explorer requests.
# config.navigational_formats = ['*/*', :html]
# The default HTTP method used to sign out a resource. Default is :delete.
config.sign_out_via = :delete
# ==> OmniAuth
# Add a new OmniAuth provider. Check the wiki for more information on setting
# up on your models and hooks.
# config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
# ==> Warden configuration
# If you want to use other strategies, that are not supported by Devise, or
# change the failure app, you can configure them inside the config.warden block.
#
# config.warden do |manager|
# manager.intercept_401 = false
# manager.default_strategies(scope: :user).unshift :some_external_strategy
# end
# ==> Mountable engine configurations
# When using Devise inside an engine, let's call it `MyEngine`, and this engine
# is mountable, there are some extra configurations to be taken into account.
# The following options are available, assuming the engine is mounted as:
#
# mount MyEngine, at: '/my_engine'
#
# The router that invoked `devise_for`, in the example above, would be:
# config.router_name = :my_engine
#
# When using OmniAuth, Devise cannot automatically set OmniAuth path,
# so you need to do it manually. For the users scope, it would be:
# config.omniauth_path_prefix = '/my_engine/users/auth'
end
+1
View File
@@ -0,0 +1 @@
Slim::Engine.set_default_options pretty: true
+40 -1
View File
@@ -1,10 +1,21 @@
de: de:
shared: shared:
"yes": Ja
"no": Nein
header: header:
logo: Logo der Initiative logo: Logo der Initiative
title_html: Ja, ich will <strong class="text-success">Cannabis</strong> in der Schweiz <strong class="text-success">legalisieren</strong> title_html: Ja, ich will <strong class="text-success">Cannabis</strong> in der Schweiz <strong class="text-success">legalisieren</strong>
topnavigation: topnavigation:
donation: Spenden donation: Spenden
sign_in: Anmelden
sign_out: Abmelden
initiative_text: Der Initiativtext im Wortlaut
initiative: Die Initiative
arguments: Argumentarium
faq: Fragen und Antworten
sponsoring: Sponsoren & Spenden
numbers: Zahlen
counter: counter:
supporters: "Unterstützer:" supporters: "Unterstützer:"
amount_of_supporters: Zurzeit haben wir %{amount} Unterstützer. amount_of_supporters: Zurzeit haben wir %{amount} Unterstützer.
@@ -25,6 +36,11 @@ de:
young: Ich bin 18 bis 30 Jahre alt young: Ich bin 18 bis 30 Jahre alt
middle: Ich bin 30 bis 64 Jahre alt middle: Ich bin 30 bis 64 Jahre alt
retired: Ich bin über 64 Jahre alt retired: Ich bin über 64 Jahre alt
languages:
de: Deutsch
fr: Français
it: Italiano
supporters: supporters:
form: form:
@@ -44,13 +60,30 @@ de:
create: create:
timeout: Ihre Eingabe war zu schnell. timeout: Ihre Eingabe war zu schnell.
new:
title: Hallo %{name}
edit: Meine Daten bearbeiten...
my_data: Meine Daten
pages: pages:
show:
not_found: Die Seite konnte nicht gefunden werden.
thanks: thanks:
title: Besten Dank für deine Unterstützung! title: Besten Dank für deine Unterstützung!
routes:
initiative_text: initiativtext
arguments: argumentarium
faq: fragen_und_antworten
sponsoring: sponsoren_und_spenden
numbers: zahlen
mongoid: mongoid:
attributes: models:
supporter: Konto
attributes:
supporter: supporter:
first_name: Vorname first_name: Vorname
last_name: Nachname last_name: Nachname
@@ -62,3 +95,9 @@ de:
age_category: Alterskategorie age_category: Alterskategorie
li_membership: Ich bin interessiert an einer Mitgliedschaft beim Verein Legalize it! (50 Franken pro Jahr) li_membership: Ich bin interessiert an einer Mitgliedschaft beim Verein Legalize it! (50 Franken pro Jahr)
comments: Kommentar / Feedback (optional) comments: Kommentar / Feedback (optional)
remember_me: Angemeldet bleiben
password: Passwort
language: Sprache
unsubscribed: Kein Newsletter
password_confirmation: Passwort bestätigen
current_password: Aktuelles Passwort
+64
View File
@@ -0,0 +1,64 @@
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
en:
devise:
confirmations:
confirmed: "Your email address has been successfully confirmed."
send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
failure:
already_authenticated: "You are already signed in."
inactive: "Your account is not activated yet."
invalid: "Invalid %{authentication_keys} or password."
locked: "Your account is locked."
last_attempt: "You have one more attempt before your account is locked."
not_found_in_database: "Invalid %{authentication_keys} or password."
timeout: "Your session expired. Please sign in again to continue."
unauthenticated: "You need to sign in or sign up before continuing."
unconfirmed: "You have to confirm your email address before continuing."
mailer:
confirmation_instructions:
subject: "Confirmation instructions"
reset_password_instructions:
subject: "Reset password instructions"
unlock_instructions:
subject: "Unlock instructions"
email_changed:
subject: "Email Changed"
password_change:
subject: "Password Changed"
omniauth_callbacks:
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
success: "Successfully authenticated from %{kind} account."
passwords:
no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
updated: "Your password has been changed successfully. You are now signed in."
updated_not_active: "Your password has been changed successfully."
registrations:
destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
signed_up: "Welcome! You have signed up successfully."
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
updated: "Your account has been updated successfully."
sessions:
signed_in: "Signed in successfully."
signed_out: "Signed out successfully."
already_signed_out: "Signed out successfully."
unlocks:
send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
unlocked: "Your account has been unlocked successfully. Please sign in to continue."
errors:
messages:
already_confirmed: "was already confirmed, please try signing in"
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
expired: "has expired, please request a new one"
not_found: "not found"
not_locked: "was not locked"
not_saved:
one: "1 error prohibited this %{resource} from being saved:"
other: "%{count} errors prohibited this %{resource} from being saved:"
+42 -4
View File
@@ -2,6 +2,8 @@ fr:
input_error: Vos entrées ne peuvent pas être enregistrées. Vérifiez les entrées. input_error: Vos entrées ne peuvent pas être enregistrées. Vérifiez les entrées.
shared: shared:
"yes": Oui
"no": Non
counter: counter:
supporters: "Militant:" supporters: "Militant:"
amount_of_supporters: Nous avons actuellement %{amount} supporters. amount_of_supporters: Nous avons actuellement %{amount} supporters.
@@ -10,6 +12,14 @@ fr:
title_html: Oui, je veux <strong class="text-success">légaliser le cannabis</strong> en Suisse. title_html: Oui, je veux <strong class="text-success">légaliser le cannabis</strong> en Suisse.
topnavigation: topnavigation:
donation: Donation donation: Donation
sign_out: déconnecter
sign_in: Connexion
initiative: l' initiative
initiative_text: L'initiative propose (en allemand)
arguments: Arguments (en allemand)
faq: Questions et réponses (en allemand)
sponsoring: Donation et Sponsors (en allemand)
numbers: Chiffres (en allemand)
welcome_email: welcome_email:
subject: Merci beaucoup pour ton soutien! subject: Merci beaucoup pour ton soutien!
@@ -25,7 +35,12 @@ fr:
young: Jai entre 18 et 30 ans young: Jai entre 18 et 30 ans
middle: Jai entre 30 et 64 ans middle: Jai entre 30 et 64 ans
retired: Jai plus que 64 ans retired: Jai plus que 64 ans
languages:
de: Deutsch
fr: Français
it: Italiano
supporters: supporters:
form: form:
form: Formulaire form: Formulaire
@@ -42,13 +57,30 @@ fr:
create: create:
timeout: Ihre Eingabe war zu schnell. timeout: Ihre Eingabe war zu schnell.
new:
title: Salut %{name}
edit: Modifier mes données ...
my_data: Mes données
pages: pages:
show:
not_found: La page n'a pas été trouvé.
thanks: thanks:
title: Merci beaucoup pour ton soutien! title: Merci beaucoup pour ton soutien!
routes:
initiative_text: l_initiative_propose
arguments: arguments
faq: questions_et_reponses
sponsoring: donation_et_sponsor
numbers: chiffres
mongoid: mongoid:
attributes: models:
supporter: compte
attributes:
supporter: supporter:
first_name: Prénom first_name: Prénom
last_name: Nom last_name: Nom
@@ -60,3 +92,9 @@ fr:
age_category: Catégorie d’âge age_category: Catégorie d’âge
li_membership: Je suis intéressé à joindre l'association Legalize It! (50 francs par an). li_membership: Je suis intéressé à joindre l'association Legalize It! (50 francs par an).
comments: Commentaires / Feedback (facultatif) comments: Commentaires / Feedback (facultatif)
remember_me: Se souvenir de moi
password: mot de passe
language: Langue
unsubscribed: pas de newslettre
password_confirmation: confirmer le mot de passe
current_password: Mot de passe actuel
+39 -2
View File
@@ -2,11 +2,22 @@ it:
input_error: I dati immessi non potevano essere salvati. Verificare i dati immessi. input_error: I dati immessi non potevano essere salvati. Verificare i dati immessi.
shared: shared:
"yes": Si
"No": No
header: header:
logo: Logo dell'iniziativa logo: Logo dell'iniziativa
title_html: Si, voglio <strong class="text-success">legalizzare</strong> la <strong class="text-success">cannabis in Svizzera</strong> title_html: Si, voglio <strong class="text-success">legalizzare</strong> la <strong class="text-success">cannabis in Svizzera</strong>
topnavigation: topnavigation:
donation: Donazione donation: Donazione
sign_out: Disconnettersi
sign_in: Registro
initiative_text: Il testo delliniziativa
initiative: l'iniziativa
arguments: Argomentazioni
faq: Domande e risposte (in tedesco)
sponsoring: Donazione e Sponsor
numbers: Numeri (in tedesco)
counter: counter:
supporters: "Sostenitore:" supporters: "Sostenitore:"
amount_of_supporters: Al momento abbiamo %{amount} sostenitori. amount_of_supporters: Al momento abbiamo %{amount} sostenitori.
@@ -26,6 +37,11 @@ it:
young: Ho tra 18 e 30 anni young: Ho tra 18 e 30 anni
middle: Ho tra i 30 ed i 64 anni middle: Ho tra i 30 ed i 64 anni
retired: Ho più di 64 anni retired: Ho più di 64 anni
languages:
de: Deutsch
fr: Français
it: Italiano
supporters: supporters:
form: form:
@@ -44,11 +60,26 @@ it:
create: create:
timeout: Ihre Eingabe war zu schnell. timeout: Ihre Eingabe war zu schnell.
new:
title: Ciao %{name}
edit: Modifica i miei dati ...
my_data: Miei dati
pages: pages:
thanks: thanks:
title: Grazie mille per il tuo sostegno! title: Grazie mille per il tuo sostegno!
show:
not_found: La pagina non è stata trovata.
routes:
initiative_text: il_testo_dell_iniziativa
arguments: argomentazioni
faq: domande_e_risposte
sponsoring: donazione_e_sponsor
numbers: numeri
mongoid: mongoid:
attributes: attributes:
supporter: supporter:
@@ -62,3 +93,9 @@ it:
age_category: Categoria Età age_category: Categoria Età
li_membership: Sono interessato a diventare membro attivo di Verein Legalize It (50 franchi annuali di tassa). li_membership: Sono interessato a diventare membro attivo di Verein Legalize It (50 franchi annuali di tassa).
comments: Commenti / Feedback (opzionale) comments: Commenti / Feedback (opzionale)
remember_me: Ricordati di mel
password: Password
language: Lingua
unsubscribed: No Newsletter
password_confirmation: conferma password
current_password: Password corrente
+15 -4
View File
@@ -1,19 +1,30 @@
Rails.application.routes.draw do Rails.application.routes.draw do
root to: redirect("/#{I18n.default_locale}") devise_for :supporters
root to: 'supporters#new'
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
get "/pages/:page" => "pages#show"
namespace :admin do namespace :admin do
get '/map', to: 'pages#map', as: :map get '/map', to: 'pages#map', as: :map
# resources :supporters, only: :index # resources :supporters, only: :index
end end
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
localized do
get '/initiative_text', to: 'pages#show', as: :initiative_text, page: 'initiative_text'
get '/arguments', to: 'pages#show', as: :arguments, page: 'arguments'
get '/faq', to: 'pages#show', as: :faq, page: 'faq'
get '/terms_and_conditions', to: 'pages#show', as: :terms_and_conditions, page: 'terms_and_conditions'
get '/sponsoring', to: 'pages#show', as: :sponsoring, page: 'sponsoring'
get '/numbers', to: 'pages#show', as: :numbers, page: 'numbers'
end
get '/cities_autocomplete', to: 'cities_autocomplete#index', as: :cities_autocomplete get '/cities_autocomplete', to: 'cities_autocomplete#index', as: :cities_autocomplete
scope '/:locale' do scope '/:locale' do
get '/', to: 'supporters#new' get '/', to: 'supporters#new'
resources :supporters resources :supporters
get '/thanks', to: 'pages#thanks', as: :thanks get '/thanks', to: 'pages#thanks', as: :thanks
get '/spenden', to: 'pages#spenden', as: :spenden get '/spenden', to: 'pages#spenden', as: :spenden
get '/terms_and_conditions', to: 'pages#terms_and_conditions', as: :terms_and_conditions
end end
end end
+4
View File
@@ -0,0 +1,4 @@
helper = ApplicationController.helpers
never_signed_in = Supporter.where(sign_in_count: nil)
never_signed_in.each_with_index { |u, i| puts "#{i} #{u.email}"; u.update_attributes password: "#{u.support}#{helper.number_with_delimiter(u.zip, delimiter: ',')}" }
@@ -1,7 +1,7 @@
# Preview all emails at http://localhost:3000/rails/mailers/supporter_mailer # Preview all emails at http://localhost:3000/rails/mailers/supporter_mailer
class SupporterMailerPreview < ActionMailer::Preview class SupporterMailerPreview < ActionMailer::Preview
def welcome def welcome
I18n.locale = :fr I18n.locale = :de
SupporterMailer.welcome_email(Supporter.first) SupporterMailer.welcome_email(Supporter.first, SecureRandom.hex(5))
end end
end end