Author SHA1 Message Date
dependabot[bot]andGitHub 1c84ece4c1 Bump devise from 4.3.0 to 4.7.1
Bumps [devise](https://github.com/plataformatec/devise) from 4.3.0 to 4.7.1.
- [Release notes](https://github.com/plataformatec/devise/releases)
- [Changelog](https://github.com/plataformatec/devise/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plataformatec/devise/compare/v4.3.0...v4.7.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-10-29 20:31:17 +00:00
gurix af8f55fc23 fixed missing site 2019-07-09 17:53:48 +02:00
gurix 554c8cc5c3 content changes 2019-07-09 17:06:30 +02:00
gurix 5ff8944e80 removed some pages 2019-06-28 18:50:50 +02:00
gurix bac73000c1 fixed broken spec 2019-05-28 16:46:57 +02:00
gurix 0e96429f76 remove right side 2019-05-28 16:44:13 +02:00
gurix 0a47824571 content changes 2019-05-28 16:34:22 +02:00
gurix 4d369d2646 removed duftsäckli 2019-02-08 18:32:21 +01:00
gurix 6d3e30faff removed statements 2019-02-08 18:30:49 +01:00
gurix 13a27f8529 removed content 2019-02-08 18:28:47 +01:00
gurix 13342dd595 dont remove donation at the moment 2019-01-18 20:20:45 +01:00
gurix 45050f1c67 removed some content 2019-01-18 20:18:33 +01:00
Markus GrafandGitHub aab4141e5e Update _right_side.it.slim 2019-01-18 20:06:39 +01:00
Markus GrafandGitHub 3a80de2974 Update _right_side.fr.slim 2019-01-18 20:06:16 +01:00
Markus GrafandGitHub 1d8cbaba89 Update _right_side.de.slim 2019-01-18 20:05:25 +01:00
gurix e21cfd2807 changed reason for transfer 2018-10-05 20:58:31 +02:00
gurix 3a7e871909 Bundle update for the sake of security. 2018-10-05 19:07:46 +02:00
gurix 1d3989394e Remove some older content. 2018-10-05 18:42:33 +02:00
gurix aeed65d7d8 Remove donation progress. 2018-10-05 18:41:56 +02:00
gurix 4b6702a3e2 Updated address for donation. 2018-10-05 18:41:26 +02:00
gurix bafb0604dd bundle update beceause of security 2018-05-29 09:05:55 +02:00
gurix 01e39563d6 removed icon 2018-05-29 08:48:31 +02:00
gurix 3f7ff9480d Updated statistics 2018-05-29 08:48:16 +02:00
gurix 6429885f39 updated button 2018-02-10 23:52:48 +01:00
gurix 8f343a91de added cbd button 2018-02-10 23:04:31 +01:00
gurix 359717100d Merge branch 'master' of github.com:gurix/ch420 2018-01-25 14:43:28 +01:00
gurix 8785f49386 bundle update paperclip because of CVE-2017-0889 2018-01-25 14:43:10 +01:00
Markus GrafandGitHub 0cc858d22e fixed typo 2017-12-20 23:08:04 +01:00
gurix 0993d6387c using old eth address 2017-12-20 15:29:24 +01:00
gurix ed18fa6067 changed ethereum 2017-12-20 15:09:14 +01:00
gurix c7f26e1acd added ethereum 2017-12-20 12:27:48 +01:00
gurix cf566f5e9d fixed false class 2017-12-18 21:04:06 +01:00
gurix f6558753f3 Adjusted donation state 2017-12-15 23:12:43 +01:00
Markus GrafandGitHub 44bc6e1118 Update donation.de.slim 2017-12-08 16:19:06 +01:00
Markus GrafandGitHub b102223a2d Update donation.de.slim 2017-12-05 16:44:02 +01:00
gurix d883f80f18 Added statement admin link 2017-11-29 12:23:29 +01:00
gurix 58a576e011 added Geocoding key 2017-11-20 14:57:12 +01:00
gurix 4c8f3b8643 fixed broken design 2017-11-20 09:22:04 +01:00
gurix b753511096 website instead of url 2017-11-18 19:48:23 +01:00
gurix 2fb44885ce responsibility 2017-11-18 19:20:11 +01:00
gurix 4e45e94f4b changed content 2017-11-16 17:38:48 +01:00
gurix d8106e7b08 Merge branch 'staging' 2017-11-16 14:52:16 +01:00
Markus GrafandGitHub 018ddce8cf Update donation.de.slim 2017-11-14 21:28:57 +01:00
gurix a4c8b2beba added description 2017-11-12 16:35:43 +01:00
gurix 59aa0ecbaf fixed spec 2017-11-12 14:07:27 +01:00
gurix 94d2d733e9 fixed routing and position 2017-11-12 14:05:45 +01:00
gurix 7bd9a0ab22 added greenday event 2017-11-12 13:27:10 +01:00
gurix 299097e13f accessibility for focus 2017-11-11 23:50:13 +01:00
gurix 037030a140 enhanced navigation 2017-11-11 23:37:01 +01:00
Markus GrafandGitHub bd95513f59 Update numbers.de.slim 2017-11-10 15:37:10 +01:00
gurix e4a2b26d6e added missing translations 2017-11-10 12:25:14 +01:00
gurix 93a77e12a4 Refactured navigation 2017-11-10 12:18:05 +01:00
gurix e9a73ea5cb User can now add a phone number 2017-11-10 10:25:25 +01:00
Markus GrafandGitHub 06922e9316 Update thanks.de.slim 2017-11-10 10:12:01 +01:00
gurix 421f9907b9 Added password for staging 2017-11-10 09:55:40 +01:00
gurix cd6bff99e7 added secret for staging 2017-11-10 09:37:45 +01:00
gurix c82f8e1ab8 added staging envs 2017-11-10 09:33:18 +01:00
Markus GrafandGitHub aa4c9d5704 Update faq.de.slim 2017-11-09 14:58:19 +01:00
Markus GrafandGitHub b55a2ac434 Update _core_statements.de.slim 2017-11-09 14:57:12 +01:00
Markus GrafandGitHub 8c772b1e43 Update donation.de.slim 2017-10-31 15:01:13 +01:00
gurix 3c6a23036c fixed typo 2017-10-19 11:13:34 +02:00
gurix df5f4df90d Merge branch 'feature/stripe' 2017-10-18 23:33:15 +02:00
gurix c5b7b79b7b addes stripe 2017-10-18 23:32:28 +02:00
Markus GrafandGitHub bdddba4e07 Update donation.de.slim 2017-10-16 18:00:54 +02:00
gurix e44d5935f2 Support bitcoin cash 2017-10-12 22:43:47 +02:00
gurix 9387735ae6 fixed statment site. 2017-10-07 20:29:58 +02:00
gurix 050a4a88e7 bundle update all 2017-10-02 13:21:56 +02:00
gurix 7f540bc3c5 bundle update nokogiri because of CVE-2017-5029 2017-10-02 13:17:36 +02:00
gurix add8550617 fixed heading of numbers 2017-09-09 17:22:21 +02:00
gurix 5834b42266 added blog link 2017-08-29 21:05:08 +02:00
gurix fec35cfa1b initiative text version 6 2017-08-28 17:21:25 +02:00
gurix 45e96470af integrate bitcoin donations 2017-08-17 18:25:25 +02:00
Markus GrafandGitHub 82db449769 Update donation.de.slim 2017-08-16 17:44:04 +02:00
Markus GrafandGitHub ca2aea6022 Update donation.de.slim 2017-08-11 14:13:48 +02:00
Markus GrafandGitHub 49ddc08550 Update donation.de.slim 2017-08-07 10:43:18 +02:00
Markus GrafandGitHub 8957724102 Update donation.de.slim 2017-07-28 19:22:40 +02:00
Markus GrafandGitHub 506665e991 Update donation.de.slim 2017-07-17 15:58:03 +02:00
Markus GrafandGitHub 03848cb6e8 Update collection_concept.de.slim 2017-07-14 16:40:18 +02:00
Markus GrafandGitHub dfa2c02820 Update donation.de.slim 2017-07-12 17:04:59 +02:00
gurix 63f514144a some content changes 2017-07-07 18:42:30 +02:00
gurix 8d0fdf9210 content changes 2017-07-07 16:16:55 +02:00
gurix 10727a1302 added content 2017-07-07 16:07:53 +02:00
gurix 1440cfcc1e statements without redcarpet gem 2017-07-06 16:56:19 +02:00
gurix 71a5c8ee64 Disable sponsoring and add sponsoring instead 2017-07-06 16:51:04 +02:00
gurix d7d42ae241 refactored statements 2017-07-06 16:50:10 +02:00
gurix 0a20c632b8 Some statistics 2017-07-06 16:48:53 +02:00
gurix d247560fca Added read more for statements 2017-05-20 15:24:44 +02:00
gurix ebe53e40d2 fixed broken link 2017-05-02 11:13:52 +02:00
gurix 36d8787306 added faq for psychosis theory 2017-04-27 11:53:09 +02:00
gurix a1fbcac477 added donation button 2017-04-25 06:59:14 +02:00
gurix 572c21a310 hide crowdfunding 2017-04-23 20:47:38 +02:00
gurix a4b267056d fixed responsivness 2017-04-22 08:26:43 +02:00
gurix 867078a437 added crowdfunding 2017-04-22 07:39:07 +02:00
gurix e244e592ed fixed routing 2017-04-21 19:33:57 +02:00
gurix 6b7feefa16 fixed sorting of statements 2017-04-21 16:31:05 +02:00
gurix 9c6414477d added link to new statement 2017-04-19 22:52:37 +02:00
gurix d4566c7446 fixed accessing not available languages 2017-04-19 10:32:35 +02:00
gurix 1bc5f9aa7a robots.txt 2017-04-19 10:18:05 +02:00
gurix d288f26286 fixed sponsoring title 2017-04-18 17:52:09 +02:00
gurix 515519a537 fixed some translation and added social media meta tags 2017-04-18 17:45:48 +02:00
gurix 2111fe9b46 changed from mail for devise 2017-04-18 16:52:18 +02:00
gurix 1ea3806a7d removed cache data 2017-04-18 16:41:39 +02:00
gurix ed461a7c3e some text adjustments 2017-04-18 16:35:49 +02:00
gurix 8cb8aea9ca Merge branch 'master' into features/publicity
# Conflicts:
#	.gitignore
2017-04-18 16:22:36 +02:00
gurix cb1bf34588 Remove mailchimp and add sendy 2017-04-18 14:41:35 +02:00
gurix 93dc7b0c50 fixed broken path 2017-04-18 07:18:33 +02:00
gurix 7a2187e839 fixed batch position 2017-04-17 10:26:01 +02:00
gurix 5579877589 Donation button and responsibility 2017-04-17 08:05:51 +02:00
gurix c65513fd0a change asset host 2017-04-15 21:29:20 +02:00
gurix 7bd771dbc7 Implemented list of statements 2017-04-14 12:46:03 +02:00
gurix 281caaf0fd Manage publicities 2017-04-14 11:34:01 +02:00
gurix dd5e22ea48 Ability to give a statement 2017-04-13 17:16:03 +02:00
gurix b30bd91f3d Makeup 2017-04-13 10:05:09 +02:00
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
119 changed files with 2833 additions and 597 deletions
+3 -1
View File
@@ -8,8 +8,10 @@
/.bundle /.bundle
/.rspec /.rspec
.ruby-version .ruby-version
.env
/avatars
# Ignore all logfiles and tempfiles. # Ignore all logfiles and tempfiles.
/log/* /log/*
!/log/.keep !/log/.keep
/tmp /tmp
.Rproj.user
+34 -5
View File
@@ -11,6 +11,30 @@ gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes # See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby # gem 'therubyracer', platforms: :ruby
# Integrate Paperclip into Mongoid.
gem 'mongoid-paperclip'
# Markdown rendering
gem 'redcarpet'
# Stripe integration
gem 'stripe'
# Render your navigation as HTML list, link list or breadcrumbs.
gem 'simple-navigation'
# To extend paperclip with locales
gem 'paperclip-i18n'
# Amazon's S3 file hosting service
gem 'aws-sdk', '< 3.0' # see https://github.com/thoughtbot/paperclip/issues/2484
# A fixtures replacement
gem 'factory_girl'
# It's a small library to provide the Rails I18n translations on the JavaScript.
gem "i18n-js"
# Use jquery as the JavaScript library # Use jquery as the JavaScript library
gem 'jquery-rails' gem 'jquery-rails'
@@ -19,11 +43,12 @@ 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'
# Kaminari Mongoid adapter. # Kaminari Mongoid adapter.
gem 'kaminari-mongoid' 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'
@@ -62,8 +87,6 @@ gem 'rails_admin'
gem 'mongoid_paranoia' gem 'mongoid_paranoia'
gem 'mailchimp-api', require: 'mailchimp'
group :development, :test do group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console # Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug' gem 'byebug'
@@ -75,6 +98,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'
+214 -143
View File
@@ -1,64 +1,74 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actionmailer (4.2.8) actionmailer (4.2.10)
actionpack (= 4.2.8) actionpack (= 4.2.10)
actionview (= 4.2.8) actionview (= 4.2.10)
activejob (= 4.2.8) activejob (= 4.2.10)
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.8) actionpack (4.2.10)
actionview (= 4.2.8) actionview (= 4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
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.8) actionview (4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
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.3) rails-html-sanitizer (~> 1.0, >= 1.0.3)
activejob (4.2.8) activejob (4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
globalid (>= 0.3.0) globalid (>= 0.3.0)
activemodel (4.2.8) activemodel (4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
builder (~> 3.1) builder (~> 3.1)
activerecord (4.2.8) activerecord (4.2.10)
activemodel (= 4.2.8) activemodel (= 4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
arel (~> 6.0) arel (~> 6.0)
activesupport (4.2.8) activesupport (4.2.10)
i18n (~> 0.7) i18n (~> 0.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.5.0) addressable (2.5.2)
public_suffix (~> 2.0, >= 2.0.2) public_suffix (>= 2.0.2, < 4.0)
arel (6.0.4) arel (6.0.4)
autoprefixer-rails (6.7.7.1) autoprefixer-rails (7.1.4.1)
execjs execjs
bcrypt (3.1.11) aws-sdk (2.10.61)
aws-sdk-resources (= 2.10.61)
aws-sdk-core (2.10.61)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
aws-sdk-resources (2.10.61)
aws-sdk-core (= 2.10.61)
aws-sigv4 (1.0.2)
bcrypt (3.1.13)
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)
gem_config (~> 0.3)
bootstrap-sass (3.3.7) 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.2.1) bson (4.2.2)
builder (3.2.3) builder (3.2.3)
byebug (9.0.6) byebug (9.1.0)
capybara (2.13.0) capybara (2.15.1)
addressable addressable
mime-types (>= 1.16) mini_mime (>= 0.1.3)
nokogiri (>= 1.3.3) nokogiri (>= 1.3.3)
rack (>= 1.0.0) rack (>= 1.0.0)
rack-test (>= 0.5.4) rack-test (>= 0.5.4)
xpath (~> 2.0) xpath (~> 2.0)
coderay (1.1.1) climate_control (0.2.0)
cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
coderay (1.1.2)
coffee-rails (4.1.1) coffee-rails (4.1.1)
coffee-script (>= 2.2.0) coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x) railties (>= 4.0.0, < 5.1.x)
@@ -66,76 +76,107 @@ GEM
coffee-script-source coffee-script-source
execjs execjs
coffee-script-source (1.12.2) coffee-script-source (1.12.2)
concurrent-ruby (1.0.5) concurrent-ruby (1.1.5)
css_parser (1.4.10) crass (1.0.5)
css_parser (1.6.0)
addressable addressable
debug_inspector (0.0.2) debug_inspector (0.0.3)
devise (4.2.1) derailed_benchmarks (1.3.2)
benchmark-ips (~> 2)
get_process_mem (~> 0)
heapy (~> 0)
memory_profiler (~> 0)
rack (>= 1)
rake (> 10, < 13)
thor (~> 0.19)
devise (4.7.1)
bcrypt (~> 3.0) bcrypt (~> 3.0)
orm_adapter (~> 0.1) orm_adapter (~> 0.1)
railties (>= 4.1.0, < 5.1) railties (>= 4.1.0)
responders responders
warden (~> 1.2.3) warden (~> 1.2.3)
devise-i18n (1.1.2) devise-i18n (1.2.0)
diff-lcs (1.3) diff-lcs (1.3)
dotenv (2.2.0) dotenv (2.2.1)
dotenv-rails (2.2.0) dotenv-rails (2.2.1)
dotenv (= 2.2.0) dotenv (= 2.2.1)
railties (>= 3.2, < 5.1) railties (>= 3.2, < 5.2)
erubis (2.7.0) erubis (2.7.0)
excon (0.55.0)
execjs (2.7.0) execjs (2.7.0)
faker (1.7.2) factory_girl (4.8.1)
activesupport (>= 3.0.0)
faker (1.8.4)
i18n (~> 0.5) i18n (~> 0.5)
font-awesome-rails (4.7.0.1) faraday (0.13.1)
railties (>= 3.2, < 5.1) multipart-post (>= 1.2, < 3)
gem_config (0.3.1) ffi (1.9.25)
geocoder (1.4.3) font-awesome-rails (4.7.0.4)
globalid (0.3.7) railties (>= 3.2, < 6.0)
activesupport (>= 4.1.0) geocoder (1.4.4)
haml (4.0.7) get_process_mem (0.2.1)
globalid (0.4.1)
activesupport (>= 4.2.0)
haml (5.0.4)
temple (>= 0.8.0)
tilt tilt
i18n (0.8.1) heapy (0.1.3)
jbuilder (2.6.3) i18n (0.9.5)
activesupport (>= 3.0.0, < 5.2) concurrent-ruby (~> 1.0)
multi_json (~> 1.2) i18n-js (3.0.1)
jquery-rails (4.3.1) i18n (~> 0.6, >= 0.6.6)
jbuilder (2.7.0)
activesupport (>= 4.2.0)
multi_json (>= 1.2)
jmespath (1.3.1)
jquery-rails (4.3.3)
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.6) json (1.8.6)
kaminari (0.17.0) kaminari (1.1.1)
actionpack (>= 3.0.0) activesupport (>= 4.1.0)
activesupport (>= 3.0.0) kaminari-actionview (= 1.1.1)
kaminari-core (1.0.1) kaminari-activerecord (= 1.1.1)
kaminari-core (= 1.1.1)
kaminari-actionview (1.1.1)
actionview
kaminari-core (= 1.1.1)
kaminari-activerecord (1.1.1)
activerecord
kaminari-core (= 1.1.1)
kaminari-core (1.1.1)
kaminari-mongoid (1.0.1) kaminari-mongoid (1.0.1)
kaminari-core (~> 1.0) kaminari-core (~> 1.0)
mongoid mongoid
loofah (2.0.3) loofah (2.3.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
mail (2.6.4) mail (2.7.0)
mime-types (>= 1.16, < 4) mini_mime (>= 0.1.1)
mailchimp-api (2.0.6) memory_profiler (0.9.8)
excon (>= 0.16.0) method_source (0.9.0)
json (>= 1.7.7)
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) mimemagic (0.3.2)
minitest (5.10.1) mini_mime (0.1.4)
mongo (2.4.1) mini_portile2 (2.4.0)
minitest (5.12.2)
mongo (2.4.3)
bson (>= 4.2.1, < 5.0.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.1) mongoid-compatibility (0.5.0)
activesupport activesupport
mongoid (>= 2.0) mongoid (>= 2.0)
mongoid-paperclip (0.0.11)
mongoid
paperclip (>= 2.3.6, != 4.3.0)
mongoid-rspec (3.0.0) mongoid-rspec (3.0.0)
mongoid (~> 5.0) mongoid (~> 5.0)
rake rake
@@ -143,108 +184,124 @@ GEM
mongoid_paranoia (0.2.1) mongoid_paranoia (0.2.1)
mongoid (>= 4) mongoid (>= 4)
mongoid-compatibility mongoid-compatibility
multi_json (1.12.1) multi_json (1.12.2)
multipart-post (2.0.0)
nested_form (0.3.2) nested_form (0.3.2)
nokogiri (1.7.1) nokogiri (1.10.4)
mini_portile2 (~> 2.1.0) mini_portile2 (~> 2.4.0)
origin (2.3.0) origin (2.3.1)
orm_adapter (0.5.0) orm_adapter (0.5.0)
pry (0.10.4) paperclip (5.2.0)
activemodel (>= 4.2.0)
activesupport (>= 4.2.0)
cocaine (~> 0.5.5)
mime-types
mimemagic (~> 0.3.0)
paperclip-i18n (4.3.0)
pry (0.11.1)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.8.1) method_source (~> 0.9.0)
slop (~> 3.4)
pry-rails (0.3.6) pry-rails (0.3.6)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (2.0.5) public_suffix (3.0.0)
puma (3.8.2) puma (3.10.0)
rack (1.6.5) rack (1.6.11)
rack-pjax (1.0.0) 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.8) rails (4.2.10)
actionmailer (= 4.2.8) actionmailer (= 4.2.10)
actionpack (= 4.2.8) actionpack (= 4.2.10)
actionview (= 4.2.8) actionview (= 4.2.10)
activejob (= 4.2.8) activejob (= 4.2.10)
activemodel (= 4.2.8) activemodel (= 4.2.10)
activerecord (= 4.2.8) activerecord (= 4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
bundler (>= 1.3.0, < 2.0) bundler (>= 1.3.0, < 2.0)
railties (= 4.2.8) railties (= 4.2.10)
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.8) rails-dom-testing (1.0.9)
activesupport (>= 4.2.0.beta, < 5.0) activesupport (>= 4.2.0, < 5.0)
nokogiri (~> 1.6) 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.3.0)
loofah (~> 2.0) loofah (~> 2.3)
rails-i18n (4.0.9) 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 (1.1.1) rails_admin (1.3.0)
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)
haml (~> 4.0) haml (>= 4.0, < 6)
jquery-rails (>= 3.0, < 5) jquery-rails (>= 3.0, < 5)
jquery-ui-rails (~> 5.0) jquery-ui-rails (~> 5.0)
kaminari (~> 0.14) kaminari (>= 0.14, < 2.0)
nested_form (~> 0.3) nested_form (~> 0.3)
rack-pjax (>= 0.7) rack-pjax (>= 0.7)
rails (>= 4.0, < 6) rails (>= 4.0, < 6)
remotipart (~> 1.3) remotipart (~> 1.3)
sass-rails (>= 4.0, < 6) sass-rails (>= 4.0, < 6)
rails_bootstrap_navbar (2.0.1)
bootstrap-navbar (~> 2.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.8) railties (4.2.10)
actionpack (= 4.2.8) actionpack (= 4.2.10)
activesupport (= 4.2.8) activesupport (= 4.2.10)
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rake (12.0.0) rake (12.3.3)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rdoc (4.3.0) rdoc (4.3.0)
remotipart (1.3.1) redcarpet (3.4.0)
responders (2.3.0) remotipart (1.4.2)
railties (>= 4.2.0, < 5.1) responders (2.4.1)
roadie (3.2.1) actionpack (>= 4.2.0, < 6.0)
css_parser (~> 1.4.5) railties (>= 4.2.0, < 6.0)
nokogiri (>= 1.5.0, < 1.8.0) roadie (3.2.2)
roadie-rails (1.1.1) css_parser (~> 1.4)
railties (>= 3.0, < 5.1) nokogiri (~> 1.5)
roadie-rails (1.2.1)
railties (>= 3.0, < 5.2)
roadie (~> 3.1) roadie (~> 3.1)
rspec (3.5.0) route_translator (4.4.1)
rspec-core (~> 3.5.0) actionpack (>= 3.2, < 5.0)
rspec-expectations (~> 3.5.0) activesupport (>= 3.2, < 5.0)
rspec-mocks (~> 3.5.0) rspec (3.6.0)
rspec-core (3.5.4) rspec-core (~> 3.6.0)
rspec-support (~> 3.5.0) rspec-expectations (~> 3.6.0)
rspec-expectations (3.5.0) rspec-mocks (~> 3.6.0)
rspec-core (3.6.0)
rspec-support (~> 3.6.0)
rspec-expectations (3.6.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0) rspec-support (~> 3.6.0)
rspec-mocks (3.5.0) rspec-mocks (3.6.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0) rspec-support (~> 3.6.0)
rspec-rails (3.5.2) rspec-rails (3.6.1)
actionpack (>= 3.0) actionpack (>= 3.0)
activesupport (>= 3.0) activesupport (>= 3.0)
railties (>= 3.0) railties (>= 3.0)
rspec-core (~> 3.5.0) rspec-core (~> 3.6.0)
rspec-expectations (~> 3.5.0) rspec-expectations (~> 3.6.0)
rspec-mocks (~> 3.5.0) rspec-mocks (~> 3.6.0)
rspec-support (~> 3.5.0) rspec-support (~> 3.6.0)
rspec-support (3.5.0) rspec-support (3.6.0)
sass (3.4.23) sass (3.5.6)
sass-rails (5.0.6) sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sass-rails (5.0.7)
railties (>= 4.0.0, < 6) railties (>= 4.0.0, < 6)
sass (~> 3.1) sass (~> 3.1)
sprockets (>= 2.8, < 4.0) sprockets (>= 2.8, < 4.0)
@@ -253,31 +310,35 @@ GEM
sdoc (0.4.2) 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.4.0) simple-navigation (4.0.5)
actionpack (> 4, < 5.1) activesupport (>= 2.3.2)
activemodel (> 4, < 5.1) simple_form (3.5.0)
slim (3.0.7) actionpack (> 4, < 5.2)
temple (~> 0.7.6) activemodel (> 4, < 5.2)
slim (3.0.8)
temple (>= 0.7.6, < 0.9)
tilt (>= 1.3.3, < 2.1) tilt (>= 1.3.3, < 2.1)
slim-rails (3.1.2) 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) sprockets (3.7.2)
sprockets (3.7.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
rack (> 1, < 3) rack (> 1, < 3)
sprockets-rails (3.2.0) sprockets-rails (3.2.1)
actionpack (>= 4.0) actionpack (>= 4.0)
activesupport (>= 4.0) activesupport (>= 4.0)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
temple (0.7.7) stackprof (0.2.10)
thor (0.19.4) stripe (3.6.0)
faraday (~> 0.10)
temple (0.8.0)
thor (0.20.3)
thread_safe (0.3.6) thread_safe (0.3.6)
tilt (2.0.7) tilt (2.0.8)
tzinfo (1.2.3) tzinfo (1.2.5)
thread_safe (~> 0.1) thread_safe (~> 0.1)
uglifier (3.1.10) uglifier (3.2.0)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
warden (1.2.7) warden (1.2.7)
rack (>= 1.0) rack (>= 1.0)
@@ -286,43 +347,53 @@ GEM
binding_of_caller (>= 0.7.2) binding_of_caller (>= 0.7.2)
railties (>= 4.0) railties (>= 4.0)
sprockets-rails (>= 2.0, < 4.0) sprockets-rails (>= 2.0, < 4.0)
xpath (2.0.0) xpath (2.1.0)
nokogiri (~> 1.3) nokogiri (~> 1.3)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
aws-sdk (< 3.0)
bootstrap-sass (~> 3.3.5) bootstrap-sass (~> 3.3.5)
byebug byebug
capybara capybara
coffee-rails (~> 4.1.0) coffee-rails (~> 4.1.0)
derailed_benchmarks
devise devise
devise-i18n devise-i18n
dotenv-rails dotenv-rails
factory_girl
faker faker
geocoder geocoder
i18n-js
jbuilder (~> 2.0) jbuilder (~> 2.0)
jquery-rails jquery-rails
kaminari-actionview
kaminari-mongoid kaminari-mongoid
mailchimp-api
mongoid (~> 5.0.0) mongoid (~> 5.0.0)
mongoid-paperclip
mongoid-rspec (= 3.0.0) mongoid-rspec (= 3.0.0)
mongoid_paranoia mongoid_paranoia
paperclip-i18n
pry-rails pry-rails
puma puma
rails (~> 4.2) rails (~> 4.2)
rails-i18n rails-i18n
rails_12factor rails_12factor
rails_admin rails_admin
rails_bootstrap_navbar redcarpet
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-navigation
simple_form simple_form
slim slim
slim-rails slim-rails
stackprof
stripe
uglifier (>= 1.3.0) uglifier (>= 1.3.0)
web-console (~> 2.0) web-console (~> 2.0)
@@ -330,4 +401,4 @@ RUBY VERSION
ruby 2.3.1p112 ruby 2.3.1p112
BUNDLED WITH BUNDLED WITH
1.14.6 1.16.0
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 233 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

+1
View File
@@ -15,4 +15,5 @@
//= require bootstrap-sprockets //= require bootstrap-sprockets
//= require typeahead.bundle //= require typeahead.bundle
//= require markerclusterer_compiled //= require markerclusterer_compiled
//= require i18n/translations
//= require_tree . //= require_tree .
+3
View File
@@ -0,0 +1,3 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
+3
View File
@@ -0,0 +1,3 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
+25
View File
@@ -0,0 +1,25 @@
$(document).ready(function(){
$('.statement article').each(function(){
var trimLength = 300;
var trimMargin = 1.2; // don't trim just a couple of words
if($(this).text().length > (trimLength * trimMargin)) {
var text = $(this).text();
var trimPoint = $(this).text().indexOf(" ", trimLength);
var newContent = text.substring(0, trimPoint)+'<span class="read-more">'+text.substring(trimPoint)+'</span><span class="toggle">... <a href="#">' + I18n.t("pages.statements.read_more");
+ '</a></span>';
$(this).html(newContent);
}
});
$('.toggle a').click(function(e){
e.preventDefault();
var para = $(this).closest('article');
var initialHeight = $(this).closest('article').innerHeight();
para.find('.read-more').show();
para.find('.toggle').hide();
var newHeight = para.innerHeight();
para.css('max-height', initialHeight+'px');
para.animate({ maxHeight: newHeight }, 300, function(){
para.css('max-height', 'none');
});
});
});
+85 -14
View File
@@ -13,21 +13,24 @@
*= require_tree . *= require_tree .
*= require_self *= require_self
*/ */
@import "variables"
$brand-success: #66903F
$navbar-default-bg: #FFF
$navbar-default-border: none
$font-size-base: 14px
$navbar-padding-horizontal: none
$navbar-default-link-color: #66903F
$navbar-default-link-active-bg: #FFF
$font-size-h1: floor($font-size-base * 1.8)
$font-size-h2: 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"
@import "statements"
@import "donations"
@import "nav"
*:focus
outline: 0
-webkit-box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.075), 0 0 8px red
box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.075), 0 0 8px red
.form-control:focus, input:focus
outline: 0
-webkit-box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.075), 0 0 8px $brand-success
box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.075), 0 0 8px $brand-success
.alert-alert .alert-alert
@extend .alert-danger @extend .alert-danger
@@ -35,18 +38,52 @@ $font-size-h3: floor($font-size-base * 1.2)
.alert-notice .alert-notice
@extend .alert-info @extend .alert-info
body.admin
background: repeating-linear-gradient(45deg, yellow, yellow 50px, black 50px, black 100px)
body body
> .container nav.languages
position: relative
padding: 3px
.container.content
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: 20px padding: 20px
margin-top: 10px
background: #FFF
.anouncement
margin-top: 10px
.lead
margin: 0px
header header
.pagelogo
max-height: 91px
h1 h1
font-size: 20px font-size: 20px
margin-top: 35px margin-top: 35px
.navbar
.container
padding-left: 0px
header > .row
margin-bottom: 12px
main > h1
margin-top: 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
@@ -85,3 +122,37 @@ 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
.donation_button
height: 50px
background: $brand-success
width: 200px
text-align: center
font-size: 18px
line-height: 50px
font-family: sans-serif
color: #FFF
transform: rotate(-45deg)
position: relative
top: 26px
left: -47px
box-shadow: inset 0px 0px 0px 4px rgba(255, 255, 255, 0.34)
a
color: #FFF
.row.fix
display: flex
flex-wrap: wrap
width: 100%
+3
View File
@@ -0,0 +1,3 @@
// Place all the styles related to the charges controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
+24
View File
@@ -0,0 +1,24 @@
.progress
.progress-bar-default
background-color: #f5f5f5
color: green
font-size: 1.2em
.progress-target
border-right: 2px solid black
text-align: right
padding: 1em
display: inline-block
.donatebox
font-size: 24px
margin: 15px
width: 80px
height: 80px
.crypto_address
word-wrap: break-word
font-weight: bold
img.crypto_address
margin: 5px
+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;
}
+11
View File
@@ -0,0 +1,11 @@
// Place all the styles related to the Greendays controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/
.well > h2
margin-top: 0px
#map
width: 100%
height: 300px
margin-bottom: 12px
+34
View File
@@ -0,0 +1,34 @@
@import "variables"
nav#mainnav
marign-top: 12px
font-size: 16pt
a
color: $brand-success
a.selected
font-weight: bold
ul
list-style: none
padding: 0px
li
padding: 5px 5px 5px 10px
ul
padding-left: 20px
li
font-size: 12pt
li.selected
background-color: $brand-success
a
color: white
#greendays
margin-bottom: 12px
border: 1px solid $brand-success
+30
View File
@@ -0,0 +1,30 @@
.field_with_errors {
padding: 2px;
background-color: red;
display: table;
}
#error_explanation {
width: 450px;
border: 2px solid red;
padding: 7px;
padding-bottom: 0;
margin-bottom: 20px;
background-color: #f0f0f0;
h2 {
text-align: left;
font-weight: bold;
padding: 5px 5px 5px 15px;
font-size: 12px;
margin: -7px;
margin-bottom: 0px;
background-color: #c00;
color: #fff;
}
ul li {
font-size: 12px;
list-style: square;
}
}
+24
View File
@@ -0,0 +1,24 @@
@import "variables"
.statement
display: inline-table
width: 45%
margin: 5px
img
margin-right: 14px
float: left
h2
font-size: $font-size-base
margin: 0px
display: inline
.read-more
display: none
@media (max-width: 800px)
.statement
display: block
width: 100%
margin: 5px
+10
View File
@@ -0,0 +1,10 @@
$brand-success: #4b7d1c
$navbar-default-bg: #FFF
$navbar-default-border: none
$font-size-base: 14px
$navbar-padding-horizontal: none
$navbar-default-link-color: #66903F
$navbar-default-link-active-bg: #FFF
$font-size-h1: floor($font-size-base * 1.8)
$font-size-h2: floor($font-size-base * 1.5)
$font-size-h3: floor($font-size-base * 1.2)
@@ -1,5 +1,15 @@
module Admin module Admin
class ApplicationController < ::ApplicationController class ApplicationController < ::ApplicationController
http_basic_authenticate_with name: 'admin', password: ENV['ADMIN_PASSWORD'] unless Rails.env.development? before_action :authenticate_supporter!
before_action :authenticate_admin!
def authenticate_admin!
return true if current_supporter.admin?
head(:forbidden)
end
def admin_area
true
end
end end
end end
@@ -0,0 +1,29 @@
module Admin
class PublicitiesController < Admin::ApplicationController
def index
@pending = Supporter.where('publicity.state' => :pending).asc(:created_at)
@active = Supporter.where('publicity.state' => :approved).asc(:created_at)
end
def edit
@publicity = Supporter.find(params[:id]).publicity
end
def update
@publicity = Supporter.find(params[:id]).publicity
return redirect_to(admin_publicities_path) if @publicity.update_attributes(publicity_params)
render :edit
end
def destroy
current_supporter.publicity&.destroy
redirect_to(admin_publicities_path)
end
private
def publicity_params
params.require(:publicity).permit(:organisation, :statement, :avatar, :state)
end
end
end
+5 -1
View File
@@ -29,9 +29,13 @@ class ApplicationController < ActionController::Base
options.merge locale: I18n.locale options.merge locale: I18n.locale
end end
def admin_area
false
end
protected protected
def configure_permitted_parameters def configure_permitted_parameters
devise_parameter_sanitizer.permit(:account_update, keys: [:first_name, :last_name, :street, :city, :zip, :support, :language, :age_category, :unsubscribed]) devise_parameter_sanitizer.permit(:account_update, keys: [:first_name, :last_name, :street, :city, :zip, :support, :language, :age_category])
end end
end end
+29
View File
@@ -0,0 +1,29 @@
class ChargesController < ApplicationController
def new; end
def create
@amount = params[:amount]
begin
@amount = Float(@amount).round(2)
rescue
flash[:danger] = 'Bitte geben sie einen Betrag in CHF ein.'
redirect_to donation_path
return
end
@amount = (@amount * 100).to_i # Must be an integer!
if @amount < 1000
flash[:danger] = 'Ihre Spende muss mindestens 10.- CHF betragen.'
redirect_to donation_path
return
end
Stripe::Charge.create(amount: @amount, currency: 'CHF', source: params[:stripeToken], description: 'Initiativspende')
rescue Stripe::CardError => e
flash[:danger] = e.message
redirect_to donation_path
end
end
+65
View File
@@ -0,0 +1,65 @@
class GreendaysController < ApplicationController
before_action :only_admin, except: [:index, :show]
before_action :set_greenday, only: [:show, :edit, :update, :destroy]
def index
@greendays = Greenday.all.sort(title: 1)
end
def new
@greenday = Greenday.new
end
def edit; end
def create
@greenday = Greenday.new(greenday_params)
respond_to do |format|
if @greenday.save
format.html { redirect_to greendays_path, success: 'Greenday was successfully created.' }
format.json { render :show, status: :created, location: @greenday }
else
format.html { render :new }
format.json { render json: @greenday.errors, status: :unprocessable_entity }
end
end
end
def update
respond_to do |format|
if @greenday.update(greenday_params)
format.html { redirect_to greendays_path, notice: 'Greenday was successfully updated.' }
format.json { render :show, status: :ok, location: @greenday }
else
format.html { render :edit }
format.json { render json: @greenday.errors, status: :unprocessable_entity }
end
end
end
def destroy
@greenday.destroy
respond_to do |format|
format.html { redirect_to greendays_path, notice: 'Greenday was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_greenday
@greenday = Greenday.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def greenday_params
params.require(:greenday).permit(:title, :address, :homepage, :description, :logo, :delete_logo)
end
def only_admin
return true if current_supporter && current_supporter.admin?
raise ActionController::RoutingError, 'Not Found'
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
+29
View File
@@ -0,0 +1,29 @@
class PublicitiesController < ApplicationController
before_action :authenticate_supporter!
def new
@publicity = current_supporter.publicity || Publicity.new
end
def create
@publicity = Publicity.new(publicity_params.merge(supporter: current_supporter, state: :pending))
flash['success'] = t('.success') if @publicity.valid?
return redirect_to(root_path) if @publicity.save
render :new
end
def update
create
end
def destroy
current_supporter.publicity&.destroy
redirect_to(root_path)
end
private
def publicity_params
params.require(:publicity).permit(:organisation, :statement, :avatar)
end
end
+9 -18
View File
@@ -9,8 +9,8 @@ class SupportersController < ApplicationController
@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) @supporter.password = random_password = SecureRandom.hex(5)
if !input_to_fast? && @supporter.save if !input_to_fast? && @supporter.save
SupporterMailer.welcome_email(@supporter, random_password).deliver_now # SupporterMailer.welcome_email(@supporter, random_password).deliver_now
mailchimp_registration sendy_registraion
redirect_to thanks_path redirect_to thanks_path
else else
flash.now[:danger] = input_to_fast? ? t('.timeout') : t('input_error') flash.now[:danger] = input_to_fast? ? t('.timeout') : t('input_error')
@@ -21,23 +21,14 @@ class SupportersController < ApplicationController
private private
def supporter_form_params def supporter_form_params
params.require(:supporter).permit(:first_name, :last_name, :street, :zip, :email, :support, :li_membership, :age_category, :city, :comments) params.require(:supporter).permit(:first_name, :last_name, :street, :zip, :email, :support, :li_membership, :age_category, :city, :comments, :tel)
end end
def mailchimp_registration # We use sendy for newsletters atm
return unless Rails.env.production? def sendy_registraion
mailchimp = Mailchimp::API.new(ENV['MAILCHIMP_API']) uri = URI('http://newsletter.cannabis-initiative.ch/subscribe')
mailchimp.lists.subscribe(ENV['CH420_LIST_ID'], { 'email' => @supporter.email }, merge_vars, 'html', false) Net::HTTP.post_form(uri, list: ENV["SENDY_LIST_#{I18n.locale.upcase}"],
end email: @supporter.email,
name: "#{@supporter.first_name} #{@supporter.last_name}")
def merge_vars
{ 'EMAIL' => @supporter.email,
'FNAME' => @supporter.first_name,
'LNAME' => @supporter.last_name,
'SUPPORT' => @supporter.support,
'MEMBERSHIP' => @supporter.li_membership.to_s,
'AGE' => @supporter.age_category,
'LANG' => @supporter.language,
'ZIP' => @supporter.zip }
end end
end end
+9
View File
@@ -3,4 +3,13 @@ module ApplicationHelper
content_for :title, strip_tags(page_title.to_s) content_for :title, strip_tags(page_title.to_s)
page_title page_title
end end
def markdown(content)
@markdown ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true, space_after_headers: true)
@markdown.render(content)
end
def admin?
current_supporter && current_supporter.admin?
end
end end
+2
View File
@@ -0,0 +1,2 @@
module ChargesHelper
end
+43
View File
@@ -0,0 +1,43 @@
class Greenday
include Mongoid::Document
include Mongoid::Timestamps
include Geocoder::Model::Mongoid
include Mongoid::Paperclip
before_save :delete_logo?
has_mongoid_attached_file :logo,
path: ':attachment/:id/:style.:extension',
styles: {
original: ['1920x1680>', :jpg],
small: ['100x100#', :jpg],
medium: ['250x250', :jpg],
large: ['500x500>', :jpg]
},
convert_options: { all: '-background white -flatten +matte' }
field :title, type: String
field :address, type: String
field :homepage, type: String
field :description, type: String
field :coordinates, type: Array
geocoded_by :address
after_validation :geocode # auto-fetch coordinates
validates :title, presence: true
validates :address, presence: true
validates_attachment_content_type :logo, content_type: ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
def delete_logo
@delete_logo ||= '0'
end
attr_writer :delete_logo
private
def delete_logo?
logo.clear if @delete_logo == '1'
end
end
+26
View File
@@ -0,0 +1,26 @@
class Publicity
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Paperclip
has_mongoid_attached_file :avatar,
path: ':attachment/:id/:style.:extension',
styles: {
original: ['1920x1680>', :jpg],
small: ['100x100#', :jpg],
medium: ['250x250', :jpg],
large: ['500x500>', :jpg]
},
convert_options: { all: '-background white -flatten +matte' }
embedded_in :supporter
field :state, type: String, default: 'pending' # Possible states: pending, approved
field :organisation, type: String
field :statement, type: String
validates :state, presence: true
validates :avatar, presence: true
validates :statement, presence: true
validates_attachment_content_type :avatar, content_type: /\Aimage/
end
+10 -17
View File
@@ -1,5 +1,11 @@
class Supporter class Supporter
include Mongoid::Document include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Paranoia
include Geocoder::Model::Mongoid
COUNTER_START = 10_003
# Include default devise modules. Others available are: # Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable # :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable, devise :database_authenticatable, :registerable,
@@ -8,6 +14,7 @@ class Supporter
## Database authenticatable ## Database authenticatable
field :email, type: String, default: '' field :email, type: String, default: ''
field :encrypted_password, type: String, default: '' field :encrypted_password, type: String, default: ''
field :admin, type: Boolean, default: false
## Recoverable ## Recoverable
field :reset_password_token, type: String field :reset_password_token, type: String
@@ -23,22 +30,6 @@ class Supporter
field :current_sign_in_ip, type: String field :current_sign_in_ip, type: String
field :last_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::Paranoia
include Geocoder::Model::Mongoid
COUNTER_START = 10_003
geocoded_by :address geocoded_by :address
after_validation :geocode # auto-fetch coordinates after_validation :geocode # auto-fetch coordinates
@@ -53,8 +44,8 @@ class Supporter
field :coordinates, type: Array field :coordinates, type: Array
field :comments, type: String field :comments, type: String
field :language, type: String field :language, type: String
field :unsubscribed, type: Boolean, default: false
field :duplicate, type: Boolean, default: false field :duplicate, type: Boolean, default: false
field :tel, type: String
validates :first_name, presence: true validates :first_name, presence: true
validates :last_name, presence: true validates :last_name, presence: true
@@ -66,6 +57,8 @@ class Supporter
validates :age_category, presence: true validates :age_category, presence: true
validates :language, presence: true validates :language, presence: true
embeds_one :publicity
def self.counter def self.counter
actual = count.to_i actual = count.to_i
actual > COUNTER_START ? actual : COUNTER_START actual > COUNTER_START ? actual : COUNTER_START
+1 -2
View File
@@ -10,7 +10,6 @@ css:
#map #map
javascript: javascript:
function pinSymbol(color) { function pinSymbol(color) {
return { return {
path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0', path: 'M 0,0 C -2,-20 -10,-22 -10,-30 A 10,10 0 1,1 10,-30 C 10,-22 2,-20 0,0 z M -2,-30 a 2,2 0 1,1 4,0 2,2 0 1,1 -4,0',
@@ -24,7 +23,7 @@ javascript:
function initMap() { function initMap() {
var supporters = #{@supporters.to_json.html_safe} var supporters = #{@supporters.to_json.html_safe}
console.log(@supporters.to_json.html_safe);
var customMapType = new google.maps.StyledMapType([{"featureType":"water","elementType":"geometry","stylers":[{"color":"#e9e9e9"},{"lightness":17}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"color":"#f5f5f5"},{"lightness":20}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#ffffff"},{"lightness":17}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#ffffff"},{"lightness":29},{"weight":0.2}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":18}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":16}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#f5f5f5"},{"lightness":21}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#dedede"},{"lightness":21}]},{"elementType":"labels.text.stroke","stylers":[{"visibility":"on"},{"color":"#ffffff"},{"lightness":16}]},{"elementType":"labels.text.fill","stylers":[{"saturation":36},{"color":"#333333"},{"lightness":40}]},{"elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"transit","elementType":"geometry","stylers":[{"color":"#f2f2f2"},{"lightness":19}]},{"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#fefefe"},{"lightness":20}]},{"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#fefefe"},{"lightness":17},{"weight":1.2}]}], { var customMapType = new google.maps.StyledMapType([{"featureType":"water","elementType":"geometry","stylers":[{"color":"#e9e9e9"},{"lightness":17}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"color":"#f5f5f5"},{"lightness":20}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#ffffff"},{"lightness":17}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#ffffff"},{"lightness":29},{"weight":0.2}]},{"featureType":"road.arterial","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":18}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#ffffff"},{"lightness":16}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#f5f5f5"},{"lightness":21}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#dedede"},{"lightness":21}]},{"elementType":"labels.text.stroke","stylers":[{"visibility":"on"},{"color":"#ffffff"},{"lightness":16}]},{"elementType":"labels.text.fill","stylers":[{"saturation":36},{"color":"#333333"},{"lightness":40}]},{"elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"transit","elementType":"geometry","stylers":[{"color":"#f2f2f2"},{"lightness":19}]},{"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#fefefe"},{"lightness":20}]},{"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#fefefe"},{"lightness":17},{"weight":1.2}]}], {
name: 'Black White' name: 'Black White'
}); });
+14
View File
@@ -0,0 +1,14 @@
h1= title "#{t('.title')} #{@publicity.supporter.first_name} #{@publicity.supporter.last_name}, #{@publicity.supporter.city}"
= simple_form_for(@publicity, url: admin_publicity_path(@publicity.supporter)) do |form|
.form-group
= "#{@publicity.supporter.first_name} #{@publicity.supporter.last_name}, #{@publicity.supporter.city}"
= form.input :organisation, required: false
= form.input :statement, as: :text, required: false
= form.input :avatar, as: :file, required: false
- if @publicity.avatar
.form-group
= image_tag(@publicity.avatar.url(:medium))
= form.input :state, as: :radio_buttons, collection: t('publicity_states').map{ |x| [x.first, raw(x.last)]}, label_method: :last, value_method: :first, required: false
= form.submit t('shared.save'), class: 'btn btn-primary'
+1
View File
@@ -0,0 +1 @@
= render 'form'
+19
View File
@@ -0,0 +1,19 @@
h1 = title t('.title')
table.table
tbody
- @pending.each do | supporter |
tr
td
= "#{supporter.first_name} #{supporter.last_name}"
br
= supporter.city
br
= mail_to supporter.email, supporter.email
br
= supporter.publicity.organisation
td width="50%" = supporter.publicity.statement
td = image_tag(supporter.publicity.avatar.url(:small))
td = link_to t('shared.edit'), edit_admin_publicity_path(supporter)
@@ -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 Suchtbehandlung, 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.
+3
View File
@@ -0,0 +1,3 @@
h1 = title 'Vielen Dank für Ihre Spende'
p Auch dank Ihrer Hilfe können wir uns aktiv für die Interessen der Cannabis-Konsumenten einsetzen.
+4
View File
@@ -0,0 +1,4 @@
b Am Samstag 25. November ist Nationaler CBD-Tag!
p Um die #{link_to 'Finanzierung der Sammlung und Beglaubigung', donation_path} der eidgenössischen #{link_to 'Volksinitiative zur Cannabislegalisierung', initiative_text_path} in der Schweiz voranzutreiben, lanciert der Verein Legalize it! in Zusammenarbeit mit dem #{link_to 'Branchenverband IG Hanf', 'https://www.ighanf.ch/D_about.html', target: '_blank'} am Samstag 25. November 2017 den ersten nationalen CBD-Tag.
p In jedem Laden steht eine Spendenbox, welche für Spenden für die Initiative benutzt werden kann und die dem Verein Legalize it! zugute kommt.
p Welche Läden mitmachen, seht ihr auf der Karte:
+14
View File
@@ -0,0 +1,14 @@
= simple_form_for(@greenday) do |f|
= f.error_notification
.form-inputs
= f.input :title
= f.input :address, as: :text
= f.input :homepage
= f.input :description, as: :text
= f.input :logo, as: :file, required: false
= image_tag f.object.logo.url(:original), alt: '', class: 'img-responsive'
= f.input :delete_logo, as: :boolean
.form-actions
= f.button :submit, 'Shop speichern'
@@ -0,0 +1,2 @@
json.extract! greenday, :id, :title, :address, :coordinates, :homepage, :logo, :description, :created_at, :updated_at
json.url greenday_url(greenday, format: :json)
+8
View File
@@ -0,0 +1,8 @@
h1 Editing greenday
== render 'form'
= link_to 'Show', @greenday
' |
= link_to 'Back', greendays_path
+69
View File
@@ -0,0 +1,69 @@
h1.sr-only = title '#Greensaturday'
= render 'description'
#map
= link_to 'Neuen Shop erfassen', new_greenday_path if admin?
.row.fix
- @greendays.each do |greenday|
.col-xs-12.col-sm-6.col-lg-4
.well
h2 = greenday.title
- if greenday.logo.url(:original) != '/logos/original/missing.png'
= image_tag greenday.logo.url(:original), alt: '', class: 'img-responsive'
address = simple_format(greenday.address)
- if greenday.homepage
= link_to("Website", greenday.homepage, target: "_blank")
p = markdown(greenday.description).html_safe
- if admin?
= link_to 'Bearbeiten', edit_greenday_path(greenday)
| &nbsp;
= link_to 'Löschen', greenday, data: { confirm: 'Are you sure?' }, method: :delete
javascript:
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8, center: {lat: 47.242, lng: 8.133},
});
var greendays_url = "#{greendays_url(format: :json)}"
var infowindow = new google.maps.InfoWindow({
content: '',
maxWidth: 200
});
$.getJSON(greendays_url, function(json) {
$.each(json, function(key, data) {
var marker = new google.maps.Marker({
position: {lat: data.coordinates[1], lng: data.coordinates[0] },
map: map,
title: data.title
});
marker.addListener('click', function() {
infowindow.open(map, marker);
var content = '<b>' + data.title + '</b>'
if(data.logo) {
content += '<img src="' + data.logo + ' alt="" width="100%"/>'
}
content += '<address>' + data.address.replace(/\n/g,"<br>")
if(data.homepage) {
content += '<br/><a href="' + data.homepage + '" target="_blank">Website</a>'
}
content += '</address>'
if(data.description) {
content += '<p>' + data.description + '</p>'
}
infowindow.setContent(content);
});
});
});
}
script async="" defer="" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBbwMtGKDqf4i8x9-OVP1-H_QVAKp92h2M&callback=initMap&libraries=visualization"
+1
View File
@@ -0,0 +1 @@
json.array! @greendays, partial: 'greendays/greenday', as: :greenday
+5
View File
@@ -0,0 +1,5 @@
h1 New greenday
== render 'form'
= link_to 'Back', greendays_path
+49 -6
View File
@@ -1,6 +1,7 @@
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)}
@@ -21,11 +22,25 @@ html lang="#{I18n.locale}"
link href="/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png" / link href="/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png" /
link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png" / link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png" /
link href="/manifest.json" rel="manifest" / link href="/manifest.json" rel="manifest" /
meta name="viewport" content="width=device-width, initial-scale=1.0"
meta content="#ffffff" name="msapplication-TileColor" / meta content="#ffffff" name="msapplication-TileColor" /
meta content="/ms-icon-144x144.png" name="msapplication-TileImage" / meta content="/ms-icon-144x144.png" name="msapplication-TileImage" /
meta content="#ffffff" name="theme-color" / meta content="#ffffff" name="theme-color" /
body meta property="og:title" content="#{content_for(:title)}"
meta property="og:description" content="#{t('shared.description')}"
meta property="og:image" content="#{image_url('ch420_logo.png')}"
meta name="twitter:title" content="#{content_for(:title)}"
meta name="twitter:image" content="#{image_url('ch420_logo.png')}"
meta name="twitter:site" content="@vereinlegalize"
meta name="twitter:description" content="#{t('shared.description')}"
meta name="twitter:image:alt" content="#{t('shared.header.logo')}"
body class="#{'admin' if controller.admin_area}"
javascript: javascript:
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -34,10 +49,38 @@ html lang="#{I18n.locale}"
ga('create', 'UA-79948850-1', 'auto'); ga('create', 'UA-79948850-1', 'auto');
ga('send', 'pageview'); ga('send', 'pageview');
.container.anouncement
/.text-center.lead.alert.alert-success
| Für das Projekt Initiative ist Ende Januar ein neuer Träger­verein gegründet worden.
br
| Weitere Informationen dazu werden folgen.
/ = console if Rails.env.development? nav.languages.pull-right
.container h2.sr-only =t('shared.lang')
a href='/' lang='de'
| Deutsch
| &nbsp; | &nbsp;
a href='/it' lang='it'
| Italiano
| &nbsp; | &nbsp;
a href='/fr' lang='fr'
| Français
.container.content
= render 'shared/flashes' = render 'shared/flashes'
= render 'shared/header' = render 'shared/header'
= render 'shared/topnavigation' .row
= yield .col-xs-12.col-sm-3
nav#mainnav = render_navigation
.col-xs-12.col-sm-9
main= yield
hr
footer.row
/.col-xs-12.col-sm-6
/= render 'core_statements'
.col-xs-12
p Dieses Onlineformular wurde vom <a href="https://www.hanflegal.ch">Verein Legalize it!</a> erstellt, um Unterstützende für eine neue Volksinitiative zur Legalisierung von Cannabis in der Schweiz zu sammeln. Die Geschichte des Initiativprojekts kann im <a href="/pages/archiv">Archiv</a> nachgelesen werden. Fragen zum Initiativprojekt können an <a href="mailto: info@cannabis-consensus.ch">info@cannabis-consensus.ch</a> gestellt werden.
javascript:
I18n.defaultLocale = "#{I18n.default_locale}";
I18n.locale = "#{I18n.locale}";
+41
View File
@@ -0,0 +1,41 @@
markdown:
## März 2019
[So will eine neue Hanf-Allianz das Kiffen legalisieren](https://www.blick.ch/news/schweiz/starker-jugendschutz-staatliche-markt-kontrolle-so-will-eine-neue-hanf-allianz-das-kiffen-legalisieren-id15196799.html)
## Februar 2019
[Cannabis-Initiative erhält neuen Schub](https://www.aargauerzeitung.ch/schweiz/volksinitiative-geplant-legalisierung-von-cannabis-erhaelt-neuen-schub-134096909)
## November 2018
[Podium über Cannabis](https://zueriost.ch/news/2018-11-21/kaum-bedenken-fuer-cannabislegalisierung)
## Juni 2018
[Une votation populaire](https://www.letemps.ch/suisse/essais-pilotes-cannabis-legal-lespoir-tenu-villes-face-parlement)
## April 2018
[Die grössten Hürden für die Cannabis-Legalisierung](https://www.vice.com/de_ch/article/qvxaab/7-gegner-der-cannabis-legalisierung-initiative-hanflegal-dech)
## März 2018
[Unterschriftensammlung wird aus gutem Grund verschoben](https://www.watson.ch/schweiz/gesellschaft%20&%20politik/943177354-kiffer-freunde-wollen-buergerliche-fuer-gras-legaliserung-ins-boot-holen)
## November 2017
[Das gibt der Cannabis-Initiative Rückenwind](https://www.20min.ch/schweiz/news/story/-Das-gibt-der-Cannabis-Initiative-Rueckenwind--30790796)
## Oktober 2017
[Der VICE-Guide zum Kiffen in der Schweiz](https://www.vice.com/de_ch/article/59yzbz/der-vice-guide-zum-kiffen-in-der-schweiz)
## August 2017
[Schützt die Jugend - legalisiert Cannabis!](https://www.nzz.ch/meinung/drogenpolitik-schuetzt-die-jugend-legalisiert-cannabis-ld.1312315)
## April 2017
[Könnte das Verbot fallen?](https://www.vice.com/de_ch/article/d7bdwz/wieso-haben-wir-in-der-schweiz-das-kiffen-noch-immer-nicht-legalisiert-weedweek2017)
## Januar 2017
[12mila simpatizzanti](http://www.caffe.ch/stories/attualita/56687_vogliamo_che_lerba_venga_legalizzata/)
## Dezember 2016
[Wann wird Cannabis in der Schweiz legalisiert?](http://www.solothurnerzeitung.ch/schweiz/wann-wird-cannabis-in-der-schweiz-legalisiert-130765070)
## Mai 2016
[Kiffer wandern drei Stunden durchs Rheintal](http://www.20min.ch/schweiz/ostschweiz/story/Kiffer-wandern-drei-Stunden-durchs-Rheintal-15418622)
## April 2016
[«Legalize it!» plant Volksinitiative zur Cannabis-Legalisierung](http://www.watson.ch/Schweiz/Gesellschaft%20&%20Politik/807046564-%C2%ABLegalize-it!%C2%BB-Privater-Verein-plant-Volksinitiative-zur-Cannabis-Legalisierung)
+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
+118
View File
@@ -0,0 +1,118 @@
h1 = title 'Deine Spende zählt - Verein Legalize it!'
script src="https://checkout.stripe.com/checkout.js"
javascript:
var handler = StripeCheckout.configure({
key: "#{Rails.configuration.stripe[:publishable_key]}",
locale: '#{I18n.locale}',
image: '#{image_url("ch420_logo.png")}',
name: 'Verein Legalize it!',
currency: 'CHF',
description: 'Initiativspende',
token: function(token) {
$('input#stripeToken').val(token.id);
$('form').submit();
}
});
h2 Via Kreditkarte online spenden
= form_tag charges_path do
= hidden_field_tag(:stripeToken)
#error_explanation.text-danger.hidden
= flash[:error] if flash[:error].present?
.row
.col-xs12.col-md-5
button.donatebox.btn.btn-success onclick="donate(20)" 20 .-
button.donatebox.btn.btn-success onclick="donate(50)" 50 .-
button.donatebox.btn.btn-success onclick="donate(100)" 100 .-
button.donatebox.btn.btn-success onclick="donate(200)" 200 .-
button.donatebox.btn.btn-success onclick="donate(500)" 500 .-
button.donatebox.btn.btn-success onclick="donate(1000)" 1000 .-
.col-xs12.col-md-6
.form-group
strong oder einen eigenen Betrag
.form-group
.input-group
.input-group-addon CHF
= text_field_tag(:amount, 100 , class: 'form-control')
.form-group
button#donateButton.btn.btn-success Spenden übermitteln
h2 Mit Bitcoin, Bitcoin Cash oder Ethereum spenden
.row
.col-md-6.col-xs-12
p
= image_tag '1LaYbTiCjhrUhxrQ9D5BQUfxPmRqJ7Q3gG.png', alt: 'Bitcoin Adresse: 1LaYbTiCjhrUhxrQ9D5BQUfxPmRqJ7Q3gG', width: '150', class: 'pull-right'
div
| Gerne nehmen wir auch Spenden via Bitcoin unter folgender Adresse entgegen:
br
span.crypto_address 1LaYbTiCjhrUhxrQ9D5BQUfxPmRqJ7Q3gG
br
| oder Bitcoin Cash:
br
i.crypto_address 1LVGcneFcYqCkhDFNsnhWb6x7cCHHxakg9
.col-md-6.col-xs-12
p
= image_tag 'ethereum_address.png', alt: 'Ethereum Adresse: 0x8747d7F53FdaCD01bb269757E2bdd885B3033A45', width: '150', class: 'pull-right crypto_address'
div
| Gerne nehmen wir auch Spenden via Ethereum unter folgender Adresse entgegen:
br
span.crypto_address 0x8747d7F53FdaCD01bb269757E2bdd885B3033A45
.clearfix
h2 Per Überweisung spenden
.row
.col-md-7.col-xs-12
dl.dl-horizontal
dt Postkonto:
dd 87-091354-3, Verein Legalize it!, Quellenstrasse 25, 8005 Zürich
dt IBAN:
dd CH02 0900 0000 8709 1354 3
dt Zahlungszweck:
dd Spende Initiative
.col-md-5.col-xs-12
= link_to asset_path('Einzahlungsschein_Spende_Initiative.pdf') do
= image_tag('Einzahlungsschein_Spende_Initiative.jpg', class:'img-responsive', alt: 'Einzahlungsschein Spende initiative')
p
b Wir würden uns freuen, wenn ihr das macht und uns finanziell unter die Arme greift.
p Danke, dein Verein Legalize it!
javascript:
$('.donatebox').on('click', function(e) {
e.preventDefault();
});
function donate(amount) {
$('#amount').val(amount);
$('#donateButton').click();
}
$('#donateButton').on('click', function(e) {
e.preventDefault();
$('#error_explanation').html('');
var amount = $('input#amount').val();
amount = parseFloat(amount);
if (isNaN(amount)) {
$('#error_explanation').toggleClass('hidden')
$('#error_explanation').html('<p>Bitte geben sie einen Betrag in CHF ein.</p>');
}
else if (amount < 10.00) {
$('#error_explanation').toggleClass('hidden')
$('#error_explanation').html('<p>Ihre Spende muss mindestens 10.- CHF betragen.</p>');
}
else {
amount = amount * 100; // Needs to be an integer!
handler.open({
amount: Math.round(amount)
})
}
});
+91
View File
@@ -0,0 +1,91 @@
.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 Suchtbehandlung, 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. Personen kommen weniger in Kontakt mit anderen Drogen, wenn sie keinen Kontakt mit Dealern haben müssen. Ein Modell, dass in Holland seit Jahrzehnten erfolgreich umgesetzt wird.
h2 Führt Cannabis-Konsum zu Psychosen?
p Das Risiko, durch das Rauchen von Cannabis eine psychische Erkrankung zu entwickeln, ist in Relation zur gesamten Zahl aller Cannabis-Konsumenten sehr gering und wissenschaftlich nicht bewiesen.
p <a href="http://www.sciencedirect.com/science/article/pii/S0955395909001182" target="_blank">Studien, die sich mit dieser Thematik befassen, liefern lediglich Hinweise</a>. Die meisten Studien sind nicht oder quasi experimentell. Das heisst sie Untersuchen das Geschehene erst im Nachhinein. Die konsumierte Menge wird oft gar nicht erhoben oder kann nicht exakt bestimmt werden. Die Qualität und der Wirkstoffgehalt kann nicht überprüft werden, da auf dem Schwarzmarkt bezogenes Cannabis weder geprüft, noch deklariert ist. Es ist, als ob man ein Weizenbier mit gepanschtem Wodka vergleichen würde. Meist kann also nicht einmal aussgeschlossen werden ob nicht auch Verunreinigungen den Effekt erklären und zur Psychose führen könnte.
p Wird die Ursache und Wirkung untersucht, muss die zeitliche Abfolge der Ereignisse berücksichtig werden. Es muss also die Erkrankung nach dem Konsum nachgewiesen sein. Psychische Erkrankungen beginnen oft schleichend und werden von den Betroffenen erst spät als solche wahrgenommen. Cannabis-Konsum, der zwischen Erkrankung und Diagnose beginnt, ist demnach nicht mehr Ursache, sondern Wirkung. Dieses Phänomen kann als eine unbewusste Selbstmedikation interpretiert werden. Bei vielen Studien wird, gerade diese Annahme der Kausalität schlicht nicht berücksichtigt ein methodischer Mangel der Studie.
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.
+29
View File
@@ -0,0 +1,29 @@
sass:
.initiative_text
ol
counter-reset: item
list-style: none
li
counter-increment: item
li:before
content: counter(item)
vertical-align: super
font-size: 0.8em
display: inline-block
h1= title 'Der Initiativtext im Wortlaut'
.well.initiative_text
p Die Bundesverfassung vom 18. April 1999 wird wie folgt geändert:
p Art. 105a (neu) Cannabis:
ol
li Der Konsum von Stoffen und Präparaten des Wirkungstyps Cannabis sowie die Vorbereitung zum eigenen Konsum ist straffrei. Der Anbau von Pflanzen, welche die Herstellung von Stoffen und Präparaten dieses Wirkungstyps für den Eigenbedarf ermöglichen, 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
ol
li
| Der Bund kann besondere Verbrauchssteuern erheben auf:
br
| &nbsp; 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.
+74
View File
@@ -0,0 +1,74 @@
article
h1 = title "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 Mindestens einmaliger Konsum innerhalb der letzten 12 Monaten
td ca. 536000
td 6.7%
tr
td Mindestens einmaliger Konsum innerhalb der letzten 30 Tage
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="https://www.bfs.admin.ch/bfs/de/home/statistiken/kriminalitaet-strafrecht/polizei/betaebungsmittelsubstanzen.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"↵
-28
View File
@@ -1,28 +0,0 @@
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
.row
.col-xs-12.col-md-9
= link_to asset_path('Einzahlungsschein_Spende_Initiative.pdf') do
= image_tag('Einzahlungsschein_Spende_Initiative.jpg', class:'img-responsive pagelogo', alt: 'Einzahlungsschein 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!
h3 Weitere Informationen zur Initiative findest du hier:
ul
li = link_to 'Initiativ-Seite', 'https://www.hanflegal.ch/initiative'
li = link_to 'Onlineformular', root_path
+17
View File
@@ -0,0 +1,17 @@
h1 = title "Unsere Sponsoren"
.lead
| Wir suchen tatkräftige Sponsoren, die uns bei der Sammlung der Unterschriften und im späteren Wahlkampf finanziell unterstützen. Im Gegenzug ermöglichen wir den Sponsoren, sich mit Logo, einem kleinen Text und Link zu präsentieren.
h2 Beispiel...
.well
.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'
+13
View File
@@ -0,0 +1,13 @@
- supporters = Supporter.where('publicity.state' => :approved).desc('publicity.created_at')
h1 = title t('.title')
- supporters.each do |supporter|
.statement
= image_tag supporter.publicity.avatar.url(:small), alt: "#{supporter.first_name} #{supporter.last_name}"
h2= "#{supporter.first_name} #{supporter.last_name}, #{supporter.city}"
- unless supporter.publicity.organisation.blank?
em= ", #{supporter.publicity.organisation}"
br
article= supporter.publicity.statement
hr.clearfix
.text-center = link_to t(".submit_your_own_statement"), new_publicity_path
+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
+2 -41
View File
@@ -1,43 +1,4 @@
h1 h1 = title t('.title')
= title t('.title')
| Du bist nun ein Teil der Bewegung!
h2 Wie sieht das weitere Vorgehen aus?
p p
| Wir informieren dich per E-Mail über die nächsten Schritte und kommen aktiv auf dich zu.
| Auf #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'} informieren wir über laufende Aktivitäten.
h2 Was kannst du machen?
ul
li Versende den <a href="mailto:?subject=Es wird Zeit, Cannabis in der Schweiz legalisieren&body=Ich hab meine Unterstützung zugesichert unter https://ch420.herokuapp.com. Unterstütze uns auch du.">Link zum Online-Formular</a> an all deine Freunde und Bekannte
li Folge uns auf <a href="https://www.facebook.com/vereinlegalizeit">Facebook</a> und <a href="https://twitter.com/VereinLegalize">Twitter</a>
li Teile unser Projekt in den sozialen Medien mit dem Hashtag #CH420
li Erzähle allen von unserem Vorhaben und bitte Sie mitzumachen
li Werde Mitglied beim <a href="https://www.hanflegal.ch">Verein Legalize it!</a>
li = link_to 'Spende für die Legalisierung', spenden_path
li Besuche unser <a href="https://forum.hanflegal.ch">Forum</a>. Da findest du eine Jobbörse und spannende Projekte bei denen wir deine Hilfe brauchen können
h2 Folge uns auf Facebook
#fb-root
javascript:
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&version=v2.4&appId=236723906381514";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
.fb-like data-action="like" data-href="https://www.facebook.com/vereinlegalizeit" data-layout="standard" data-share="true" data-show-faces="true"
h2 Folge uns auf Twitter
p
<a href="https://twitter.com/vereinlegalize" class="twitter-follow-button" data-show-count="false" data-lang="de" data-size="large">@vereinlegalize folgen</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
.lead Setze ein Zeichen und zeig, dass du uns unterstützt
p
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://ch420.herokuapp.com" data-text="Ja, ich will Cannabis in der Schweiz legalisieren" data-via="vereinlegalize" data-lang="de" data-size="large" data-hashtags="ch420">Twittern</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
p
a href="/" Zurück zum Formular a href="/" Zurück zum Formular
-40
View File
@@ -1,40 +0,0 @@
h1
= title t('.title')
| Tu fais maintenant partie du mouvement!
h2 Quelles sont les prochaines étapes?
p
| Nous allons tenvoyer par e-mail les informations sur les prochaines étapes.
| Sur #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'} initiative nous informons des activités en cours.
h2 Que peux-tu faire?
ul
li Envoie le <a href="mailto:?subject=Oui, je veux légaliser le cannabis en Suisse.&body=Envoie un signe et montre que tu nous soutiens sur https://ch420.herokuapp.com. Unterstütze uns auch du.">lien pour le formulaire en ligne</a> à tous tes amis et connaissances
li Suis-nous sur <a href="https://www.facebook.com/vereinlegalizeit">Facebook</a> et <a href="https://twitter.com/VereinLegalize">Twitter</a>
li Partage notre projet sur les réseaux sociaux avec le hashtag #CH420
li Raconte à tout le monde ce que nous avons prévu et demande leurs de participer
li Deviens un <a href="https://www.hanflegal.ch">membre de lassociation Legalize it!</a>
h2 Suis-nous sur Facebook
#fb-root
javascript:
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&version=v2.4&appId=236723906381514";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
.fb-like data-action="like" data-href="https://www.facebook.com/vereinlegalizeit" data-layout="standard" data-share="true" data-show-faces="true"
h2 Retour au formulaire
p
<a href="https://twitter.com/vereinlegalize" class="twitter-follow-button" data-show-count="false" data-lang="de" data-size="large">@vereinlegalize folgen</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
h2 Envoie un signe et montre que tu nous soutiens
p
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://ch420.herokuapp.com" data-text="Ja, ich will Cannabis in der Schweiz legalisieren" data-via="vereinlegalize" data-lang="de" data-size="large" data-hashtags="ch420">Twittern</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
p
a href="/fr" Retour au formulaire
-39
View File
@@ -1,39 +0,0 @@
h1
= title t('.title')
| Ora sei una parte del movimento!
h2 Qual’é la strada da seguire?
p
| Vi informeremo via e-mail circa i prossimi passi e diventare attivo.
| Su #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'} può informarsi sulle attività in corso.
h2 Che cosa puoi fare?
ul
li Invia il <a href="mailto:?subject=Si, voglio legalizzare la cannabis in Svizzera&body=https://ch420.herokuapp.com">link del formulario on-line</a> a tutti i tuoi amici e conoscenti
li Seguici su <a href="https://www.facebook.com/vereinlegalizeit">Facebook</a> e <a href="https://twitter.com/VereinLegalize">Twitter</a>
li Racconta die nostri progetti sui social media con lHashtag #CH420
li Di a tutti di unirsi ai nostri progetti
li Diventa un membro dell <a href="https://www.hanflegal.ch">associazione Verein Legalize it!</a>
h2 Seguici su Facebook
#fb-root
javascript:
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&version=v2.4&appId=236723906381514";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
.fb-like data-action="like" data-href="https://www.facebook.com/vereinlegalizeit" data-layout="standard" data-share="true" data-show-faces="true"
h2 Seguici su Twitter
p
<a href="https://twitter.com/vereinlegalize" class="twitter-follow-button" data-show-count="false" data-lang="de" data-size="large">@vereinlegalize folgen</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
p
<a href="https://twitter.com/share" class="twitter-share-button" data-url="https://ch420.herokuapp.com" data-text="Ja, ich will Cannabis in der Schweiz legalisieren" data-via="vereinlegalize" data-lang="de" data-size="large" data-hashtags="ch420">Twittern</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
p
a href="/it" Vai alla modulo
+6
View File
@@ -0,0 +1,6 @@
h1= title t('.title')
= simple_form_for(@publicity, url: publicity_path) do |form|
= form.input :organisation, required: false, label: t('.organisation'), placeholder: t('.organisation_placeholder')
= form.input :statement, as: :text, required: false
= form.input :avatar, as: :file, label: t('.avatar'), required: false
= form.submit t('.save'), class: 'btn btn-primary'
+1
View File
@@ -0,0 +1 @@
= render 'form'
+3 -16
View File
@@ -1,20 +1,7 @@
header header
.row .row
.col-md-1.col-xs-4 .col-xs-8
= image_tag('ch420_logo.png', class:'img-responsive pagelogo', alt: t('.logo'))
.col-md-8.col-xs-8
h1 h1
= t('.title_html') = t('.title_html')
.col-xs-12.col-md-3 .col-xs-12.col-md-4.hidden-xs.hidden-sm
nav.pull-right = render 'shared/counter'
h2.sr-only =t('.lang')
a href='/' lang='de'
| Deutsch
| &nbsp; | &nbsp;
a href='/it' lang='it'
| Italiano
| &nbsp; | &nbsp;
a href='/fr' lang='fr'
| Français
br/
= render 'shared/counter'
-8
View File
@@ -1,8 +0,0 @@
= navbar do
= navbar_header
= navbar_collapse do
= navbar_group id: 'topnav' do
= navbar_item "Home", "/#{I18n.locale}"
= navbar_item t('.donation'), spenden_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?
+8 -9
View File
@@ -1,6 +1,6 @@
- title(t('shared.header.title_html')) - title(t('shared.header.title_html'))
.row .row
.col-xs-12.col-md-7 .col-xs-12
h2.sr-only = t('.form') h2.sr-only = t('.form')
= simple_form_for @supporter do |f| = simple_form_for @supporter do |f|
= f.input :first_name, placeholder: t('.placeholders.first_name') = f.input :first_name, placeholder: t('.placeholders.first_name')
@@ -9,6 +9,7 @@
= f.input :city, placeholder: t('.placeholders.city') = f.input :city, placeholder: t('.placeholders.city')
= f.input :zip, placeholder: t('.placeholders.zip') = f.input :zip, placeholder: t('.placeholders.zip')
= f.input :email, placeholder: t('.placeholders.email') = f.input :email, placeholder: t('.placeholders.email')
= f.input :tel, placeholder: '+41 (0) xxxx'
= 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 :support, as: :radio_buttons, collection: t('support_type').map{ |x| [x.first, raw(x.last)]}, label_method: :last, value_method: :first
= f.input :li_membership, as: :boolean = f.input :li_membership, as: :boolean
= f.input :age_category, as: :radio_buttons, collection: t('age_category'), label_method: :last, value_method: :first = f.input :age_category, as: :radio_buttons, collection: t('age_category'), label_method: :last, value_method: :first
@@ -28,11 +29,11 @@
wildcard: '%QUERY', wildcard: '%QUERY',
} }
}); });
var suggestion_template = function (data) { var suggestion_template = function (data) {
return '<p>' + data.plz + ' - ' + data.city + '</p>'; return '<p>' + data.plz + ' - ' + data.city + '</p>';
} }
$('#supporter_city').typeahead({ $('#supporter_city').typeahead({
minLength: 2, minLength: 2,
},{ },{
@@ -43,11 +44,11 @@
return suggestion_template(data); return suggestion_template(data);
} }
}, },
source: cities source: cities
}).on('typeahead:selected', function(event, datum) { }).on('typeahead:selected', function(event, datum) {
$("#supporter_zip").val(datum.plz); $("#supporter_zip").val(datum.plz);
}); });
$('#supporter_zip').typeahead({ $('#supporter_zip').typeahead({
minLength: 2, minLength: 2,
},{ },{
@@ -58,9 +59,7 @@
return suggestion_template(data); return suggestion_template(data);
} }
}, },
source: cities source: cities
}).on('typeahead:selected', function(event, datum) { }).on('typeahead:selected', function(event, datum) {
$("#supporter_city").val(datum.city); $("#supporter_city").val(datum.city);
}); });
aside.col-md-5.col-xs-12
= render 'right_side'
+25
View File
@@ -0,0 +1,25 @@
- if current_supporter.publicity
.panel.panel-default
.panel-heading
h2.panel-title
= t '.title'
.panel-body
dl.dl-horizontal
dt = Publicity.human_attribute_name(:status)
dd= t("publicity_states.#{current_supporter.publicity.state}")
- unless current_supporter.publicity.organisation.blank?
dt = Publicity.human_attribute_name(:organisation)
dd = current_supporter.publicity.organisation
dt = Publicity.human_attribute_name(:statement)
dd = current_supporter.publicity.statement
dt = Publicity.human_attribute_name(:avatar)
dd = image_tag current_supporter.publicity.avatar.url(:small), alt: ''
.pull-right
= link_to t(".renew"), new_publicity_path
br
= link_to t(".delete"), publicity_path, data: { confirm: t("shared.are_you_sure") }, method: :delete, class: 'text-danger'
- else
.alert.alert-notice
= link_to t('.create_publicity'), new_publicity_path
-34
View File
@@ -1,34 +0,0 @@
.well
h2.sr-only Über die Initiative
p = image_tag 'li_logo.svg', class: 'img-responsive', alt: 'Logo des Vereins Legalize it!'
p Wir wollen die nötigen Unterschriften für eine Volksinitiative zur Cannabis-Legalisierung sammeln. Für die Umsetzung setzt man auf ein neues Sammelkonzept. Dies funktioniert in drei Schritten:
p
strong Schritt 1:
| Durch dieses Onlineformular sammeln wir Sympathisanten und potentielle Aktivisten.
p
strong Schritt 2:
| Sobald die geforderte Anzahl Personen gesammelt sind, schauen wir, wie viele Ressourcen an Helfer/innen an welchen Orten benötigt werden.
p
strong Schritt 3:
| 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 Mehr Informationen findest du unter #{link_to 'https://www.hanflegal.ch/initiative', 'https://www.hanflegal.ch/initiative'}
/ p.embed-responsive.embed-responsive-4by3
iframe.embed-responsive-item src="https://www.youtube.com/embed/l5DjuLXRVVM" frameborder="0" allowfullscreen=""
/ p.embed-responsive.embed-responsive-4by3
iframe src="https://www.youtube.com/embed/videoseries?list=PLlC7Go4yV6YKunLd6O627HTQlNswQQ6vw" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen
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.
h3 Kontakt
p
| Nino Forrer (#{mail_to 'nino@hanflegal.ch'})
em Strategie / Presse
br
| Markus Graf (#{mail_to 'markus@hanflegal.ch'})
em Inhalt / Technik
-29
View File
@@ -1,29 +0,0 @@
.well
h2.sr-only A propos de l'initiative
p = image_tag 'li_logo.svg', class: 'img-responsive', alt: 'Logo de l\'association Legalize It!'
p Nous voulons recueillir les signatures nécessaires pour une initiative populaire pour la légalisation du cannabis. Pour lexécution de ce projet, un nouveau concept de collection a été mis sur pieds. Cela fonctionne en trois étapes:
p
strong Etape 1:
| Avec ce formulaire en ligne, nous recueillions des sympathisants et des militants potentiels.
p
strong Etape 2:
| Une fois que le nombre nécessaire de personnes est atteint, nous pouvons regarder dans quel région de la Suisse se trouvent les différents militants.
p
strong Etape 3:
| Grâce à une logistique sophistiquée, les sympathisants et militants seront réunis pour pouvoir obtenir ensemble les signatures nécessaires.
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?
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
-30
View File
@@ -1,30 +0,0 @@
.well
h2.sr-only A proposito l'iniziativa
p = image_tag 'li_logo.svg', class: 'img-responsive', alt: 'Logo dell\'associazione Legalize It!'
p Vogliamo raccogliere le firme necessarie per un'iniziativa popolare per la legalizzazione della cannabis. Per implementare l'accento su un nuovo concetto collettivo. Questo funziona in tre fasi:
p
strong Fase 1:
| Con questo modulo on-line che raccoglie simpatizzanti e potenziali attivisti.
p
strong Fase 2:
| Una volta raccolto il numero richiesto di persone, andiamo a vedere quante risorse di aiuto sono in nel luogo dove richiesto.
p
strong Fase 3:
| Utilizzando un sofisticata logistica riuniremo simpatizzanti e attivisti per generare congiuntamente le firme necessarie.
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?
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
+8 -11
View File
@@ -1,11 +1,11 @@
- if supporter_signed_in? - if supporter_signed_in?
h1.sr-only = title t('.title', name: current_supporter.first_name) h1.sr-only = title t('.title', name: current_supporter.first_name)
.row .row
.col-xs-12.col-md-7 .col-xs-12
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
h2.panel-title = t '.my_data' h2.panel-title = t '.my_data'
.panel-body .panel-body
dl.dl-horizontal dl.dl-horizontal
dt = Supporter.human_attribute_name(:email) dt = Supporter.human_attribute_name(:email)
dd = current_supporter.email dd = current_supporter.email
@@ -23,16 +23,13 @@
dd == t("age_category.#{current_supporter.age_category}") dd == t("age_category.#{current_supporter.age_category}")
dt = Supporter.human_attribute_name(:language) dt = Supporter.human_attribute_name(:language)
dd = t("languages.#{current_supporter.language}") dd = t("languages.#{current_supporter.language}")
dt = Supporter.human_attribute_name(:unsubscribed) dt = Supporter.human_attribute_name(:tel)
dd = current_supporter.unsubscribed? ? t('shared.yes') : t('shared.no') dd = current_supporter.tel
p p
= link_to t('.edit'), edit_supporter_registration_path(), class: 'pull-right' = link_to t('.edit'), edit_supporter_registration_path(), class: 'pull-right'
= render 'publicity'
aside.col-md-5.col-xs-12
= render 'right_side'
- else - else
= render 'form' = render 'form'
@@ -19,10 +19,8 @@
= 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 :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 :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 :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 .form-actions
= f.button :submit, t("devise.registrations.edit.update"), class: 'btn btn-primary' = f.button :submit, t("devise.registrations.edit.update"), class: 'btn btn-primary'
p = link_to t("devise.shared.links.back"), :back
hr 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' 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'
+1 -1
View File
@@ -1,4 +1,4 @@
h1= title t(".sign_in") h1= title t("devise.sessions.new.sign_in")
= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| = simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
.form-inputs .form-inputs
= f.input :email, required: false, autofocus: true = f.input :email, required: false, autofocus: true
+53
View File
@@ -0,0 +1,53 @@
library(mongolite)
library(xlsx)
Sys.setlocale("LC_ALL", "de_DE")
# Connect to the databes with the supporter collection
m <- mongo(db="heroku_t242kdp0", collection = "supporters")
# Find all datasets not marked as dublicates
dt <- m$find('{"duplicate": { "$ne": true }}')
dt$created_at <- as.Date(dt$created_at)
# Filter erroneous data
dt <- subset(dt, zip >=1000)
dt <- subset(dt, zip < 10000)
# Read BFS-Data with statistics of population from 2014
population_per_plz4 <- read.xlsx(file = "external_data/su-d-01.02.03.07.xls", sheetName = "2014", startRow = 5, endRow = 3189, colIndex = c(1,2))
colnames(population_per_plz4) <- c('zip', 'popuplation')
# Read canton name and zip from
ktkz_plz4 <- read.xlsx(file = "external_data/be-b-00.04-osv-01.xls", sheetName = "PLZ4 -> GDE - NPA4 -> COM", startRow = 12,colIndex = c(1,2,4,5))
colnames(ktkz_plz4) <- c('zip', 'percent_of_community', 'canton', 'name')
ktkz_plz4 <- ktkz_plz4[order(100-ktkz_plz4$percent_of_community),]
ktkz_plz4_uniq <- ktkz_plz4[!duplicated(ktkz_plz4$zip),]
# Merge population and canton by zip together
location_description <- merge(ktkz_plz4_uniq, population_per_plz4, by='zip')
# Total participants per zip
participants <- as.data.frame(table(dt$zip))
colnames(participants) <- c('zip','total_participants')
# Signers only
signers <- as.data.frame(table(subset(dt, support=="signer")$zip))
colnames(signers) <- c('zip','signers')
# Supporters only
supporters <- as.data.frame(table(subset(dt, support=="supporter")$zip))
colnames(supporters) <- c('zip','supporters')
# Merge everything to one big table
main_table <- merge(location_description, participants, by="zip", all.x=T)
main_table <- merge(main_table, signers, by="zip", all.x=T)
main_table <- merge(main_table, supporters, by="zip", all.x=T)
# Calculate ratio in population
main_table$total_participants_ratio <- main_table$total_participants / main_table$popuplation
main_table$total_signers_ratio <- main_table$signers / main_table$popuplation
main_table$total_supporters_ratio <- main_table$supporters / main_table$popuplation
# Export as xlsx
write.xlsx2(main_table, file = "20170703_tagi_export.xlsx", row.names=F)
+6 -1
View File
@@ -1,7 +1,6 @@
--- ---
title: '#CH420 Statistiken Onlineforumlar' title: '#CH420 Statistiken Onlineforumlar'
author: "Markus Graf" author: "Markus Graf"
date: "23. April 2016"
output: html_document output: html_document
--- ---
@@ -28,4 +27,10 @@ pielabels<- paste(percentlabels, "%", sep="")
cols <- rainbow(4) cols <- rainbow(4)
pie(ages, main="Altersverteilung #CH420", col=cols, labels=pielabels, cex=0.8, sub=paste("N =", sum(ages))) pie(ages, main="Altersverteilung #CH420", col=cols, labels=pielabels, cex=0.8, sub=paste("N =", sum(ages)))
legend("topright", c("30-64",">64","< 18","18-30"), cex=0.8, fill=cols) legend("topright", c("30-64",">64","< 18","18-30"), cex=0.8, fill=cols)
support <- table(all$support)
pielabels<- support
cols <- rainbow(2)
pie(support, main="Supportverteilung #CH420", col=cols, labels=pielabels, cex=0.8, sub=paste("N =", sum(support)))
legend("topright", c("Unterschreibende","Sammler"), cex=0.8, fill=cols)
``` ```
+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, :en]
config.generators do |g| config.generators do |g|
g.orm :mongoid g.orm :mongoid
+12
View File
@@ -41,4 +41,16 @@ Rails.application.configure do
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 }
config.paperclip_defaults = {
storage: :s3,
s3_protocol: :https,
s3_region: ENV["S3_REGION"],
s3_host_name: ENV["S3_HOST_NAME"],
s3_credentials: {
bucket: "cannabis-initiative-development",
access_key_id: ENV["S3_ACCESS_KEY"],
secret_access_key: ENV["S3_ACCESS_SECRET"]
}
}
end end
+14 -2
View File
@@ -74,8 +74,8 @@ Rails.application.configure do
# Use default logging formatter so that PID and timestamp are not suppressed. # Use default logging formatter so that PID and timestamp are not suppressed.
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: 'www.cannabis-initiative.ch' }
config.action_mailer.asset_host = 'https://ch420.herokuapp.com' config.action_mailer.asset_host = 'https://www.cannabis-initiative.ch'
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { config.action_mailer.smtp_settings = {
@@ -87,4 +87,16 @@ Rails.application.configure do
authentication: :plain, authentication: :plain,
enable_starttls_auto: true enable_starttls_auto: true
} }
config.paperclip_defaults = {
storage: :s3,
s3_protocol: :https,
s3_region: ENV["S3_REGION"],
s3_host_name: ENV["S3_HOST_NAME"],
s3_credentials: {
bucket: "cannabis-initiative-production",
access_key_id: ENV["S3_ACCESS_KEY"],
secret_access_key: ENV["S3_ACCESS_SECRET"]
}
}
end end
+107
View File
@@ -0,0 +1,107 @@
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
config.middleware.insert_before(::Rack::Runtime, "::Rack::Auth::Basic", "Staging") do |_u, p|
p == ENV['STAGING_PASSWORD']
end
# Code is not reloaded between requests.
config.cache_classes = true
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both threaded web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true
# Full error reports are disabled and caching is turned on.
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Enable Rack::Cache to put a simple HTTP cache in front of your application
# Add `rack-cache` to your Gemfile before enabling this.
# For large-scale production use, consider using a caching reverse proxy like
# NGINX, varnish or squid.
# config.action_dispatch.rack_cache = true
# Disable serving static files from the `/public` folder by default since
# Apache or NGINX already handles this.
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
# Asset digests allow you to set far-future HTTP expiration dates on all assets,
# yet still be able to expire them through the digest params.
config.assets.digest = true
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
# Specifies the header that your server uses for sending files.
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = true
# Use the lowest log level to ensure availability of diagnostic information
# when problems arise.
config.log_level = :warn
# Prepend all log lines with the following tags.
# config.log_tags = [ :subdomain, :uuid ]
# Use a different logger for distributed setups.
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
# Use a different cache store in production.
# config.cache_store = :mem_cache_store
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
# config.action_controller.asset_host = 'http://assets.example.com'
# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true
# Send deprecation notices to registered listeners.
config.active_support.deprecation = :notify
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
config.action_mailer.default_url_options = { host: 'ch420-staging.herokuapp.com' }
config.action_mailer.asset_host = 'https://ch420-staging.herokuapp.com'
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
port: '587',
address: ENV['SMTP_HOST'],
user_name: ENV['SMTP_USER'],
password: ENV['SMTP_PASSWORD'],
domain: 'hanflegal.ch',
authentication: :plain,
enable_starttls_auto: true
}
config.paperclip_defaults = {
storage: :s3,
s3_protocol: :https,
s3_region: ENV["S3_REGION"],
s3_host_name: ENV["S3_HOST_NAME"],
s3_credentials: {
bucket: "cannabis-initiative-staging",
access_key_id: ENV["S3_ACCESS_KEY"],
secret_access_key: ENV["S3_ACCESS_SECRET"]
}
}
end
+1 -1
View File
@@ -12,7 +12,7 @@ Devise.setup do |config|
# Configure the e-mail address which will be shown in Devise::Mailer, # 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 # note that it will be overwritten if you use your own mailer class
# with default "from" parameter. # with default "from" parameter.
config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com' config.mailer_sender = ENV['FROM_MAIL']
# Configure the class responsible to send e-mails. # Configure the class responsible to send e-mails.
# config.mailer = 'Devise::Mailer' # config.mailer = 'Devise::Mailer'
+3
View File
@@ -0,0 +1,3 @@
Geocoder.configure(
lookup: :google,
api_key: ENV['GEOCODING_API'])
@@ -1,4 +0,0 @@
BootstrapNavbar.configure do |config|
config.bootstrap_version = '3.3.6'
config.root_paths = ['/', '/de', '/fr', '/it'] # default: ['/']
end
+1
View File
@@ -0,0 +1 @@
Slim::Engine.set_options pretty: true
+5
View File
@@ -0,0 +1,5 @@
Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
+8
View File
@@ -0,0 +1,8 @@
de:
admin:
title: Administration
publicities:
index:
title: Unveröffentlichte Statements
form:
title: Statement
+8
View File
@@ -0,0 +1,8 @@
fr:
admin:
title: Administration
publicities:
index:
title: Déclarations non publiées
form:
title: Déclaration
+8
View File
@@ -0,0 +1,8 @@
it:
admin:
title: Amministrazione
publicities:
index:
title: Dichiarazioni non pubblicati
form:
title: Dichiarazione
+70 -7
View File
@@ -1,20 +1,37 @@
de: de:
shared: shared:
crowdfunding: Unterstütze uns und mach mit beim Crowdfunding zur Finanzierung der Initiative!
"yes": Ja "yes": Ja
"no": Nein "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 support: Unterstützen
my_account: Mein Konto
sign_in: Anmelden sign_in: Anmelden
sign_out: Abmelden sign_out: Abmelden
initiative_text: Der Initiativtext im Wortlaut
initiative: Die Initiative
arguments: Argumentarium
faq: Fragen und Antworten
sponsoring: Sponsoren
numbers: Zahlen
statements: Statements
collection_concept: Wie macht man eine Volksinitiative?
lang: Sprache
are_you_sure: Bist du sicher?
edit: Bearbeiten
save: Speichern
description: Volksinitiative zur Legalisierung von Cannabis in der Schweiz.
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.
input_error: Deine Eingaben konnte nicht gespeichert werden. Überprüfe deine Eingaben. input_error: Deine Eingaben konnte nicht gespeichert werden. Überprüfe deine Eingaben.
donation: Deine Spende
welcome_email: welcome_email:
subject: Besten Dank für deine Unterstützung! subject: Besten Dank für deine Unterstützung!
@@ -29,6 +46,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
publicity_states:
pending: Die Veröffentlichung wurde noch nicht genehmigt
approved: Das Statement wurde Veröffentlicht
declined: Das Statement wurde abgelehnt
languages: languages:
de: Deutsch de: Deutsch
@@ -38,8 +60,6 @@ de:
supporters: supporters:
form: form:
form: Formular form: Formular
lang: Sprache
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>
submit: Unterstützung zusichern submit: Unterstützung zusichern
terms_and_conditions: Mit dem Absenden deiner Daten stimmst du den Nutzungsbedingungen zu. terms_and_conditions: Mit dem Absenden deiner Daten stimmst du den Nutzungsbedingungen zu.
@@ -50,18 +70,56 @@ de:
city: Hinterpfupfikon city: Hinterpfupfikon
zip: "4200" zip: "4200"
email: hans.muster@hanflegal.ch email: hans.muster@hanflegal.ch
publicity:
title: Mein Statement
renew: Statement neu einreichen
delete: Statement löschen
create_publicity: Deine Meinung zählt, darum bitten wir dir hier die Möglichkeit öffentlich deine Meinung zur Cannabis-Initiative kundzutun. Gib ein Starkes Statement ab und zeig dein Gesicht! Meine Unterstützung öffentlich kundtun ...
create: create:
timeout: Ihre Eingabe war zu schnell. timeout: Ihre Eingabe war zu schnell.
new: new:
title: Hallo %{name} title: Hallo %{name}
edit: Meine Daten bearbeiten... edit: Meine Daten bearbeiten
my_data: Meine Daten my_data: Meine Daten
publicities:
form:
title: Meine Meinung zur Cannabis-Initiative veröffentlichen
organisation: Organisation (Optional)
organisation_placeholder: Parteizugehörigkeit, Verband oder sonstige Organisationen
avatar: Lade ein Bild von dir Hoch
save: Zur Überprüfung einsenden
create:
success: Besten Dank die Daten werden überprüft.
update:
success: Besten Dank die Daten werden überprüft.
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!
statements:
title: Statements von unseren Unterstützern
submit_your_own_statement: Veröffentliche dein eigenes Statement...
read_more: das ganze Statement lesen.
routes:
initiative_text: initiativtext
arguments: argumentarium
faq: fragen_und_antworten
sponsoring: sponsoren
donation: spenden
numbers: zahlen
statementes: statements
collection_concept: Sammelkonzept
greendays: greensaturday
mongoid: mongoid:
models: models:
@@ -81,6 +139,11 @@ de:
remember_me: Angemeldet bleiben remember_me: Angemeldet bleiben
password: Passwort password: Passwort
language: Sprache language: Sprache
unsubscribed: Kein Newsletter
password_confirmation: Passwort bestätigen password_confirmation: Passwort bestätigen
current_password: Aktuelles Passwort current_password: Aktuelles Passwort
tel: Telefon (optional)
publicity:
state: Status
organisation: Organisation
statement: Statement
avatar: Bild
+77 -14
View File
@@ -2,43 +2,62 @@ 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:
crowdfunding: Soutenez-nous et participer à crowdfunding pour financer l'initiative!
"yes": Oui "yes": Oui
"no": Non "no": Non
counter: counter:
supporters: "Militant:" supporters: "Partisans:"
amount_of_supporters: Nous avons actuellement %{amount} supporters. amount_of_supporters: Nous avons actuellement %{amount} partisans.
header: header:
logo: Logo de l'initiative logo: Logo de l'initiative
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 support: Soutenez-nous
sign_out: déconnecter sign_out: déconnecter
sign_in: Connexion 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: Sponsors (en allemand)
numbers: Chiffres (en allemand)
statements: Déclarations
collection_concept: Comment faire une initiative populaire? (en allemand)
my_account: Mon compte
lang: Langue
are_you_sure: Tu es sûre?
edit: Éditer
save: Sauver
description: Initiative populaire pour la légalisation du cannabis en Suisse.
donation: Donation
welcome_email: welcome_email:
subject: Merci beaucoup pour ton soutien! subject: Merci beaucoup pour ton soutien!
support_type: support_type:
signer: Je signerais une initiative populaire pour la <span class="text-success">légalisation du cannabis</span>. signer: Je signerais une initiative populaire pour la <span class="text-success">légalisation du cannabis</span>.
supporter: Je signerais une initiative populaire pour la <span class="text-success">légalisation du cannabis</span> et aiderais activement à trouver des signatures dans ma région. supporter: Je signerais une initiative populaire pour la <span class="text-success">légalisation du cannabis</span> et aiderais activement à trouver des signatures dans ma région.
# activist: Ich unterschreibe eine Volksinitiative für die <span class="text-success">Legalisierung von Cannabis</span> und beteilige mich bei der Planung und Koordination einer Volksinitiative.
# nonvoting_supporter: Ich bin nicht stimmberechtigt, helfe aber aktiv Unterschriften in meiner Umgebung zu sammeln um <span class="text-success">Cannabis zu legalisierung</span>.
age_category: age_category:
underage: Jai moins de 18 ans underage: Jai moins de 18 ans
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
publicity_states:
pending: La publication n'a pas été approuvé
approved: La déclaration a été publiée
declined: La déclaration a été rejetée
languages: languages:
de: Deutsch de: Deutsch
fr: Français fr: Français
it: Italiano it: Italiano
supporters: supporters:
form: form:
form: Formulaire form: Formulaire
lang: Langue
submit: Confirmer mon soutien submit: Confirmer mon soutien
terms_and_conditions: En soumettant vos données, vous acceptez les conditions d'utilisation. terms_and_conditions: En soumettant vos données, vous acceptez les conditions d'utilisation.
placeholders: placeholders:
@@ -48,19 +67,57 @@ fr:
city: Hinterpfupfikon city: Hinterpfupfikon
zip: "4200" zip: "4200"
email: hans.muster@hanflegal.ch email: hans.muster@hanflegal.ch
publicity:
title: Ma déclaration
renew: resoumettre déclaration
delete: supprimer déclaration
create_publicity: Votre opinion compte, nous vous demandons ici d'exprimer publiquement votre avis sur initiative de cannabis possible. Rendre public mon soutien ...
create: create:
timeout: Ihre Eingabe war zu schnell. timeout: Ihre Eingabe war zu schnell.
new: new:
title: Salut %{name} title: Salut %{name}
edit: Modifier mes données ... edit: Modifier mes données
my_data: Mes données my_data: Mes données
publicities:
form:
title: Donner mon avis sur l'initiative de cannabis
organisation: Organisation (Facultatif)
organisation_placeholder: Affiliation parti, une association ou d'autres organisations
avatar: Ajouter une photo
save: Envoyé pour examen
create:
success: Merci, les données sont vérifiées.
update:
success: Merci, les données sont vérifié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!
statements:
title: Les déclarations de nos partisans
submit_your_own_statement: Publie tes propres déclaration ...
read_more: lire toute la déclaration.
routes:
initiative_text: l_initiative_propose
arguments: arguments
faq: questions_et_reponses
sponsoring: sponsor
donation: donation
numbers: chiffres
statements: declarations
collection_concept: plan_de_collecte
greendays: greensaturday
mongoid: mongoid:
models: models:
supporter: compte supporter: compte
@@ -79,6 +136,12 @@ fr:
remember_me: Se souvenir de moi remember_me: Se souvenir de moi
password: mot de passe password: mot de passe
language: Langue language: Langue
unsubscribed: pas de newslettre
password_confirmation: confirmer le mot de passe password_confirmation: confirmer le mot de passe
current_password: Mot de passe actuel current_password: Mot de passe actuel
tel: Téléphone (facultatif)
publicity:
status: Statu
organisation: Organisation
statement: Déclaration
avatar: Photo
+71 -7
View File
@@ -2,20 +2,37 @@ 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:
crowdfunding: Sostienici e ad entrare nel crowdfunding per finanziare l'iniziativa!
"yes": Si "yes": Si
"No": No "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 support: Sostenici
sign_out: Disconnettersi sign_out: Disconnettersi
sign_in: Registro sign_in: Registro
initiative_text: Il testo delliniziativa (in tedesco)
initiative: l'iniziativa
arguments: Argomentazioni
faq: Domande e risposte (in tedesco)
sponsoring: Sponsor
numbers: Numeri (in tedesco)
statements: Dichiarazioni
collection_concept: Come fare un iniziativa popolare? (in tedesco)
my_account: Il mio account
counter: counter:
supporters: "Sostenitore:" supporters: "Sostenitore:"
amount_of_supporters: Al momento abbiamo %{amount} sostenitori. amount_of_supporters: Al momento abbiamo %{amount} sostenitori.
lang: Lingua
are_you_sure: Sei sicuro?
edit: Modifica
save: Salvare
description: Liniziativa popolare per la legalizzazione della Cannabis in Svizzera
donation: Donazione
welcome_email: welcome_email:
subject: Grazie mille per il tuo sostegno! subject: Grazie mille per il tuo sostegno!
@@ -31,6 +48,11 @@ it:
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
publicity_states:
pending: La pubblicazione non è stato approvato
approved: La dichiarazione è stata rilasciata
declined: La dichiarazione è stata respinta
languages: languages:
de: Deutsch de: Deutsch
fr: Français fr: Français
@@ -39,7 +61,6 @@ it:
supporters: supporters:
form: form:
form: Modulo form: Modulo
lang: Lingua
logo: Logo dell'iniziativa logo: Logo dell'iniziativa
submit: Garantire il sostengo submit: Garantire il sostengo
terms_and_conditions: "Con l'invio dei tuoi dati, accetti le condizioni d'utilizzo." terms_and_conditions: "Con l'invio dei tuoi dati, accetti le condizioni d'utilizzo."
@@ -50,19 +71,57 @@ it:
city: Hinterpfupfikon city: Hinterpfupfikon
zip: "4200" zip: "4200"
email: hans.muster@hanflegal.ch email: hans.muster@hanflegal.ch
publicity:
title: La mia dichiarazione
renew: Ripresentare Statement
delete: Eliminare la dichiarazione
create_publicity: La tua opinione conta, quindi vi chiediamo qui pubblicamente esprimere la tua opinione su iniziativa di cannabis possibile. Girare in una dichiarazione forte e mostrare il tuo volto! Il mio supporto rendere pubblico ...
create: create:
timeout: Ihre Eingabe war zu schnell. timeout: Ihre Eingabe war zu schnell.
new: new:
title: Ciao %{name} title: Ciao %{name}
edit: Modifica i miei dati ... edit: Modifica i miei dati
my_data: Miei dati my_data: Miei dati
publicities:
form:
title: Lasciare un commento sull'iniziativa cannabis
organisation: Organizzazione (opzionale)
organisation_placeholder: Partito di appartenenza, di associazione o di altre organizzazioni
avatar: Carica una foto
save: Inviato per la revisione
create:
success: Grazie, i dati vengono controllati.
update:
success: Grazie, i dati vengono controllati.
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.
statements:
title: Dichiarazioni di nostri sostenitori
submit_your_own_statement: Pubblica il tuo propria dichiarazione ...
read_more: leggere l'intero.
routes:
initiative_text: il_testo_dell_iniziativa
arguments: argomentazioni
faq: domande_e_risposte
sponsoring: sponsor
donation: donazione
numbers: numeri
statements: dichiarazioni
collection_concept: sistema_di_raccolta
greendays: greensaturday
mongoid: mongoid:
attributes: attributes:
supporter: supporter:
@@ -79,6 +138,11 @@ it:
remember_me: Ricordati di mel remember_me: Ricordati di mel
password: Password password: Password
language: Lingua language: Lingua
unsubscribed: No Newsletter
password_confirmation: conferma password password_confirmation: conferma password
current_password: Password corrente current_password: Password corrente
tel: Telefono (opzionale)
publicity:
status: Statu
organisation: Organizzazione
statement: Dichiarazione
avatar: Foto
+472
View File
@@ -0,0 +1,472 @@
de:
mongoid:
errors:
messages:
blank_in_locale:
"can't be blank in %{location}"
message_title: "message"
summary_title: "summary"
resolution_title: "resolution"
ambiguous_relationship:
message: "Ambiguous relations %{candidates} defined on %{klass}."
summary:
"When Mongoid attempts to set an inverse document of a relation
in memory, it needs to know which relation it belongs to. When
setting %{name}, Mongoid looked on the class %{inverse}
for a matching relation, but multiples were found that could
potentially match: %{candidates}."
resolution: "On the %{name} relation on %{inverse} you must add an
:inverse_of option to specify the exact relationship on %{klass}
that is the opposite of %{name}."
callbacks:
message: "Calling %{method} on %{klass} resulted in a false return
from a callback."
summary: "If a before callback returns false when using Document.create!,
Document#save!, or Document#update_attributes! this error will get raised
since the document did not actually get saved."
resolution: "Double check all before callbacks to make sure they are
not unintentionally returning false."
calling_document_find_with_nil_is_invalid:
message: "Calling Document.find with nil is invalid."
summary: "Document.find expects the parameters to be 1 or more ids, and
will return a single document if 1 id is provided, otherwise an array
of documents if multiple ids are provided."
resolution: "Most likely this is caused by passing parameters directly
through to the find, and the parameter either is not present or the
key from which it is accessed is incorrect."
document_not_destroyed:
message: "%{klass} with id %{id} was not destroyed."
summary: "When calling %{klass}#destroy! and a callback halts the destroy
callback chain by returning a false value, the deletion will not
actually occur."
resolution: "Check the before/after destroy callbacks to ensure that the
return values are truthy for the chain to continue."
document_not_found:
message: "Document(s) not found for class %{klass} with id(s) %{missing}."
summary: "When calling %{klass}.find with an id or array of ids, each
parameter must match a document in the database or this error will be
raised. The search was for the id(s): %{searched} (%{total} total)
and the following ids were not found: %{missing}."
resolution: "Search for an id that is in the database or set
the Mongoid.raise_not_found_error configuration option to false,
which will cause a nil to be returned instead of raising this error when
searching for a single id, or only the matched documents when searching
for multiples."
document_with_attributes_not_found:
message: "Document not found for class %{klass} with attributes %{attributes}."
summary: "When calling %{klass}.find_by with a hash of attributes, all
attributes provided must match a document in the database or this error
will be raised."
resolution: "Search for attributes that are in the database or set
the Mongoid.raise_not_found_error configuration option to false,
which will cause a nil to be returned instead of raising this error."
eager_load:
message: "Eager loading :%{name} is not supported since it is a
polymorphic belongs_to relation."
summary: "Mongoid cannot currently determine the classes it needs to
eager load when the relation is polymorphic. The parents reside in
different collections so a simple id lookup is not sufficient enough."
resolution: "Don't attempt to perform this action and have patience,
maybe this will be supported in the future."
invalid_collection:
message: "Access to the collection for %{klass} is not allowed."
summary: "%{klass}.collection was called, and %{klass} is an embedded
document - it resides within the collection of the root document of
the hierarchy."
resolution: "For access to the collection that the embedded document is
in, use %{klass}#_root.collection, or do not attempt to persist an
embedded document without a parent set."
invalid_config_option:
message: "Invalid configuration option: %{name}."
summary: "A invalid configuration option was provided in your
mongoid.yml, or a typo is potentially present. The valid configuration
options are: %{options}."
resolution: "Remove the invalid option or fix the typo. If you were
expecting the option to be there, please consult the following page
with repect to Mongoid's configuration:\n\n
\_\_http://mongoid.org/en/mongoid/docs/installation.html"
invalid_field:
message: "Defining a field named '%{name}' is not allowed."
summary: "Defining this field would override the method '%{name}',
which would cause issues with expectations around the original
method and cause extremely hard to debug issues. The original
method was defined in:\n
\_\_Object: %{origin}\n
\_\_File: %{file}\n
\_\_Line: %{line}"
resolution: "Use Mongoid.destructive_fields to see what names are not
allowed, and don't use these names. These include names that also
conflict with core Ruby methods on Object, Module, Enumerable, or
included gems that inject methods into these or Mongoid internals."
invalid_field_option:
message: "Invalid option :%{option} provided for field :%{name}."
summary: "Mongoid requires that you only provide valid options on each
field definition in order to prevent unexpected behaviour later on."
resolution: "When defining the field :%{name} on '%{klass}', please provide
valid options for the field. These are currently: %{valid}. If you
meant to define a custom field option, please do so first like so:\n\n
\_\_Mongoid::Fields.option :%{option} do |model, field, value|\n
\_\_\_\_# Your logic here...\n
\_\_end\n
\_\_class %{klass}\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_field :%{name}, %{option}: true\n
\_\_end\n\n"
invalid_includes:
message: "Invalid includes directive: %{klass}.includes(%{args})"
summary: "Eager loading in Mongoid only supports providing arguments
to %{klass}.includes that are the names of relations on the %{klass}
model, and only supports one level of eager loading. (ie, eager loading
associations not on the %{klass} but one step away via another relation
is not allowed."
resolution: "Ensure that each parameter passed to %{klass}.includes is
a valid name of a relation on the %{klass} model. These are: %{relations}."
invalid_index:
message: "Invalid index specification on %{klass}: %{spec}, %{options}"
summary: "Indexes in Mongoid are defined as a hash of field name and
direction/2d pairs, with a hash for any additional options."
resolution: "Ensure that the index conforms to the correct syntax and
has the correct options.\n\n
Valid options are:\n
\_\_background: true|false\n
\_\_database: 'database_name'\n
\_\_drop_dups: true|false\n
\_\_name: 'index_name'\n
\_\_sparse: true|false\n
\_\_unique: true|false\n
\_\_min: 1\n
\_\_max: 1\n
\_\_bits: 26\n
\_\_bucket_size : 1\n
\_\_weights: { content: 1, title: 2 }\n
\_\_expire_after_seconds: number_of_seconds\n
Valid types are: 1, -1, '2d', '2dsphere', 'geoHaystack', 'text', 'hashed'\n\n
Example:\n
\_\_class Band\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_index({ name: 1, label: -1 }, { sparse: true })\n
\_\_\_\_index({ location: '2d' }, { background: true })\n
\_\_end\n\n"
invalid_options:
message: "Invalid option :%{invalid} provided to relation :%{name}."
summary: "Mongoid checks the options that are passed to the relation
macros to ensure that no ill side effects occur by letting something
slip by."
resolution: "Valid options are: %{valid}, make sure these are the ones
you are using."
invalid_path:
message: "Having a root path assigned for %{klass} is invalid."
summary: "Mongoid has two different path objects for determining
the location of a document in the database, Root and Embedded.
This error is raised when an embedded document somehow gets a
root path assigned."
resolution: "Most likely your embedded model, %{klass} is also
referenced via a has_many from a root document in another
collection. Double check the relation definitions and fix any
instances where embedded documents are improperly referenced
from other collections."
invalid_scope:
message: "Defining a scope of value %{value} on %{klass} is not
allowed."
summary: "Scopes in Mongoid must be procs that wrap criteria objects."
resolution: "Change the scope to be a proc wrapped critera.\n\n
Example:\n
\_\_class Band\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_scope :inactive, ->{ where(active: false) }\n
\_\_end\n\n"
invalid_storage_options:
message: "Invalid options passed to %{klass}.store_in: %{options}."
summary: "The :store_in macro takes only a hash of parameters with
the keys :database, :collection, or :session."
resolution: "Change the options passed to store_in to match the
documented API, and ensure all keys in the options hash are
symbols.\n\n
Example:\n
\_\_class Band\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_store_in collection: 'artists', database: 'secondary'\n
\_\_end\n\n"
invalid_storage_parent:
message: "Invalid store_in call on class %{klass}."
summary: "The :store_in macro can only be called on a base Mongoid Document"
resolution: "Remove the store_in call on class %{klass}, as it will use its
parent store configuration. Or remove the hierarchy extension for this
class."
invalid_time:
message: "'%{value}' is not a valid Time."
summary: "Mongoid tries to serialize the values for Date, DateTime, and
Time into proper UTC times to store in the database. The provided
value could not be parsed."
resolution: "Make sure to pass parsable values to the field setter
for Date, DateTime, and Time objects. When this is a String it needs
to be valid for Time.parse. Other objects must be valid to pass to
Time.local."
inverse_not_found:
message: "When adding a(n) %{klass} to %{base}#%{name}, Mongoid could
not determine the inverse foreign key to set. The attempted key was
'%{inverse}'."
summary: "When adding a document to a relation, Mongoid attempts
to link the newly added document to the base of the relation in
memory, as well as set the foreign key to link them on the
database side. In this case Mongoid could not determine what the
inverse foreign key was."
resolution: "If an inverse is not required, like a belongs_to or
has_and_belongs_to_many, ensure that :inverse_of => nil is set
on the relation. If the inverse is needed, most likely the
inverse cannot be figured out from the names of the relations and
you will need to explicitly tell Mongoid on the relation what
the inverse is.\n\n
Example:\n
\_\_class Lush\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_has_one :whiskey, class_name: \"Drink\", inverse_of: :alcoholic\n
\_\_end\n\n
\_\_class Drink\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_belongs_to :alcoholic, class_name: \"Lush\", inverse_of: :whiskey\n
\_\_end"
invalid_set_polymorphic_relation:
message: "The %{name} attribute can't be set to an instance of
%{other_klass} as %{other_klass} has multiple relations referencing
%{klass} as %{name}."
summary: "If the parent class of a polymorphic relation has multiple
definitions for the same relation, the values must be set from the
parent side and not the child side since Mongoid cannot determine
from the child side which relation to go in."
resolution: "Set the values from the parent, or redefine the relation
with only a single definition in the parent."
invalid_value:
message: "Value of type %{value_class} cannot be written to a field of type %{field_class}"
summary: "Tried to set a value of type %{value_class} to a field of type %{field_class}"
resolution: "Verify if the value to be set correspond to field definition"
mixed_relations:
message: "Referencing a(n) %{embedded} document from the %{root}
document via a relational association is not allowed since the
%{embedded} is embedded."
summary: "In order to properly access a(n) %{embedded} from %{root}
the reference would need to go through the root document of
%{embedded}. In a simple case this would require Mongoid to store
an extra foreign key for the root, in more complex cases where
%{embedded} is multiple levels deep a key would need to be stored
for each parent up the hierarchy."
resolution: "Consider not embedding %{embedded}, or do the key
storage and access in a custom manner in the application code."
mixed_session_configuration:
message: "Both uri and standard configuration options defined for
session: '%{name}'."
summary: "Instead of simply giving uri or standard options a
preference order, Mongoid assumes that you have made a mistake in
your configuration and requires that you provide one or the other,
but not both. The options that were provided were: %{config}."
resolution: "Provide either only a uri as configuration or only
standard options."
nested_attributes_metadata_not_found:
message: "Could not find metadata for relation '%{name}' on model:
%{klass}."
summary: "When defining nested attributes for a relation, Mongoid
needs to access the metadata for the relation '%{name}' in order
if add autosave functionality to it, if applicable. Either no
relation named '%{name}' could be found, or the relation had not
been defined yet."
resolution: "Make sure that there is a relation defined named
'%{name}' on %{klass} or that the relation definition comes before
the accepts_nested_attributes_for macro in the model - order
matters so that Mongoid has access to the metadata.\n\n
Example:\n
\_\_class Band\n
\_\_\_\_include Mongoid::Document\n
\_\_\_\_has_many :albums\n
\_\_\_\_accepts_nested_attributes_for :albums\n
\_\_end\n\n"
no_default_session:
message: "No default session configuration is defined."
summary: "The configuration provided settings for: %{keys}, but
Mongoid requires a :default to be defined at minimum."
resolution: "If configuring via a mongoid.yml, ensure that within
your :sessions section a :default session is defined.\n\n
Example:\n
\_\_development:\n
\_\_\_\_sessions:\n
\_\_\_\_\_\_default:\n
\_\_\_\_\_\_\_\_hosts:\n
\_\_\_\_\_\_\_\_\_\_- localhost:27017\n\n"
no_environment:
message: "Could not load the configuration since no environment
was defined."
summary: "Mongoid attempted to find the appropriate environment
but no Rails.env, Sinatra::Base.environment, RACK_ENV, or
MONGOID_ENV could be found."
resolution: "Make sure some environment is set from the mentioned
options. Mongoid cannot load configuration from the yaml without
knowing which environment it is in, and we have considered
defaulting to development an undesireable side effect of this not
being defined."
no_map_reduce_output:
message: "No output location was specified for the map/reduce
operation."
summary: "When executing a map/reduce, you must provide the output
location of the results. The attempted command was: %{command}."
resolution: "Provide the location that the output of the operation
is to go by chaining an #out call to the map/reduce.\n\n
Example:\n
\_\_Band.map_reduce(map, reduce).out(inline: 1)\n\n
Valid options for the out function are:\n
\_\_inline: 1\n
\_\_merge: 'collection-name'\n
\_\_replace: 'collection-name'\n
\_\_reduce: 'collection-name'\n\n"
no_metadata:
message: "Metadata not found for document of type %{klass}."
summary: "Mongoid sets the metadata of a relation on the document
when it is either loaded from within the relation, or added to
one. The presence of the metadata is required in order to
provide various functionality around relations. Most likely you
are getting this error because the document is embedded and was
attempted to be persisted without being associated with a parent,
or the relation was not properly defined."
resolution: "Ensure that your relations on the %{klass} model
are all properly defined, and that the inverse relations
are also properly defined. Embedded relations must have both the
parent (embeds_one/embeds_many) and the inverse (embedded_in)
present in order to work properly."
no_parent:
message: "Cannot persist embedded document %{klass} without a
parent document."
summary: "If the document is embedded, in order to be persisted it
must always have a reference to its parent document. This is
most likely caused by either calling %{klass}.create or
%{klass}.create! without setting the parent document as an
attribute."
resolution: "Ensure that you've set the parent relation if
instantiating the embedded document directly, or always create new
embedded documents via the parent relation."
no_session_config:
message: "No configuration could be found for a session named
'%{name}'."
summary: "When attempting to create the new session, Mongoid could
not find a session configuration for the name: '%{name}'. This is
necessary in order to know the host, port, and options needed
to connect."
resolution: "Double check your mongoid.yml to make sure under the
sessions key that a configuration exists for '%{name}'. If you
have set the configuration programatically, ensure that '%{name}'
exists in the configuration hash."
no_sessions_config:
message: "No sessions configuration provided."
summary: "Mongoid's configuration requires that you provide details
about each session that can be connected to, and requires in
the sessions config at least 1 default session to exist."
resolution: "Double check your mongoid.yml to make sure that you
have a top-level sessions key with at least 1 default session
configuration for it. You can regenerate a new mongoid.yml for
assistance via `rails g mongoid:config`.\n\n
Example:\n
\_\_development:\n
\_\_\_\_sessions:\n
\_\_\_\_\_\_default:\n
\_\_\_\_\_\_\_\_database: mongoid_dev\n
\_\_\_\_\_\_\_\_hosts:\n
\_\_\_\_\_\_\_\_\_\_- localhost:27017\n\n"
no_session_database:
message: "No database provided for session configuration: :%{name}."
summary: "Each session configuration must provide a database so Mongoid
knows where the default database to persist to. What was provided
was: %{config}."
resolution: "If configuring via a mongoid.yml, ensure that within
your :%{name} section a :database value for the session's default
database is defined.\n\n
Example:\n
\_\_development:\n
\_\_\_\_sessions:\n
\_\_\_\_\_\_%{name}:\n
\_\_\_\_\_\_\_\_database: my_app_db\n
\_\_\_\_\_\_\_\_hosts:\n
\_\_\_\_\_\_\_\_\_\_- localhost:27017\n\n"
no_session_hosts:
message: "No hosts provided for session configuration: :%{name}."
summary: "Each session configuration must provide hosts so Mongoid
knows where the database server is located. What was provided
was: %{config}."
resolution: "If configuring via a mongoid.yml, ensure that within
your :%{name} section a :hosts value for the session hosts is
defined.\n\n
Example:\n
\_\_development:\n
\_\_\_\_sessions:\n
\_\_\_\_\_\_%{name}:\n
\_\_\_\_\_\_\_\_database: my_app_db\n
\_\_\_\_\_\_\_\_hosts:\n
\_\_\_\_\_\_\_\_\_\_- localhost:27017\n\n"
readonly_attribute:
message: "Attempted to set the readonly attribute '%{name}' with
the value: %{value}."
summary: "Attributes flagged as readonly via Model.attr_readonly
can only have values set when the document is a new record."
resolution: "Don't define '%{name}' as readonly, or do not attempt
to update its value after the document is persisted."
readonly_document:
message: "Attempted to persist the readonly document '%{klass}'."
summary: "Documents loaded from the database using #only
cannot be persisted."
resolution: "Don't attempt to persist documents that are flagged as
readonly."
scope_overwrite:
message: "Cannot create scope :%{scope_name}, because of existing
method %{model_name}.%{scope_name}."
summary: "When defining a scope that conflicts with a method that
already exists on the model, this error will get raised if
Mongoid.scope_overwrite_exception is set to true."
resolution: "Change the name of the scope so it does not conflict
with the already defined method %{model_name}, or set the
configuration option Mongoid.scope_overwrite_exception to false,
which is its default. In this case a warning will be logged."
taken:
"exisitert bereits"
too_many_nested_attribute_records:
message: "Accepting nested attributes for %{association} is limited
to %{limit} records."
summary: "More documents were sent to be processed than the allowed
limit."
resolution: "The limit is set as an option to the macro, for example:
accepts_nested_attributes_for :%{association}, limit: %{limit}.
Consider raising this limit or making sure no more are sent than
the set value."
unknown_attribute:
message: "Attempted to set a value for '%{name}' which is not
allowed on the model %{klass}."
summary: "Without including Mongoid::Attributes::Dynamic in your model
and the attribute does not already exist in the attributes hash,
attempting to call %{klass}#%{name}= for it is not allowed. This is
also triggered by passing the attribute to any method that accepts an
attributes hash, and is raised instead of getting a NoMethodError."
resolution: "You can include Mongoid::Attributes::Dynamic if you
expect to be writing values for undefined fields often."
unsaved_document:
message: "Attempted to save %{document} before the parent %{base}."
summary: "You cannot call create or create! through the
relation (%{document}) who's parent (%{base}) is
not already saved. This would case the database to be out of sync
since the child could potentially reference a nonexistant parent."
resolution: "Make sure to only use create or create! when the parent
document %{base} is persisted."
unsupported_javascript:
message: "Executing Javascript $where selector on an embedded criteria
is not supported."
summary: "Mongoid only supports providing a hash of arguments to
#where criterion on embedded documents. Since %{klass} is embedded,
the expression %{javascript} is not allowed."
resolution: "Please provide a standard hash to #where when the criteria
is for an embedded relation."
validations:
message: "Validation of %{document} failed."
summary: "The following errors were found: %{errors}"
resolution: "Try persisting the document with valid data or remove
the validations."
delete_restriction:
message: "Cannot delete %{document} because of dependent '%{relation}'."
summary: "When defining '%{relation}' with a :dependent => :restrict,
Mongoid will raise an error when attempting to delete the
%{document} when the child '%{relation}' still has documents in it."
resolution: "Don't attempt to delete the parent %{document} when
it has children, or change the dependent option on the relation."
+5
View File
@@ -12,6 +12,11 @@ test:
database: ch420_test database: ch420_test
hosts: hosts:
- localhost:27017 - localhost:27017
staging:
clients:
default:
uri: <%= ENV['MONGODB_URI'] %>
production: production:
clients: clients:
+79
View File
@@ -0,0 +1,79 @@
# -*- coding: utf-8 -*-
# Configures your navigation
SimpleNavigation::Configuration.run do |navigation|
# Specify a custom renderer if needed.
# The default renderer is SimpleNavigation::Renderer::List which renders HTML lists.
# The renderer can also be specified as option in the render_navigation call.
# navigation.renderer = Your::Custom::Renderer
# Specify the class that will be applied to active navigation items. Defaults to 'selected'
#navigation.selected_class = 'selected'
# Specify the class that will be applied to the current leaf of
# active navigation items. Defaults to 'simple-navigation-active-leaf'
#navigation.active_leaf_class = 'simple-navigation-active-leaf'
# Specify if item keys are added to navigation items as id. Defaults to true
#navigation.autogenerate_item_ids = true
# You can override the default logic that is used to autogenerate the item ids.
# To do this, define a Proc which takes the key of the current item as argument.
# The example below would add a prefix to each key.
#navigation.id_generator = Proc.new {|key| "my-prefix-#{key}"}
# If you need to add custom html around item names, you can define a proc that
# will be called with the name you pass in to the navigation.
# The example below shows how to wrap items spans.
#navigation.name_generator = Proc.new {|name, item| "<span>#{name}</span>"}
# Specify if the auto highlight feature is turned on (globally, for the whole navigation). Defaults to true
#navigation.auto_highlight = true
# Specifies whether auto highlight should ignore query params and/or anchors when
# comparing the navigation items with the current URL. Defaults to true
#navigation.ignore_query_params_on_auto_highlight = true
#navigation.ignore_anchors_on_auto_highlight = true
# If this option is set to true, all item names will be considered as safe (passed through html_safe). Defaults to false.
#navigation.consider_item_names_as_safe = false
# Define the primary navigation
navigation.items do |primary|
# Add an item to the primary navigation. The following params apply:
# key - a symbol which uniquely defines your navigation item in the scope of the primary_navigation
# name - will be displayed in the rendered navigation. This can also be a call to your I18n-framework.
# url - the address that the generated item links to. You can also use url_helpers (named routes, restful routes helper, url_for etc.)
# options - can be used to specify attributes that will be included in the rendered navigation item (e.g. id, class etc.)
# some special options that can be set:
# :if - Specifies a proc to call to determine if the item should
# be rendered (e.g. <tt>if: -> { current_user.admin? }</tt>). The
# proc should evaluate to a true or false value and is evaluated in the context of the view.
# :unless - Specifies a proc to call to determine if the item should not
# be rendered (e.g. <tt>unless: -> { current_user.admin? }</tt>). The
# proc should evaluate to a true or false value and is evaluated in the context of the view.
# :method - Specifies the http-method for the generated link - default is :get.
# :highlights_on - if autohighlighting is turned off and/or you want to explicitly specify
# when the item should be highlighted, you can set a regexp which is matched
# against the current URI. You may also use a proc, or the symbol <tt>:subpath</tt>.
#
#primary.item :greendays, '#Greensaturday', greendays_path
unless supporter_signed_in?
primary.item :home, I18n.t('.shared.topnavigation.support'), "/#{I18n.locale}"
end
# primary.item :initiative, I18n.t('.shared.topnavigation.initiative'), initiative_text_path
primary.item :archivb, "Archiv", '/pages/archiv'
if supporter_signed_in?
primary.item :home, I18n.t('.shared.topnavigation.my_account'), "/#{I18n.locale}" do |my_account|
my_account.item :edit_account, I18n.t('.supporters.new.edit'), edit_supporter_registration_path()
my_account.item :sign_out, I18n.t('.shared.topnavigation.sign_out'), destroy_supporter_session_path, link_html: { 'data-method' => :delete }
end
else
# primary.item :home, I18n.t('.shared.topnavigation.sign_in'), new_supporter_session_path
end
end
end

Some files were not shown because too many files have changed in this diff Show More