biovision-base 0.15.180502 → 0.17.180619
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/biovision/base/placeholders/user.svg +4 -21
- data/app/assets/javascripts/biovision/base/biovision-sliders.js +24 -1
- data/app/assets/javascripts/biovision/base/biovision.js +27 -5
- data/app/assets/stylesheets/biovision/base/biovision.scss +8 -1
- data/app/assets/stylesheets/biovision/base/default.scss +13 -5
- data/app/controllers/about_controller.rb +8 -3
- data/app/controllers/admin/editable_pages_controller.rb +3 -1
- data/app/controllers/editable_pages_controller.rb +1 -5
- data/app/controllers/fallback_controller.rb +11 -0
- data/app/controllers/media_files_controller.rb +9 -1
- data/app/controllers/my/profiles_controller.rb +6 -1
- data/app/models/concerns/checkable.rb +20 -0
- data/app/models/editable_page.rb +27 -10
- data/app/models/feedback_request.rb +4 -3
- data/app/models/foreign_site.rb +7 -4
- data/app/models/media_file.rb +0 -1
- data/app/models/privilege.rb +2 -2
- data/app/models/user.rb +4 -4
- data/app/views/about/contact.html.erb +24 -0
- data/app/views/admin/editable_pages/entity/_in_list.html.erb +16 -0
- data/app/views/admin/editable_pages/index.html.erb +1 -1
- data/app/views/admin/editable_pages/show.html.erb +10 -1
- data/app/views/admin/index/_biovision_base.html.erb +1 -0
- data/app/views/admin/users/entity/_custom_nav.html.erb +0 -0
- data/app/views/admin/users/entity/_in_list.html.erb +19 -3
- data/app/views/admin/users/show.html.erb +18 -9
- data/app/views/application/error.jbuilder +3 -0
- data/app/views/editable_pages/_editable_page.html.erb +2 -4
- data/app/views/editable_pages/_form.html.erb +50 -11
- data/app/views/editable_pages/edit.html.erb +3 -3
- data/app/views/editable_pages/entity/_content.html.erb +11 -0
- data/app/views/editable_pages/entity/_metadata.html.erb +1 -4
- data/app/views/fallback/show.html.erb +1 -0
- data/app/views/feedback_requests/_form.html.erb +38 -27
- data/app/views/my/profiles/check.jbuilder +4 -0
- data/app/views/my/profiles/new/_form.html.erb +11 -10
- data/app/views/shared/_meta_texts.html.erb +26 -12
- data/app/views/shared/forms/_entity_flags.html.erb +11 -0
- data/app/views/shared/forms/_wysiwyg.html.erb +1 -1
- data/app/views/shared/forms/check.jbuilder +4 -0
- data/app/views/users/_form.html.erb +32 -39
- data/config/locales/common-en.yml +6 -4
- data/config/locales/common-ru.yml +7 -4
- data/config/locales/editable-pages-ru.yml +12 -4
- data/config/locales/feedback-en.yml +6 -1
- data/config/locales/feedback-ru.yml +5 -5
- data/config/locales/users-en.yml +1 -0
- data/config/locales/users-ru.yml +1 -0
- data/config/routes.rb +11 -2
- data/db/migrate/20170302000101_create_privileges.rb +1 -0
- data/db/migrate/20170320000000_create_editable_pages.rb +25 -12
- data/db/migrate/20171211000000_create_feedback_requests.rb +7 -1
- data/db/migrate/20180610222222_add_consent_to_feedback_requests.rb +15 -0
- data/db/migrate/20180612111111_add_administrative_to_privilege.rb +11 -0
- data/db/migrate/20180619121212_add_image_alt_text_to_editable_page.rb +11 -0
- data/lib/biovision/base/base_methods.rb +3 -2
- data/lib/biovision/base/version.rb +1 -1
- metadata +15 -4
- data/db/migrate/20171025222222_add_new_fields_171026.rb +0 -21
- data/db/migrate/20171217222222_add_fields_to_feedback_requests.rb +0 -10
@@ -5,6 +5,7 @@ en:
|
|
5
5
|
attributes:
|
6
6
|
feedback_request:
|
7
7
|
comment: "Comment"
|
8
|
+
consent: "Consent on processing personal data"
|
8
9
|
email: "E-mail"
|
9
10
|
image: "Image"
|
10
11
|
language: "Language"
|
@@ -27,5 +28,9 @@ en:
|
|
27
28
|
result: "Thank you, we will contact you"
|
28
29
|
feedback_mailer:
|
29
30
|
new_feedback_request:
|
30
|
-
subject: "New feedback request
|
31
|
+
subject: "New feedback request"
|
31
32
|
title: "New feebdack request came"
|
33
|
+
about:
|
34
|
+
contact:
|
35
|
+
title: "Contact"
|
36
|
+
heading: "Contact"
|
@@ -5,6 +5,7 @@ ru:
|
|
5
5
|
attributes:
|
6
6
|
feedback_request:
|
7
7
|
comment: "Комментарий"
|
8
|
+
consent: "Согласие на обработку персональных данных"
|
8
9
|
email: "Почта"
|
9
10
|
image: "Картинка"
|
10
11
|
language: "Язык"
|
@@ -23,11 +24,6 @@ ru:
|
|
23
24
|
dashboard:
|
24
25
|
biovision_feedback:
|
25
26
|
heading: "Обратная связь"
|
26
|
-
index:
|
27
|
-
index:
|
28
|
-
contact:
|
29
|
-
heading: "Контакты"
|
30
|
-
or_use_form: "Или оставьте ваши контактные данные и мы очень быстро свяжемся с вами"
|
31
27
|
feedback_requests:
|
32
28
|
form:
|
33
29
|
result: "Спасибо, с Вами свяжутся"
|
@@ -35,3 +31,7 @@ ru:
|
|
35
31
|
new_feedback_request:
|
36
32
|
subject: "Новый запрос обратной связи"
|
37
33
|
title: "Поступил новый запрос на обратную связь"
|
34
|
+
about:
|
35
|
+
contact:
|
36
|
+
title: "Контакты"
|
37
|
+
heading: "Контакты"
|
data/config/locales/users-en.yml
CHANGED
@@ -49,6 +49,7 @@ en:
|
|
49
49
|
agent: "User agent at the time if registration"
|
50
50
|
allow_login: "Allow logging in"
|
51
51
|
allow_mail: "Allow email notifications"
|
52
|
+
balance: "Balance"
|
52
53
|
birthday: "Birthday"
|
53
54
|
bot: "It is bot"
|
54
55
|
consent: "Consent for processing of personal data and acceptance of terms of service"
|
data/config/locales/users-ru.yml
CHANGED
@@ -49,6 +49,7 @@ ru:
|
|
49
49
|
agent: "Агент пользователя при регистрации"
|
50
50
|
allow_login: "Позволить вход"
|
51
51
|
allow_mail: "Разрешить email-уведомления"
|
52
|
+
balance: "Баланс"
|
52
53
|
birthday: "Дата рождения"
|
53
54
|
bot: "Это бот"
|
54
55
|
consent: "Согласие на обработку персональных данных и принятие пользовательского соглашения"
|
data/config/routes.rb
CHANGED
@@ -37,6 +37,7 @@ Rails.application.routes.draw do
|
|
37
37
|
get 'about' => :index
|
38
38
|
get 'tos' => :tos
|
39
39
|
get 'privacy' => :privacy
|
40
|
+
get 'contact' => :contact
|
40
41
|
end
|
41
42
|
|
42
43
|
scope 'u/:slug', controller: :profiles, constraints: { slug: /[^\/]+/ } do
|
@@ -61,7 +62,11 @@ Rails.application.routes.draw do
|
|
61
62
|
end
|
62
63
|
end
|
63
64
|
|
64
|
-
resources :editable_pages, only: [:index, :show]
|
65
|
+
resources :editable_pages, only: [:index, :show] do
|
66
|
+
member do
|
67
|
+
post 'priority', defaults: { format: :json }
|
68
|
+
end
|
69
|
+
end
|
65
70
|
resources :stored_values, only: [:index, :show]
|
66
71
|
|
67
72
|
resources :metrics, only: [:index, :show] do
|
@@ -126,7 +131,9 @@ Rails.application.routes.draw do
|
|
126
131
|
namespace :my do
|
127
132
|
get '/' => 'index#index'
|
128
133
|
|
129
|
-
resource :profile, except: [:destroy]
|
134
|
+
resource :profile, except: [:destroy] do
|
135
|
+
post 'check'
|
136
|
+
end
|
130
137
|
resource :confirmation, :recovery, only: [:show, :create, :update]
|
131
138
|
resources :tokens, only: [:index] do
|
132
139
|
member do
|
@@ -161,5 +168,7 @@ Rails.application.routes.draw do
|
|
161
168
|
end
|
162
169
|
|
163
170
|
resources :feedback_requests, only: [:create]
|
171
|
+
|
172
|
+
get ':editable_page_url' => 'fallback#show', constraints: { editable_page_url: /.+/ }
|
164
173
|
end
|
165
174
|
end
|
@@ -7,6 +7,7 @@ class CreatePrivileges < ActiveRecord::Migration[5.1]
|
|
7
7
|
t.boolean :locked, default: false, null: false
|
8
8
|
t.boolean :deleted, default: false, null: false
|
9
9
|
t.boolean :regional, default: false, null: false
|
10
|
+
t.boolean :administrative, default: true, null: false
|
10
11
|
t.integer :priority, limit: 2, default: 1, null: false
|
11
12
|
t.integer :users_count, default: 0, null: false
|
12
13
|
t.string :parents_cache, default: '', null: false
|
@@ -10,24 +10,14 @@ class CreateEditablePages < ActiveRecord::Migration[5.1]
|
|
10
10
|
t.string :nav_group
|
11
11
|
t.string :url
|
12
12
|
t.string :image
|
13
|
+
t.string :image_alt_text
|
13
14
|
t.string :title, default: '', null: false
|
14
15
|
t.string :keywords, default: '', null: false
|
15
16
|
t.string :description, default: '', null: false
|
16
17
|
t.text :body, default: '', null: false
|
17
18
|
end
|
18
19
|
|
19
|
-
|
20
|
-
index: { ru: 'Главная страница', en: 'Main page' },
|
21
|
-
about: { ru: 'О проекте', en: 'About' },
|
22
|
-
tos: { ru: 'Пользовательское соглашение', en: 'Terms of service' },
|
23
|
-
privacy: { ru: 'Соглашение о конфиденциальности', en: 'Privacy' }
|
24
|
-
}
|
25
|
-
|
26
|
-
pages.each do |slug, names|
|
27
|
-
Language.all.each do |language|
|
28
|
-
EditablePage.create(slug: slug, name: names[language.code.to_sym], language: language)
|
29
|
-
end
|
30
|
-
end
|
20
|
+
create_pages
|
31
21
|
end
|
32
22
|
end
|
33
23
|
|
@@ -36,4 +26,27 @@ class CreateEditablePages < ActiveRecord::Migration[5.1]
|
|
36
26
|
drop_table :editable_pages
|
37
27
|
end
|
38
28
|
end
|
29
|
+
|
30
|
+
def create_pages
|
31
|
+
pages = {
|
32
|
+
index: ['', { ru: 'Главная страница', en: 'Main page' }],
|
33
|
+
about: ['about', { ru: 'О проекте', en: 'About' }],
|
34
|
+
tos: ['tos', { ru: 'Пользовательское соглашение', en: 'Terms of service' }],
|
35
|
+
privacy: ['privacy', { ru: 'Политика конфиденциальности', en: 'Privacy' }],
|
36
|
+
contact: ['contact', { ru: 'Контакты', en: 'Contact' }]
|
37
|
+
}
|
38
|
+
|
39
|
+
pages.each do |slug, data|
|
40
|
+
url = data[0]
|
41
|
+
names = data[1]
|
42
|
+
Language.all.each do |language|
|
43
|
+
EditablePage.create(
|
44
|
+
slug: slug,
|
45
|
+
name: names[language.code.to_sym],
|
46
|
+
language: language,
|
47
|
+
url: url
|
48
|
+
)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
39
52
|
end
|
@@ -7,6 +7,7 @@ class CreateFeedbackRequests < ActiveRecord::Migration[5.1]
|
|
7
7
|
t.references :agent, foreign_key: { on_update: :cascade, on_delete: :nullify }
|
8
8
|
t.inet :ip
|
9
9
|
t.boolean :processed
|
10
|
+
t.boolean :consent, default: false, null: false
|
10
11
|
t.string :name
|
11
12
|
t.string :email
|
12
13
|
t.string :phone
|
@@ -15,7 +16,12 @@ class CreateFeedbackRequests < ActiveRecord::Migration[5.1]
|
|
15
16
|
end
|
16
17
|
|
17
18
|
Privilege.create(slug: 'feedback_manager', name: 'Менеджер обратной связи')
|
18
|
-
StoredValue.create(
|
19
|
+
StoredValue.create(
|
20
|
+
slug: 'feedback_receiver',
|
21
|
+
value: 'support@example.com',
|
22
|
+
name: 'Адрес для запросов обратной связи',
|
23
|
+
description: 'На этот адрес будут отправляться запросы обратной связи'
|
24
|
+
)
|
19
25
|
end
|
20
26
|
end
|
21
27
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class AddConsentToFeedbackRequests < ActiveRecord::Migration[5.2]
|
2
|
+
def up
|
3
|
+
unless column_exists?(:feedback_requests, :consent)
|
4
|
+
add_column :feedback_requests, :consent, :boolean, default: false, null: false
|
5
|
+
|
6
|
+
FeedbackRequest.order('id asc').each do |entity|
|
7
|
+
entity.update! consent: true
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def down
|
13
|
+
# No need to rollback
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class AddAdministrativeToPrivilege < ActiveRecord::Migration[5.2]
|
2
|
+
def up
|
3
|
+
unless column_exists?(:privileges, :administrative)
|
4
|
+
add_column :privileges, :administrative, :boolean, default: true, null: false
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
# No need to rollback
|
10
|
+
end
|
11
|
+
end
|
@@ -24,8 +24,9 @@ module Biovision
|
|
24
24
|
#
|
25
25
|
# @param [Symbol] param
|
26
26
|
# @return [String]
|
27
|
-
def param_from_request(param)
|
28
|
-
params
|
27
|
+
def param_from_request(*param)
|
28
|
+
value = params.dig(*param)
|
29
|
+
value.to_s.encode('UTF-8', 'UTF-8', invalid: :replace, replace: '')
|
29
30
|
end
|
30
31
|
|
31
32
|
# Get current user from token cookie
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: biovision-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.17.180619
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxim Khan-Magomedov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -240,6 +240,7 @@ files:
|
|
240
240
|
- app/controllers/concerns/toggleable_entity.rb
|
241
241
|
- app/controllers/editable_pages_controller.rb
|
242
242
|
- app/controllers/errors_controller.rb
|
243
|
+
- app/controllers/fallback_controller.rb
|
243
244
|
- app/controllers/feedback_requests_controller.rb
|
244
245
|
- app/controllers/index_controller.rb
|
245
246
|
- app/controllers/media_files_controller.rb
|
@@ -278,6 +279,7 @@ files:
|
|
278
279
|
- app/models/browser.rb
|
279
280
|
- app/models/code.rb
|
280
281
|
- app/models/code_type.rb
|
282
|
+
- app/models/concerns/checkable.rb
|
281
283
|
- app/models/concerns/has_owner.rb
|
282
284
|
- app/models/concerns/required_unique_name.rb
|
283
285
|
- app/models/concerns/required_unique_slug.rb
|
@@ -313,6 +315,7 @@ files:
|
|
313
315
|
- app/uploaders/editable_page_image_uploader.rb
|
314
316
|
- app/uploaders/media_file_uploader.rb
|
315
317
|
- app/uploaders/media_snapshot_uploader.rb
|
318
|
+
- app/views/about/contact.html.erb
|
316
319
|
- app/views/about/editable.html.erb
|
317
320
|
- app/views/admin/agents/_filter.html.erb
|
318
321
|
- app/views/admin/agents/_list.html.erb
|
@@ -391,6 +394,7 @@ files:
|
|
391
394
|
- app/views/admin/users/_nav_item.html.erb
|
392
395
|
- app/views/admin/users/_search.html.erb
|
393
396
|
- app/views/admin/users/codes.html.erb
|
397
|
+
- app/views/admin/users/entity/_custom_nav.html.erb
|
394
398
|
- app/views/admin/users/entity/_in_list.html.erb
|
395
399
|
- app/views/admin/users/entity/_preview.jbuilder
|
396
400
|
- app/views/admin/users/entity/_privilege.html.erb
|
@@ -410,6 +414,7 @@ files:
|
|
410
414
|
- app/views/agents/new.html.erb
|
411
415
|
- app/views/agents/show.jbuilder
|
412
416
|
- app/views/application/error.html.erb
|
417
|
+
- app/views/application/error.jbuilder
|
413
418
|
- app/views/application/not_found.html.erb
|
414
419
|
- app/views/application/not_found.jbuilder
|
415
420
|
- app/views/application/service_unavailable.html.erb
|
@@ -430,9 +435,11 @@ files:
|
|
430
435
|
- app/views/editable_pages/_editable_page.html.erb
|
431
436
|
- app/views/editable_pages/_form.html.erb
|
432
437
|
- app/views/editable_pages/edit.html.erb
|
438
|
+
- app/views/editable_pages/entity/_content.html.erb
|
433
439
|
- app/views/editable_pages/entity/_metadata.html.erb
|
434
440
|
- app/views/editable_pages/new.html.erb
|
435
441
|
- app/views/errors/error.html.erb
|
442
|
+
- app/views/fallback/show.html.erb
|
436
443
|
- app/views/feedback_mailer/new_feedback_request.html.erb
|
437
444
|
- app/views/feedback_mailer/new_feedback_request.text.erb
|
438
445
|
- app/views/feedback_requests/_form.html.erb
|
@@ -486,6 +493,7 @@ files:
|
|
486
493
|
- app/views/my/login_attempts/index.html.erb
|
487
494
|
- app/views/my/login_attempts/index.jbuilder
|
488
495
|
- app/views/my/profiles/_nav_item.html.erb
|
496
|
+
- app/views/my/profiles/check.jbuilder
|
489
497
|
- app/views/my/profiles/edit.html.erb
|
490
498
|
- app/views/my/profiles/edit/_form.html.erb
|
491
499
|
- app/views/my/profiles/edit/form/_profile_data.html.erb
|
@@ -524,8 +532,10 @@ files:
|
|
524
532
|
- app/views/shared/editable_pages/_body.html.erb
|
525
533
|
- app/views/shared/filter/_flag.html.erb
|
526
534
|
- app/views/shared/forms/_default_ajax_handler.html.erb
|
535
|
+
- app/views/shared/forms/_entity_flags.html.erb
|
527
536
|
- app/views/shared/forms/_list_of_errors.js.erb
|
528
537
|
- app/views/shared/forms/_wysiwyg.html.erb
|
538
|
+
- app/views/shared/forms/check.jbuilder
|
529
539
|
- app/views/shared/forms/errors.js.erb
|
530
540
|
- app/views/stored_values/_form.html.erb
|
531
541
|
- app/views/stored_values/edit.html.erb
|
@@ -572,16 +582,17 @@ files:
|
|
572
582
|
- db/migrate/20170425000002_create_foreign_users.rb
|
573
583
|
- db/migrate/20170629120000_create_login_attempts.rb
|
574
584
|
- db/migrate/20170823000001_create_stored_values.rb
|
575
|
-
- db/migrate/20171025222222_add_new_fields_171026.rb
|
576
585
|
- db/migrate/20171202000000_create_media_folders.rb
|
577
586
|
- db/migrate/20171202000001_create_media_files.rb
|
578
587
|
- db/migrate/20171211000000_create_feedback_requests.rb
|
579
|
-
- db/migrate/20171217222222_add_fields_to_feedback_requests.rb
|
580
588
|
- db/migrate/20171223333333_amend_foreign_keys.rb
|
581
589
|
- db/migrate/20180117151515_add_language_to_models.rb
|
582
590
|
- db/migrate/20180117160000_create_user_languages.rb
|
583
591
|
- db/migrate/20180321000000_add_profile_data_to_users.rb
|
584
592
|
- db/migrate/20180405000000_add_consent_to_users.rb
|
593
|
+
- db/migrate/20180610222222_add_consent_to_feedback_requests.rb
|
594
|
+
- db/migrate/20180612111111_add_administrative_to_privilege.rb
|
595
|
+
- db/migrate/20180619121212_add_image_alt_text_to_editable_page.rb
|
585
596
|
- lib/biovision/base.rb
|
586
597
|
- lib/biovision/base/base_methods.rb
|
587
598
|
- lib/biovision/base/engine.rb
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class AddNewFields171026 < ActiveRecord::Migration[5.1]
|
2
|
-
def up
|
3
|
-
unless column_exists?(:editable_pages, :url)
|
4
|
-
change_table :editable_pages do |t|
|
5
|
-
t.integer :priority, limit: 2, default: 1, null: false
|
6
|
-
t.string :url
|
7
|
-
t.string :nav_group
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
unless column_exists?(:users, :balance)
|
12
|
-
change_table :users do |t|
|
13
|
-
t.integer :balance, default: 0, null: false
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def down
|
19
|
-
# No need to rollback
|
20
|
-
end
|
21
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
class AddFieldsToFeedbackRequests < ActiveRecord::Migration[5.1]
|
2
|
-
def up
|
3
|
-
add_column :feedback_requests, :image, :string unless column_exists?(:feedback_requests, :image)
|
4
|
-
add_column :feedback_requests, :comment, :text unless column_exists?(:feedback_requests, :comment)
|
5
|
-
end
|
6
|
-
|
7
|
-
def down
|
8
|
-
# No need to rollback
|
9
|
-
end
|
10
|
-
end
|