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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/biovision/base/placeholders/user.svg +4 -21
  3. data/app/assets/javascripts/biovision/base/biovision-sliders.js +24 -1
  4. data/app/assets/javascripts/biovision/base/biovision.js +27 -5
  5. data/app/assets/stylesheets/biovision/base/biovision.scss +8 -1
  6. data/app/assets/stylesheets/biovision/base/default.scss +13 -5
  7. data/app/controllers/about_controller.rb +8 -3
  8. data/app/controllers/admin/editable_pages_controller.rb +3 -1
  9. data/app/controllers/editable_pages_controller.rb +1 -5
  10. data/app/controllers/fallback_controller.rb +11 -0
  11. data/app/controllers/media_files_controller.rb +9 -1
  12. data/app/controllers/my/profiles_controller.rb +6 -1
  13. data/app/models/concerns/checkable.rb +20 -0
  14. data/app/models/editable_page.rb +27 -10
  15. data/app/models/feedback_request.rb +4 -3
  16. data/app/models/foreign_site.rb +7 -4
  17. data/app/models/media_file.rb +0 -1
  18. data/app/models/privilege.rb +2 -2
  19. data/app/models/user.rb +4 -4
  20. data/app/views/about/contact.html.erb +24 -0
  21. data/app/views/admin/editable_pages/entity/_in_list.html.erb +16 -0
  22. data/app/views/admin/editable_pages/index.html.erb +1 -1
  23. data/app/views/admin/editable_pages/show.html.erb +10 -1
  24. data/app/views/admin/index/_biovision_base.html.erb +1 -0
  25. data/app/views/admin/users/entity/_custom_nav.html.erb +0 -0
  26. data/app/views/admin/users/entity/_in_list.html.erb +19 -3
  27. data/app/views/admin/users/show.html.erb +18 -9
  28. data/app/views/application/error.jbuilder +3 -0
  29. data/app/views/editable_pages/_editable_page.html.erb +2 -4
  30. data/app/views/editable_pages/_form.html.erb +50 -11
  31. data/app/views/editable_pages/edit.html.erb +3 -3
  32. data/app/views/editable_pages/entity/_content.html.erb +11 -0
  33. data/app/views/editable_pages/entity/_metadata.html.erb +1 -4
  34. data/app/views/fallback/show.html.erb +1 -0
  35. data/app/views/feedback_requests/_form.html.erb +38 -27
  36. data/app/views/my/profiles/check.jbuilder +4 -0
  37. data/app/views/my/profiles/new/_form.html.erb +11 -10
  38. data/app/views/shared/_meta_texts.html.erb +26 -12
  39. data/app/views/shared/forms/_entity_flags.html.erb +11 -0
  40. data/app/views/shared/forms/_wysiwyg.html.erb +1 -1
  41. data/app/views/shared/forms/check.jbuilder +4 -0
  42. data/app/views/users/_form.html.erb +32 -39
  43. data/config/locales/common-en.yml +6 -4
  44. data/config/locales/common-ru.yml +7 -4
  45. data/config/locales/editable-pages-ru.yml +12 -4
  46. data/config/locales/feedback-en.yml +6 -1
  47. data/config/locales/feedback-ru.yml +5 -5
  48. data/config/locales/users-en.yml +1 -0
  49. data/config/locales/users-ru.yml +1 -0
  50. data/config/routes.rb +11 -2
  51. data/db/migrate/20170302000101_create_privileges.rb +1 -0
  52. data/db/migrate/20170320000000_create_editable_pages.rb +25 -12
  53. data/db/migrate/20171211000000_create_feedback_requests.rb +7 -1
  54. data/db/migrate/20180610222222_add_consent_to_feedback_requests.rb +15 -0
  55. data/db/migrate/20180612111111_add_administrative_to_privilege.rb +11 -0
  56. data/db/migrate/20180619121212_add_image_alt_text_to_editable_page.rb +11 -0
  57. data/lib/biovision/base/base_methods.rb +3 -2
  58. data/lib/biovision/base/version.rb +1 -1
  59. metadata +15 -4
  60. data/db/migrate/20171025222222_add_new_fields_171026.rb +0 -21
  61. 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 from agency.tm"
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: "Контакты"
@@ -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"
@@ -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
- pages = {
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(slug: 'feedback_receiver', value: 'support@example.com', name: 'Адрес для запросов обратной связи', description: 'На этот адрес будут отправляться запросы обратной связи')
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
@@ -0,0 +1,11 @@
1
+ class AddImageAltTextToEditablePage < ActiveRecord::Migration[5.2]
2
+ def up
3
+ unless column_exists?(:editable_pages, :image_alt_text)
4
+ add_column :editable_pages, :image_alt_text, :string
5
+ end
6
+ end
7
+
8
+ def down
9
+ # no rollback needed
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[param].to_s.encode('UTF-8', 'UTF-8', invalid: :replace, replace: '')
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
@@ -1,5 +1,5 @@
1
1
  module Biovision
2
2
  module Base
3
- VERSION = '0.15.180502'
3
+ VERSION = '0.17.180619'
4
4
  end
5
5
  end
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.15.180502
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-05-03 00:00:00.000000000 Z
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