biovision-post 0.21.190513.0 → 0.26.191013.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/config/biovision_post_manifest.js +1 -0
- data/app/assets/images/biovision/post/icons/comment.svg +9 -0
- data/app/assets/javascripts/biovision/post/biovision-posts.js +21 -28
- data/app/assets/stylesheets/biovision/post/posts.scss +6 -0
- data/app/controllers/admin/editorial_members_controller.rb +9 -4
- data/app/controllers/admin/featured_posts_controller.rb +9 -4
- data/app/controllers/admin/post_categories_controller.rb +12 -6
- data/app/controllers/admin/post_group_categories_controller.rb +9 -4
- data/app/controllers/admin/post_group_tags_controller.rb +9 -4
- data/app/controllers/admin/post_groups_controller.rb +9 -4
- data/app/controllers/admin/post_illustrations_controller.rb +9 -4
- data/app/controllers/admin/post_images_controller.rb +9 -4
- data/app/controllers/admin/post_links_controller.rb +9 -4
- data/app/controllers/admin/post_tags_controller.rb +9 -4
- data/app/controllers/admin/post_types_controller.rb +13 -4
- data/app/controllers/admin/posts_controller.rb +6 -8
- data/app/controllers/articles_controller.rb +16 -6
- data/app/controllers/authors_controller.rb +9 -4
- data/app/controllers/blog_posts_controller.rb +16 -6
- data/app/controllers/editorial_members_controller.rb +9 -4
- data/app/controllers/featured_posts_controller.rb +6 -1
- data/app/controllers/my/posts_controller.rb +35 -38
- data/app/controllers/news_controller.rb +16 -6
- data/app/controllers/post_attachments_controller.rb +36 -0
- data/app/controllers/post_categories_controller.rb +6 -1
- data/app/controllers/post_groups_controller.rb +9 -4
- data/app/controllers/post_illustrations_controller.rb +6 -1
- data/app/controllers/post_images_controller.rb +9 -8
- data/app/controllers/post_links_controller.rb +5 -2
- data/app/controllers/post_tags_controller.rb +9 -4
- data/app/controllers/posts_controller.rb +39 -17
- data/app/helpers/biovision_posts_helper.rb +28 -27
- data/app/jobs/post_body_parser_job.rb +1 -1
- data/app/models/concerns/post_child_with_priority.rb +2 -1
- data/app/models/editorial_member.rb +10 -1
- data/app/models/post.rb +39 -11
- data/app/models/post_attachment.rb +49 -0
- data/app/models/post_category.rb +6 -0
- data/app/models/post_group_category.rb +1 -1
- data/app/models/post_illustration.rb +2 -1
- data/app/models/post_image.rb +2 -1
- data/app/models/post_type.rb +15 -0
- data/app/services/biovision/components/posts_component.rb +65 -0
- data/app/views/admin/components/links/_posts.html.erb +33 -0
- data/app/views/admin/editorial_members/index.html.erb +2 -1
- data/app/views/admin/editorial_members/show.html.erb +1 -0
- data/app/views/admin/featured_posts/index.html.erb +1 -0
- data/app/views/admin/post_categories/entity/_in_list.html.erb +10 -0
- data/app/views/admin/post_categories/show.html.erb +11 -0
- data/app/views/admin/post_groups/index.html.erb +2 -1
- data/app/views/admin/post_groups/show.html.erb +1 -0
- data/app/views/admin/post_illustrations/index.html.erb +1 -0
- data/app/views/admin/post_illustrations/show.html.erb +1 -0
- data/app/views/admin/post_images/index.html.erb +2 -1
- data/app/views/admin/post_images/show.html.erb +1 -0
- data/app/views/admin/post_tags/index.html.erb +2 -1
- data/app/views/admin/post_tags/posts.html.erb +4 -3
- data/app/views/admin/post_tags/show.html.erb +3 -2
- data/app/views/admin/post_types/authors.html.erb +1 -0
- data/app/views/admin/post_types/index.html.erb +2 -1
- data/app/views/admin/post_types/new_post.html.erb +13 -4
- data/app/views/admin/post_types/post_categories.html.erb +1 -0
- data/app/views/admin/post_types/post_tags.html.erb +4 -3
- data/app/views/admin/post_types/show.html.erb +3 -2
- data/app/views/admin/posts/entity/_in_list.html.erb +3 -3
- data/app/views/admin/posts/images.html.erb +1 -0
- data/app/views/admin/posts/index.html.erb +2 -1
- data/app/views/admin/posts/search.html.erb +10 -1
- data/app/views/admin/posts/show.html.erb +6 -7
- data/app/views/authors/show.html.erb +1 -1
- data/app/views/blog_posts/index.html.erb +4 -2
- data/app/views/editorial_members/edit.html.erb +1 -0
- data/app/views/editorial_members/new.html.erb +3 -2
- data/app/views/my/index/dashboard/_biovision_post.html.erb +5 -4
- data/app/views/my/posts/_form.html.erb +40 -194
- data/app/views/my/posts/_post.html.erb +2 -3
- data/app/views/my/posts/articles.html.erb +1 -1
- data/app/views/my/posts/blog_posts.html.erb +1 -1
- data/app/views/my/posts/index/_navigation.html.erb +3 -3
- data/app/views/my/posts/new.html.erb +9 -1
- data/app/views/my/posts/news_index.html.erb +1 -1
- data/app/views/posts/_breadcrumbs.html.erb +1 -6
- data/app/views/posts/_form.html.erb +9 -2
- data/app/views/posts/_post.html.erb +7 -11
- data/app/views/posts/_preview.html.erb +7 -1
- data/app/views/posts/edit.html.erb +9 -1
- data/app/views/posts/post_type/_category.html.erb +4 -2
- data/app/views/posts/post_type/_post_page.html.erb +7 -1
- data/app/views/posts/post_type/_posts.html.erb +11 -2
- data/app/views/posts/post_type/_tagged.html.erb +4 -4
- data/app/views/posts/rss.xml.erb +1 -1
- data/app/views/posts/show.html.erb +0 -5
- data/app/views/posts/zen.xml.erb +3 -3
- data/config/locales/posts-ru.yml +11 -1
- data/config/routes.rb +3 -0
- data/db/{migrate → amends}/20190202232323_add_spam_to_posts.rb +0 -0
- data/db/{migrate → amends}/20190224212121_add_data_to_posts.rb +0 -0
- data/db/{migrate → amends}/20190224212122_rename_post_image_source.rb +0 -0
- data/db/{migrate → amends}/20190224212123_add_uuid_to_post_images.rb +0 -0
- data/db/{migrate → amends}/20190313141414_convert_json_post_columns.rb +0 -0
- data/db/amends/20190925181818_add_search_index_to_posts.rb +24 -0
- data/db/migrate/20170930000001_create_post_types.rb +4 -13
- data/db/migrate/20170930000010_create_posts.rb +26 -3
- data/db/migrate/20190715141414_add_data_to_post_categories.rb +14 -0
- data/db/migrate/20190801161616_add_posts_component.rb +14 -0
- data/db/migrate/20190822121212_create_post_attachments.rb +20 -0
- data/db/migrate/20190914212121_convert_post_privileges.rb +56 -0
- data/lib/biovision/post/version.rb +1 -1
- metadata +18 -13
- data/app/services/post_manager.rb +0 -71
- data/app/views/admin/index/dashboard/_biovision_post.html.erb +0 -36
- data/app/views/articles/show.html.erb +0 -6
- data/app/views/blog_posts/show.html.erb +0 -6
- data/app/views/news/show.html.erb +0 -6
@@ -1,5 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Displaying post authors
|
1
4
|
class AuthorsController < ApplicationController
|
2
|
-
before_action :set_entity, except:
|
5
|
+
before_action :set_entity, except: :index
|
3
6
|
|
4
7
|
# get /authors
|
5
8
|
def index
|
@@ -17,11 +20,13 @@ class AuthorsController < ApplicationController
|
|
17
20
|
|
18
21
|
private
|
19
22
|
|
23
|
+
def component_slug
|
24
|
+
Biovision::Components::PostsComponent::SLUG
|
25
|
+
end
|
26
|
+
|
20
27
|
def set_entity
|
21
28
|
user = User.find_by(slug: params[:slug].downcase, deleted: false)
|
22
29
|
@entity = EditorialMember.visible.find_by(user: user)
|
23
|
-
if @entity.nil?
|
24
|
-
handle_http_404('Cannot find user')
|
25
|
-
end
|
30
|
+
handle_http_404('Cannot find user') if @entity.nil?
|
26
31
|
end
|
27
32
|
end
|
@@ -1,11 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Viewing blog posts
|
1
4
|
class BlogPostsController < ApplicationController
|
2
5
|
before_action :set_category, only: :category
|
3
6
|
before_action :set_entity, only: :show
|
4
7
|
|
5
8
|
# get /blog_posts
|
6
9
|
def index
|
7
|
-
|
8
|
-
@collection =
|
10
|
+
posts = PostType['blog_post'].posts.for_language(current_language)
|
11
|
+
@collection = posts.page_for_visitors(current_page)
|
9
12
|
respond_to do |format|
|
10
13
|
format.html
|
11
14
|
format.json { render('posts/index') }
|
@@ -14,7 +17,8 @@ class BlogPostsController < ApplicationController
|
|
14
17
|
|
15
18
|
# get /blog_posts/:category_slug
|
16
19
|
def category
|
17
|
-
|
20
|
+
posts = Post.in_category_branch(@category).for_language(current_language)
|
21
|
+
@collection = posts.page_for_visitors(current_page)
|
18
22
|
respond_to do |format|
|
19
23
|
format.html
|
20
24
|
format.json { render('posts/index') }
|
@@ -26,18 +30,24 @@ class BlogPostsController < ApplicationController
|
|
26
30
|
@entity.increment :view_count
|
27
31
|
@entity.increment :rating, 0.0025
|
28
32
|
@entity.save
|
33
|
+
|
34
|
+
render 'posts/show'
|
29
35
|
end
|
30
36
|
|
31
37
|
# get /blog_posts/tagged/:tag_name
|
32
38
|
def tagged
|
33
|
-
|
34
|
-
@collection =
|
39
|
+
posts = PostType['blog_post'].posts.tagged(params[:tag_name])
|
40
|
+
@collection = posts.page_for_visitors(current_page)
|
35
41
|
end
|
36
42
|
|
37
43
|
private
|
38
44
|
|
45
|
+
def component_slug
|
46
|
+
Biovision::Components::PostsComponent::SLUG
|
47
|
+
end
|
48
|
+
|
39
49
|
def set_category
|
40
|
-
type = PostType
|
50
|
+
type = PostType['blog_post']
|
41
51
|
@category = type.post_categories.find_by(long_slug: params[:category_slug])
|
42
52
|
handle_http_404('Cannot find post category (blog_post)') if @category.nil?
|
43
53
|
end
|
@@ -40,6 +40,15 @@ class EditorialMembersController < AdminController
|
|
40
40
|
|
41
41
|
private
|
42
42
|
|
43
|
+
def component_slug
|
44
|
+
Biovision::Components::PostsComponent::SLUG
|
45
|
+
end
|
46
|
+
|
47
|
+
def restrict_access
|
48
|
+
error = 'Managing editorial members is not allowed'
|
49
|
+
handle_http_401(error) unless component_handler.allow?('chief_editor')
|
50
|
+
end
|
51
|
+
|
43
52
|
def set_entity
|
44
53
|
@entity = EditorialMember.find_by(id: params[:id])
|
45
54
|
if @entity.nil?
|
@@ -47,10 +56,6 @@ class EditorialMembersController < AdminController
|
|
47
56
|
end
|
48
57
|
end
|
49
58
|
|
50
|
-
def restrict_access
|
51
|
-
require_privilege :chief_editor
|
52
|
-
end
|
53
|
-
|
54
59
|
def entity_parameters
|
55
60
|
params.require(:editorial_member).permit(EditorialMember.entity_parameters)
|
56
61
|
end
|
@@ -21,8 +21,13 @@ class FeaturedPostsController < AdminController
|
|
21
21
|
|
22
22
|
private
|
23
23
|
|
24
|
+
def component_slug
|
25
|
+
Biovision::Components::PostsComponent::SLUG
|
26
|
+
end
|
27
|
+
|
24
28
|
def restrict_access
|
25
|
-
|
29
|
+
error = 'Managing featured posts is not allowed'
|
30
|
+
handle_http_401(error) unless component_handler.allow?('chief_editor', 'deputy_chief_editor')
|
26
31
|
end
|
27
32
|
|
28
33
|
def creation_parameters
|
@@ -1,51 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Post handler for user
|
1
4
|
class My::PostsController < ProfileController
|
2
|
-
before_action :set_entity, only: [
|
3
|
-
before_action :restrict_editing, only: [
|
5
|
+
before_action :set_entity, only: %i[show edit update destroy]
|
6
|
+
before_action :restrict_editing, only: %i[edit update destroy]
|
4
7
|
|
5
8
|
# get /my/posts
|
6
9
|
def index
|
7
10
|
@collection = Post.page_for_owner(current_user, current_page)
|
8
11
|
end
|
9
12
|
|
10
|
-
# get /my/posts/new
|
11
|
-
def new
|
12
|
-
@entity = Post.new
|
13
|
-
end
|
14
|
-
|
15
13
|
# get /my/articles/new
|
16
14
|
def new_article
|
17
|
-
|
18
|
-
@entity = Post.of_type(:article).new
|
19
|
-
render :new
|
20
|
-
else
|
21
|
-
handle_http_401('User has no editor privilege')
|
22
|
-
end
|
15
|
+
render_form_if_allowed 'article'
|
23
16
|
end
|
24
17
|
|
25
18
|
# get /my/news/new
|
26
19
|
def new_news
|
27
|
-
|
28
|
-
@entity = Post.of_type(:news).new
|
29
|
-
render :new
|
30
|
-
else
|
31
|
-
handle_http_401('User has no reporter privilege')
|
32
|
-
end
|
20
|
+
render_form_if_allowed 'news'
|
33
21
|
end
|
34
22
|
|
35
23
|
# get /my/blog_posts/new
|
36
24
|
def new_blog_post
|
37
|
-
|
38
|
-
@entity = Post.of_type(:blog_post).new
|
39
|
-
render :new
|
40
|
-
else
|
41
|
-
handle_http_401('User has no blogger privilege')
|
42
|
-
end
|
25
|
+
render_form_if_allowed 'blog_post'
|
43
26
|
end
|
44
27
|
|
45
28
|
# post /my/posts
|
46
29
|
def create
|
47
30
|
@entity = Post.new(creation_parameters)
|
48
|
-
if @entity.save
|
31
|
+
if component_handler.allow_post_type?(@entity.post_type) && @entity.save
|
49
32
|
apply_post_tags
|
50
33
|
form_processed_ok(my_post_path(id: @entity.id))
|
51
34
|
else
|
@@ -73,40 +56,54 @@ class My::PostsController < ProfileController
|
|
73
56
|
|
74
57
|
# delete /my/posts/:id
|
75
58
|
def destroy
|
76
|
-
if @entity.destroy
|
77
|
-
|
78
|
-
end
|
59
|
+
flash[:notice] = t('posts.destroy.success') if @entity.destroy
|
60
|
+
|
79
61
|
redirect_to my_posts_path
|
80
62
|
end
|
81
63
|
|
82
64
|
# get /my/articles
|
83
65
|
def articles
|
84
|
-
|
66
|
+
prepare_collection 'article'
|
85
67
|
end
|
86
68
|
|
87
69
|
# get /my/news
|
88
70
|
def news_index
|
89
|
-
|
71
|
+
prepare_collection 'news'
|
90
72
|
end
|
91
73
|
|
92
74
|
# get /my/blog
|
93
75
|
def blog_posts
|
94
|
-
|
76
|
+
prepare_collection 'blog_post'
|
95
77
|
end
|
96
78
|
|
97
79
|
private
|
98
80
|
|
81
|
+
def component_slug
|
82
|
+
Biovision::Components::PostsComponent::SLUG
|
83
|
+
end
|
84
|
+
|
85
|
+
# @param [String] slug
|
86
|
+
def render_form_if_allowed(slug)
|
87
|
+
if component_handler.allow_post_type?(slug)
|
88
|
+
@entity = PostType[slug].posts.new
|
89
|
+
render :new
|
90
|
+
else
|
91
|
+
handle_http_401("User cannot create posts of type #{slug}")
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
# @param [String] slug
|
96
|
+
def prepare_collection(slug)
|
97
|
+
@collection = PostType[slug].posts.page_for_owner(current_user, current_page)
|
98
|
+
end
|
99
|
+
|
99
100
|
def set_entity
|
100
101
|
@entity = Post.owned_by(current_user).find_by(id: params[:id])
|
101
|
-
if @entity.nil?
|
102
|
-
handle_http_404('Cannot find post')
|
103
|
-
end
|
102
|
+
handle_http_404('Cannot find post') if @entity.nil?
|
104
103
|
end
|
105
104
|
|
106
105
|
def restrict_editing
|
107
|
-
if @entity.locked?
|
108
|
-
handle_http_403('Entity is locked')
|
109
|
-
end
|
106
|
+
handle_http_403('Entity is locked') if @entity.locked?
|
110
107
|
end
|
111
108
|
|
112
109
|
def entity_parameters
|
@@ -1,11 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# News for visitors
|
1
4
|
class NewsController < ApplicationController
|
2
5
|
before_action :set_category, only: :category
|
3
6
|
before_action :set_entity, only: :show
|
4
7
|
|
5
8
|
# get /news
|
6
9
|
def index
|
7
|
-
|
8
|
-
@collection =
|
10
|
+
posts = PostType['news'].posts.for_language(current_language)
|
11
|
+
@collection = posts.page_for_visitors(current_page)
|
9
12
|
respond_to do |format|
|
10
13
|
format.html
|
11
14
|
format.json { render('posts/index') }
|
@@ -14,7 +17,8 @@ class NewsController < ApplicationController
|
|
14
17
|
|
15
18
|
# get /news/:category_slug
|
16
19
|
def category
|
17
|
-
|
20
|
+
posts = Post.in_category_branch(@category).for_language(current_language)
|
21
|
+
@collection = posts.page_for_visitors(current_page)
|
18
22
|
respond_to do |format|
|
19
23
|
format.html
|
20
24
|
format.json { render('posts/index') }
|
@@ -26,18 +30,24 @@ class NewsController < ApplicationController
|
|
26
30
|
@entity.increment :view_count
|
27
31
|
@entity.increment :rating, 0.0025
|
28
32
|
@entity.save
|
33
|
+
|
34
|
+
render 'posts/show'
|
29
35
|
end
|
30
36
|
|
31
37
|
# get /news/tagged/:tag_name
|
32
38
|
def tagged
|
33
|
-
|
34
|
-
@collection =
|
39
|
+
posts = PostType['news'].posts
|
40
|
+
@collection = posts.tagged(params[:tag_name]).page_for_visitors(current_page)
|
35
41
|
end
|
36
42
|
|
37
43
|
private
|
38
44
|
|
45
|
+
def component_slug
|
46
|
+
Biovision::Components::PostsComponent::SLUG
|
47
|
+
end
|
48
|
+
|
39
49
|
def set_category
|
40
|
-
type
|
50
|
+
type = PostType['news']
|
41
51
|
@category = type.post_categories.find_by(long_slug: params[:category_slug])
|
42
52
|
handle_http_404('Cannot find post category (news)') if @category.nil?
|
43
53
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Controller for deleting post attachments
|
4
|
+
class PostAttachmentsController < AdminController
|
5
|
+
before_action :set_entity, only: :destroy
|
6
|
+
before_action :restrict_editing, only: :destroy
|
7
|
+
|
8
|
+
# delete /post_attachments/:id
|
9
|
+
def destroy
|
10
|
+
@entity.destroy
|
11
|
+
|
12
|
+
redirect_to(admin_post_path(id: @entity.post_id))
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def component_slug
|
18
|
+
Biovision::Components::PostsComponent::SLUG
|
19
|
+
end
|
20
|
+
|
21
|
+
def restrict_access
|
22
|
+
error = 'Managing post attachments is not allowed'
|
23
|
+
handle_http_401(error) unless component_handler.allow?
|
24
|
+
end
|
25
|
+
|
26
|
+
def restrict_editing
|
27
|
+
return if component_handler.editable?(@entity)
|
28
|
+
|
29
|
+
handle_http_403("Attachment is not editable by user #{current_user&.id}")
|
30
|
+
end
|
31
|
+
|
32
|
+
def set_entity
|
33
|
+
@entity = PostAttachment.find_by(id: params[:id])
|
34
|
+
handle_http_404('Cannot find post_attachment') if @entity.nil?
|
35
|
+
end
|
36
|
+
end
|
@@ -40,8 +40,13 @@ class PostCategoriesController < AdminController
|
|
40
40
|
|
41
41
|
protected
|
42
42
|
|
43
|
+
def component_slug
|
44
|
+
Biovision::Components::PostsComponent::SLUG
|
45
|
+
end
|
46
|
+
|
43
47
|
def restrict_access
|
44
|
-
|
48
|
+
error = 'Managing post categories is not allowed'
|
49
|
+
handle_http_401(error) unless component_handler.allow?('chief_editor')
|
45
50
|
end
|
46
51
|
|
47
52
|
def restrict_editing
|
@@ -61,13 +61,18 @@ class PostGroupsController < ApplicationController
|
|
61
61
|
|
62
62
|
private
|
63
63
|
|
64
|
-
def
|
65
|
-
|
66
|
-
handle_http_404('Cannot find post_group') if @entity.nil?
|
64
|
+
def component_slug
|
65
|
+
Biovision::Components::PostsComponent::SLUG
|
67
66
|
end
|
68
67
|
|
69
68
|
def restrict_access
|
70
|
-
|
69
|
+
error = 'Managing post groups is not allowed'
|
70
|
+
handle_http_401(error) unless component_handler.allow?('chief_editor')
|
71
|
+
end
|
72
|
+
|
73
|
+
def set_entity
|
74
|
+
@entity = PostGroup.find_by(id: params[:id])
|
75
|
+
handle_http_404('Cannot find post_group') if @entity.nil?
|
71
76
|
end
|
72
77
|
|
73
78
|
def entity_parameters
|
@@ -12,8 +12,13 @@ class PostIllustrationsController < ApplicationController
|
|
12
12
|
|
13
13
|
private
|
14
14
|
|
15
|
+
def component_slug
|
16
|
+
Biovision::Components::PostsComponent::SLUG
|
17
|
+
end
|
18
|
+
|
15
19
|
def restrict_access
|
16
|
-
|
20
|
+
error = 'Managing post groups is not allowed'
|
21
|
+
handle_http_401(error) unless component_handler.allow?
|
17
22
|
end
|
18
23
|
|
19
24
|
def ckeditor_parameters
|
@@ -1,3 +1,6 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Managing post images
|
1
4
|
class PostImagesController < AdminController
|
2
5
|
before_action :set_entity, only: [:edit, :update, :destroy]
|
3
6
|
before_action :restrict_editing, only: [:edit, :update, :destroy]
|
@@ -35,19 +38,17 @@ class PostImagesController < AdminController
|
|
35
38
|
|
36
39
|
private
|
37
40
|
|
38
|
-
def
|
39
|
-
|
40
|
-
if @entity.nil?
|
41
|
-
handle_http_404('Cannot find post_image')
|
42
|
-
end
|
41
|
+
def component_slug
|
42
|
+
Biovision::Components::PostsComponent::SLUG
|
43
43
|
end
|
44
44
|
|
45
|
-
def
|
46
|
-
|
45
|
+
def set_entity
|
46
|
+
@entity = PostImage.find_by(id: params[:id])
|
47
|
+
handle_http_404('Cannot find post_image') if @entity.nil?
|
47
48
|
end
|
48
49
|
|
49
50
|
def restrict_editing
|
50
|
-
unless @entity.
|
51
|
+
unless component_handler.editable?(@entity.post)
|
51
52
|
handle_http_401('Post image is not editable by current user')
|
52
53
|
end
|
53
54
|
end
|
@@ -1,3 +1,6 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Managing post links
|
1
4
|
class PostLinksController < AdminController
|
2
5
|
before_action :set_entity, only: :destroy
|
3
6
|
|
@@ -20,8 +23,8 @@ class PostLinksController < AdminController
|
|
20
23
|
|
21
24
|
private
|
22
25
|
|
23
|
-
def
|
24
|
-
|
26
|
+
def component_slug
|
27
|
+
Biovision::Components::PostsComponent::SLUG
|
25
28
|
end
|
26
29
|
|
27
30
|
def entity_parameters
|