Merge branch 'master' into legislation-module-stable
This commit is contained in:
40
Gemfile
40
Gemfile
@@ -1,13 +1,13 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
||||
gem 'rails', '4.2.7.1'
|
||||
gem 'rails', '4.2.8'
|
||||
# Use PostgreSQL
|
||||
gem 'pg', '~> 0.19.0'
|
||||
# Use SCSS for stylesheets
|
||||
gem 'sass-rails', '~> 5.0', '>= 5.0.4'
|
||||
# Use Uglifier as compressor for JavaScript assets
|
||||
gem 'uglifier', '>= 3.0.4'
|
||||
gem 'uglifier', '~> 3.1.6'
|
||||
# Use CoffeeScript for .coffee assets and views
|
||||
gem 'coffee-rails', '~> 4.2.1'
|
||||
# See https://github.com/rails/execjs#readme for more supported runtimes
|
||||
@@ -40,11 +40,11 @@ gem 'foundation_rails_helper', '~> 2.0.0'
|
||||
gem 'acts_as_votable'
|
||||
gem 'ckeditor', '~> 4.2.2'
|
||||
gem 'invisible_captcha', '~> 0.9.2'
|
||||
gem 'cancancan'
|
||||
gem 'cancancan', '~> 1.16.0'
|
||||
gem 'social-share-button'
|
||||
gem 'initialjs-rails', '0.2.0.4'
|
||||
gem 'unicorn', '~> 5.2.0'
|
||||
gem 'paranoia', '~> 2.2.0'
|
||||
gem 'paranoia', '~> 2.2.1'
|
||||
gem 'rinku', '~> 2.0.2', require: 'rails_rinku'
|
||||
gem 'savon'
|
||||
gem 'dalli'
|
||||
@@ -52,18 +52,18 @@ gem 'rollbar', '~> 2.14.0'
|
||||
gem 'delayed_job_active_record', '~> 4.1.0'
|
||||
gem 'daemons'
|
||||
gem 'devise-async'
|
||||
gem 'newrelic_rpm', '~> 3.17.2.327'
|
||||
gem 'newrelic_rpm', '~> 3.18.1.330'
|
||||
gem 'whenever', require: false
|
||||
gem 'pg_search'
|
||||
gem 'sitemap_generator'
|
||||
gem 'sitemap_generator', '~> 5.3.1'
|
||||
|
||||
gem 'ahoy_matey', '~> 1.5.3'
|
||||
gem 'groupdate', '~> 3.1.0' # group temporary data
|
||||
gem 'groupdate', '~> 3.2.0' # group temporary data
|
||||
gem 'tolk', '~> 2.0.0' # Web interface for translations
|
||||
|
||||
gem 'browser'
|
||||
gem 'turnout', '~> 2.4.0'
|
||||
gem 'redcarpet'
|
||||
gem 'redcarpet', '~> 3.4.0'
|
||||
|
||||
gem 'rails-assets-markdown-it', source: 'https://rails-assets.org'
|
||||
|
||||
@@ -76,28 +76,28 @@ group :development, :test do
|
||||
gem 'spring'
|
||||
gem 'spring-commands-rspec'
|
||||
gem 'rspec-rails', '~> 3.5'
|
||||
gem 'capybara'
|
||||
gem 'factory_girl_rails'
|
||||
gem 'capybara', '~> 2.12.1'
|
||||
gem 'factory_girl_rails', '~> 4.8.0'
|
||||
gem 'fuubar'
|
||||
gem 'launchy'
|
||||
gem 'quiet_assets'
|
||||
gem 'letter_opener_web', '~> 1.3.0'
|
||||
gem 'i18n-tasks'
|
||||
gem 'capistrano', '3.5.0', require: false
|
||||
gem 'letter_opener_web', '~> 1.3.1'
|
||||
gem 'i18n-tasks', '~> 0.9.12'
|
||||
gem 'capistrano', '~> 3.7.2', require: false
|
||||
gem 'capistrano-bundler', '~> 1.2', require: false
|
||||
gem "capistrano-rails", '1.1.8', require: false
|
||||
gem "capistrano-rails", '~> 1.2.3', require: false
|
||||
gem 'rvm1-capistrano3', require: false
|
||||
gem 'capistrano3-delayed-job', '~> 1.0'
|
||||
gem "bullet"
|
||||
gem "faker"
|
||||
gem 'rubocop', '~> 0.45.0', require: false
|
||||
gem 'capistrano3-delayed-job', '~> 1.7.3'
|
||||
gem "bullet", '~> 5.5.1'
|
||||
gem "faker", '~> 1.7.3'
|
||||
gem 'rubocop', '~> 0.47.1', require: false
|
||||
gem 'knapsack'
|
||||
end
|
||||
|
||||
group :test do
|
||||
gem 'database_cleaner'
|
||||
gem 'poltergeist'
|
||||
gem 'coveralls', require: false
|
||||
gem 'poltergeist', '~> 1.13.0'
|
||||
gem 'coveralls', '~> 0.8.19', require: false
|
||||
gem 'email_spec'
|
||||
end
|
||||
|
||||
|
||||
193
Gemfile.lock
193
Gemfile.lock
@@ -2,46 +2,46 @@ GEM
|
||||
remote: https://rubygems.org/
|
||||
remote: https://rails-assets.org/
|
||||
specs:
|
||||
actionmailer (4.2.7.1)
|
||||
actionpack (= 4.2.7.1)
|
||||
actionview (= 4.2.7.1)
|
||||
activejob (= 4.2.7.1)
|
||||
actionmailer (4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activejob (= 4.2.8)
|
||||
mail (~> 2.5, >= 2.5.4)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
actionpack (4.2.7.1)
|
||||
actionview (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
actionpack (4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
rack (~> 1.6)
|
||||
rack-test (~> 0.6.2)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
actionview (4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
actionview (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
builder (~> 3.1)
|
||||
erubis (~> 2.7.0)
|
||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||
activejob (4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||
activejob (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
globalid (>= 0.3.0)
|
||||
activemodel (4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
activemodel (4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
builder (~> 3.1)
|
||||
activerecord (4.2.7.1)
|
||||
activemodel (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
activerecord (4.2.8)
|
||||
activemodel (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
arel (~> 6.0)
|
||||
activesupport (4.2.7.1)
|
||||
activesupport (4.2.8)
|
||||
i18n (~> 0.7)
|
||||
json (~> 1.7, >= 1.7.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
acts-as-taggable-on (3.5.0)
|
||||
activerecord (>= 3.2, < 5)
|
||||
acts_as_votable (0.10.0)
|
||||
addressable (2.4.0)
|
||||
ahoy_matey (1.5.3)
|
||||
addressable (2.5.0)
|
||||
public_suffix (~> 2.0, >= 2.0.2)
|
||||
ahoy_matey (1.5.4)
|
||||
addressable
|
||||
browser (~> 2.0)
|
||||
geocoder
|
||||
@@ -52,14 +52,14 @@ GEM
|
||||
safely_block (>= 0.1.1)
|
||||
user_agent_parser
|
||||
uuidtools
|
||||
airbrussh (1.1.1)
|
||||
airbrussh (1.1.2)
|
||||
sshkit (>= 1.6.1, != 1.7.0)
|
||||
akami (1.3.1)
|
||||
gyoku (>= 0.4.0)
|
||||
nokogiri
|
||||
ancestry (2.2.2)
|
||||
activerecord (>= 3.0.0)
|
||||
arel (6.0.3)
|
||||
arel (6.0.4)
|
||||
ast (2.3.0)
|
||||
babel-source (5.8.35)
|
||||
babel-transpiler (0.7.0)
|
||||
@@ -67,13 +67,13 @@ GEM
|
||||
execjs (~> 2.0)
|
||||
bcrypt (3.1.11)
|
||||
browser (2.3.0)
|
||||
builder (3.2.2)
|
||||
bullet (5.4.2)
|
||||
builder (3.2.3)
|
||||
bullet (5.5.1)
|
||||
activesupport (>= 3.0.0)
|
||||
uniform_notifier (~> 1.10.0)
|
||||
byebug (9.0.6)
|
||||
cancancan (1.15.0)
|
||||
capistrano (3.5.0)
|
||||
cancancan (1.16.0)
|
||||
capistrano (3.7.2)
|
||||
airbrussh (>= 1.0.0)
|
||||
capistrano-harrow
|
||||
i18n
|
||||
@@ -83,12 +83,13 @@ GEM
|
||||
capistrano (~> 3.1)
|
||||
sshkit (~> 1.2)
|
||||
capistrano-harrow (0.5.3)
|
||||
capistrano-rails (1.1.8)
|
||||
capistrano-rails (1.2.3)
|
||||
capistrano (~> 3.1)
|
||||
capistrano-bundler (~> 1.1)
|
||||
capistrano3-delayed-job (1.7.2)
|
||||
capistrano3-delayed-job (1.7.3)
|
||||
capistrano (~> 3.0, >= 3.0.0)
|
||||
capybara (2.7.1)
|
||||
daemons (~> 1.2.4)
|
||||
capybara (2.12.1)
|
||||
addressable
|
||||
mime-types (>= 1.16)
|
||||
nokogiri (>= 1.3.3)
|
||||
@@ -113,7 +114,7 @@ GEM
|
||||
execjs
|
||||
coffee-script-source (1.10.0)
|
||||
concurrent-ruby (1.0.4)
|
||||
coveralls (0.8.17)
|
||||
coveralls (0.8.19)
|
||||
json (>= 1.8, < 3)
|
||||
simplecov (~> 0.12.0)
|
||||
term-ansicolor (~> 1.3)
|
||||
@@ -153,12 +154,12 @@ GEM
|
||||
errbase (0.0.3)
|
||||
erubis (2.7.0)
|
||||
execjs (2.7.0)
|
||||
factory_girl (4.7.0)
|
||||
factory_girl (4.8.0)
|
||||
activesupport (>= 3.0.0)
|
||||
factory_girl_rails (4.7.0)
|
||||
factory_girl (~> 4.7.0)
|
||||
factory_girl_rails (4.8.0)
|
||||
factory_girl (~> 4.8.0)
|
||||
railties (>= 3.0.0)
|
||||
faker (1.6.6)
|
||||
faker (1.7.3)
|
||||
i18n (~> 0.5)
|
||||
faraday (0.9.2)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
@@ -175,10 +176,10 @@ GEM
|
||||
fuubar (2.2.0)
|
||||
rspec-core (~> 3.0)
|
||||
ruby-progressbar (~> 1.4)
|
||||
geocoder (1.4.1)
|
||||
geocoder (1.4.3)
|
||||
globalid (0.3.7)
|
||||
activesupport (>= 4.1.0)
|
||||
groupdate (3.1.1)
|
||||
groupdate (3.2.0)
|
||||
activesupport (>= 3)
|
||||
gyoku (1.3.1)
|
||||
builder (>= 2.1.2)
|
||||
@@ -187,8 +188,8 @@ GEM
|
||||
htmlentities (4.3.4)
|
||||
httpi (2.4.1)
|
||||
rack
|
||||
i18n (0.7.0)
|
||||
i18n-tasks (0.9.6)
|
||||
i18n (0.8.1)
|
||||
i18n-tasks (0.9.12)
|
||||
activesupport (>= 4.0.2)
|
||||
ast (>= 2.1.0)
|
||||
easy_translate (>= 0.5.0)
|
||||
@@ -208,7 +209,7 @@ GEM
|
||||
thor (>= 0.14, < 2.0)
|
||||
jquery-ui-rails (5.0.5)
|
||||
railties (>= 3.2.16)
|
||||
json (1.8.3)
|
||||
json (1.8.6)
|
||||
jwt (1.5.4)
|
||||
kaminari (0.17.0)
|
||||
actionpack (>= 3.0.0)
|
||||
@@ -221,7 +222,7 @@ GEM
|
||||
addressable (~> 2.3)
|
||||
letter_opener (1.4.1)
|
||||
launchy (~> 2.2)
|
||||
letter_opener_web (1.3.0)
|
||||
letter_opener_web (1.3.1)
|
||||
actionmailer (>= 3.2)
|
||||
letter_opener (~> 1.0)
|
||||
railties (>= 3.2)
|
||||
@@ -239,9 +240,9 @@ GEM
|
||||
multipart-post (2.0.0)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (3.2.0)
|
||||
newrelic_rpm (3.17.2.327)
|
||||
nokogiri (1.6.8.1)
|
||||
net-ssh (4.1.0)
|
||||
newrelic_rpm (3.18.1.330)
|
||||
nokogiri (1.7.0.1)
|
||||
mini_portile2 (~> 2.1.0)
|
||||
nori (2.6.0)
|
||||
oauth (0.5.0)
|
||||
@@ -271,20 +272,21 @@ GEM
|
||||
json (~> 1.3)
|
||||
omniauth-oauth (~> 1.1)
|
||||
orm_adapter (0.5.0)
|
||||
paranoia (2.2.0)
|
||||
paranoia (2.2.1)
|
||||
activerecord (>= 4.0, < 5.1)
|
||||
parser (2.3.3.1)
|
||||
parser (2.4.0.0)
|
||||
ast (~> 2.2)
|
||||
pg (0.19.0)
|
||||
pg_search (1.0.6)
|
||||
activerecord (>= 3.1)
|
||||
activesupport (>= 3.1)
|
||||
arel
|
||||
poltergeist (1.10.0)
|
||||
poltergeist (1.13.0)
|
||||
capybara (~> 2.1)
|
||||
cliver (~> 0.3.1)
|
||||
websocket-driver (>= 0.2.0)
|
||||
powerpack (0.1.1)
|
||||
public_suffix (2.0.5)
|
||||
quiet_assets (1.1.0)
|
||||
railties (>= 3.1, < 5.0)
|
||||
rack (1.6.5)
|
||||
@@ -294,37 +296,37 @@ GEM
|
||||
rack
|
||||
rack-test (0.6.3)
|
||||
rack (>= 1.0)
|
||||
rails (4.2.7.1)
|
||||
actionmailer (= 4.2.7.1)
|
||||
actionpack (= 4.2.7.1)
|
||||
actionview (= 4.2.7.1)
|
||||
activejob (= 4.2.7.1)
|
||||
activemodel (= 4.2.7.1)
|
||||
activerecord (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
rails (4.2.8)
|
||||
actionmailer (= 4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
actionview (= 4.2.8)
|
||||
activejob (= 4.2.8)
|
||||
activemodel (= 4.2.8)
|
||||
activerecord (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
bundler (>= 1.3.0, < 2.0)
|
||||
railties (= 4.2.7.1)
|
||||
railties (= 4.2.8)
|
||||
sprockets-rails
|
||||
rails-assets-markdown-it (8.2.1)
|
||||
rails-deprecated_sanitizer (1.0.3)
|
||||
activesupport (>= 4.2.0.alpha)
|
||||
rails-dom-testing (1.0.7)
|
||||
rails-dom-testing (1.0.8)
|
||||
activesupport (>= 4.2.0.beta, < 5.0)
|
||||
nokogiri (~> 1.6.0)
|
||||
nokogiri (~> 1.6)
|
||||
rails-deprecated_sanitizer (>= 1.0.1)
|
||||
rails-html-sanitizer (1.0.3)
|
||||
loofah (~> 2.0)
|
||||
railties (4.2.7.1)
|
||||
actionpack (= 4.2.7.1)
|
||||
activesupport (= 4.2.7.1)
|
||||
railties (4.2.8)
|
||||
actionpack (= 4.2.8)
|
||||
activesupport (= 4.2.8)
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
rainbow (2.1.0)
|
||||
rainbow (2.2.1)
|
||||
raindrops (0.17.0)
|
||||
rake (12.0.0)
|
||||
redcarpet (3.3.4)
|
||||
redcarpet (3.4.0)
|
||||
referer-parser (0.3.0)
|
||||
request_store (1.3.1)
|
||||
request_store (1.3.2)
|
||||
responders (2.3.0)
|
||||
railties (>= 4.2.0, < 5.1)
|
||||
rinku (2.0.2)
|
||||
@@ -347,8 +349,8 @@ GEM
|
||||
rspec-mocks (~> 3.5.0)
|
||||
rspec-support (~> 3.5.0)
|
||||
rspec-support (3.5.0)
|
||||
rubocop (0.45.0)
|
||||
parser (>= 2.3.1.1, < 3.0)
|
||||
rubocop (0.47.1)
|
||||
parser (>= 2.3.3.1, < 3.0)
|
||||
powerpack (~> 0.1)
|
||||
rainbow (>= 1.99.1, < 3.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
@@ -358,7 +360,7 @@ GEM
|
||||
capistrano (~> 3.0)
|
||||
sshkit (>= 1.2)
|
||||
safe_yaml (1.0.4)
|
||||
safely_block (0.1.1)
|
||||
safely_block (0.2.0)
|
||||
errbase
|
||||
sass (3.4.22)
|
||||
sass-rails (5.0.6)
|
||||
@@ -380,7 +382,7 @@ GEM
|
||||
json (>= 1.8, < 3)
|
||||
simplecov-html (~> 0.10.0)
|
||||
simplecov-html (0.10.0)
|
||||
sitemap_generator (5.2.0)
|
||||
sitemap_generator (5.3.1)
|
||||
builder (~> 3.0)
|
||||
social-share-button (0.3.1)
|
||||
coffee-rails
|
||||
@@ -399,7 +401,7 @@ GEM
|
||||
actionpack (>= 4.0)
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sshkit (1.11.4)
|
||||
sshkit (1.12.0)
|
||||
net-scp (>= 1.1.2)
|
||||
net-ssh (>= 2.8.0)
|
||||
term-ansicolor (1.4.0)
|
||||
@@ -408,10 +410,10 @@ GEM
|
||||
unicode-display_width (~> 1.1.1)
|
||||
thor (0.19.4)
|
||||
thread (0.2.2)
|
||||
thread_safe (0.3.5)
|
||||
thread_safe (0.3.6)
|
||||
tilt (2.0.5)
|
||||
timecop (0.8.1)
|
||||
tins (1.13.0)
|
||||
tins (1.13.2)
|
||||
tolk (2.0.0)
|
||||
rails (>= 4.0)
|
||||
safe_yaml (>= 0.8.6)
|
||||
@@ -424,9 +426,9 @@ GEM
|
||||
tilt (>= 1.4, < 3)
|
||||
tzinfo (1.2.2)
|
||||
thread_safe (~> 0.1)
|
||||
uglifier (3.0.4)
|
||||
uglifier (3.1.6)
|
||||
execjs (>= 0.3.0, < 3)
|
||||
unicode-display_width (1.1.1)
|
||||
unicode-display_width (1.1.3)
|
||||
unicorn (5.2.0)
|
||||
kgio (~> 2.6)
|
||||
raindrops (~> 0.7)
|
||||
@@ -442,7 +444,7 @@ GEM
|
||||
activemodel (>= 4.2)
|
||||
debug_inspector
|
||||
railties (>= 4.2)
|
||||
websocket-driver (0.6.4)
|
||||
websocket-driver (0.6.5)
|
||||
websocket-extensions (>= 0.1.0)
|
||||
websocket-extensions (0.1.2)
|
||||
whenever (0.9.7)
|
||||
@@ -459,18 +461,18 @@ DEPENDENCIES
|
||||
ahoy_matey (~> 1.5.3)
|
||||
ancestry (~> 2.2.2)
|
||||
browser
|
||||
bullet
|
||||
bullet (~> 5.5.1)
|
||||
byebug
|
||||
cancancan
|
||||
capistrano (= 3.5.0)
|
||||
cancancan (~> 1.16.0)
|
||||
capistrano (~> 3.7.2)
|
||||
capistrano-bundler (~> 1.2)
|
||||
capistrano-rails (= 1.1.8)
|
||||
capistrano3-delayed-job (~> 1.0)
|
||||
capybara
|
||||
capistrano-rails (~> 1.2.3)
|
||||
capistrano3-delayed-job (~> 1.7.3)
|
||||
capybara (~> 2.12.1)
|
||||
ckeditor (~> 4.2.2)
|
||||
cocoon
|
||||
coffee-rails (~> 4.2.1)
|
||||
coveralls
|
||||
coveralls (~> 0.8.19)
|
||||
daemons
|
||||
dalli
|
||||
database_cleaner
|
||||
@@ -479,13 +481,13 @@ DEPENDENCIES
|
||||
devise-async
|
||||
devise_security_extension
|
||||
email_spec
|
||||
factory_girl_rails
|
||||
faker
|
||||
factory_girl_rails (~> 4.8.0)
|
||||
faker (~> 1.7.3)
|
||||
foundation-rails (~> 6.2.4.0)
|
||||
foundation_rails_helper (~> 2.0.0)
|
||||
fuubar
|
||||
groupdate (~> 3.1.0)
|
||||
i18n-tasks
|
||||
groupdate (~> 3.2.0)
|
||||
i18n-tasks (~> 0.9.12)
|
||||
initialjs-rails (= 0.2.0.4)
|
||||
invisible_captcha (~> 0.9.2)
|
||||
jquery-rails (~> 4.2.2)
|
||||
@@ -493,29 +495,29 @@ DEPENDENCIES
|
||||
kaminari
|
||||
knapsack
|
||||
launchy
|
||||
letter_opener_web (~> 1.3.0)
|
||||
newrelic_rpm (~> 3.17.2.327)
|
||||
letter_opener_web (~> 1.3.1)
|
||||
newrelic_rpm (~> 3.18.1.330)
|
||||
omniauth
|
||||
omniauth-facebook (~> 3.0.0)
|
||||
omniauth-google-oauth2 (~> 0.4.0)
|
||||
omniauth-twitter
|
||||
paranoia (~> 2.2.0)
|
||||
paranoia (~> 2.2.1)
|
||||
pg (~> 0.19.0)
|
||||
pg_search
|
||||
poltergeist
|
||||
poltergeist (~> 1.13.0)
|
||||
quiet_assets
|
||||
rails (= 4.2.7.1)
|
||||
rails (= 4.2.8)
|
||||
rails-assets-markdown-it!
|
||||
redcarpet
|
||||
redcarpet (~> 3.4.0)
|
||||
responders (~> 2.3.0)
|
||||
rinku (~> 2.0.2)
|
||||
rollbar (~> 2.14.0)
|
||||
rspec-rails (~> 3.5)
|
||||
rubocop (~> 0.45.0)
|
||||
rubocop (~> 0.47.1)
|
||||
rvm1-capistrano3
|
||||
sass-rails (~> 5.0, >= 5.0.4)
|
||||
savon
|
||||
sitemap_generator
|
||||
sitemap_generator (~> 5.3.1)
|
||||
social-share-button
|
||||
spring
|
||||
spring-commands-rspec
|
||||
@@ -523,7 +525,10 @@ DEPENDENCIES
|
||||
tolk (~> 2.0.0)
|
||||
turbolinks
|
||||
turnout (~> 2.4.0)
|
||||
uglifier (>= 3.0.4)
|
||||
uglifier (~> 3.1.6)
|
||||
unicorn (~> 5.2.0)
|
||||
web-console (= 3.3.0)
|
||||
whenever
|
||||
|
||||
BUNDLED WITH
|
||||
1.13.7
|
||||
|
||||
@@ -1104,11 +1104,12 @@ img.avatar, img.admin-avatar, img.moderator-avatar, img.initialjs-avatar {
|
||||
// --------------------
|
||||
|
||||
[class^="level-"] {
|
||||
color: white;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.is-author {
|
||||
background: #008CCF;
|
||||
background: #00A5F1;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.is-association {
|
||||
@@ -1167,6 +1168,9 @@ table {
|
||||
.button.button-twitter,
|
||||
.button.button-facebook,
|
||||
.button.button-google {
|
||||
background: white;
|
||||
color: $text;
|
||||
font-weight: bold;
|
||||
height: $line-height*2;
|
||||
line-height: $line-height*2;
|
||||
padding: 0;
|
||||
@@ -1174,9 +1178,11 @@ table {
|
||||
}
|
||||
|
||||
.button.button-twitter {
|
||||
background: #45B0E3;
|
||||
background: #ECF7FC;
|
||||
border-left: 3px solid #45B0E3;
|
||||
|
||||
&:before {
|
||||
color: #45B0E3;
|
||||
content: "f";
|
||||
font-family: "icons" !important;
|
||||
font-size: rem-calc(24);
|
||||
@@ -1214,9 +1220,11 @@ table {
|
||||
}
|
||||
|
||||
.button.button-facebook {
|
||||
background: #3B5998;
|
||||
background: #EBEEF4;
|
||||
border-left: 3px solid #3B5998;
|
||||
|
||||
&:before {
|
||||
color: #3B5998;
|
||||
content: "A";
|
||||
font-family: "icons" !important;
|
||||
font-size: rem-calc(24);
|
||||
@@ -1254,9 +1262,11 @@ table {
|
||||
}
|
||||
|
||||
.button.button-google {
|
||||
background: #DE4C34;
|
||||
background: #FCEDEA;
|
||||
border-left: 3px solid #DE4C34;
|
||||
|
||||
&:before {
|
||||
color: #DE4C34;
|
||||
content: "B";
|
||||
font-family: "icons" !important;
|
||||
font-size: rem-calc(24);
|
||||
|
||||
@@ -457,7 +457,7 @@
|
||||
}
|
||||
|
||||
.bullet {
|
||||
color: $border;
|
||||
color: $text;
|
||||
}
|
||||
|
||||
.investment-project-show p, .budget-investment-show p {
|
||||
|
||||
@@ -7,6 +7,11 @@ class Management::BudgetsController < Management::BaseController
|
||||
|
||||
def create_investments
|
||||
@budgets = Budget.accepting.order(created_at: :desc).page(params[:page])
|
||||
|
||||
if current_manager_administrator?
|
||||
@budgets += Budget.reviewing.order(created_at: :desc) +
|
||||
Budget.selecting.order(created_at: :desc)
|
||||
end
|
||||
end
|
||||
|
||||
def support_investments
|
||||
@@ -23,4 +28,8 @@ class Management::BudgetsController < Management::BaseController
|
||||
check_verified_user t("management.budget_investments.alert.unverified_user")
|
||||
end
|
||||
|
||||
def current_manager_administrator?
|
||||
session[:manager]["login"].match("admin")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -259,7 +259,7 @@ class Budget
|
||||
private
|
||||
|
||||
def set_denormalized_ids
|
||||
self.group_id ||= self.heading.try(:group_id)
|
||||
self.group_id = self.heading.try(:group_id) if self.heading_id_changed?
|
||||
self.budget_id ||= self.heading.try(:group).try(:budget_id)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<% if user_signed_in? %>
|
||||
<li>
|
||||
<%= link_to notifications_path, class: "notifications", accesskey: "n" do %>
|
||||
<%= link_to notifications_path, class: "notifications" do %>
|
||||
<span class="sr-only"><%= t("layouts.header.notifications") %></span>
|
||||
<% if current_user.notifications_count > 0 %>
|
||||
<span class="icon-circle" aria-hidden="true"></span>
|
||||
@@ -12,19 +12,19 @@
|
||||
<% end %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to(t("layouts.header.my_activity_link"), user_path(current_user), accesskey: "a") %>
|
||||
<%= link_to t("layouts.header.my_activity_link"), user_path(current_user) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to(t("layouts.header.my_account_link"), account_path, accesskey: "m") %>
|
||||
<%= link_to t("layouts.header.my_account_link"), account_path %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to(t("devise_views.menu.login_items.logout"), destroy_user_session_path, method: :delete) %>
|
||||
<%= link_to t("devise_views.menu.login_items.logout"), destroy_user_session_path, method: :delete %>
|
||||
</li>
|
||||
<% else %>
|
||||
<li>
|
||||
<%= link_to(t("devise_views.menu.login_items.login"), new_user_session_path) %>
|
||||
<%= link_to t("devise_views.menu.login_items.login"), new_user_session_path %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to(t("devise_views.menu.login_items.signup"), new_user_registration_path, class: "button") %>
|
||||
<%= link_to t("devise_views.menu.login_items.signup"), new_user_registration_path, class: "button" %>
|
||||
</li>
|
||||
<% end %>
|
||||
|
||||
@@ -11,18 +11,18 @@
|
||||
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
|
||||
<div class="row">
|
||||
<div class="small-12 column">
|
||||
<%= f.email_field :email, autofocus: true, placeholder: t("devise_views.sessions.new.email_label"), tabindex: "1" %>
|
||||
<%= f.email_field :email, autofocus: true, placeholder: t("devise_views.sessions.new.email_label") %>
|
||||
</div>
|
||||
|
||||
<div class="small-12 column">
|
||||
<%= link_to t("devise_views.shared.links.new_password"), new_password_path(resource_name), class: "float-right", tabindex: "3" %>
|
||||
<%= f.password_field :password, autocomplete: "off", placeholder: t("devise_views.sessions.new.password_label"), tabindex: "2" %>
|
||||
<%= f.password_field :password, autocomplete: "off", placeholder: t("devise_views.sessions.new.password_label") %>
|
||||
<%= link_to t("devise_views.shared.links.new_password"), new_password_path(resource_name), class: "float-right" %>
|
||||
</div>
|
||||
|
||||
<% if devise_mapping.rememberable? -%>
|
||||
<div class="small-12 column">
|
||||
<%= f.label :remember_me do %>
|
||||
<%= f.check_box :remember_me, title: t('devise_views.sessions.new.remember_me'), label: false, tabindex: "4" %>
|
||||
<%= f.check_box :remember_me, title: t('devise_views.sessions.new.remember_me'), label: false %>
|
||||
<span class="checkbox"><%= t("devise_views.sessions.new.remember_me") %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -35,5 +35,3 @@
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div id="responsive-menu">
|
||||
<div class="top-bar-title">
|
||||
<%= link_to root_path, class: "hide-for-small-only", accesskey: "/" do %>
|
||||
<%= link_to root_path, class: "hide-for-small-only", accesskey: "0" do %>
|
||||
<%= image_tag('logo_header.png', class: 'hide-for-small-only float-left', size: '80x80', alt: t("layouts.header.logo")) %>
|
||||
<%= setting['org_name'] %>
|
||||
<% end %>
|
||||
|
||||
@@ -20,9 +20,11 @@
|
||||
type: "image/png" %>
|
||||
<%= content_for :social_media_meta_tags %>
|
||||
|
||||
<%= setting['per_page_code'].try(:html_safe) %>
|
||||
<%= setting['per_page_code_head'].try(:html_safe) %>
|
||||
</head>
|
||||
<body>
|
||||
<%= setting['per_page_code_body'].try(:html_safe) %>
|
||||
|
||||
<h1 class="sr-only"><%= setting['org_name'] %></h1>
|
||||
|
||||
<div class="wrapper">
|
||||
|
||||
@@ -19,48 +19,37 @@
|
||||
|
||||
<div class="small-12 medium-6">
|
||||
<table>
|
||||
<caption class="sr-only">Atajos de teclado para el menú de navegación</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-center">Tecla</th>
|
||||
<th>Página</th>
|
||||
<th scope="col" class="text-center">Tecla</th>
|
||||
<th scope="col">Página</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="text-center">/</td>
|
||||
<td class="text-center">0</td>
|
||||
<td>Inicio</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">D</td>
|
||||
<td class="text-center">1</td>
|
||||
<td>Debates</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">P</td>
|
||||
<td class="text-center">2</td>
|
||||
<td>Propuestas</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">L</td>
|
||||
<td>Procesos legislativos</td>
|
||||
<td class="text-center">3</td>
|
||||
<td>Votaciones</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">S</td>
|
||||
<td class="text-center">4</td>
|
||||
<td>Presupuestos participativos</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">I</td>
|
||||
<td>Más información</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">N</td>
|
||||
<td>Notificaciones</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">A</td>
|
||||
<td>Mi actividad</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-center">M</td>
|
||||
<td>Mi cuenta</td>
|
||||
<td class="text-center">5</td>
|
||||
<td>Procesos legislativos</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -70,10 +59,11 @@
|
||||
|
||||
<div class="small-12 medium-6">
|
||||
<table>
|
||||
<caption class="sr-only">Combinación de teclas dependiendo del sistema operativo y navegador</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Navegador</th>
|
||||
<th>Combinación de teclas</th>
|
||||
<th scope="col">Navegador</th>
|
||||
<th scope="col">Combinación de teclas</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -108,8 +98,8 @@
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Navegador</th>
|
||||
<th>Acción a realizar </th>
|
||||
<th scope="col">Navegador</th>
|
||||
<th scope="col">Acción a realizar </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
<%= text_field_tag 'advanced_search[date_min]',
|
||||
params[:advanced_search].try(:[], :date_min),
|
||||
type: "date",
|
||||
placeholder: t("shared.advanced_search.date_placeholder"),
|
||||
class: 'js-calendar' %>
|
||||
</div>
|
||||
<div class='small-12 large-6 column'>
|
||||
@@ -47,7 +46,6 @@
|
||||
<%= text_field_tag 'advanced_search[date_max]',
|
||||
params[:advanced_search].try(:[], :date_max),
|
||||
type: "date",
|
||||
placeholder: t("shared.advanced_search.date_placeholder"),
|
||||
class: 'js-calendar' %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,20 +5,20 @@
|
||||
<%= layout_menu_link_to t("layouts.header.debates"),
|
||||
debates_path,
|
||||
controller_name == 'debates',
|
||||
accesskey: "d" %>
|
||||
accesskey: "1" %>
|
||||
</li>
|
||||
<% end %>
|
||||
<li>
|
||||
<%= layout_menu_link_to t("layouts.header.proposals"),
|
||||
proposals_path,
|
||||
controller_name == 'proposals',
|
||||
accesskey: "p" %>
|
||||
accesskey: "2" %>
|
||||
</li>
|
||||
<li>
|
||||
<%= layout_menu_link_to t("layouts.header.proposal_ballot"),
|
||||
proposal_ballots_path,
|
||||
controller_name == 'proposal_ballots',
|
||||
accesskey: "v" %>
|
||||
accesskey: "3" %>
|
||||
</li>
|
||||
<% if feature?(:legislation) %>
|
||||
<li>
|
||||
@@ -41,7 +41,7 @@
|
||||
<%= layout_menu_link_to t("layouts.header.budgets"),
|
||||
budgets_path,
|
||||
controller_name == "budgets" || controller_name == "investments",
|
||||
accesskey: "b" %>
|
||||
accesskey: "4" %>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
<% taggable.tag_list_with_limit(limit).each do |tag| %>
|
||||
<li class="inline-block">
|
||||
<%= link_to sanitize(tag.name),
|
||||
taggables_path(taggable.class.name.underscore, tag.name),
|
||||
search: tag.name %></li>
|
||||
taggables_path(taggable.class.name.underscore, tag.name) %></li>
|
||||
<% end %>
|
||||
|
||||
<% if taggable.tags_count_out_of_limit(limit) > 0 %>
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
<li>
|
||||
<%= link_to t("layouts.header.more_information"),
|
||||
page_path('more_information'),
|
||||
class: ("selected" if current_page?("/more_information")),
|
||||
accesskey: "i" %>
|
||||
class: ("selected" if current_page?("/more_information")) %>
|
||||
</li>
|
||||
<li>
|
||||
<%= link_to t("layouts.header.external_link_transparency"),
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<%= f.label :username %>
|
||||
<p class="note"><%= t("devise_views.users.registrations.new.username_note") %></p>
|
||||
<%= f.text_field :username, maxlength: User.username_max_length, placeholder: t("devise_views.users.registrations.new.username_label"), label: false %>
|
||||
<%= f.text_field :username, autofocus: true, maxlength: User.username_max_length, placeholder: t("devise_views.users.registrations.new.username_label"), label: false %>
|
||||
|
||||
<%= f.invisible_captcha :family_name %>
|
||||
|
||||
|
||||
@@ -1354,7 +1354,8 @@ fr:
|
||||
official_level_3_name: Niveau 3 personne officielle
|
||||
official_level_4_name: Niveau 4 personne officielle
|
||||
official_level_5_name: Niveau 5 personne officielle
|
||||
per_page_code: Code à inclure dans chaque page
|
||||
per_page_code_head: "Code à inclure dans chaque page (<head>)"
|
||||
per_page_code_body: "Code à inclure dans chaque page (<body>)"
|
||||
proposal_code_prefix: Préfixe pour les codes de propositions
|
||||
votes_for_proposal_success: Nombre de votes nécessaires pour l'approbation d'une
|
||||
proposition
|
||||
|
||||
@@ -1370,7 +1370,8 @@ pt-BR:
|
||||
official_level_3_name: Nível 3 coordenador público
|
||||
official_level_4_name: Nível 4 coordenador público
|
||||
official_level_5_name: Nível 5 coordenador público
|
||||
per_page_code: Código a ser incluído em cada página
|
||||
per_page_code_head: "Código a ser incluído em cada página (<head>)"
|
||||
per_page_code_body: "Código a ser incluído em cada página (<body>)"
|
||||
proposal_code_prefix: Prefixo para códigos de Proposta
|
||||
votes_for_proposal_success: Número de votos necessários para aprovar uma Proposta
|
||||
shared:
|
||||
|
||||
@@ -13,7 +13,8 @@ en:
|
||||
votes_for_proposal_success: "Number of votes necessary for approval of a Proposal"
|
||||
months_to_archive_proposals: "Months to archive Proposals"
|
||||
email_domain_for_officials: "Email domain for public officials"
|
||||
per_page_code: "Code to be included on every page"
|
||||
per_page_code_head: "Code to be included on every page (<head>)"
|
||||
per_page_code_body: "Code to be included on every page (<body>)"
|
||||
twitter_handle: "Twitter handle"
|
||||
twitter_hashtag: "Twitter hashtag"
|
||||
facebook_handle: "Facebook handle"
|
||||
|
||||
@@ -13,7 +13,8 @@ es:
|
||||
votes_for_proposal_success: "Número de votos necesarios para aprobar una Propuesta"
|
||||
months_to_archive_proposals: "Meses para archivar las Propuestas"
|
||||
email_domain_for_officials: "Dominio de email para cargos públicos"
|
||||
per_page_code: "Código a incluir en cada página"
|
||||
per_page_code_head: "Código a incluir en cada página (<head>)"
|
||||
per_page_code_body: "Código a incluir en cada página (<body>)"
|
||||
twitter_handle: "Usuario de Twitter"
|
||||
twitter_hashtag: "Hashtag para Twitter"
|
||||
facebook_handle: "Identificador de Facebook"
|
||||
|
||||
@@ -33,7 +33,8 @@ Setting.create(key: 'feature.facebook_login', value: "true")
|
||||
Setting.create(key: 'feature.google_login', value: "true")
|
||||
Setting.create(key: 'feature.signature_sheets', value: "true")
|
||||
Setting.create(key: 'feature.legislation', value: "true")
|
||||
Setting.create(key: 'per_page_code', value: "")
|
||||
Setting.create(key: 'per_page_code_head', value: "")
|
||||
Setting.create(key: 'per_page_code_body', value: "")
|
||||
Setting.create(key: 'comments_body_max_length', value: '1000')
|
||||
Setting.create(key: 'mailer_from_name', value: 'Consul')
|
||||
Setting.create(key: 'mailer_from_address', value: 'noreply@consul.dev')
|
||||
|
||||
@@ -38,8 +38,11 @@ Setting["months_to_archive_proposals"] = 12
|
||||
# Emails under the domain's subdomains will also be included
|
||||
Setting["email_domain_for_officials"] = ''
|
||||
|
||||
# Code to be included at the top (header) of every page (useful for tracking)
|
||||
Setting['per_page_code'] = ''
|
||||
# Code to be included at the top (inside <head>) of every page (useful for tracking)
|
||||
Setting['per_page_code_head'] = ''
|
||||
|
||||
# Code to be included at the top (inside <body>) of every page
|
||||
Setting['per_page_code_body'] = ''
|
||||
|
||||
# Social settings
|
||||
Setting["twitter_handle"] = nil
|
||||
|
||||
@@ -137,6 +137,61 @@ feature 'Budget Investments' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario "Listing - managers can see budgets in accepting phase" do
|
||||
accepting_budget = create(:budget, phase: "accepting")
|
||||
reviewing_budget = create(:budget, phase: "reviewing")
|
||||
selecting_budget = create(:budget, phase: "selecting")
|
||||
valuating_budget = create(:budget, phase: "valuating")
|
||||
balloting_budget = create(:budget, phase: "balloting")
|
||||
reviewing_ballots_budget = create(:budget, phase: "reviewing_ballots")
|
||||
finished = create(:budget, phase: "finished")
|
||||
|
||||
user = create(:user, :level_two)
|
||||
login_managed_user(user)
|
||||
|
||||
click_link "Create budget investment"
|
||||
|
||||
expect(page).to have_content(accepting_budget.name)
|
||||
|
||||
expect(page).to_not have_content(reviewing_budget.name)
|
||||
expect(page).to_not have_content(selecting_budget.name)
|
||||
expect(page).to_not have_content(valuating_budget.name)
|
||||
expect(page).to_not have_content(balloting_budget.name)
|
||||
expect(page).to_not have_content(reviewing_ballots_budget.name)
|
||||
expect(page).to_not have_content(finished.name)
|
||||
end
|
||||
|
||||
scenario "Listing - admins can see budgets in accepting, reviewing and selecting phases" do
|
||||
accepting_budget = create(:budget, phase: "accepting")
|
||||
reviewing_budget = create(:budget, phase: "reviewing")
|
||||
selecting_budget = create(:budget, phase: "selecting")
|
||||
valuating_budget = create(:budget, phase: "valuating")
|
||||
balloting_budget = create(:budget, phase: "balloting")
|
||||
reviewing_ballots_budget = create(:budget, phase: "reviewing_ballots")
|
||||
finished = create(:budget, phase: "finished")
|
||||
|
||||
visit root_path
|
||||
click_link "Sign out"
|
||||
|
||||
admin = create(:administrator)
|
||||
login_as(admin.user)
|
||||
|
||||
user = create(:user, :level_two)
|
||||
login_managed_user(user)
|
||||
visit management_sign_in_path
|
||||
|
||||
click_link "Create budget investment"
|
||||
|
||||
expect(page).to have_content(accepting_budget.name)
|
||||
expect(page).to have_content(reviewing_budget.name)
|
||||
expect(page).to have_content(selecting_budget.name)
|
||||
|
||||
expect(page).to_not have_content(valuating_budget.name)
|
||||
expect(page).to_not have_content(balloting_budget.name)
|
||||
expect(page).to_not have_content(reviewing_ballots_budget.name)
|
||||
expect(page).to_not have_content(finished.name)
|
||||
end
|
||||
|
||||
context "Supporting" do
|
||||
|
||||
scenario 'Supporting budget investments on behalf of someone in index view', :js do
|
||||
|
||||
@@ -35,6 +35,25 @@ describe Budget::Investment do
|
||||
expect(investment.description).to eq("alert('danger');")
|
||||
end
|
||||
|
||||
it "set correct group and budget ids" do
|
||||
budget = create(:budget)
|
||||
group_1 = create(:budget_group, budget: budget)
|
||||
group_2 = create(:budget_group, budget: budget)
|
||||
|
||||
heading_1 = create(:budget_heading, group: group_1)
|
||||
heading_2 = create(:budget_heading, group: group_2)
|
||||
|
||||
investment = create(:budget_investment, heading: heading_1)
|
||||
|
||||
expect(investment.budget_id).to eq budget.id
|
||||
expect(investment.group_id).to eq group_1.id
|
||||
|
||||
investment.update(heading: heading_2)
|
||||
|
||||
expect(investment.budget_id).to eq budget.id
|
||||
expect(investment.group_id).to eq group_2.id
|
||||
end
|
||||
|
||||
describe "#unfeasibility_explanation" do
|
||||
it "should be valid if valuation not finished" do
|
||||
investment.unfeasibility_explanation = ""
|
||||
|
||||
Reference in New Issue
Block a user