biovision-base 0.34.190331.1 → 0.36.190526.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/biovision/base/biovision.js +52 -7
  3. data/app/assets/javascripts/biovision/base/components/carousel.js +127 -17
  4. data/app/assets/javascripts/biovision/base/components/video-stretcher.js +51 -0
  5. data/app/assets/stylesheets/biovision/base/biovision.scss +18 -2
  6. data/app/controllers/admin/settings_controller.rb +7 -12
  7. data/app/controllers/admin_controller.rb +4 -0
  8. data/app/controllers/concerns/authentication.rb +3 -0
  9. data/app/controllers/editable_pages_controller.rb +2 -0
  10. data/app/controllers/my/profiles_controller.rb +1 -1
  11. data/app/helpers/biovision_users_helper.rb +1 -1
  12. data/app/jobs/editable_page_body_parser_job.rb +16 -0
  13. data/app/models/biovision_component.rb +18 -11
  14. data/app/models/editable_page.rb +21 -16
  15. data/app/models/foreign_site.rb +9 -3
  16. data/app/services/biovision/components/base_component.rb +17 -40
  17. data/app/services/canonizer.rb +21 -14
  18. data/app/services/oembed_receiver.rb +92 -0
  19. data/app/services/user_bouncer.rb +3 -4
  20. data/app/uploaders/simple_file_uploader.rb +15 -0
  21. data/app/views/admin/editable_pages/entity/_in_list.html.erb +1 -1
  22. data/app/views/admin/editable_pages/show.html.erb +2 -2
  23. data/app/views/admin/index/_biovision_base.html.erb +2 -2
  24. data/app/views/admin/settings/component/_new_parameter.html.erb +5 -13
  25. data/app/views/admin/settings/component/_parameters.html.erb +6 -6
  26. data/app/views/admin/settings/show.html.erb +1 -1
  27. data/app/views/admin/users/entity/_in_list.html.erb +3 -0
  28. data/app/views/admin/users/show.html.erb +1 -1
  29. data/app/views/editable_pages/_editable_page.html.erb +1 -1
  30. data/app/views/editable_pages/_form.html.erb +2 -2
  31. data/app/views/editable_pages/entity/_content.html.erb +1 -1
  32. data/app/views/editable_pages/entity/_metadata.html.erb +12 -10
  33. data/app/views/index/index/_default_dashboard.html.erb +3 -1
  34. data/app/views/my/index/index/_dashboard.html.erb +16 -0
  35. data/app/views/shared/_breadcrumbs.html.erb +4 -2
  36. data/app/views/shared/_track.html.erb +8 -8
  37. data/app/views/shared/admin/_breadcrumbs.html.erb +4 -2
  38. data/app/views/shared/editable_pages/_body.html.erb +2 -2
  39. data/app/views/shared/entity/_metadata.html.erb +13 -0
  40. data/app/views/shared/forms/_toggle_wysiwyg.html.erb +24 -0
  41. data/app/views/shared/forms/_wysiwyg.html.erb +1 -1
  42. data/app/views/simple_blocks/_form.html.erb +12 -0
  43. data/app/views/users/_form.html.erb +22 -22
  44. data/config/locales/components-ru.yml +2 -3
  45. data/config/routes.rb +41 -90
  46. data/db/migrate/20181217000000_create_biovision_components.rb +16 -39
  47. data/db/migrate/20181217000110_create_editable_pages.rb +11 -40
  48. data/db/migrate/20190326120000_create_simple_blocks.rb +7 -1
  49. data/db/migrate/20190423101010_add_parameters_to_biovision_components.rb +29 -0
  50. data/db/migrate/20190429111111_add_parsed_body_to_editable_pages.rb +18 -0
  51. data/lib/biovision/base/base_methods.rb +10 -0
  52. data/lib/biovision/base/privilege_methods.rb +5 -0
  53. data/lib/biovision/base/version.rb +1 -1
  54. metadata +9 -3
  55. data/app/views/layouts/profile.html.erb +0 -30
@@ -159,6 +159,16 @@ module Biovision
159
159
  format.html { render(view_to_render, status: :bad_request) }
160
160
  end
161
161
  end
162
+
163
+ # @param [Class] klass
164
+ # @param [Hash] options
165
+ def component_restriction(klass, options = {})
166
+ return if klass.allow?(current_user, options)
167
+
168
+ error = "User #{current_user&.id} has no privileges in #{klass}"
169
+
170
+ handle_http_401(error)
171
+ end
162
172
  end
163
173
  end
164
174
  end
@@ -1,5 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Biovision
2
4
  module Base
5
+ # Methods for handling privilege-related events
3
6
  module PrivilegeMethods
4
7
  extend ActiveSupport::Concern
5
8
 
@@ -22,12 +25,14 @@ module Biovision
22
25
  # @param [Symbol] privilege_name
23
26
  def require_privilege(privilege_name)
24
27
  return if current_user_has_privilege?(privilege_name)
28
+
25
29
  handle_http_401("Current user has no privilege #{privilege_name}")
26
30
  end
27
31
 
28
32
  # @param [Symbol] group_name
29
33
  def require_privilege_group(group_name)
30
34
  return if current_user_in_group?(group_name)
35
+
31
36
  handle_http_401("Current user is not in group #{group_name}")
32
37
  end
33
38
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Biovision
4
4
  module Base
5
- VERSION = '0.34.190331.1'
5
+ VERSION = '0.36.190526.0'
6
6
  end
7
7
  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.34.190331.1
4
+ version: 0.36.190526.0
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: 2019-04-01 00:00:00.000000000 Z
11
+ date: 2019-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -208,6 +208,7 @@ files:
208
208
  - app/assets/javascripts/biovision/base/biovision-sliders.js
209
209
  - app/assets/javascripts/biovision/base/biovision.js
210
210
  - app/assets/javascripts/biovision/base/components/carousel.js
211
+ - app/assets/javascripts/biovision/base/components/video-stretcher.js
211
212
  - app/assets/javascripts/biovision/base/polyfills.js
212
213
  - app/assets/stylesheets/biovision/base/admin.scss
213
214
  - app/assets/stylesheets/biovision/base/admin/components.scss
@@ -296,6 +297,7 @@ files:
296
297
  - app/helpers/tracking_helper.rb
297
298
  - app/jobs/application_job.rb
298
299
  - app/jobs/clean_tokens_job.rb
300
+ - app/jobs/editable_page_body_parser_job.rb
299
301
  - app/mailers/application_mailer.rb
300
302
  - app/mailers/code_sender.rb
301
303
  - app/mailers/feedback_mailer.rb
@@ -345,6 +347,7 @@ files:
345
347
  - app/services/code_manager/confirmation.rb
346
348
  - app/services/code_manager/invitation.rb
347
349
  - app/services/code_manager/recovery.rb
350
+ - app/services/oembed_receiver.rb
348
351
  - app/services/user_bouncer.rb
349
352
  - app/services/user_manager.rb
350
353
  - app/services/user_profile_handler.rb
@@ -533,7 +536,6 @@ files:
533
536
  - app/views/layouts/application/header/authentication/_plate.html.erb
534
537
  - app/views/layouts/mailer.html.erb
535
538
  - app/views/layouts/mailer.text.erb
536
- - app/views/layouts/profile.html.erb
537
539
  - app/views/layouts/profile/_footer.html.erb
538
540
  - app/views/layouts/profile/_header.html.erb
539
541
  - app/views/layouts/profile/_sidebar.html.erb
@@ -613,6 +615,7 @@ files:
613
615
  - app/views/shared/admin/_toggleable.html.erb
614
616
  - app/views/shared/editable_pages/_body.html.erb
615
617
  - app/views/shared/entity/_meta_texts.html.erb
618
+ - app/views/shared/entity/_metadata.html.erb
616
619
  - app/views/shared/entity/_timestamps.html.erb
617
620
  - app/views/shared/filter/_flag.html.erb
618
621
  - app/views/shared/forms/_entity_flags.html.erb
@@ -620,6 +623,7 @@ files:
620
623
  - app/views/shared/forms/_meta_texts.html.erb
621
624
  - app/views/shared/forms/_priority.html.erb
622
625
  - app/views/shared/forms/_state_container.html.erb
626
+ - app/views/shared/forms/_toggle_wysiwyg.html.erb
623
627
  - app/views/shared/forms/_wysiwyg.html.erb
624
628
  - app/views/shared/forms/check.jbuilder
625
629
  - app/views/shared/forms/errors.js.erb
@@ -681,6 +685,8 @@ files:
681
685
  - db/migrate/20190311121212_convert_json_columns.rb
682
686
  - db/migrate/20190324181818_add_data_to_feedback_requests.rb
683
687
  - db/migrate/20190326120000_create_simple_blocks.rb
688
+ - db/migrate/20190423101010_add_parameters_to_biovision_components.rb
689
+ - db/migrate/20190429111111_add_parsed_body_to_editable_pages.rb
684
690
  - db/obsolete_migrations/20171223333333_amend_foreign_keys.rb
685
691
  - db/obsolete_migrations/20180117151515_add_language_to_models.rb
686
692
  - db/obsolete_migrations/20180321000000_add_profile_data_to_users.rb
@@ -1,30 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="<%= locale %>">
3
- <head>
4
- <meta charset="UTF-8"/>
5
- <title><%= yield :meta_title %></title>
6
- <%= stylesheet_link_tag 'application', media: 'all' %>
7
- <%= javascript_include_tag 'application' %>
8
- <%= csrf_meta_tags %>
9
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
10
- </head>
11
- <body>
12
- <%= render 'layouts/profile/header' %>
13
-
14
- <main id="main">
15
- <%= render 'shared/flash_messages' %>
16
- <%= render 'shared/breadcrumbs_profile' %>
17
-
18
- <div id="profile-content">
19
- <% unless content_for?(:hide_sidebar) || current_user.nil? %>
20
- <%= render 'layouts/profile/sidebar' %>
21
- <% end %>
22
- <div class="content">
23
- <%= yield %>
24
- </div>
25
- </div>
26
- </main>
27
-
28
- <%= render 'layouts/profile/footer' %>
29
- </body>
30
- </html>