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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/biovision/base/biovision.js +52 -7
- data/app/assets/javascripts/biovision/base/components/carousel.js +127 -17
- data/app/assets/javascripts/biovision/base/components/video-stretcher.js +51 -0
- data/app/assets/stylesheets/biovision/base/biovision.scss +18 -2
- data/app/controllers/admin/settings_controller.rb +7 -12
- data/app/controllers/admin_controller.rb +4 -0
- data/app/controllers/concerns/authentication.rb +3 -0
- data/app/controllers/editable_pages_controller.rb +2 -0
- data/app/controllers/my/profiles_controller.rb +1 -1
- data/app/helpers/biovision_users_helper.rb +1 -1
- data/app/jobs/editable_page_body_parser_job.rb +16 -0
- data/app/models/biovision_component.rb +18 -11
- data/app/models/editable_page.rb +21 -16
- data/app/models/foreign_site.rb +9 -3
- data/app/services/biovision/components/base_component.rb +17 -40
- data/app/services/canonizer.rb +21 -14
- data/app/services/oembed_receiver.rb +92 -0
- data/app/services/user_bouncer.rb +3 -4
- data/app/uploaders/simple_file_uploader.rb +15 -0
- data/app/views/admin/editable_pages/entity/_in_list.html.erb +1 -1
- data/app/views/admin/editable_pages/show.html.erb +2 -2
- data/app/views/admin/index/_biovision_base.html.erb +2 -2
- data/app/views/admin/settings/component/_new_parameter.html.erb +5 -13
- data/app/views/admin/settings/component/_parameters.html.erb +6 -6
- data/app/views/admin/settings/show.html.erb +1 -1
- data/app/views/admin/users/entity/_in_list.html.erb +3 -0
- data/app/views/admin/users/show.html.erb +1 -1
- data/app/views/editable_pages/_editable_page.html.erb +1 -1
- data/app/views/editable_pages/_form.html.erb +2 -2
- data/app/views/editable_pages/entity/_content.html.erb +1 -1
- data/app/views/editable_pages/entity/_metadata.html.erb +12 -10
- data/app/views/index/index/_default_dashboard.html.erb +3 -1
- data/app/views/my/index/index/_dashboard.html.erb +16 -0
- data/app/views/shared/_breadcrumbs.html.erb +4 -2
- data/app/views/shared/_track.html.erb +8 -8
- data/app/views/shared/admin/_breadcrumbs.html.erb +4 -2
- data/app/views/shared/editable_pages/_body.html.erb +2 -2
- data/app/views/shared/entity/_metadata.html.erb +13 -0
- data/app/views/shared/forms/_toggle_wysiwyg.html.erb +24 -0
- data/app/views/shared/forms/_wysiwyg.html.erb +1 -1
- data/app/views/simple_blocks/_form.html.erb +12 -0
- data/app/views/users/_form.html.erb +22 -22
- data/config/locales/components-ru.yml +2 -3
- data/config/routes.rb +41 -90
- data/db/migrate/20181217000000_create_biovision_components.rb +16 -39
- data/db/migrate/20181217000110_create_editable_pages.rb +11 -40
- data/db/migrate/20190326120000_create_simple_blocks.rb +7 -1
- data/db/migrate/20190423101010_add_parameters_to_biovision_components.rb +29 -0
- data/db/migrate/20190429111111_add_parsed_body_to_editable_pages.rb +18 -0
- data/lib/biovision/base/base_methods.rb +10 -0
- data/lib/biovision/base/privilege_methods.rb +5 -0
- data/lib/biovision/base/version.rb +1 -1
- metadata +9 -3
- 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
|
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.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-
|
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>
|