mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-08 21:06:24 +08:00
Merge branch 'master-with-note-section' into feature/marvinjs-integration
This commit is contained in:
commit
dcf94e78e1
29 changed files with 373 additions and 341 deletions
|
@ -3,7 +3,7 @@ AllCops:
|
||||||
- "vendor/**/*"
|
- "vendor/**/*"
|
||||||
- "db/schema.rb"
|
- "db/schema.rb"
|
||||||
UseCache: false
|
UseCache: false
|
||||||
TargetRubyVersion: 2.4
|
TargetRubyVersion: 2.5
|
||||||
|
|
||||||
##################### Style ####################################
|
##################### Style ####################################
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM ruby:2.4.5
|
FROM ruby:2.5.5
|
||||||
MAINTAINER BioSistemika <info@biosistemika.com>
|
MAINTAINER BioSistemika <info@biosistemika.com>
|
||||||
|
|
||||||
# additional dependecies
|
# additional dependecies
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM ruby:2.4.5
|
FROM ruby:2.5.5
|
||||||
MAINTAINER BioSistemika <info@biosistemika.com>
|
MAINTAINER BioSistemika <info@biosistemika.com>
|
||||||
|
|
||||||
# additional dependecies
|
# additional dependecies
|
||||||
|
|
18
Gemfile
18
Gemfile
|
@ -2,21 +2,21 @@
|
||||||
|
|
||||||
source 'http://rubygems.org'
|
source 'http://rubygems.org'
|
||||||
|
|
||||||
ruby '2.4.5'
|
ruby '2.5.5'
|
||||||
|
|
||||||
|
|
||||||
gem 'webpacker', '~> 3.5'
|
gem 'webpacker', '~> 3.5'
|
||||||
gem 'bootstrap-sass', '~> 3.3.7'
|
gem 'bootstrap-sass', '~> 3.4'
|
||||||
gem 'bootstrap_form'
|
gem 'bootstrap_form'
|
||||||
gem 'devise', '~> 4.3.0'
|
gem 'devise', '~> 4.6.2'
|
||||||
gem 'devise_invitable'
|
gem 'devise_invitable'
|
||||||
gem 'figaro'
|
gem 'figaro'
|
||||||
gem 'pg', '~> 0.18'
|
gem 'pg', '~> 0.18'
|
||||||
gem 'pg_search' # PostgreSQL full text search
|
gem 'pg_search' # PostgreSQL full text search
|
||||||
gem 'rails', '~> 5.1.6.2'
|
gem 'rails', '~> 5.1.7'
|
||||||
gem 'recaptcha', require: 'recaptcha/rails'
|
gem 'recaptcha', require: 'recaptcha/rails'
|
||||||
gem 'sanitize', '~> 4.4'
|
gem 'sanitize', '~> 4.4'
|
||||||
gem 'sass-rails', '~> 5.0.6'
|
gem 'sassc-rails'
|
||||||
gem 'simple_token_authentication', '~> 1.15.1' # Token authentication for Devise
|
gem 'simple_token_authentication', '~> 1.15.1' # Token authentication for Devise
|
||||||
gem 'yomu'
|
gem 'yomu'
|
||||||
|
|
||||||
|
@ -35,9 +35,9 @@ gem 'rack-attack'
|
||||||
# JS datetime library, requirement of datetime picker
|
# JS datetime library, requirement of datetime picker
|
||||||
gem 'momentjs-rails', '~> 2.17.1'
|
gem 'momentjs-rails', '~> 2.17.1'
|
||||||
# JS datetime picker
|
# JS datetime picker
|
||||||
gem 'bootstrap3-datetimepicker-rails', '~> 4.15.35'
|
gem 'bootstrap3-datetimepicker-rails', '~> 4.17.47'
|
||||||
# Select elements for Bootstrap
|
# Select elements for Bootstrap
|
||||||
gem 'bootstrap-select-rails', '~> 1.12.4'
|
gem 'bootstrap-select-rails', '~> 1.13.8'
|
||||||
gem 'uglifier', '>= 1.3.0'
|
gem 'uglifier', '>= 1.3.0'
|
||||||
# jQuery & plugins
|
# jQuery & plugins
|
||||||
gem 'autosize-rails' # jQuery autosize plugin
|
gem 'autosize-rails' # jQuery autosize plugin
|
||||||
|
@ -68,7 +68,7 @@ gem 'nested_form_fields'
|
||||||
gem 'nokogiri', '~> 1.8.1' # HTML/XML parser
|
gem 'nokogiri', '~> 1.8.1' # HTML/XML parser
|
||||||
gem 'rails_autolink', '~> 1.1', '>= 1.1.6'
|
gem 'rails_autolink', '~> 1.1', '>= 1.1.6'
|
||||||
gem 'rgl' # Graph framework for project diagram calculations
|
gem 'rgl' # Graph framework for project diagram calculations
|
||||||
gem 'roo', '~> 2.7.1' # Spreadsheet parser
|
gem 'roo', '~> 2.8.2' # Spreadsheet parser
|
||||||
gem 'rubyzip'
|
gem 'rubyzip'
|
||||||
gem 'scenic', '~> 1.4'
|
gem 'scenic', '~> 1.4'
|
||||||
gem 'sdoc', '~> 1.0', group: :doc
|
gem 'sdoc', '~> 1.0', group: :doc
|
||||||
|
@ -116,8 +116,6 @@ group :development, :test do
|
||||||
gem 'rails-controller-testing'
|
gem 'rails-controller-testing'
|
||||||
gem 'rspec-rails'
|
gem 'rspec-rails'
|
||||||
gem 'rubocop', '>= 0.59.0', require: false
|
gem 'rubocop', '>= 0.59.0', require: false
|
||||||
gem 'scss_lint', require: false
|
|
||||||
gem 'starscope', require: false
|
|
||||||
gem 'timecop'
|
gem 'timecop'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
419
Gemfile.lock
419
Gemfile.lock
|
@ -1,9 +1,9 @@
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/biosistemika/canaid
|
remote: https://github.com/biosistemika/canaid
|
||||||
revision: 943ae9b9801819fd2513f6ab9e1143ad8de523ce
|
revision: 6c02dfe7e8354e130d543ec0b398ab6411892d13
|
||||||
branch: master
|
branch: master
|
||||||
specs:
|
specs:
|
||||||
canaid (1.0.2)
|
canaid (1.0.3)
|
||||||
devise (>= 3.4.1)
|
devise (>= 3.4.1)
|
||||||
docile (>= 1.1.0)
|
docile (>= 1.1.0)
|
||||||
rails (>= 4)
|
rails (>= 4)
|
||||||
|
@ -17,9 +17,9 @@ GIT
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: https://github.com/einzige/sneaky-save
|
remote: https://github.com/einzige/sneaky-save
|
||||||
revision: 7e7596720e76a3c243042be2f5f916525b143a54
|
revision: ee71d0a00cd4ecdd575bd2a9aa8b8693915f4871
|
||||||
specs:
|
specs:
|
||||||
sneaky-save (0.1.2)
|
sneaky-save (0.1.3)
|
||||||
activerecord (>= 3.2.0)
|
activerecord (>= 3.2.0)
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
|
@ -42,51 +42,51 @@ GIT
|
||||||
GEM
|
GEM
|
||||||
remote: http://rubygems.org/
|
remote: http://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
actioncable (5.1.6.2)
|
actioncable (5.1.7)
|
||||||
actionpack (= 5.1.6.2)
|
actionpack (= 5.1.7)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
websocket-driver (~> 0.6.1)
|
websocket-driver (~> 0.6.1)
|
||||||
actionmailer (5.1.6.2)
|
actionmailer (5.1.7)
|
||||||
actionpack (= 5.1.6.2)
|
actionpack (= 5.1.7)
|
||||||
actionview (= 5.1.6.2)
|
actionview (= 5.1.7)
|
||||||
activejob (= 5.1.6.2)
|
activejob (= 5.1.7)
|
||||||
mail (~> 2.5, >= 2.5.4)
|
mail (~> 2.5, >= 2.5.4)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.0)
|
||||||
actionpack (5.1.6.2)
|
actionpack (5.1.7)
|
||||||
actionview (= 5.1.6.2)
|
actionview (= 5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
rack (~> 2.0)
|
rack (~> 2.0)
|
||||||
rack-test (>= 0.6.3)
|
rack-test (>= 0.6.3)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.0)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||||
actionview (5.1.6.2)
|
actionview (5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
builder (~> 3.1)
|
builder (~> 3.1)
|
||||||
erubi (~> 1.4)
|
erubi (~> 1.4)
|
||||||
rails-dom-testing (~> 2.0)
|
rails-dom-testing (~> 2.0)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||||
active_model_serializers (0.10.7)
|
active_model_serializers (0.10.9)
|
||||||
actionpack (>= 4.1, < 6)
|
actionpack (>= 4.1, < 6)
|
||||||
activemodel (>= 4.1, < 6)
|
activemodel (>= 4.1, < 6)
|
||||||
case_transform (>= 0.2)
|
case_transform (>= 0.2)
|
||||||
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
jsonapi-renderer (>= 0.1.1.beta1, < 0.3)
|
||||||
activejob (5.1.6.2)
|
activejob (5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
globalid (>= 0.3.6)
|
globalid (>= 0.3.6)
|
||||||
activemodel (5.1.6.2)
|
activemodel (5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
activerecord (5.1.6.2)
|
activerecord (5.1.7)
|
||||||
activemodel (= 5.1.6.2)
|
activemodel (= 5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
arel (~> 8.0)
|
arel (~> 8.0)
|
||||||
activerecord-import (0.23.0)
|
activerecord-import (1.0.1)
|
||||||
activerecord (>= 3.2)
|
activerecord (>= 3.2)
|
||||||
activesupport (5.1.6.2)
|
activesupport (5.1.7)
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (>= 0.7, < 2)
|
i18n (>= 0.7, < 2)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
addressable (2.5.2)
|
addressable (2.6.0)
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
public_suffix (>= 2.0.2, < 4.0)
|
||||||
aes_key_wrap (1.0.1)
|
aes_key_wrap (1.0.1)
|
||||||
ajax-datatables-rails (0.3.1)
|
ajax-datatables-rails (0.3.1)
|
||||||
|
@ -94,56 +94,57 @@ GEM
|
||||||
arel (8.0.0)
|
arel (8.0.0)
|
||||||
aspector (0.14.0)
|
aspector (0.14.0)
|
||||||
ast (2.4.0)
|
ast (2.4.0)
|
||||||
auto_strip_attributes (2.2.0)
|
auto_strip_attributes (2.5.0)
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 4.0)
|
||||||
autoprefixer-rails (7.2.5)
|
autoprefixer-rails (9.5.1)
|
||||||
execjs
|
execjs
|
||||||
autosize-rails (1.18.17)
|
autosize-rails (1.18.17)
|
||||||
rails (>= 3.1)
|
rails (>= 3.1)
|
||||||
awesome_print (1.8.0)
|
awesome_print (1.8.0)
|
||||||
aws-sdk (2.10.123)
|
aws-eventstream (1.0.3)
|
||||||
aws-sdk-resources (= 2.10.123)
|
aws-sdk (2.11.264)
|
||||||
aws-sdk-core (2.10.123)
|
aws-sdk-resources (= 2.11.264)
|
||||||
|
aws-sdk-core (2.11.264)
|
||||||
aws-sigv4 (~> 1.0)
|
aws-sigv4 (~> 1.0)
|
||||||
jmespath (~> 1.0)
|
jmespath (~> 1.0)
|
||||||
aws-sdk-resources (2.10.123)
|
aws-sdk-resources (2.11.264)
|
||||||
aws-sdk-core (= 2.10.123)
|
aws-sdk-core (= 2.11.264)
|
||||||
aws-sigv4 (1.0.2)
|
aws-sigv4 (1.1.0)
|
||||||
babel-source (5.8.35)
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
||||||
babel-transpiler (0.7.0)
|
backports (3.14.0)
|
||||||
babel-source (>= 4.0, < 6)
|
|
||||||
execjs (~> 2.0)
|
|
||||||
backports (3.11.0)
|
|
||||||
base62 (1.0.0)
|
base62 (1.0.0)
|
||||||
bcrypt (3.1.11)
|
bcrypt (3.1.12)
|
||||||
better_errors (2.4.0)
|
better_errors (2.5.1)
|
||||||
coderay (>= 1.0.0)
|
coderay (>= 1.0.0)
|
||||||
erubi (>= 1.0.0)
|
erubi (>= 1.0.0)
|
||||||
rack (>= 0.9.0)
|
rack (>= 0.9.0)
|
||||||
bindata (2.4.3)
|
bindata (2.4.4)
|
||||||
binding_of_caller (0.8.0)
|
binding_of_caller (0.8.0)
|
||||||
debug_inspector (>= 0.0.1)
|
debug_inspector (>= 0.0.1)
|
||||||
bootstrap-sass (3.3.7)
|
bootstrap-sass (3.4.1)
|
||||||
autoprefixer-rails (>= 5.2.1)
|
autoprefixer-rails (>= 5.2.1)
|
||||||
sass (>= 3.3.4)
|
sassc (>= 2.0.0)
|
||||||
bootstrap-select-rails (1.12.4)
|
bootstrap-select-rails (1.13.8)
|
||||||
bootstrap3-datetimepicker-rails (4.15.35)
|
bootstrap3-datetimepicker-rails (4.17.47)
|
||||||
momentjs-rails (>= 2.8.1)
|
momentjs-rails (>= 2.8.1)
|
||||||
bootstrap_form (2.7.0)
|
bootstrap_form (4.2.0)
|
||||||
|
actionpack (>= 5.0)
|
||||||
|
activemodel (>= 5.0)
|
||||||
builder (3.2.3)
|
builder (3.2.3)
|
||||||
bullet (5.7.5)
|
bullet (6.0.0)
|
||||||
activesupport (>= 3.0.0)
|
activesupport (>= 3.0.0)
|
||||||
uniform_notifier (~> 1.11.0)
|
uniform_notifier (~> 1.11)
|
||||||
byebug (9.1.0)
|
byebug (11.0.1)
|
||||||
capybara (2.18.0)
|
capybara (3.18.0)
|
||||||
addressable
|
addressable
|
||||||
mini_mime (>= 0.1.3)
|
mini_mime (>= 0.1.3)
|
||||||
nokogiri (>= 1.3.3)
|
nokogiri (~> 1.8)
|
||||||
rack (>= 1.0.0)
|
rack (>= 1.6.0)
|
||||||
rack-test (>= 0.5.4)
|
rack-test (>= 0.6.3)
|
||||||
xpath (>= 2.0, < 4.0)
|
regexp_parser (~> 1.2)
|
||||||
capybara-email (2.5.0)
|
xpath (~> 3.2)
|
||||||
capybara (~> 2.4)
|
capybara-email (3.0.1)
|
||||||
|
capybara (>= 2.4, < 4.0)
|
||||||
mail
|
mail
|
||||||
case_transform (0.2)
|
case_transform (0.2)
|
||||||
activesupport
|
activesupport
|
||||||
|
@ -164,57 +165,57 @@ GEM
|
||||||
crack (0.4.3)
|
crack (0.4.3)
|
||||||
safe_yaml (~> 1.0.0)
|
safe_yaml (~> 1.0.0)
|
||||||
crass (1.0.4)
|
crass (1.0.4)
|
||||||
cucumber (3.1.0)
|
cucumber (3.1.2)
|
||||||
builder (>= 2.1.2)
|
builder (>= 2.1.2)
|
||||||
cucumber-core (~> 3.1.0)
|
cucumber-core (~> 3.2.0)
|
||||||
cucumber-expressions (~> 5.0.4)
|
cucumber-expressions (~> 6.0.1)
|
||||||
cucumber-wire (~> 0.0.1)
|
cucumber-wire (~> 0.0.1)
|
||||||
diff-lcs (~> 1.3)
|
diff-lcs (~> 1.3)
|
||||||
gherkin (~> 5.0)
|
gherkin (~> 5.1.0)
|
||||||
multi_json (>= 1.7.5, < 2.0)
|
multi_json (>= 1.7.5, < 2.0)
|
||||||
multi_test (>= 0.1.2)
|
multi_test (>= 0.1.2)
|
||||||
cucumber-core (3.1.0)
|
cucumber-core (3.2.1)
|
||||||
backports (>= 3.8.0)
|
backports (>= 3.8.0)
|
||||||
cucumber-tag_expressions (~> 1.1.0)
|
cucumber-tag_expressions (~> 1.1.0)
|
||||||
gherkin (>= 5.0.0)
|
gherkin (~> 5.0)
|
||||||
cucumber-expressions (5.0.13)
|
cucumber-expressions (6.0.1)
|
||||||
cucumber-rails (1.5.0)
|
cucumber-rails (1.7.0)
|
||||||
capybara (>= 1.1.2, < 3)
|
capybara (>= 2.3.0, < 4)
|
||||||
cucumber (>= 1.3.8, < 4)
|
cucumber (>= 3.0.2, < 4)
|
||||||
mime-types (>= 1.17, < 4)
|
mime-types (>= 1.17, < 4)
|
||||||
nokogiri (~> 1.5)
|
nokogiri (~> 1.8)
|
||||||
railties (>= 4, < 5.2)
|
railties (>= 4.2, < 7)
|
||||||
cucumber-tag_expressions (1.1.1)
|
cucumber-tag_expressions (1.1.1)
|
||||||
cucumber-wire (0.0.1)
|
cucumber-wire (0.0.1)
|
||||||
database_cleaner (1.6.2)
|
database_cleaner (1.7.0)
|
||||||
debug_inspector (0.0.3)
|
debug_inspector (0.0.3)
|
||||||
deface (1.3.0)
|
deface (1.3.2)
|
||||||
nokogiri (~> 1.6)
|
nokogiri (>= 1.6)
|
||||||
polyglot
|
polyglot
|
||||||
rails (>= 4.1)
|
rails (>= 4.1)
|
||||||
rainbow (>= 2.1.0)
|
rainbow (>= 2.1.0)
|
||||||
delayed_job (4.1.4)
|
delayed_job (4.1.5)
|
||||||
activesupport (>= 3.0, < 5.2)
|
activesupport (>= 3.0, < 5.3)
|
||||||
delayed_job_active_record (4.1.2)
|
delayed_job_active_record (4.1.3)
|
||||||
activerecord (>= 3.0, < 5.2)
|
activerecord (>= 3.0, < 5.3)
|
||||||
delayed_job (>= 3.0, < 5)
|
delayed_job (>= 3.0, < 5)
|
||||||
devise (4.3.0)
|
devise (4.6.2)
|
||||||
bcrypt (~> 3.0)
|
bcrypt (~> 3.0)
|
||||||
orm_adapter (~> 0.1)
|
orm_adapter (~> 0.1)
|
||||||
railties (>= 4.1.0, < 5.2)
|
railties (>= 4.1.0, < 6.0)
|
||||||
responders
|
responders
|
||||||
warden (~> 1.2.3)
|
warden (~> 1.2.3)
|
||||||
devise_invitable (1.7.2)
|
devise_invitable (2.0.1)
|
||||||
actionmailer (>= 4.1.0)
|
actionmailer (>= 5.0)
|
||||||
devise (>= 4.0.0)
|
devise (>= 4.6)
|
||||||
diff-lcs (1.3)
|
diff-lcs (1.3)
|
||||||
discard (1.0.0)
|
discard (1.0.0)
|
||||||
activerecord (>= 4.2, < 6)
|
activerecord (>= 4.2, < 6)
|
||||||
docile (1.1.5)
|
docile (1.3.1)
|
||||||
doorkeeper (5.0.0)
|
doorkeeper (5.1.0)
|
||||||
railties (>= 4.2)
|
railties (>= 5)
|
||||||
erubi (1.8.0)
|
erubi (1.8.0)
|
||||||
et-orbi (1.1.7)
|
et-orbi (1.2.0)
|
||||||
tzinfo
|
tzinfo
|
||||||
execjs (2.7.0)
|
execjs (2.7.0)
|
||||||
factory_bot (4.8.2)
|
factory_bot (4.8.2)
|
||||||
|
@ -224,50 +225,49 @@ GEM
|
||||||
railties (>= 3.0.0)
|
railties (>= 3.0.0)
|
||||||
faker (1.8.7)
|
faker (1.8.7)
|
||||||
i18n (>= 0.7)
|
i18n (>= 0.7)
|
||||||
faraday (0.12.2)
|
faraday (0.15.4)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
ffi (1.9.18)
|
ffi (1.10.0)
|
||||||
figaro (1.1.1)
|
figaro (1.1.1)
|
||||||
thor (~> 0.14)
|
thor (~> 0.14)
|
||||||
fugit (1.1.8)
|
fugit (1.2.0)
|
||||||
et-orbi (~> 1.1, >= 1.1.7)
|
et-orbi (~> 1.1, >= 1.1.8)
|
||||||
raabro (~> 1.1)
|
raabro (~> 1.1)
|
||||||
gherkin (5.0.0)
|
gherkin (5.1.0)
|
||||||
globalid (0.4.1)
|
globalid (0.4.2)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
hammerjs-rails (2.0.8)
|
hammerjs-rails (2.0.8)
|
||||||
hashdiff (0.3.8)
|
hashdiff (0.3.9)
|
||||||
hashie (3.5.7)
|
hashie (3.6.0)
|
||||||
httparty (0.13.7)
|
httparty (0.13.7)
|
||||||
json (~> 1.8)
|
json (~> 1.8)
|
||||||
multi_xml (>= 0.5.2)
|
multi_xml (>= 0.5.2)
|
||||||
i18n (0.9.5)
|
i18n (1.6.0)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
i18n-js (3.0.3)
|
i18n-js (3.2.1)
|
||||||
i18n (~> 0.6, >= 0.6.6)
|
i18n (>= 0.6.6)
|
||||||
iniparse (1.4.4)
|
iniparse (1.4.4)
|
||||||
jaro_winkler (1.5.1)
|
jaro_winkler (1.5.2)
|
||||||
jbuilder (2.7.0)
|
jbuilder (2.8.0)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
multi_json (>= 1.2)
|
multi_json (>= 1.2)
|
||||||
jmespath (1.3.1)
|
jmespath (1.4.0)
|
||||||
jquery-rails (4.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 (6.0.1)
|
jquery-ui-rails (6.0.1)
|
||||||
railties (>= 3.2.16)
|
railties (>= 3.2.16)
|
||||||
js_cookie_rails (2.1.4)
|
js_cookie_rails (2.2.0)
|
||||||
railties (>= 3.1)
|
railties (>= 3.1)
|
||||||
json (1.8.6)
|
json (1.8.6)
|
||||||
json-jwt (1.9.4)
|
json-jwt (1.10.0)
|
||||||
activesupport
|
activesupport (>= 4.2)
|
||||||
aes_key_wrap
|
aes_key_wrap
|
||||||
bindata
|
bindata
|
||||||
json-schema (2.8.0)
|
json_matchers (0.11.0)
|
||||||
addressable (>= 2.4)
|
json_schema
|
||||||
json_matchers (0.7.2)
|
json_schema (0.20.4)
|
||||||
json-schema (~> 2.7)
|
|
||||||
jsonapi-renderer (0.2.0)
|
jsonapi-renderer (0.2.0)
|
||||||
jwt (1.5.6)
|
jwt (1.5.6)
|
||||||
kaminari (1.1.1)
|
kaminari (1.1.1)
|
||||||
|
@ -294,12 +294,12 @@ GEM
|
||||||
loofah (2.2.3)
|
loofah (2.2.3)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.5.9)
|
nokogiri (>= 1.5.9)
|
||||||
mail (2.7.0)
|
mail (2.7.1)
|
||||||
mini_mime (>= 0.1.1)
|
mini_mime (>= 0.1.1)
|
||||||
method_source (0.9.2)
|
method_source (0.9.2)
|
||||||
mime-types (1.25.1)
|
mime-types (1.25.1)
|
||||||
mimemagic (0.3.2)
|
mimemagic (0.3.3)
|
||||||
mini_mime (1.0.0)
|
mini_mime (1.0.1)
|
||||||
mini_portile2 (2.3.0)
|
mini_portile2 (2.3.0)
|
||||||
minitest (5.11.3)
|
minitest (5.11.3)
|
||||||
momentjs-rails (2.17.1)
|
momentjs-rails (2.17.1)
|
||||||
|
@ -312,30 +312,28 @@ GEM
|
||||||
coffee-rails (>= 3.2.1)
|
coffee-rails (>= 3.2.1)
|
||||||
jquery-rails
|
jquery-rails
|
||||||
rails (>= 3.2.0)
|
rails (>= 3.2.0)
|
||||||
newrelic_rpm (4.7.1.340)
|
newrelic_rpm (6.2.0.354)
|
||||||
nio4r (2.3.1)
|
nio4r (2.3.1)
|
||||||
nokogiri (1.8.5)
|
nokogiri (1.8.5)
|
||||||
mini_portile2 (~> 2.3.0)
|
mini_portile2 (~> 2.3.0)
|
||||||
nokogumbo (1.5.0)
|
nokogumbo (1.5.0)
|
||||||
nokogiri
|
nokogiri
|
||||||
oauth2 (1.4.0)
|
oauth2 (1.4.1)
|
||||||
faraday (>= 0.8, < 0.13)
|
faraday (>= 0.8, < 0.16.0)
|
||||||
jwt (~> 1.0)
|
jwt (>= 1.0, < 3.0)
|
||||||
multi_json (~> 1.3)
|
multi_json (~> 1.3)
|
||||||
multi_xml (~> 0.5)
|
multi_xml (~> 0.5)
|
||||||
rack (>= 1.2, < 3)
|
rack (>= 1.2, < 3)
|
||||||
oj (3.3.10)
|
omniauth (1.9.0)
|
||||||
omniauth (1.8.1)
|
hashie (>= 3.4.6, < 3.7.0)
|
||||||
hashie (>= 3.4.6, < 3.6.0)
|
|
||||||
rack (>= 1.6.2, < 3)
|
rack (>= 1.6.2, < 3)
|
||||||
omniauth-linkedin-oauth2 (0.2.5)
|
omniauth-linkedin-oauth2 (1.0.0)
|
||||||
omniauth (~> 1.0)
|
|
||||||
omniauth-oauth2
|
omniauth-oauth2
|
||||||
omniauth-oauth2 (1.5.0)
|
omniauth-oauth2 (1.6.0)
|
||||||
oauth2 (~> 1.1)
|
oauth2 (~> 1.1)
|
||||||
omniauth (~> 1.2)
|
omniauth (~> 1.9)
|
||||||
orm_adapter (0.5.0)
|
orm_adapter (0.5.0)
|
||||||
overcommit (0.46.0)
|
overcommit (0.47.0)
|
||||||
childprocess (~> 0.6, >= 0.6.3)
|
childprocess (~> 0.6, >= 0.6.3)
|
||||||
iniparse (~> 1.4)
|
iniparse (~> 1.4)
|
||||||
paperclip (5.3.0)
|
paperclip (5.3.0)
|
||||||
|
@ -344,54 +342,53 @@ GEM
|
||||||
mime-types
|
mime-types
|
||||||
mimemagic (~> 0.3.0)
|
mimemagic (~> 0.3.0)
|
||||||
terrapin (~> 0.6.0)
|
terrapin (~> 0.6.0)
|
||||||
parallel (1.12.1)
|
parallel (1.17.0)
|
||||||
parser (2.5.1.2)
|
parser (2.6.3.0)
|
||||||
ast (~> 2.4.0)
|
ast (~> 2.4.0)
|
||||||
pg (0.21.0)
|
pg (0.21.0)
|
||||||
pg_search (2.1.4)
|
pg_search (2.1.7)
|
||||||
activerecord (>= 4.2)
|
activerecord (>= 4.2)
|
||||||
activesupport (>= 4.2)
|
activesupport (>= 4.2)
|
||||||
phantomjs (2.1.1.0)
|
phantomjs (2.1.1.0)
|
||||||
poltergeist (1.17.0)
|
poltergeist (1.18.1)
|
||||||
capybara (~> 2.1)
|
capybara (>= 2.1, < 4)
|
||||||
cliver (~> 0.3.1)
|
cliver (~> 0.3.1)
|
||||||
websocket-driver (>= 0.2.0)
|
websocket-driver (>= 0.2.0)
|
||||||
polyglot (0.3.5)
|
polyglot (0.3.5)
|
||||||
powerpack (0.1.2)
|
pry (0.12.2)
|
||||||
pry (0.11.3)
|
|
||||||
coderay (~> 1.1.0)
|
coderay (~> 1.1.0)
|
||||||
method_source (~> 0.9.0)
|
method_source (~> 0.9.0)
|
||||||
pry-byebug (3.5.1)
|
pry-byebug (3.7.0)
|
||||||
byebug (~> 9.1)
|
byebug (~> 11.0)
|
||||||
pry (~> 0.10)
|
pry (~> 0.10)
|
||||||
pry-rails (0.3.6)
|
pry-rails (0.3.9)
|
||||||
pry (>= 0.10.4)
|
pry (>= 0.10.4)
|
||||||
public_suffix (3.0.2)
|
public_suffix (3.0.3)
|
||||||
puma (3.11.2)
|
puma (3.12.1)
|
||||||
raabro (1.1.6)
|
raabro (1.1.6)
|
||||||
rack (2.0.7)
|
rack (2.0.7)
|
||||||
rack-attack (5.4.1)
|
rack-attack (6.0.0)
|
||||||
rack (>= 1.0, < 3)
|
rack (>= 1.0, < 3)
|
||||||
rack-proxy (0.6.5)
|
rack-proxy (0.6.5)
|
||||||
rack
|
rack
|
||||||
rack-test (1.1.0)
|
rack-test (1.1.0)
|
||||||
rack (>= 1.0, < 3)
|
rack (>= 1.0, < 3)
|
||||||
rails (5.1.6.2)
|
rails (5.1.7)
|
||||||
actioncable (= 5.1.6.2)
|
actioncable (= 5.1.7)
|
||||||
actionmailer (= 5.1.6.2)
|
actionmailer (= 5.1.7)
|
||||||
actionpack (= 5.1.6.2)
|
actionpack (= 5.1.7)
|
||||||
actionview (= 5.1.6.2)
|
actionview (= 5.1.7)
|
||||||
activejob (= 5.1.6.2)
|
activejob (= 5.1.7)
|
||||||
activemodel (= 5.1.6.2)
|
activemodel (= 5.1.7)
|
||||||
activerecord (= 5.1.6.2)
|
activerecord (= 5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
bundler (>= 1.3.0)
|
bundler (>= 1.3.0)
|
||||||
railties (= 5.1.6.2)
|
railties (= 5.1.7)
|
||||||
sprockets-rails (>= 2.0.0)
|
sprockets-rails (>= 2.0.0)
|
||||||
rails-controller-testing (1.0.2)
|
rails-controller-testing (1.0.4)
|
||||||
actionpack (~> 5.x, >= 5.0.1)
|
actionpack (>= 5.0.1.x)
|
||||||
actionview (~> 5.x, >= 5.0.1)
|
actionview (>= 5.0.1.x)
|
||||||
activesupport (~> 5.x)
|
activesupport (>= 5.0.1.x)
|
||||||
rails-dom-testing (2.0.3)
|
rails-dom-testing (2.0.3)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
nokogiri (>= 1.6)
|
nokogiri (>= 1.6)
|
||||||
|
@ -404,30 +401,30 @@ GEM
|
||||||
rails (> 3.1)
|
rails (> 3.1)
|
||||||
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 (5.1.6.2)
|
railties (5.1.7)
|
||||||
actionpack (= 5.1.6.2)
|
actionpack (= 5.1.7)
|
||||||
activesupport (= 5.1.6.2)
|
activesupport (= 5.1.7)
|
||||||
method_source
|
method_source
|
||||||
rake (>= 0.8.7)
|
rake (>= 0.8.7)
|
||||||
thor (>= 0.18.1, < 2.0)
|
thor (>= 0.18.1, < 2.0)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
rake (12.3.2)
|
rake (12.3.2)
|
||||||
rb-fsevent (0.10.2)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.9.10)
|
rb-inotify (0.10.0)
|
||||||
ffi (>= 0.5.0, < 2)
|
ffi (~> 1.0)
|
||||||
rdoc (6.0.4)
|
rdoc (6.1.1)
|
||||||
recaptcha (4.6.3)
|
recaptcha (4.14.0)
|
||||||
json
|
json
|
||||||
responders (2.4.0)
|
regexp_parser (1.4.0)
|
||||||
actionpack (>= 4.2.0, < 5.3)
|
responders (2.4.1)
|
||||||
railties (>= 4.2.0, < 5.3)
|
actionpack (>= 4.2.0, < 6.0)
|
||||||
rgl (0.5.3)
|
railties (>= 4.2.0, < 6.0)
|
||||||
|
rgl (0.5.4)
|
||||||
lazy_priority_queue (~> 0.1.0)
|
lazy_priority_queue (~> 0.1.0)
|
||||||
stream (~> 0.5.0)
|
stream (~> 0.5.2)
|
||||||
rkelly-remix (0.0.7)
|
roo (2.8.2)
|
||||||
roo (2.7.1)
|
|
||||||
nokogiri (~> 1)
|
nokogiri (~> 1)
|
||||||
rubyzip (~> 1.1, < 2.0.0)
|
rubyzip (>= 1.2.1, < 2.0.0)
|
||||||
rspec-core (3.7.1)
|
rspec-core (3.7.1)
|
||||||
rspec-support (~> 3.7.0)
|
rspec-support (~> 3.7.0)
|
||||||
rspec-expectations (3.7.0)
|
rspec-expectations (3.7.0)
|
||||||
|
@ -445,42 +442,36 @@ GEM
|
||||||
rspec-mocks (~> 3.7.0)
|
rspec-mocks (~> 3.7.0)
|
||||||
rspec-support (~> 3.7.0)
|
rspec-support (~> 3.7.0)
|
||||||
rspec-support (3.7.0)
|
rspec-support (3.7.0)
|
||||||
rubocop (0.59.0)
|
rubocop (0.68.0)
|
||||||
jaro_winkler (~> 1.5.1)
|
jaro_winkler (~> 1.5.1)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
parser (>= 2.5, != 2.5.1.1)
|
parser (>= 2.5, != 2.5.1.1)
|
||||||
powerpack (~> 0.1)
|
|
||||||
rainbow (>= 2.2.2, < 4.0)
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
unicode-display_width (>= 1.4.0, < 1.6)
|
||||||
ruby-graphviz (1.2.3)
|
ruby-graphviz (1.2.4)
|
||||||
ruby-progressbar (1.10.0)
|
ruby-progressbar (1.10.0)
|
||||||
ruby_dep (1.5.0)
|
ruby_dep (1.5.0)
|
||||||
rubyzip (1.2.1)
|
rubyzip (1.2.2)
|
||||||
rufus-scheduler (3.5.2)
|
rufus-scheduler (3.6.0)
|
||||||
fugit (~> 1.1, >= 1.1.5)
|
fugit (~> 1.1, >= 1.1.6)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.5)
|
||||||
sanitize (4.6.6)
|
sanitize (4.6.6)
|
||||||
crass (~> 1.0.2)
|
crass (~> 1.0.2)
|
||||||
nokogiri (>= 1.4.4)
|
nokogiri (>= 1.4.4)
|
||||||
nokogumbo (~> 1.4)
|
nokogumbo (~> 1.4)
|
||||||
sass (3.5.5)
|
sassc (2.0.1)
|
||||||
sass-listen (~> 4.0.0)
|
ffi (~> 1.9)
|
||||||
sass-listen (4.0.0)
|
rake
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
sassc-rails (2.1.1)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
railties (>= 4.0.0)
|
||||||
sass-rails (5.0.7)
|
sassc (>= 2.0)
|
||||||
railties (>= 4.0.0, < 6)
|
sprockets (> 3.0)
|
||||||
sass (~> 3.1)
|
sprockets-rails
|
||||||
sprockets (>= 2.8, < 4.0)
|
tilt
|
||||||
sprockets-rails (>= 2.0, < 4.0)
|
scenic (1.5.1)
|
||||||
tilt (>= 1.1, < 3)
|
|
||||||
scenic (1.4.1)
|
|
||||||
activerecord (>= 4.0.0)
|
activerecord (>= 4.0.0)
|
||||||
railties (>= 4.0.0)
|
railties (>= 4.0.0)
|
||||||
scss_lint (0.56.0)
|
|
||||||
rake (>= 0.9, < 13)
|
|
||||||
sass (~> 3.5.3)
|
|
||||||
sdoc (1.0.0)
|
sdoc (1.0.0)
|
||||||
rdoc (>= 5.0)
|
rdoc (>= 5.0)
|
||||||
shoulda-matchers (3.1.2)
|
shoulda-matchers (3.1.2)
|
||||||
|
@ -490,12 +481,11 @@ GEM
|
||||||
actionmailer (>= 3.2.6, < 6)
|
actionmailer (>= 3.2.6, < 6)
|
||||||
actionpack (>= 3.2.6, < 6)
|
actionpack (>= 3.2.6, < 6)
|
||||||
devise (>= 3.2, < 6)
|
devise (>= 3.2, < 6)
|
||||||
simplecov (0.15.1)
|
simplecov (0.16.1)
|
||||||
docile (~> 1.1.0)
|
docile (~> 1.1)
|
||||||
json (>= 1.8, < 3)
|
json (>= 1.8, < 3)
|
||||||
simplecov-html (~> 0.10.0)
|
simplecov-html (~> 0.10.0)
|
||||||
simplecov-html (0.10.2)
|
simplecov-html (0.10.2)
|
||||||
sourcemap (0.1.1)
|
|
||||||
spinjs-rails (1.4)
|
spinjs-rails (1.4)
|
||||||
rails (>= 3.1)
|
rails (>= 3.1)
|
||||||
sprockets (3.7.2)
|
sprockets (3.7.2)
|
||||||
|
@ -505,34 +495,27 @@ GEM
|
||||||
actionpack (>= 4.0)
|
actionpack (>= 4.0)
|
||||||
activesupport (>= 4.0)
|
activesupport (>= 4.0)
|
||||||
sprockets (>= 3.0.0)
|
sprockets (>= 3.0.0)
|
||||||
starscope (1.5.6)
|
stream (0.5.2)
|
||||||
babel-transpiler (~> 0.7)
|
|
||||||
oj (~> 3.3)
|
|
||||||
parser (~> 2.4)
|
|
||||||
rkelly-remix (~> 0.0.7)
|
|
||||||
ruby-progressbar (~> 1.9)
|
|
||||||
sourcemap (~> 0.1)
|
|
||||||
stream (0.5)
|
|
||||||
terrapin (0.6.0)
|
terrapin (0.6.0)
|
||||||
climate_control (>= 0.0.3, < 1.0)
|
climate_control (>= 0.0.3, < 1.0)
|
||||||
thor (0.20.3)
|
thor (0.20.3)
|
||||||
thread_safe (0.3.6)
|
thread_safe (0.3.6)
|
||||||
tilt (2.0.8)
|
tilt (2.0.9)
|
||||||
timecop (0.9.1)
|
timecop (0.9.1)
|
||||||
tinymce-rails (4.9.3)
|
tinymce-rails (4.9.3)
|
||||||
railties (>= 3.1.1)
|
railties (>= 3.1.1)
|
||||||
turbolinks (5.1.1)
|
turbolinks (5.1.1)
|
||||||
turbolinks-source (~> 5.1)
|
turbolinks-source (~> 5.1)
|
||||||
turbolinks-source (5.1.0)
|
turbolinks-source (5.2.0)
|
||||||
tzinfo (1.2.5)
|
tzinfo (1.2.5)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
uglifier (4.1.4)
|
uglifier (4.1.20)
|
||||||
execjs (>= 0.3.0, < 3)
|
execjs (>= 0.3.0, < 3)
|
||||||
underscore-rails (1.8.3)
|
underscore-rails (1.8.3)
|
||||||
unicode-display_width (1.4.0)
|
unicode-display_width (1.5.0)
|
||||||
uniform_notifier (1.11.0)
|
uniform_notifier (1.12.1)
|
||||||
warden (1.2.7)
|
warden (1.2.8)
|
||||||
rack (>= 1.0)
|
rack (>= 2.0.6)
|
||||||
webmock (3.5.1)
|
webmock (3.5.1)
|
||||||
addressable (>= 2.3.6)
|
addressable (>= 2.3.6)
|
||||||
crack (>= 0.3.2)
|
crack (>= 0.3.2)
|
||||||
|
@ -547,7 +530,7 @@ GEM
|
||||||
whacamole (1.2.0)
|
whacamole (1.2.0)
|
||||||
wicked_pdf (1.1.0)
|
wicked_pdf (1.1.0)
|
||||||
wkhtmltopdf-heroku (2.12.4.0)
|
wkhtmltopdf-heroku (2.12.4.0)
|
||||||
xpath (3.0.0)
|
xpath (3.2.0)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
yomu (0.2.4)
|
yomu (0.2.4)
|
||||||
json (~> 1.8)
|
json (~> 1.8)
|
||||||
|
@ -569,9 +552,9 @@ DEPENDENCIES
|
||||||
bcrypt (~> 3.1.10)
|
bcrypt (~> 3.1.10)
|
||||||
better_errors
|
better_errors
|
||||||
binding_of_caller
|
binding_of_caller
|
||||||
bootstrap-sass (~> 3.3.7)
|
bootstrap-sass (~> 3.4)
|
||||||
bootstrap-select-rails (~> 1.12.4)
|
bootstrap-select-rails (~> 1.13.8)
|
||||||
bootstrap3-datetimepicker-rails (~> 4.15.35)
|
bootstrap3-datetimepicker-rails (~> 4.17.47)
|
||||||
bootstrap_form
|
bootstrap_form
|
||||||
bullet
|
bullet
|
||||||
byebug
|
byebug
|
||||||
|
@ -584,7 +567,7 @@ DEPENDENCIES
|
||||||
deface (~> 1.0)
|
deface (~> 1.0)
|
||||||
delayed_job_active_record
|
delayed_job_active_record
|
||||||
delayed_paperclip!
|
delayed_paperclip!
|
||||||
devise (~> 4.3.0)
|
devise (~> 4.6.2)
|
||||||
devise-async!
|
devise-async!
|
||||||
devise_invitable
|
devise_invitable
|
||||||
discard (~> 1.0)
|
discard (~> 1.0)
|
||||||
|
@ -623,22 +606,21 @@ DEPENDENCIES
|
||||||
pry-rails
|
pry-rails
|
||||||
puma
|
puma
|
||||||
rack-attack
|
rack-attack
|
||||||
rails (~> 5.1.6.2)
|
rails (~> 5.1.7)
|
||||||
rails-controller-testing
|
rails-controller-testing
|
||||||
rails_12factor
|
rails_12factor
|
||||||
rails_autolink (~> 1.1, >= 1.1.6)
|
rails_autolink (~> 1.1, >= 1.1.6)
|
||||||
recaptcha
|
recaptcha
|
||||||
rgl
|
rgl
|
||||||
roo (~> 2.7.1)
|
roo (~> 2.8.2)
|
||||||
rspec-rails
|
rspec-rails
|
||||||
rubocop (>= 0.59.0)
|
rubocop (>= 0.59.0)
|
||||||
ruby-graphviz (~> 1.2)
|
ruby-graphviz (~> 1.2)
|
||||||
rubyzip
|
rubyzip
|
||||||
rufus-scheduler (~> 3.5)
|
rufus-scheduler (~> 3.5)
|
||||||
sanitize (~> 4.4)
|
sanitize (~> 4.4)
|
||||||
sass-rails (~> 5.0.6)
|
sassc-rails
|
||||||
scenic (~> 1.4)
|
scenic (~> 1.4)
|
||||||
scss_lint
|
|
||||||
sdoc (~> 1.0)
|
sdoc (~> 1.0)
|
||||||
shoulda-matchers
|
shoulda-matchers
|
||||||
silencer
|
silencer
|
||||||
|
@ -646,7 +628,6 @@ DEPENDENCIES
|
||||||
simplecov
|
simplecov
|
||||||
sneaky-save!
|
sneaky-save!
|
||||||
spinjs-rails
|
spinjs-rails
|
||||||
starscope
|
|
||||||
timecop
|
timecop
|
||||||
tinymce-rails (~> 4.9.3)
|
tinymce-rails (~> 4.9.3)
|
||||||
turbolinks (~> 5.1.1)
|
turbolinks (~> 5.1.1)
|
||||||
|
@ -661,7 +642,7 @@ DEPENDENCIES
|
||||||
yomu
|
yomu
|
||||||
|
|
||||||
RUBY VERSION
|
RUBY VERSION
|
||||||
ruby 2.4.5p335
|
ruby 2.5.5p157
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.17.2
|
1.17.3
|
||||||
|
|
|
@ -290,7 +290,8 @@ function initTagsSelector() {
|
||||||
closeOnSelect: true,
|
closeOnSelect: true,
|
||||||
withoutArrow: true,
|
withoutArrow: true,
|
||||||
dynamicCreation: true,
|
dynamicCreation: true,
|
||||||
dynamicCreationDelimiter: [',']
|
dynamicCreationDelimiter: [','],
|
||||||
|
placeholderSize: '250px'
|
||||||
}).on('select2:select', (e) => {
|
}).on('select2:select', (e) => {
|
||||||
var params = e.params.data;
|
var params = e.params.data;
|
||||||
var newTag = null;
|
var newTag = null;
|
||||||
|
|
|
@ -146,8 +146,8 @@
|
||||||
var $nameInput = $form.find('#result_name');
|
var $nameInput = $form.find('#result_name');
|
||||||
var nameValid = textValidator(ev, $nameInput, 0,
|
var nameValid = textValidator(ev, $nameInput, 0,
|
||||||
<%= Constants::NAME_MAX_LENGTH %>);
|
<%= Constants::NAME_MAX_LENGTH %>);
|
||||||
var $descrTextarea = $form.find("#result_result_text_attributes_text");
|
var $descrTextarea = $form.find("#result_text_attributes_textarea");
|
||||||
var $tinyMCEInput = TinyMCE.init('#result_result_text_attributes_text');;
|
var $tinyMCEInput = TinyMCE.getContent();
|
||||||
textValidator(ev, $descrTextarea, 1, <%= Constants::RICH_TEXT_MAX_LENGTH %>, false, $tinyMCEInput);
|
textValidator(ev, $descrTextarea, 1, <%= Constants::RICH_TEXT_MAX_LENGTH %>, false, $tinyMCEInput);
|
||||||
break;
|
break;
|
||||||
case ResultTypeEnum.COMMENT:
|
case ResultTypeEnum.COMMENT:
|
||||||
|
@ -216,6 +216,7 @@
|
||||||
event.stopImmediatePropagation();
|
event.stopImmediatePropagation();
|
||||||
$(form).remove();
|
$(form).remove();
|
||||||
toggleResultEditButtons(true);
|
toggleResultEditButtons(true);
|
||||||
|
TinyMCE.destroyAll();
|
||||||
callback();
|
callback();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,6 +150,7 @@
|
||||||
animateSpinner(null, false);
|
animateSpinner(null, false);
|
||||||
FilePreviewModal.init();
|
FilePreviewModal.init();
|
||||||
DragNDropSteps.clearFiles();
|
DragNDropSteps.clearFiles();
|
||||||
|
if (tinyMCE.editors.step_description_textarea) tinyMCE.editors.step_description_textarea.remove();
|
||||||
TinyMCE.init('#step_description_textarea');
|
TinyMCE.init('#step_description_textarea');
|
||||||
$("#new-step-checklists fieldset.nested_step_checklists ul").each(function () {
|
$("#new-step-checklists fieldset.nested_step_checklists ul").each(function () {
|
||||||
enableCheckboxSorting(this);
|
enableCheckboxSorting(this);
|
||||||
|
@ -531,7 +532,7 @@
|
||||||
var $nameInput = $form.find("#step_name");
|
var $nameInput = $form.find("#step_name");
|
||||||
var nameValid = textValidator(ev, $nameInput, 1,
|
var nameValid = textValidator(ev, $nameInput, 1,
|
||||||
<%= Constants::NAME_MAX_LENGTH %>);
|
<%= Constants::NAME_MAX_LENGTH %>);
|
||||||
var $descrTextarea = $form.find("#step_description");
|
var $descrTextarea = $form.find("#step_description_textarea");
|
||||||
var $tinyMCEInput = TinyMCE.getContent();
|
var $tinyMCEInput = TinyMCE.getContent();
|
||||||
var descriptionValid = textValidator(ev, $descrTextarea, 0,
|
var descriptionValid = textValidator(ev, $descrTextarea, 0,
|
||||||
<%= Constants::RICH_TEXT_MAX_LENGTH %>, false, $tinyMCEInput);
|
<%= Constants::RICH_TEXT_MAX_LENGTH %>, false, $tinyMCEInput);
|
||||||
|
|
|
@ -27,8 +27,7 @@
|
||||||
formAjaxResultText($form);
|
formAjaxResultText($form);
|
||||||
Results.initCancelFormButton($form, initNewReslutText);
|
Results.initCancelFormButton($form, initNewReslutText);
|
||||||
Results.toggleResultEditButtons(false);
|
Results.toggleResultEditButtons(false);
|
||||||
TinyMCE.refresh();
|
TinyMCE.init('#result_text_attributes_textarea');
|
||||||
TinyMCE.highlight();
|
|
||||||
$('#result_name').focus();
|
$('#result_name').focus();
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
|
@ -55,11 +54,11 @@
|
||||||
$form.after($prevResult);
|
$form.after($prevResult);
|
||||||
$form.remove();
|
$form.remove();
|
||||||
applyEditResultTextCallback();
|
applyEditResultTextCallback();
|
||||||
|
TinyMCE.destroyAll();
|
||||||
Results.toggleResultEditButtons(true);
|
Results.toggleResultEditButtons(true);
|
||||||
});
|
});
|
||||||
Results.toggleResultEditButtons(false);
|
Results.toggleResultEditButtons(false);
|
||||||
TinyMCE.refresh();
|
TinyMCE.init('#result_text_attributes_textarea');
|
||||||
TinyMCE.init('#result_result_text_attributes_text');
|
|
||||||
$('#result_name').focus();
|
$('#result_name').focus();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,9 @@ $.fn.extend({
|
||||||
// Placeholder fix for ajax fields
|
// Placeholder fix for ajax fields
|
||||||
if (config.ajax) {
|
if (config.ajax) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
select2.next().find('.select2-search__field').css('width', 'auto');
|
select2.next().find('.select2-search__field').css(
|
||||||
|
'width', config.placeholderSize || 'auto'
|
||||||
|
);
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,12 +147,15 @@ $.fn.extend({
|
||||||
|
|
||||||
$('.select2').find('input, .select2-selection__rendered').off('keydown').on('keydown', function(e) {
|
$('.select2').find('input, .select2-selection__rendered').off('keydown').on('keydown', function(e) {
|
||||||
var activeElement = $('.select2-results .arrow_pointer');
|
var activeElement = $('.select2-results .arrow_pointer');
|
||||||
|
var firstElement = $('.select2-results .select2-results__option').first();
|
||||||
var groupElement = activeElement.find('.select2-results__group');
|
var groupElement = activeElement.find('.select2-results__group');
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
if (groupElement.length > 0) {
|
if (groupElement.length > 0) {
|
||||||
groupElement.click();
|
groupElement.click();
|
||||||
} else {
|
} else if (activeElement.length > 0) {
|
||||||
activeElement.mouseup();
|
activeElement.mouseup();
|
||||||
|
} else {
|
||||||
|
firstElement.mouseup();
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
15
app/assets/javascripts/sitewide/tiny_mce.js
vendored
15
app/assets/javascripts/sitewide/tiny_mce.js
vendored
|
@ -119,7 +119,7 @@ var TinyMCE = (function() {
|
||||||
// Hide element containing HTML view of RTE field
|
// Hide element containing HTML view of RTE field
|
||||||
tinyMceContainer = $(selector).closest('form').find('.tinymce-view');
|
tinyMceContainer = $(selector).closest('form').find('.tinymce-view');
|
||||||
tinyMceInitSize = tinyMceContainer.height();
|
tinyMceInitSize = tinyMceContainer.height();
|
||||||
$(selector).closest('form').find('.form-group')
|
$(selector).closest('.form-group')
|
||||||
.before('<div class="tinymce-placeholder" style="height:' + tinyMceInitSize + 'px"></div>');
|
.before('<div class="tinymce-placeholder" style="height:' + tinyMceInitSize + 'px"></div>');
|
||||||
tinyMceContainer.addClass('hidden');
|
tinyMceContainer.addClass('hidden');
|
||||||
plugins = 'autosave autoresize customimageuploader link advlist codesample autolink lists charmap hr anchor searchreplace wordcount visualblocks visualchars insertdatetime nonbreaking save directionality paste textcolor colorpicker textpattern';
|
plugins = 'autosave autoresize customimageuploader link advlist codesample autolink lists charmap hr anchor searchreplace wordcount visualblocks visualchars insertdatetime nonbreaking save directionality paste textcolor colorpicker textpattern';
|
||||||
|
@ -212,6 +212,7 @@ var TinyMCE = (function() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
$(editor.editorContainer).addClass('show');
|
$(editor.editorContainer).addClass('show');
|
||||||
$('.tinymce-placeholder').remove();
|
$('.tinymce-placeholder').remove();
|
||||||
|
moveToolbar(editor, editorToolbar, editorToolbaroffset);
|
||||||
}, 400);
|
}, 400);
|
||||||
// Init saved status label
|
// Init saved status label
|
||||||
if (editor.getContent() !== '') {
|
if (editor.getContent() !== '') {
|
||||||
|
@ -219,8 +220,6 @@ var TinyMCE = (function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init Floating toolbar
|
// Init Floating toolbar
|
||||||
|
|
||||||
moveToolbar(editor, editorToolbar, editorToolbaroffset);
|
|
||||||
$(window).on('scroll', function() {
|
$(window).on('scroll', function() {
|
||||||
moveToolbar(editor, editorToolbar, editorToolbaroffset);
|
moveToolbar(editor, editorToolbar, editorToolbaroffset);
|
||||||
});
|
});
|
||||||
|
@ -228,6 +227,14 @@ var TinyMCE = (function() {
|
||||||
// Init image toolbar
|
// Init image toolbar
|
||||||
initImageToolBar(editor);
|
initImageToolBar(editor);
|
||||||
|
|
||||||
|
|
||||||
|
// Update scroll position after exit
|
||||||
|
function updateScrollPosition() {
|
||||||
|
if (editorForm.offset().top < $(window).scrollTop()) {
|
||||||
|
$(window).scrollTop(editorForm.offset().top - 150);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Init Save button
|
// Init Save button
|
||||||
editorForm
|
editorForm
|
||||||
.find('.tinymce-save-button')
|
.find('.tinymce-save-button')
|
||||||
|
@ -239,6 +246,7 @@ var TinyMCE = (function() {
|
||||||
editor.setProgressState(1);
|
editor.setProgressState(1);
|
||||||
editor.save();
|
editor.save();
|
||||||
editorForm.submit();
|
editorForm.submit();
|
||||||
|
updateScrollPosition();
|
||||||
});
|
});
|
||||||
|
|
||||||
// After save action
|
// After save action
|
||||||
|
@ -268,6 +276,7 @@ var TinyMCE = (function() {
|
||||||
editorForm.find('.tinymce-status-badge').addClass('hidden');
|
editorForm.find('.tinymce-status-badge').addClass('hidden');
|
||||||
editorForm.find('.tinymce-view').removeClass('hidden');
|
editorForm.find('.tinymce-view').removeClass('hidden');
|
||||||
editor.remove();
|
editor.remove();
|
||||||
|
updateScrollPosition();
|
||||||
})
|
})
|
||||||
.removeClass('hidden');
|
.removeClass('hidden');
|
||||||
|
|
||||||
|
|
|
@ -293,14 +293,24 @@
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create hidden field for images
|
||||||
|
function createImageHiddenField() {
|
||||||
|
textAreaElement.parent().find('input#tiny-mce-images').remove();
|
||||||
|
$('<input type="hidden" id="tiny-mce-images" name="tiny_mce_images" value="[]">').insertAfter(textAreaElement);
|
||||||
|
}
|
||||||
|
|
||||||
// Finding images in text
|
// Finding images in text
|
||||||
function updateActiveImages() {
|
function updateActiveImages() {
|
||||||
var images;
|
var images;
|
||||||
|
var imageContainer = $('#' + editor.id).next()[0];
|
||||||
iframe = $('#' + editor.id).prev().find('.mce-edit-area iframe').contents();
|
iframe = $('#' + editor.id).prev().find('.mce-edit-area iframe').contents();
|
||||||
images = $.map($('img', iframe), e => {
|
images = $.map($('img', iframe), e => {
|
||||||
return e.dataset.mceToken;
|
return e.dataset.mceToken;
|
||||||
});
|
});
|
||||||
$('#' + editor.id).next()[0].value = JSON.stringify(images);
|
if (imageContainer === undefined) {
|
||||||
|
createImageHiddenField();
|
||||||
|
}
|
||||||
|
imageContainer.value = JSON.stringify(images);
|
||||||
return JSON.stringify(images);
|
return JSON.stringify(images);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -319,12 +329,14 @@
|
||||||
onclick: showDialog
|
onclick: showDialog
|
||||||
});
|
});
|
||||||
|
|
||||||
ed.on('NodeChange', () => {
|
ed.on('NodeChange', function() {
|
||||||
updateActiveImages(ed);
|
// Check editor status
|
||||||
|
if (this.initialized) {
|
||||||
|
updateActiveImages(ed);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
textAreaElement.parent().find('input#tiny-mce-images').remove();
|
createImageHiddenField();
|
||||||
$('<input type="hidden" id="tiny-mce-images" name="tiny_mce_images" value="[]">').insertAfter(textAreaElement);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -334,4 +346,4 @@
|
||||||
'customimageuploader',
|
'customimageuploader',
|
||||||
tinymce.plugins.CustomImageUploader
|
tinymce.plugins.CustomImageUploader
|
||||||
);
|
);
|
||||||
})();
|
}());
|
||||||
|
|
|
@ -14,27 +14,29 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-modules-protocols-index {
|
.module-header {
|
||||||
padding-top: 15px !important;
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
.first-row {
|
.header-container {
|
||||||
max-height: 40px;
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
float: left;
|
||||||
|
width: calc(100% - 180px);
|
||||||
|
|
||||||
.date-block {
|
.flex-block {
|
||||||
max-width: 250px;
|
display: flex;
|
||||||
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
div {
|
.complete-button-container {
|
||||||
height: 45px;
|
float: right;
|
||||||
}
|
width: 165px;
|
||||||
|
|
||||||
.complete-button-container {
|
.my_module-state-buttons {
|
||||||
float: right;
|
padding-top: 0;
|
||||||
max-width: 165px;
|
|
||||||
|
|
||||||
.my_module-state-buttons {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,25 +53,42 @@
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
|
|
||||||
+ .well-sm {
|
+ .well-sm {
|
||||||
margin-left: 32px;
|
margin-bottom: 10px;
|
||||||
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.module-description {
|
||||||
|
float: left;
|
||||||
|
padding-left: 10px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.module-tags {
|
.module-tags {
|
||||||
|
float: left;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
#module-tags {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-icon {
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0 5px 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.tags-title {
|
.tags-title {
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.badge-icon {
|
|
||||||
line-height: 32px;
|
|
||||||
padding: 9px 5px 9px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-container {
|
.select-container {
|
||||||
float: right;
|
display: flex;
|
||||||
|
flex-basis: 100px;
|
||||||
|
flex-grow: 1;
|
||||||
|
flex-shrink: 1;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: calc(100% - 35px);
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -418,4 +418,3 @@
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ class Project < ApplicationRecord
|
||||||
.where(
|
.where(
|
||||||
'visibility = 1 OR user_projects.user_id = :id',
|
'visibility = 1 OR user_projects.user_id = :id',
|
||||||
id: user.id
|
id: user.id
|
||||||
)
|
).distinct
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
|
@ -119,7 +119,7 @@ class TinyMceAsset < ApplicationRecord
|
||||||
def self.update_old_tinymce(description)
|
def self.update_old_tinymce(description)
|
||||||
description.scan(/\[~tiny_mce_id:(\w+)\]/).flatten.each do |token|
|
description.scan(/\[~tiny_mce_id:(\w+)\]/).flatten.each do |token|
|
||||||
old_format = /\[~tiny_mce_id:#{token}\]/
|
old_format = /\[~tiny_mce_id:#{token}\]/
|
||||||
new_format = "<img src=\"\" class=\"img-responsive\" data-mce-token=\"#{token}\"/>"
|
new_format = "<img src=\"\" class=\"img-responsive\" data-mce-token=\"#{Base62.encode(token)}\"/>"
|
||||||
description.sub!(old_format, new_format)
|
description.sub!(old_format, new_format)
|
||||||
end
|
end
|
||||||
description
|
description
|
||||||
|
|
|
@ -5,12 +5,21 @@ module Api
|
||||||
class UserSerializer < ActiveModel::Serializer
|
class UserSerializer < ActiveModel::Serializer
|
||||||
type :users
|
type :users
|
||||||
attributes :full_name, :initials, :email
|
attributes :full_name, :initials, :email
|
||||||
attribute :avatar_file_name,
|
attribute :avatar_file_name, if: -> { object.avatar.present? }
|
||||||
if: -> { object.avatar.present? } { object.avatar_file_name }
|
attribute :avatar_file_size, if: -> { object.avatar.present? }
|
||||||
attribute :avatar_file_size,
|
attribute :avatar_url, if: -> { object.avatar.present? }
|
||||||
if: -> { object.avatar.present? } { object.avatar.size }
|
|
||||||
attribute :avatar_url,
|
def avatar_file_name
|
||||||
if: -> { object.avatar.present? } { object.avatar.url(:icon) }
|
object.avatar_file_name
|
||||||
|
end
|
||||||
|
|
||||||
|
def avatar_file_size
|
||||||
|
object.avatar.size
|
||||||
|
end
|
||||||
|
|
||||||
|
def avatar_url
|
||||||
|
object.avatar.url(:icon)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -312,7 +312,11 @@ class TeamImporter
|
||||||
end
|
end
|
||||||
unless activity.values['message_items'].blank?
|
unless activity.values['message_items'].blank?
|
||||||
activity.values['message_items'].each_value do |item|
|
activity.values['message_items'].each_value do |item|
|
||||||
|
next unless item['type']
|
||||||
|
|
||||||
mappings = instance_variable_get("@#{item['type'].underscore}_mappings")
|
mappings = instance_variable_get("@#{item['type'].underscore}_mappings")
|
||||||
|
next unless mappings
|
||||||
|
|
||||||
item['id'] = mappings[item['id']]
|
item['id'] = mappings[item['id']]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -331,27 +335,25 @@ class TeamImporter
|
||||||
) do |tiny_mce_file|
|
) do |tiny_mce_file|
|
||||||
orig_tmce_id = tiny_mce_asset.id
|
orig_tmce_id = tiny_mce_asset.id
|
||||||
tiny_mce_asset.id = nil
|
tiny_mce_asset.id = nil
|
||||||
if tiny_mce_asset.step_id.present?
|
if tiny_mce_asset.object_id.present?
|
||||||
tiny_mce_asset.step_id = @step_mappings[tiny_mce_asset.step_id]
|
mappings = instance_variable_get("@#{tiny_mce_asset.object_type.underscore}_mappings")
|
||||||
end
|
tiny_mce_asset.object_id = mappings[tiny_mce_asset.object_id]
|
||||||
if tiny_mce_asset.result_text_id.present?
|
|
||||||
tiny_mce_asset.result_text_id =
|
|
||||||
@result_text_mappings[tiny_mce_asset.result_text_id]
|
|
||||||
end
|
end
|
||||||
tiny_mce_asset.team = team
|
tiny_mce_asset.team = team
|
||||||
tiny_mce_asset.image = tiny_mce_file
|
tiny_mce_asset.image = tiny_mce_file
|
||||||
tiny_mce_asset.save!
|
tiny_mce_asset.save!
|
||||||
@mce_asset_counter += 1
|
@mce_asset_counter += 1
|
||||||
if tiny_mce_asset.step_id.present?
|
if tiny_mce_asset.object_id.present?
|
||||||
step = Step.find_by_id(tiny_mce_asset.step_id)
|
object = tiny_mce_asset.object
|
||||||
step.description.sub!("[~tiny_mce_id:#{orig_tmce_id}]",
|
object_field = Extends::RICH_TEXT_FIELD_MAPPINGS[object.class.name]
|
||||||
"[~tiny_mce_id:#{tiny_mce_asset.id}]")
|
encoded_id = Base62.encode(tiny_mce_asset.id)
|
||||||
step.save!
|
object.public_send(object_field).sub!("data-mce-token=\"#{Base62.encode(orig_tmce_id)}\"",
|
||||||
end
|
"data-mce-token=\"#{encoded_id}\"")
|
||||||
if tiny_mce_asset.result_text_id.present?
|
# Check for old fields
|
||||||
result_text = ResultText.find_by_id(tiny_mce_asset.result_text_id)
|
new_asset_format = "<img src=\"\" class=\"img-responsive\" data-mce-token=\"#{encoded_id}\"/>"
|
||||||
result_text.text.sub!("[~tiny_mce_id:#{orig_tmce_id}]",
|
object.public_send(object_field).sub!("[~tiny_mce_id:#{orig_tmce_id}]",
|
||||||
"[~tiny_mce_id:#{tiny_mce_asset.id}]")
|
new_asset_format)
|
||||||
|
object.save!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div class="row first-row">
|
<div class="header-container">
|
||||||
<div class="col-xs-6 col-sm-6 col-md-4 col-lg-4 date-block">
|
<div class="flex-block date-block">
|
||||||
<div class="badge-icon">
|
<div class="badge-icon">
|
||||||
<span class="fas fa-calendar-alt"></span>
|
<span class="fas fa-calendar-alt"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-6 col-sm-6 col-md-4 col-lg-4 help_tooltips date-block"
|
<div class="flex-block help_tooltips date-block"
|
||||||
data-tooltiplink="<%= I18n.t('tooltips.link.task.due_date_specific') %>"
|
data-tooltiplink="<%= I18n.t('tooltips.link.task.due_date_specific') %>"
|
||||||
data-tooltipcontent="<%= I18n.t('tooltips.text.task.due_date_specific') %>">
|
data-tooltipcontent="<%= I18n.t('tooltips.text.task.due_date_specific') %>">
|
||||||
<div class="badge-icon">
|
<div class="badge-icon">
|
||||||
|
@ -39,11 +39,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-xs-6 col-sm-6 col-md-3 complete-button-container">
|
|
||||||
<%= render partial: "my_modules/state_buttons.html.erb" %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-xs-6 col-sm-6 col-md-4 col-lg-3">
|
|
||||||
|
<div class="flex-block">
|
||||||
<div class="badge-icon">
|
<div class="badge-icon">
|
||||||
<span class="fas fa-tachometer-alt"></span>
|
<span class="fas fa-tachometer-alt"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -55,20 +53,23 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row module-tags">
|
|
||||||
<div class="col-xs-12 col-sm-12 col-md-12" id="module-tags" data-module-tags-url="<%= my_module_my_module_tags_url(@my_module, format: :json) %>">
|
<div class="complete-button-container">
|
||||||
|
<%= render partial: "my_modules/state_buttons.html.erb" %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="module-tags">
|
||||||
|
<div id="module-tags" data-module-tags-url="<%= my_module_my_module_tags_url(@my_module, format: :json) %>">
|
||||||
<div class="badge-icon">
|
<div class="badge-icon">
|
||||||
<span class="fas fa-tags"></span>
|
<span class="fas fa-tags"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="well well-sm">
|
<span class="hidden-xs hidden-sm tags-title"><%=t "my_modules.module_header.tags" %></span>
|
||||||
<span class="hidden-xs hidden-sm tags-title"><%=t "my_modules.module_header.tags" %></span>
|
<%= render partial: "my_modules/tags", locals: { my_module: @my_module, editable: can_manage_module?(@my_module) } %>
|
||||||
<%= render partial: "my_modules/tags", locals: { my_module: @my_module, editable: can_manage_module?(@my_module) } %>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
<div class="module-description">
|
||||||
<h4>
|
<h4>
|
||||||
<%= t('my_modules.module_header.description_label') %>
|
<%= t('my_modules.module_header.description_label') %>
|
||||||
</h4>
|
</h4>
|
||||||
|
@ -84,7 +85,6 @@
|
||||||
<%= t('my_modules.module_header.no_description') %>
|
<%= t('my_modules.module_header.no_description') %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Edit description modal -->
|
<!-- Edit description modal -->
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<button class="btn btn-default">
|
<button class="btn btn-default">
|
||||||
<span class="fas fa-times"></span>
|
<span class="fas fa-undo-alt"></span>
|
||||||
<%= t("my_modules.buttons.uncomplete") %>
|
<%= t("my_modules.buttons.uncomplete") %>
|
||||||
</button>
|
</button>
|
|
@ -14,7 +14,9 @@
|
||||||
} %>
|
} %>
|
||||||
|
|
||||||
<div class="content-pane my-modules-protocols-index">
|
<div class="content-pane my-modules-protocols-index">
|
||||||
<%= render partial: "module_header" %>
|
<span class="module-header">
|
||||||
|
<%= render partial: "module_header" %>
|
||||||
|
</span>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<%= t('Protocol') %>
|
<%= t('Protocol') %>
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
<%= bootstrap_form_for(@result, url: result_text_path(format: :json), remote: :true) do |f| %>
|
<%= bootstrap_form_for(@result, url: result_text_path(format: :json), remote: :true) do |f| %>
|
||||||
<%= f.text_field :name, style: "margin-top: 10px;" %><br />
|
<%= f.text_field :name, style: "margin-top: 10px;" %><br />
|
||||||
<%= f.fields_for :result_text do |ff| %>
|
<%= f.fields_for :result_text do |ff| %>
|
||||||
<div class="form-group">
|
<%= ff.tiny_mce_editor(:text,
|
||||||
<%= ff.tiny_mce_editor(:text,
|
id: :result_text_attributes_textarea,
|
||||||
value: @result.result_text.tinymce_render(:text),
|
value: @result.result_text.tinymce_render(:text),
|
||||||
data: { object_type: 'result_text',
|
data: { object_type: 'result_text',
|
||||||
object_id: @result.result_text.id }) %>
|
object_id: @result.result_text.id,
|
||||||
</div>
|
highlightjs_path: asset_path('highlightjs-github-theme.css') }) %>
|
||||||
<% end %><br />
|
<% end %><br />
|
||||||
<div class="align-right">
|
<div class="align-right">
|
||||||
<button type="button" class="btn btn-default cancel-edit">
|
<button type="button" class="btn btn-default cancel-edit">
|
||||||
|
|
|
@ -2,10 +2,11 @@
|
||||||
<%= bootstrap_form_for(@result, url: my_module_result_texts_path(format: :json), remote: true) do |f| %>
|
<%= bootstrap_form_for(@result, url: my_module_result_texts_path(format: :json), remote: true) do |f| %>
|
||||||
<%= f.text_field :name, style: "margin-top: 10px;" %><br />
|
<%= f.text_field :name, style: "margin-top: 10px;" %><br />
|
||||||
<%= f.fields_for :result_text do |ff| %>
|
<%= f.fields_for :result_text do |ff| %>
|
||||||
<div class="form-group">
|
<%= ff.tiny_mce_editor(:text,
|
||||||
<%= ff.tiny_mce_editor(:text, data: { object_type: 'result_text',
|
id: :result_text_attributes_textarea,
|
||||||
object_id: @result.result_text.id }) %>
|
data: { object_type: 'result_text',
|
||||||
</div>
|
object_id: @result.result_text.id,
|
||||||
|
highlightjs_path: asset_path('highlightjs-github-theme.css') }) %>
|
||||||
<% end %><br />
|
<% end %><br />
|
||||||
<div class="align-right">
|
<div class="align-right">
|
||||||
<button type="button" class="btn btn-default cancel-new">
|
<button type="button" class="btn btn-default cancel-new">
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<%= bootstrap_form_for(@step, url: step_path(id: @step.id, format: :json), remote: true, authenticity_token: true, multipart: true, data: { role: "edit-step-form", type: :json }) do |f| %>
|
<%= bootstrap_form_for(@step, url: step_path(id: @step.id, format: :json), remote: true, authenticity_token: true, multipart: true, data: { role: "edit-step-form", type: :json }) do |f| %>
|
||||||
<h4><%= t("protocols.steps.edit.edit_step_title") %></h4>
|
<h4><%= t("protocols.steps.edit.edit_step_title") %></h4>
|
||||||
<hr>
|
|
||||||
<%= render partial: "empty_step.html.erb", locals: {step: @step, f: f} %>
|
<%= render partial: "empty_step.html.erb", locals: {step: @step, f: f} %>
|
||||||
<hr>
|
|
||||||
<div class="align-right">
|
<div class="align-right">
|
||||||
<a type="button" data-action="cancel-edit" class="btn btn-default" href="<%= step_path(id: @step, format: :json) %>" data-remote="true">
|
<a type="button" data-action="cancel-edit" class="btn btn-default" href="<%= step_path(id: @step, format: :json) %>" data-remote="true">
|
||||||
<%= t("general.cancel")%>
|
<%= t("general.cancel")%>
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<%= bootstrap_form_for(@step, url: protocol_steps_path(@protocol, format: :json), authenticity_token: true, multipart: true, data: { role: "new-step-form", type: :json }) do |f| %>
|
<%= bootstrap_form_for(@step, url: protocol_steps_path(@protocol, format: :json), authenticity_token: true, multipart: true, data: { role: "new-step-form", type: :json }) do |f| %>
|
||||||
<h4><%= t("protocols.steps.new.add_step_title") %></h4>
|
<h4><%= t("protocols.steps.new.add_step_title") %></h4>
|
||||||
<hr>
|
|
||||||
<%= render partial: "empty_step.html.erb", locals: {step: @step, f: f} %>
|
<%= render partial: "empty_step.html.erb", locals: {step: @step, f: f} %>
|
||||||
<hr>
|
|
||||||
<div class="align-right">
|
<div class="align-right">
|
||||||
<button type="button" data-action="cancel-new" class="btn btn-default">
|
<button type="button" data-action="cancel-new" class="btn btn-default">
|
||||||
<%= t("general.cancel")%>
|
<%= t("general.cancel")%>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div class="pseudo-attachment-container" style="order: <%= assets_count - i %>">
|
<div class="pseudo-attachment-container" style="order: <%= assets_count - i %>">
|
||||||
<%= link_to download_asset_path(asset),
|
<%= link_to download_asset_path(asset),
|
||||||
class: 'file-preview-link',
|
class: 'file-preview-link',
|
||||||
id: "modal_link#{asset.id}",
|
id: "modal_link#{asset.id}",
|
||||||
|
|
|
@ -118,7 +118,7 @@ Rails.application.configure do
|
||||||
if Rails.root.join('tmp/caching-dev.txt').exist?
|
if Rails.root.join('tmp/caching-dev.txt').exist?
|
||||||
config.action_controller.perform_caching = true
|
config.action_controller.perform_caching = true
|
||||||
|
|
||||||
config.cache_store = :memory_store
|
config.cache_store = :memory_store, { size: (ENV['RAILS_MEM_CACHE_SIZE_MB'] || 32).to_i.megabytes }
|
||||||
config.public_file_server.headers = {
|
config.public_file_server.headers = {
|
||||||
'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
|
'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,9 +78,6 @@ Rails.application.configure do
|
||||||
# Use a different logger for distributed setups.
|
# Use a different logger for distributed setups.
|
||||||
# config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
|
# 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.
|
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
||||||
# config.action_controller.asset_host = 'http://assets.example.com'
|
# config.action_controller.asset_host = 'http://assets.example.com'
|
||||||
|
|
||||||
|
@ -90,7 +87,7 @@ Rails.application.configure do
|
||||||
|
|
||||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||||
# the I18n.default_locale when a translation cannot be found).
|
# the I18n.default_locale when a translation cannot be found).
|
||||||
config.i18n.fallbacks = true
|
config.i18n.fallbacks = [I18n.default_locale]
|
||||||
|
|
||||||
# Send deprecation notices to registered listeners.
|
# Send deprecation notices to registered listeners.
|
||||||
config.active_support.deprecation = :notify
|
config.active_support.deprecation = :notify
|
||||||
|
@ -129,7 +126,7 @@ Rails.application.configure do
|
||||||
end
|
end
|
||||||
|
|
||||||
# Use a different cache store in production.
|
# Use a different cache store in production.
|
||||||
# config.cache_store = :mem_cache_store
|
config.cache_store = :memory_store, { size: (ENV['RAILS_MEM_CACHE_SIZE_MB'] || 32).to_i.megabytes }
|
||||||
|
|
||||||
# Use a real queuing backend for Active Job (and separate queues per environment)
|
# Use a real queuing backend for Active Job (and separate queues per environment)
|
||||||
config.active_job.queue_adapter = :delayed_job
|
config.active_job.queue_adapter = :delayed_job
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
describe Comment::ProjectComment, type: :model do
|
describe ProjectComment, type: :model do
|
||||||
it 'should be of class MyModuleTag' do
|
it 'should be of class MyModuleTag' do
|
||||||
expect(subject.class).to eq Comment::ProjectComment
|
expect(subject.class).to eq ProjectComment
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Database table' do
|
describe 'Database table' do
|
||||||
|
|
Loading…
Add table
Reference in a new issue