Merge branch 'master' of https://github.com/Tiqa/Debats
This commit is contained in:
commit
afe601026c
22 changed files with 333 additions and 163 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -20,6 +20,4 @@
|
||||||
|
|
||||||
/public/uploads
|
/public/uploads
|
||||||
db/schema.rb
|
db/schema.rb
|
||||||
*.lock
|
|
||||||
Gemfile.lock
|
|
||||||
db/seeds.rb
|
db/seeds.rb
|
||||||
7
Gemfile
7
Gemfile
|
|
@ -20,6 +20,8 @@ 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
|
||||||
|
|
||||||
|
# Custom responders (https://github.com/plataformatec/responders)
|
||||||
|
gem "responders"
|
||||||
|
|
||||||
# Paginate
|
# Paginate
|
||||||
gem "will_paginate"
|
gem "will_paginate"
|
||||||
|
|
@ -45,9 +47,9 @@ gem 'rails-jquery-autocomplete' # Rails JQuery Autocomplete
|
||||||
gem 'sass-rails', '~> 5.0' # Use SCSS for stylesheets
|
gem 'sass-rails', '~> 5.0' # Use SCSS for stylesheets
|
||||||
gem 'bootstrap-sass' # Boostrap with SASS
|
gem 'bootstrap-sass' # Boostrap with SASS
|
||||||
gem 'bootstrap-datepicker-rails' # Date picker
|
gem 'bootstrap-datepicker-rails' # Date picker
|
||||||
|
gem 'fuelux-rails-sass' # Fuel UX components
|
||||||
gem 'best_in_place' # in-place editing
|
gem 'best_in_place' # in-place editing
|
||||||
|
|
||||||
|
|
||||||
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'
|
||||||
|
|
@ -64,6 +66,7 @@ end
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem 'faker'
|
gem 'faker'
|
||||||
|
gem 'ruby-debug-ide'
|
||||||
end
|
end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
|
|
@ -79,4 +82,4 @@ group :production, :staging do
|
||||||
gem 'puma'
|
gem 'puma'
|
||||||
end
|
end
|
||||||
|
|
||||||
ruby '2.1.5'
|
ruby '2.1.8'
|
||||||
151
Gemfile.lock
151
Gemfile.lock
|
|
@ -38,17 +38,15 @@ GEM
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
ansi (1.5.0)
|
ansi (1.5.0)
|
||||||
arel (6.0.3)
|
arel (6.0.3)
|
||||||
autoprefixer-rails (6.1.1)
|
autoprefixer-rails (6.3.7)
|
||||||
execjs
|
execjs
|
||||||
json
|
bcrypt (3.1.11-x64-mingw32)
|
||||||
bcrypt (3.1.10-x64-mingw32)
|
best_in_place (3.1.0)
|
||||||
bcrypt (3.1.10-x86-mingw32)
|
|
||||||
best_in_place (3.0.3)
|
|
||||||
actionpack (>= 3.2)
|
actionpack (>= 3.2)
|
||||||
railties (>= 3.2)
|
railties (>= 3.2)
|
||||||
binding_of_caller (0.7.2)
|
binding_of_caller (0.7.2)
|
||||||
debug_inspector (>= 0.0.1)
|
debug_inspector (>= 0.0.1)
|
||||||
bootstrap-datepicker-rails (1.5.0)
|
bootstrap-datepicker-rails (1.6.0)
|
||||||
railties (>= 3.0)
|
railties (>= 3.0)
|
||||||
bootstrap-sass (3.3.6)
|
bootstrap-sass (3.3.6)
|
||||||
autoprefixer-rails (>= 5.2.1)
|
autoprefixer-rails (>= 5.2.1)
|
||||||
|
|
@ -56,28 +54,28 @@ GEM
|
||||||
bootstrap-will_paginate (0.0.10)
|
bootstrap-will_paginate (0.0.10)
|
||||||
will_paginate
|
will_paginate
|
||||||
builder (3.2.2)
|
builder (3.2.2)
|
||||||
byebug (8.2.1)
|
byebug (9.0.5)
|
||||||
carrierwave (0.10.0)
|
carrierwave (0.10.0)
|
||||||
activemodel (>= 3.2.0)
|
activemodel (>= 3.2.0)
|
||||||
activesupport (>= 3.2.0)
|
activesupport (>= 3.2.0)
|
||||||
json (>= 1.7)
|
json (>= 1.7)
|
||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
coderay (1.1.0)
|
coderay (1.1.1)
|
||||||
coffee-rails (4.1.0)
|
coffee-rails (4.1.1)
|
||||||
coffee-script (>= 2.2.0)
|
coffee-script (>= 2.2.0)
|
||||||
railties (>= 4.0.0, < 5.0)
|
railties (>= 4.0.0, < 5.1.x)
|
||||||
coffee-script (2.4.1)
|
coffee-script (2.4.1)
|
||||||
coffee-script-source
|
coffee-script-source
|
||||||
execjs
|
execjs
|
||||||
coffee-script-source (1.8.0)
|
coffee-script-source (1.8.0)
|
||||||
|
concurrent-ruby (1.0.2)
|
||||||
debug_inspector (0.0.2)
|
debug_inspector (0.0.2)
|
||||||
erubis (2.7.0)
|
erubis (2.7.0)
|
||||||
excon (0.45.4)
|
excon (0.51.0)
|
||||||
execjs (2.6.0)
|
execjs (2.7.0)
|
||||||
faker (1.6.1)
|
faker (1.6.5)
|
||||||
i18n (~> 0.5)
|
i18n (~> 0.5)
|
||||||
ffi (1.9.10-x64-mingw32)
|
ffi (1.9.14-x64-mingw32)
|
||||||
ffi (1.9.10-x86-mingw32)
|
|
||||||
fog (1.23.0)
|
fog (1.23.0)
|
||||||
fog-brightbox
|
fog-brightbox
|
||||||
fog-core (~> 1.23)
|
fog-core (~> 1.23)
|
||||||
|
|
@ -85,23 +83,26 @@ GEM
|
||||||
fog-softlayer
|
fog-softlayer
|
||||||
ipaddress (~> 0.5)
|
ipaddress (~> 0.5)
|
||||||
nokogiri (~> 1.5, >= 1.5.11)
|
nokogiri (~> 1.5, >= 1.5.11)
|
||||||
fog-brightbox (0.9.0)
|
fog-brightbox (0.10.1)
|
||||||
fog-core (~> 1.22)
|
fog-core (~> 1.22)
|
||||||
fog-json
|
fog-json
|
||||||
inflecto (~> 0.0.2)
|
inflecto (~> 0.0.2)
|
||||||
fog-core (1.35.0)
|
fog-core (1.42.0)
|
||||||
builder
|
builder
|
||||||
excon (~> 0.45)
|
excon (~> 0.49)
|
||||||
formatador (~> 0.2)
|
formatador (~> 0.2)
|
||||||
fog-json (1.0.2)
|
fog-json (1.0.2)
|
||||||
fog-core (~> 1.0)
|
fog-core (~> 1.0)
|
||||||
multi_json (~> 1.10)
|
multi_json (~> 1.10)
|
||||||
fog-softlayer (1.0.2)
|
fog-softlayer (1.1.0)
|
||||||
fog-core
|
fog-core
|
||||||
fog-json
|
fog-json
|
||||||
formatador (0.2.5)
|
formatador (0.2.5)
|
||||||
friendly_id (5.1.0)
|
friendly_id (5.1.0)
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
|
fuelux-rails-sass (3.14.2)
|
||||||
|
railties (>= 3.1)
|
||||||
|
sass-rails
|
||||||
globalid (0.3.6)
|
globalid (0.3.6)
|
||||||
activesupport (>= 4.1.0)
|
activesupport (>= 4.1.0)
|
||||||
guard (2.13.0)
|
guard (2.13.0)
|
||||||
|
|
@ -114,16 +115,16 @@ GEM
|
||||||
shellany (~> 0.0)
|
shellany (~> 0.0)
|
||||||
thor (>= 0.18.1)
|
thor (>= 0.18.1)
|
||||||
guard-compat (1.2.1)
|
guard-compat (1.2.1)
|
||||||
guard-minitest (2.4.4)
|
guard-minitest (2.4.5)
|
||||||
guard-compat (~> 1.2)
|
guard-compat (~> 1.2)
|
||||||
minitest (>= 3.0)
|
minitest (>= 3.0)
|
||||||
i18n (0.7.0)
|
i18n (0.7.0)
|
||||||
inflecto (0.0.2)
|
inflecto (0.0.2)
|
||||||
ipaddress (0.8.0)
|
ipaddress (0.8.3)
|
||||||
jbuilder (2.3.2)
|
jbuilder (2.6.0)
|
||||||
activesupport (>= 3.0.0, < 5)
|
activesupport (>= 3.0.0, < 5.1)
|
||||||
multi_json (~> 1.2)
|
multi_json (~> 1.2)
|
||||||
jquery-rails (4.0.5)
|
jquery-rails (4.1.0)
|
||||||
rails-dom-testing (~> 1.0)
|
rails-dom-testing (~> 1.0)
|
||||||
railties (>= 4.2.0)
|
railties (>= 4.2.0)
|
||||||
thor (>= 0.14, < 2.0)
|
thor (>= 0.14, < 2.0)
|
||||||
|
|
@ -133,45 +134,46 @@ GEM
|
||||||
jquery-ui-rails (5.0.5)
|
jquery-ui-rails (5.0.5)
|
||||||
railties (>= 3.2.16)
|
railties (>= 3.2.16)
|
||||||
json (1.8.3)
|
json (1.8.3)
|
||||||
listen (3.0.5)
|
listen (3.0.6)
|
||||||
rb-fsevent (>= 0.9.3)
|
rb-fsevent (>= 0.9.3)
|
||||||
rb-inotify (>= 0.9)
|
rb-inotify (>= 0.9.7)
|
||||||
loofah (2.0.3)
|
loofah (2.0.3)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.5.9)
|
||||||
lumberjack (1.0.9)
|
lumberjack (1.0.10)
|
||||||
mail (2.6.3)
|
mail (2.6.4)
|
||||||
mime-types (>= 1.16, < 3)
|
mime-types (>= 1.16, < 4)
|
||||||
method_source (0.8.2)
|
method_source (0.8.2)
|
||||||
mime-types (2.99)
|
mime-types (3.1)
|
||||||
|
mime-types-data (~> 3.2015)
|
||||||
|
mime-types-data (3.2016.0521)
|
||||||
mini_backtrace (0.1.3)
|
mini_backtrace (0.1.3)
|
||||||
minitest (> 1.2.0)
|
minitest (> 1.2.0)
|
||||||
rails (>= 2.3.3)
|
rails (>= 2.3.3)
|
||||||
mini_magick (3.8.0)
|
mini_magick (3.8.0)
|
||||||
subexec (~> 0.2.1)
|
subexec (~> 0.2.1)
|
||||||
mini_portile (0.6.2)
|
mini_portile2 (2.1.0)
|
||||||
minitest (5.8.3)
|
minitest (5.9.0)
|
||||||
minitest-reporters (1.1.7)
|
minitest-reporters (1.1.10)
|
||||||
ansi
|
ansi
|
||||||
builder
|
builder
|
||||||
minitest (>= 5.0)
|
minitest (>= 5.0)
|
||||||
ruby-progressbar
|
ruby-progressbar
|
||||||
multi_json (1.11.2)
|
multi_json (1.12.1)
|
||||||
nenv (0.2.0)
|
nenv (0.3.0)
|
||||||
net-ssh (3.0.1)
|
net-ssh (3.2.0)
|
||||||
nokogiri (1.6.6.4-x64-mingw32)
|
nokogiri (1.6.8-x64-mingw32)
|
||||||
mini_portile (~> 0.6.0)
|
mini_portile2 (~> 2.1.0)
|
||||||
nokogiri (1.6.6.4-x86-mingw32)
|
pkg-config (~> 1.1.7)
|
||||||
mini_portile (~> 0.6.0)
|
notiffany (0.1.0)
|
||||||
notiffany (0.0.8)
|
|
||||||
nenv (~> 0.1)
|
nenv (~> 0.1)
|
||||||
shellany (~> 0.0)
|
shellany (~> 0.0)
|
||||||
pg (0.18.4-x64-mingw32)
|
pg (0.18.4-x64-mingw32)
|
||||||
pg (0.18.4-x86-mingw32)
|
pkg-config (1.1.7)
|
||||||
pry (0.10.3)
|
pry (0.10.4)
|
||||||
coderay (~> 1.1.0)
|
coderay (~> 1.1.0)
|
||||||
method_source (~> 0.8.1)
|
method_source (~> 0.8.1)
|
||||||
slop (~> 3.4)
|
slop (~> 3.4)
|
||||||
puma (2.15.3)
|
puma (3.5.2)
|
||||||
rack (1.6.4)
|
rack (1.6.4)
|
||||||
rack-test (0.6.3)
|
rack-test (0.6.3)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
|
|
@ -192,28 +194,32 @@ GEM
|
||||||
activesupport (>= 4.2.0.beta, < 5.0)
|
activesupport (>= 4.2.0.beta, < 5.0)
|
||||||
nokogiri (~> 1.6.0)
|
nokogiri (~> 1.6.0)
|
||||||
rails-deprecated_sanitizer (>= 1.0.1)
|
rails-deprecated_sanitizer (>= 1.0.1)
|
||||||
rails-html-sanitizer (1.0.2)
|
rails-html-sanitizer (1.0.3)
|
||||||
loofah (~> 2.0)
|
loofah (~> 2.0)
|
||||||
rails-jquery-autocomplete (1.0.3)
|
rails-jquery-autocomplete (1.0.3)
|
||||||
rails (>= 3.2)
|
rails (>= 3.2)
|
||||||
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_serve_static_assets (0.0.4)
|
rails_serve_static_assets (0.0.5)
|
||||||
rails_stdout_logging (0.0.4)
|
rails_stdout_logging (0.0.5)
|
||||||
railties (4.2.3)
|
railties (4.2.3)
|
||||||
actionpack (= 4.2.3)
|
actionpack (= 4.2.3)
|
||||||
activesupport (= 4.2.3)
|
activesupport (= 4.2.3)
|
||||||
rake (>= 0.8.7)
|
rake (>= 0.8.7)
|
||||||
thor (>= 0.18.1, < 2.0)
|
thor (>= 0.18.1, < 2.0)
|
||||||
rake (10.4.2)
|
rake (11.2.2)
|
||||||
rb-fsevent (0.9.6)
|
rb-fsevent (0.9.7)
|
||||||
rb-inotify (0.9.5)
|
rb-inotify (0.9.7)
|
||||||
ffi (>= 0.5.0)
|
ffi (>= 0.5.0)
|
||||||
rdoc (4.2.0)
|
rdoc (4.2.2)
|
||||||
json (~> 1.4)
|
json (~> 1.4)
|
||||||
ruby-progressbar (1.7.5)
|
responders (2.2.0)
|
||||||
sass (3.4.19)
|
railties (>= 4.2.0, < 5.1)
|
||||||
|
ruby-debug-ide (0.6.0)
|
||||||
|
rake (>= 0.8.1)
|
||||||
|
ruby-progressbar (1.8.1)
|
||||||
|
sass (3.4.22)
|
||||||
sass-rails (5.0.4)
|
sass-rails (5.0.4)
|
||||||
railties (>= 4.0.0, < 5.0)
|
railties (>= 4.0.0, < 5.0)
|
||||||
sass (~> 3.1)
|
sass (~> 3.1)
|
||||||
|
|
@ -225,37 +231,36 @@ GEM
|
||||||
rdoc (~> 4.0)
|
rdoc (~> 4.0)
|
||||||
shellany (0.0.1)
|
shellany (0.0.1)
|
||||||
slop (3.6.0)
|
slop (3.6.0)
|
||||||
sprockets (3.4.1)
|
sprockets (3.7.0)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
rack (> 1, < 3)
|
rack (> 1, < 3)
|
||||||
sprockets-rails (2.3.3)
|
sprockets-rails (3.0.4)
|
||||||
actionpack (>= 3.0)
|
actionpack (>= 4.0)
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 4.0)
|
||||||
sprockets (>= 2.8, < 4.0)
|
sprockets (>= 3.0.0)
|
||||||
sqlite3 (1.3.11-x64-mingw32)
|
sqlite3 (1.3.11-x64-mingw32)
|
||||||
sqlite3 (1.3.11-x86-mingw32)
|
|
||||||
subexec (0.2.3)
|
subexec (0.2.3)
|
||||||
thor (0.19.1)
|
thor (0.19.1)
|
||||||
thread_safe (0.3.5)
|
thread_safe (0.3.5)
|
||||||
tilt (2.0.1)
|
tilt (2.0.5)
|
||||||
turbolinks (2.5.3)
|
turbolinks (5.0.0)
|
||||||
coffee-rails
|
turbolinks-source (~> 5)
|
||||||
|
turbolinks-source (5.0.0)
|
||||||
tzinfo (1.2.2)
|
tzinfo (1.2.2)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
tzinfo-data (1.2015.7)
|
tzinfo-data (1.2016.6)
|
||||||
tzinfo (>= 1.0.0)
|
tzinfo (>= 1.0.0)
|
||||||
uglifier (2.7.2)
|
uglifier (3.0.0)
|
||||||
execjs (>= 0.3.0)
|
execjs (>= 0.3.0, < 3)
|
||||||
json (>= 1.8.0)
|
web-console (2.3.0)
|
||||||
web-console (2.2.1)
|
|
||||||
activemodel (>= 4.0)
|
activemodel (>= 4.0)
|
||||||
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)
|
||||||
will_paginate (3.0.7)
|
will_paginate (3.1.0)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
x64-mingw32
|
x64-mingw32
|
||||||
x86-mingw32
|
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
bcrypt (~> 3.1.7)
|
bcrypt (~> 3.1.7)
|
||||||
|
|
@ -270,6 +275,7 @@ DEPENDENCIES
|
||||||
faker
|
faker
|
||||||
fog (= 1.23.0)
|
fog (= 1.23.0)
|
||||||
friendly_id
|
friendly_id
|
||||||
|
fuelux-rails-sass
|
||||||
guard
|
guard
|
||||||
guard-minitest
|
guard-minitest
|
||||||
jbuilder (~> 2.0)
|
jbuilder (~> 2.0)
|
||||||
|
|
@ -285,6 +291,8 @@ DEPENDENCIES
|
||||||
rails (= 4.2.3)
|
rails (= 4.2.3)
|
||||||
rails-jquery-autocomplete
|
rails-jquery-autocomplete
|
||||||
rails_12factor
|
rails_12factor
|
||||||
|
responders
|
||||||
|
ruby-debug-ide
|
||||||
sass-rails (~> 5.0)
|
sass-rails (~> 5.0)
|
||||||
sdoc (~> 0.4.0)
|
sdoc (~> 0.4.0)
|
||||||
sqlite3
|
sqlite3
|
||||||
|
|
@ -294,5 +302,8 @@ DEPENDENCIES
|
||||||
web-console (~> 2.0)
|
web-console (~> 2.0)
|
||||||
will_paginate
|
will_paginate
|
||||||
|
|
||||||
|
RUBY VERSION
|
||||||
|
ruby 2.1.8p440
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.11.2
|
1.12.5
|
||||||
|
|
|
||||||
|
|
@ -24,3 +24,4 @@
|
||||||
//= require jquery.jtruncate
|
//= require jquery.jtruncate
|
||||||
//= require bootstrap-datepicker
|
//= require bootstrap-datepicker
|
||||||
//= require bootstrap-datepicker/locales/bootstrap-datepicker.fr
|
//= require bootstrap-datepicker/locales/bootstrap-datepicker.fr
|
||||||
|
//= require fuelux
|
||||||
|
|
|
||||||
30
app/assets/javascripts/modal.js.coffee
Normal file
30
app/assets/javascripts/modal.js.coffee
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
$ ->
|
||||||
|
modal_holder_selector = '#modal-holder'
|
||||||
|
modal_selector = '.modal'
|
||||||
|
|
||||||
|
$(document).on 'click', 'a[data-modal]', ->
|
||||||
|
location = $(this).attr('href')
|
||||||
|
#Load modal dialog from server
|
||||||
|
$.get location, (data)->
|
||||||
|
$(modal_holder_selector).html(data).
|
||||||
|
find(modal_selector).modal()
|
||||||
|
wizard = $(".wizard").wizard()
|
||||||
|
wizard.on 'finished.fu.wizard', (e, data) ->
|
||||||
|
$("#addStatementModal").submit()
|
||||||
|
false
|
||||||
|
|
||||||
|
$(document).on 'ajax:success',
|
||||||
|
'form[data-modal]', (event, data, status, xhr)->
|
||||||
|
url = xhr.getResponseHeader('Location')
|
||||||
|
if url
|
||||||
|
# Redirect to url
|
||||||
|
window.location = url
|
||||||
|
else
|
||||||
|
# Remove old modal backdrop
|
||||||
|
$('.modal-backdrop').remove()
|
||||||
|
|
||||||
|
# Replace old modal with new one
|
||||||
|
$(modal_holder_selector).html(data).
|
||||||
|
find(modal_selector).modal()
|
||||||
|
|
||||||
|
false
|
||||||
|
|
@ -14,4 +14,5 @@
|
||||||
*= require_self
|
*= require_self
|
||||||
*= require jquery-ui
|
*= require jquery-ui
|
||||||
*= require bootstrap-datepicker3
|
*= require bootstrap-datepicker3
|
||||||
|
*= require fuelux
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
.btn-custom {
|
.btn-primary-custom {
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
font-size: 8px;
|
font-size: 8px;
|
||||||
}
|
}
|
||||||
.btn-primary-custom {
|
.btn-primary-custom {
|
||||||
color: #616161;
|
color: #e63c14;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-color: #ededea;
|
border-color: #e63c14;
|
||||||
}
|
}
|
||||||
3
app/assets/stylesheets/modals.scss
Normal file
3
app/assets/stylesheets/modals.scss
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
.fuelux .modal .wizard > .actions {
|
||||||
|
position: inherit;
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,12 @@ class ApplicationController < ActionController::Base
|
||||||
|
|
||||||
before_action :set_locale
|
before_action :set_locale
|
||||||
|
|
||||||
|
def respond_modal_with(*args, &blk) #TODO blk ?
|
||||||
|
options = args.extract_options!
|
||||||
|
options[:responder] = Responders::ModalResponder
|
||||||
|
respond_with *args, options, &blk
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
# Before Filters
|
# Before Filters
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
class PublicFiguresController < ApplicationController
|
class PublicFiguresController < ApplicationController
|
||||||
|
respond_to :html, :json
|
||||||
before_action :find_public_figure, only: :show
|
before_action :find_public_figure, only: :show
|
||||||
before_action :check_reputation_to_destroy, only: :destroy
|
before_action :check_reputation_to_destroy, only: :destroy
|
||||||
before_action :check_reputation_to_add, only: [:new, :create]
|
before_action :check_reputation_to_add, only: [:new, :create]
|
||||||
|
|
@ -10,18 +11,19 @@ class PublicFiguresController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@public_figure = PublicFigure.find(params[:id])
|
@public_figure = PublicFigure.find(params[:public_figure_id])
|
||||||
@new_statement = @public_figure.statements.build
|
@new_statement = @public_figure.statements.build
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@public_figure = PublicFigure.new
|
@public_figure = PublicFigure.new
|
||||||
|
respond_modal_with @public_figure
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@public_figure = PublicFigure.new(public_figure_params)
|
@public_figure = PublicFigure.new(public_figure_params)
|
||||||
if @public_figure.save
|
if @public_figure.save
|
||||||
flash[:success] = "Personnalité \"#{@public_figure.name}\" créé ! "
|
flash[:success] = "Personnalité \"#{@public_figure.name}\" référencée ! "
|
||||||
redirect_to @public_figure
|
redirect_to @public_figure
|
||||||
else
|
else
|
||||||
render "new"
|
render "new"
|
||||||
|
|
@ -29,7 +31,7 @@ class PublicFiguresController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
public_figure = PublicFigure.find(params[:id])
|
public_figure = PublicFigure.find(params[:public_figure_id])
|
||||||
name = public_figure.name
|
name = public_figure.name
|
||||||
public_figure.destroy #TODO Mark deleted instead of really deleting record
|
public_figure.destroy #TODO Mark deleted instead of really deleting record
|
||||||
flash[:success] = "\"#{name}\" supprimé"
|
flash[:success] = "\"#{name}\" supprimé"
|
||||||
|
|
@ -49,7 +51,7 @@ class PublicFiguresController < ApplicationController
|
||||||
redirect_to login_url
|
redirect_to login_url
|
||||||
elsif !allowed_to? :delete_personality
|
elsif !allowed_to? :delete_personality
|
||||||
flash[:danger] = "Vous n'avez pas assez de réputation pour supprimer une personnalité"
|
flash[:danger] = "Vous n'avez pas assez de réputation pour supprimer une personnalité"
|
||||||
redirect_to(PublicFigure.find(params[:id]))
|
redirect_to(PublicFigure.find(params[:public_figure_id]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -65,7 +67,7 @@ class PublicFiguresController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_public_figure
|
def find_public_figure
|
||||||
@public_figure = PublicFigure.find params[:id]
|
@public_figure = PublicFigure.find params[:public_figure_id]
|
||||||
if request.path != public_figure_path(@public_figure) # If old URL
|
if request.path != public_figure_path(@public_figure) # If old URL
|
||||||
redirect_to @public_figure, status: :moved_permanently # Redirect to new URL
|
redirect_to @public_figure, status: :moved_permanently # Redirect to new URL
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,20 @@
|
||||||
class StatementsController < ApplicationController
|
class StatementsController < ApplicationController
|
||||||
|
respond_to :html, :json
|
||||||
before_action :logged_in_user, only: [:create, :update, :destroy]
|
before_action :logged_in_user, only: [:create, :update, :destroy]
|
||||||
|
|
||||||
|
def new
|
||||||
|
if params.include? :subject_id
|
||||||
|
@subject = Subject.find params[:subject_id]
|
||||||
|
@new_statement = @subject.statements.build
|
||||||
|
elsif params.include? :public_figure_id
|
||||||
|
@public_figure = PublicFigure.find params[:public_figure_id]
|
||||||
|
@new_statement = @public_figure.statements.build
|
||||||
|
else
|
||||||
|
@new_statement = Statement.new
|
||||||
|
end
|
||||||
|
respond_modal_with @new_statement
|
||||||
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@position = Position.find_by_id(statement_params[:position_id])
|
@position = Position.find_by_id(statement_params[:position_id])
|
||||||
@public_figure = PublicFigure.find_by_id(statement_params[:public_figure_id])
|
@public_figure = PublicFigure.find_by_id(statement_params[:public_figure_id])
|
||||||
|
|
@ -9,7 +23,7 @@ class StatementsController < ApplicationController
|
||||||
@statement = @position.statements.build(statement_params)
|
@statement = @position.statements.build(statement_params)
|
||||||
@evidence = @statement.evidences.build(statement_evidence_params)
|
@evidence = @statement.evidences.build(statement_evidence_params)
|
||||||
|
|
||||||
if ( @evidence.valid? && @statement.valid? )
|
if @evidence.valid? && @statement.valid?
|
||||||
if @statement.save && @evidence.save
|
if @statement.save && @evidence.save
|
||||||
flash[:success] = "Prise de position et preuve enregistrées !"
|
flash[:success] = "Prise de position et preuve enregistrées !"
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ class SubjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@subject = Subject.find(params[:id])
|
@subject = Subject.find(params[:subject_id])
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @subject.update(subject_params)
|
if @subject.update(subject_params)
|
||||||
grant_reputation_for!(:edited_subject)
|
grant_reputation_for!(:edited_subject)
|
||||||
|
|
@ -46,7 +46,7 @@ class SubjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
subject = Subject.find(params[:id])
|
subject = Subject.find(params[:subject_id])
|
||||||
title = subject.title
|
title = subject.title
|
||||||
subject.destroy
|
subject.destroy
|
||||||
flash[:success] = "Sujet \"#{title}\" supprimé"
|
flash[:success] = "Sujet \"#{title}\" supprimé"
|
||||||
|
|
@ -63,7 +63,7 @@ class SubjectsController < ApplicationController
|
||||||
redirect_not_logged_with_message "Vous devez être identifié pour éditer un sujet"
|
redirect_not_logged_with_message "Vous devez être identifié pour éditer un sujet"
|
||||||
if ! allowed_to? :edit_minor_subject
|
if ! allowed_to? :edit_minor_subject
|
||||||
flash[:danger] = "Vous n'avez pas assez de réputation pour éditer un sujet"
|
flash[:danger] = "Vous n'avez pas assez de réputation pour éditer un sujet"
|
||||||
redirect_to(Subject.find(params[:id]))
|
redirect_to(Subject.find(params[:subject_id]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ class SubjectsController < ApplicationController
|
||||||
redirect_not_logged_with_message "Vous devez être identifié pour créer un sujet"
|
redirect_not_logged_with_message "Vous devez être identifié pour créer un sujet"
|
||||||
if ! allowed_to? :edit_minor_subject
|
if ! allowed_to? :edit_minor_subject
|
||||||
flash[:danger] = "Vous n'avez pas assez de réputation pour éditer un sujet"
|
flash[:danger] = "Vous n'avez pas assez de réputation pour éditer un sujet"
|
||||||
redirect_to(Subject.find(params[:id]))
|
redirect_to(Subject.find(params[:subject_id]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -79,12 +79,12 @@ class SubjectsController < ApplicationController
|
||||||
redirect_not_logged_with_message "Vous devez être identifié pour supprimer un sujet"
|
redirect_not_logged_with_message "Vous devez être identifié pour supprimer un sujet"
|
||||||
if ! allowed_to? :delete_minor_subject
|
if ! allowed_to? :delete_minor_subject
|
||||||
flash[:danger] = "Vous n'avez pas assez de réputation pour supprimer un sujet"
|
flash[:danger] = "Vous n'avez pas assez de réputation pour supprimer un sujet"
|
||||||
redirect_to(Subject.find(params[:id]))
|
redirect_to(Subject.find(params[:subject_id]))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_subject
|
def find_subject
|
||||||
@subject = Subject.find params[:id]
|
@subject = Subject.find params[:subject_id]
|
||||||
if request.path != subject_path(@subject) # If old URL
|
if request.path != subject_path(@subject) # If old URL
|
||||||
redirect_to @subject, status: :moved_permanently # Redirect to new URL
|
redirect_to @subject, status: :moved_permanently # Redirect to new URL
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ class Position < ActiveRecord::Base
|
||||||
private
|
private
|
||||||
|
|
||||||
def at_least_one_statement
|
def at_least_one_statement
|
||||||
if statements.size < 1
|
if statements.length < 1
|
||||||
errors.add("Il faut au moins une prise de position pour cette position")
|
errors.add(:statements, "Il faut au moins une prise de position pour cette position")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,18 +8,7 @@
|
||||||
<%= csrf_meta_tags %>
|
<%= csrf_meta_tags %>
|
||||||
<%= render 'layouts/shim' %>
|
<%= render 'layouts/shim' %>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="fuelux">
|
||||||
<!-- Google Tag Manager -->
|
|
||||||
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-N4M2L9"
|
|
||||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
||||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
||||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
||||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
|
||||||
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
||||||
})(window,document,'script','dataLayer','GTM-N4M2L9');</script>
|
|
||||||
<!-- End Google Tag Manager -->
|
|
||||||
|
|
||||||
|
|
||||||
<%= render 'layouts/header' %>
|
<%= render 'layouts/header' %>
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<%= flash_messages %>
|
<%= flash_messages %>
|
||||||
|
|
@ -29,6 +18,15 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||||
<%= render 'layouts/footer' %>
|
<%= render 'layouts/footer' %>
|
||||||
<%= debug(params) if Rails.env.development? %>
|
<%= debug(params) if Rails.env.development? %>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="modal-holder"></div>
|
||||||
|
<!-- Google Tag Manager -->
|
||||||
|
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-N4M2L9"
|
||||||
|
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||||
|
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||||
|
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||||
|
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||||
|
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||||
|
})(window,document,'script','dataLayer','GTM-N4M2L9');</script>
|
||||||
|
<!-- End Google Tag Manager -->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
13
app/views/layouts/modal.html.erb
Normal file
13
app/views/layouts/modal.html.erb
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<div id="myModal" class="modal fade" role="dialog" aria-labelledby="mainModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog ui-front">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title" id="mainModalLabel">
|
||||||
|
<%= yield :title if content_for? :title %>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<%= yield %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -1,19 +1,17 @@
|
||||||
<div class="container-fluid" style="width:100vw; position:relative; margin-left:-50vw;left:50%;">
|
|
||||||
<% provide(:title, "Personnalités") %>
|
<% provide(:title, "Personnalités") %>
|
||||||
<div class="col-md-1"></div>
|
<div class="container-fluid" style="width:100vw; position:relative; margin-left:-50vw;left:50%;">
|
||||||
|
<div class="col-md-7 col-md-offset-1">
|
||||||
|
|
||||||
<div class="col-md-7">
|
|
||||||
<h1>Les Personnalités
|
<h1>Les Personnalités
|
||||||
|
<%= link_to "Référencer une personnalité", new_public_figure_path, class: "btn btn-primary", data: { modal: true } if allowed_to?(:add_personality) %>
|
||||||
<%= link_to "Référencer une personnalité", new_public_figure_path, class: "btn btn-primary" if allowed_to?(:add_personality) %>
|
|
||||||
</h1>
|
</h1>
|
||||||
|
<p><%= link_to "Test : modal d'ajout", new_statement_path, data: { modal: true } %> </p>
|
||||||
<div class="public-figures-index">
|
<div class="public-figures-index">
|
||||||
|
|
||||||
<%= render @public_figures %>
|
<%= render @public_figures %>
|
||||||
</div></div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<%= render 'layouts/last_statements' %>
|
<%= render 'layouts/last_statements' %>
|
||||||
<%= will_paginate %></div>
|
<%= will_paginate %>
|
||||||
|
</div>
|
||||||
<div class="col-md-1"></div>
|
<div class="col-md-1"></div>
|
||||||
</div>
|
</div>
|
||||||
93
app/views/statements/new.html.erb
Normal file
93
app/views/statements/new.html.erb
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
<% provide(:title, "Recenser une prise de position") %>
|
||||||
|
<p><%= @subject.title if @subject %></p>
|
||||||
|
<p><%= @public_figure.name if @public_figure %></p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-10 col-xs-offset-1" >
|
||||||
|
<div class="wizard" data-initialize="wizard" id="myWizard">
|
||||||
|
|
||||||
|
<div class="steps-container">
|
||||||
|
<ul class="steps">
|
||||||
|
<li data-step="1" data-name="public_figure" class="active">
|
||||||
|
Personnalité
|
||||||
|
<span class="chevron"></span>
|
||||||
|
</li>
|
||||||
|
<li data-step="2">
|
||||||
|
Sujet
|
||||||
|
<span class="chevron"></span>
|
||||||
|
</li>
|
||||||
|
<li data-step="3" data-name="template">
|
||||||
|
Position
|
||||||
|
<span class="chevron"></span>
|
||||||
|
</li>
|
||||||
|
<li data-step="4" data-name="template">
|
||||||
|
Prise de position
|
||||||
|
<span class="chevron"></span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= form_for(
|
||||||
|
@new_statement,
|
||||||
|
remote: request.xhr?,
|
||||||
|
html: {
|
||||||
|
data: { modal: true },
|
||||||
|
:id => "addStatementModal",
|
||||||
|
multipart:true
|
||||||
|
}) do |f| %>
|
||||||
|
<%= render "shared/error_messages", object: f.object %>
|
||||||
|
|
||||||
|
<div class="step-content">
|
||||||
|
<div class="step-pane active sample-pane alert" data-step="1">
|
||||||
|
<h4>De qui parlons-nous ?</h4>
|
||||||
|
<%= f.collection_select :public_figure, PublicFigure.all, :id, :name %>
|
||||||
|
</div>
|
||||||
|
<div class="step-pane sample-pane bg-info alert" data-step="2">
|
||||||
|
<h4>Quel est le sujet qui fait débat ?</h4>
|
||||||
|
<%= label_tag "Sujet" %>
|
||||||
|
<%= autocomplete_field_tag 'Subject', '',
|
||||||
|
autocomplete_autocomplete_subject_title_path,
|
||||||
|
id_element: '#statement_subject_id',
|
||||||
|
class: "Autocomplete"
|
||||||
|
%>
|
||||||
|
<%= f.hidden_field :subject_id, value: "",
|
||||||
|
data: {
|
||||||
|
dynamic_selectable_url: subjects_positions_path(':subject_id', format: :json),
|
||||||
|
dynamic_selectable_target: '#statement_position_id'
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
</div>
|
||||||
|
<div class="step-pane sample-pane bg-danger alert" data-step="3">
|
||||||
|
<h4>Quelle position a été prise ?</h4>
|
||||||
|
<%= f.label :position_id, "Position prise" %>
|
||||||
|
<%= f.select :position_id, {} %>
|
||||||
|
</div>
|
||||||
|
<div class="step-pane sample-pane bg-danger alert" data-step="4">
|
||||||
|
<h4>Donnez-nous quelques détails : </h4>
|
||||||
|
<%= f.fields_for @new_statement.evidences.build do |e| %>
|
||||||
|
|
||||||
|
<%= e.label :url, "Lien internet ..." %>
|
||||||
|
<%= e.text_field :url, placeholder: "http://" %>
|
||||||
|
<%= e.label :file, "... ou pièce jointe" %>
|
||||||
|
<%= e.file_field :file, accept: 'image/jpeg,image/gif,image/png,application/pdf,audio/mpeg3,audio/x-mpeg3,video/avi,video/quicktime,audio/wav' %>
|
||||||
|
<%= e.label :title, "Intitulé de la preuve" %>
|
||||||
|
<%= e.text_field :title, placeholder: "Explicitez la référence" %>
|
||||||
|
<%= e.label :fact_date, "Date des faits" %>
|
||||||
|
<%= e.text_field :fact_date, placeholder: "jj/mm/yyyy", class: "Datepicker" %>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<div class="actions">
|
||||||
|
<button type="button" class="btn btn-default btn-prev">
|
||||||
|
<span class="glyphicon glyphicon-arrow-left"></span>Revenir
|
||||||
|
</button>
|
||||||
|
<button type="button" class="btn btn-primary btn-next" data-last="Enregistrer">Suivant
|
||||||
|
<span class="glyphicon glyphicon-arrow-right"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -18,40 +18,4 @@
|
||||||
<div class="col-md-1"></div>
|
<div class="col-md-1"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<% # = react_component 'MultiAddForm', mode:'AddSubject' %>
|
||||||
|
|
||||||
<!-- MODALE COMMENTEE
|
|
||||||
<!-- Trigger the modal with a button ->
|
|
||||||
<button type="button" class="btn btn-primary btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
|
|
||||||
|
|
||||||
<!-- Modal ->
|
|
||||||
<div id="myModal" class="modal fade" role="dialog">
|
|
||||||
<div class="modal-dialog">
|
|
||||||
|
|
||||||
<!-- Modal content->
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
|
||||||
<h4 class="modal-title">Nouveau sujet</h4>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="usr">Titre :</label>
|
|
||||||
<input type="text" class="form-control" id="usr">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="comment">Présentation :</label>
|
|
||||||
<textarea class="form-control" rows="5" id="comment"></textarea>
|
|
||||||
</div>
|
|
||||||
<p>Some text in the modal.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,9 @@ module Debats
|
||||||
# Do not swallow errors in after_commit/after_rollback callbacks.
|
# Do not swallow errors in after_commit/after_rollback callbacks.
|
||||||
config.active_record.raise_in_transactional_callbacks = true
|
config.active_record.raise_in_transactional_callbacks = true
|
||||||
|
|
||||||
|
# Auto-load libs
|
||||||
|
config.autoload_paths << Rails.root.join('lib')
|
||||||
|
|
||||||
# 404, 500 personnalisées
|
# 404, 500 personnalisées
|
||||||
config.exceptions_app = self.routes
|
config.exceptions_app = self.routes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,3 +9,4 @@ Rails.application.config.assets.version = '1.0'
|
||||||
# Precompile additional assets.
|
# Precompile additional assets.
|
||||||
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
||||||
# Rails.application.config.assets.precompile += %w( search.js )
|
# Rails.application.config.assets.precompile += %w( search.js )
|
||||||
|
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/
|
||||||
|
|
|
||||||
|
|
@ -11,14 +11,19 @@ Rails.application.routes.draw do
|
||||||
resources :account_activations, path: 'activation', only: [:edit]
|
resources :account_activations, path: 'activation', only: [:edit]
|
||||||
resources :password_resets, only: [:new, :create, :edit, :update]
|
resources :password_resets, only: [:new, :create, :edit, :update]
|
||||||
|
|
||||||
resources :subjects, path: 'sujets' do
|
resources :subjects, path: 's', param: :subject_id do
|
||||||
member do
|
member do
|
||||||
resources :positions, as: 'subjects_positions', only: [:index]
|
resources :positions, as: 'subjects_positions', only: [:index]
|
||||||
|
resources :statements, as: 'subjects_statements'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
resources :public_figures, path:'p', param: :public_figure_id do
|
||||||
|
member do
|
||||||
|
resources :statements, as: 'public_figures_statements'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
resources :public_figures, path:'personnalites'
|
|
||||||
resources :positions, only: [:create, :update, :destroy]
|
resources :positions, only: [:create, :update, :destroy]
|
||||||
resources :statements, only: [:create, :update, :destroy]
|
resources :statements, only: [:new, :create, :update, :destroy]
|
||||||
resources :arguments, only: [:create, :update, :destroy]
|
resources :arguments, only: [:create, :update, :destroy]
|
||||||
|
|
||||||
# AUTOCOMPLETE
|
# AUTOCOMPLETE
|
||||||
|
|
|
||||||
26
lib/responders/modal_responder.rb
Normal file
26
lib/responders/modal_responder.rb
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
class Responders::ModalResponder < ActionController::Responder
|
||||||
|
|
||||||
|
cattr_accessor :modal_layout
|
||||||
|
self.modal_layout = 'modal'
|
||||||
|
|
||||||
|
def render(*args)
|
||||||
|
options = args.extract_options!
|
||||||
|
if request.xhr?
|
||||||
|
options.merge! layout: modal_layout
|
||||||
|
end
|
||||||
|
controller.render *args, options
|
||||||
|
end
|
||||||
|
|
||||||
|
def default_render(*args)
|
||||||
|
render(*args)
|
||||||
|
end
|
||||||
|
|
||||||
|
def redirect_to(options)
|
||||||
|
if request.xhr?
|
||||||
|
head :ok, location: controller.url_for(options)
|
||||||
|
else
|
||||||
|
controller.redirect_to(options)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
Loading…
Add table
Reference in a new issue