effective_posts 0.6.4 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +1 -1
- data/app/assets/config/effective_posts_manifest.js +2 -0
- data/app/assets/javascripts/effective_posts.js +1 -1
- data/app/controllers/admin/posts_controller.rb +4 -9
- data/app/controllers/effective/posts_controller.rb +7 -11
- data/app/datatables/effective_posts_datatable.rb +23 -25
- data/app/mailers/effective/posts_mailer.rb +9 -25
- data/app/models/effective/post.rb +5 -17
- data/config/effective_posts.rb +12 -47
- data/lib/effective_posts/engine.rb +5 -2
- data/lib/effective_posts/version.rb +1 -1
- data/lib/effective_posts.rb +14 -30
- metadata +14 -17
- data/app/assets/javascripts/effective/snippets/read_more_divider.js.coffee +0 -22
- data/app/models/effective/access_denied.rb +0 -17
- data/app/models/effective/datatables/posts.rb +0 -39
- data/app/models/effective/snippets/read_more_divider.rb +0 -12
- /data/app/assets/javascripts/{effective_pages → effective_posts}/additional_fields.js.coffee +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1437eacfc9cc73589cdb1f9a1477a25a87d49c7eba2c6cbadebb09f7244e96a
|
4
|
+
data.tar.gz: 548e4c3801f7711dd822a031d6e0c3418d9fc965c56e531aa581be3cabc44d50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f63e0bb1fbdc1a9bb24ed01c8c3b8165a6e6c3f73b691f7e2c28c0dd7ce61110c7a8ff2b82a9539e93987fae685f1df33c1f676a59920ff8369fabfa02e4a9d
|
7
|
+
data.tar.gz: 1af93b7d75e8e662e80bc0c160ba1f033168d157fc3aa5307f5d4ab4436750623a4e757f573866ad0217debf2d477371a77361616fb93a8cdf409b32f2e04b93
|
data/MIT-LICENSE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
//= require
|
1
|
+
//= require effective_posts/additional_fields
|
@@ -6,12 +6,7 @@ module Admin
|
|
6
6
|
|
7
7
|
def index
|
8
8
|
@page_title = 'Posts'
|
9
|
-
|
10
|
-
if Gem::Version.new(EffectiveDatatables::VERSION) < Gem::Version.new('3.0')
|
11
|
-
@datatable = Effective::Datatables::Posts.new()
|
12
|
-
else
|
13
|
-
@datatable = EffectivePostsDatatable.new(self)
|
14
|
-
end
|
9
|
+
@datatable = EffectivePostsDatatable.new(self)
|
15
10
|
|
16
11
|
authorize_effective_posts!
|
17
12
|
end
|
@@ -126,12 +121,12 @@ module Admin
|
|
126
121
|
private
|
127
122
|
|
128
123
|
def authorize_effective_posts!
|
129
|
-
|
130
|
-
|
124
|
+
EffectiveResources.authorize!(self, :admin, :effective_posts)
|
125
|
+
EffectiveResources.authorize!(self, action_name.to_sym, @post || Effective::Post)
|
131
126
|
end
|
132
127
|
|
133
128
|
def post_params
|
134
|
-
params.require(:effective_post).permit
|
129
|
+
params.require(:effective_post).permit!
|
135
130
|
end
|
136
131
|
|
137
132
|
end
|
@@ -20,7 +20,7 @@ module Effective
|
|
20
20
|
@posts = @posts.where(search) if search.present?
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
EffectiveResources.authorize!(self, :index, Effective::Post)
|
24
24
|
|
25
25
|
@page_title = (params[:page_title] || params[:category] || params[:defaults].try(:[], :category) || 'Posts').titleize
|
26
26
|
end
|
@@ -29,11 +29,7 @@ module Effective
|
|
29
29
|
@posts ||= Effective::Post.posts(user: current_user, category: params[:category], drafts: (params[:edit].to_s == 'true' || params[:preview].to_s == 'true'))
|
30
30
|
@post = @posts.find(params[:id])
|
31
31
|
|
32
|
-
|
33
|
-
raise Effective::AccessDenied unless @post.roles_permit?(current_user)
|
34
|
-
end
|
35
|
-
|
36
|
-
EffectivePosts.authorized?(self, :show, @post)
|
32
|
+
EffectiveResources.authorize!(self, :show, @post)
|
37
33
|
|
38
34
|
@page_title = @post.title
|
39
35
|
end
|
@@ -43,7 +39,7 @@ module Effective
|
|
43
39
|
@post ||= Effective::Post.new(published_at: Time.zone.now)
|
44
40
|
@page_title = 'New Post'
|
45
41
|
|
46
|
-
|
42
|
+
EffectiveResources.authorize!(self, :new, @post)
|
47
43
|
end
|
48
44
|
|
49
45
|
def create
|
@@ -51,7 +47,7 @@ module Effective
|
|
51
47
|
@post.user = current_user if defined?(current_user)
|
52
48
|
@post.draft = (EffectivePosts.submissions_require_approval == true)
|
53
49
|
|
54
|
-
|
50
|
+
EffectiveResources.authorize!(self, :create, @post)
|
55
51
|
|
56
52
|
if @post.save
|
57
53
|
@page_title ||= 'Post Submitted'
|
@@ -73,7 +69,7 @@ module Effective
|
|
73
69
|
@post ||= Effective::Post.find(params[:id])
|
74
70
|
@page_title ||= 'Edit Post'
|
75
71
|
|
76
|
-
|
72
|
+
EffectiveResources.authorize!(self, :edit, @post)
|
77
73
|
end
|
78
74
|
|
79
75
|
def update
|
@@ -81,7 +77,7 @@ module Effective
|
|
81
77
|
draft_was = @post.draft
|
82
78
|
@post.draft = (EffectivePosts.submissions_require_approval == true)
|
83
79
|
|
84
|
-
|
80
|
+
EffectiveResources.authorize!(self, :update, @post)
|
85
81
|
|
86
82
|
if @post.update(post_params)
|
87
83
|
@page_title ||= 'Post Submitted'
|
@@ -102,7 +98,7 @@ module Effective
|
|
102
98
|
def destroy
|
103
99
|
@post ||= Effective::Post.find(params[:id])
|
104
100
|
|
105
|
-
|
101
|
+
EffectiveResources.authorize!(self, :destroy, @post)
|
106
102
|
|
107
103
|
if @post.destroy
|
108
104
|
flash[:success] = 'Successfully deleted post'
|
@@ -1,35 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
order :published_at, :desc
|
1
|
+
class EffectivePostsDatatable < Effective::Datatable
|
2
|
+
datatable do
|
3
|
+
order :published_at, :desc
|
5
4
|
|
6
|
-
|
7
|
-
|
5
|
+
col :published_at
|
6
|
+
col :id, visible: false
|
8
7
|
|
9
|
-
|
10
|
-
|
8
|
+
col :title
|
9
|
+
col :category, search: { collection: EffectivePosts.categories }
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
col :draft, visible: false
|
18
|
-
else
|
19
|
-
col :draft
|
11
|
+
if EffectivePosts.submissions_enabled
|
12
|
+
col :approved, sql_column: 'NOT(draft)', as: :boolean do |post|
|
13
|
+
post.draft? ? 'No' : 'Yes'
|
20
14
|
end
|
21
15
|
|
22
|
-
col :
|
23
|
-
|
24
|
-
col :
|
16
|
+
col :draft, visible: false
|
17
|
+
else
|
18
|
+
col :draft
|
19
|
+
end
|
25
20
|
|
26
|
-
|
21
|
+
col :start_at
|
22
|
+
col :end_at, visible: false
|
23
|
+
col :location, visible: false
|
27
24
|
|
28
|
-
|
29
|
-
end
|
25
|
+
col :created_at, label: 'Submitted at', visible: false
|
30
26
|
|
31
|
-
|
32
|
-
|
33
|
-
|
27
|
+
actions_col partial: '/admin/posts/actions', partial_as: :post
|
28
|
+
end
|
29
|
+
|
30
|
+
collection do
|
31
|
+
Effective::Post.all
|
34
32
|
end
|
35
33
|
end
|
@@ -1,34 +1,18 @@
|
|
1
1
|
module Effective
|
2
|
-
class PostsMailer <
|
3
|
-
|
4
|
-
|
5
|
-
layout EffectivePosts.mailer[:layout].presence || 'effective_posts_mailer_layout'
|
2
|
+
class PostsMailer < EffectivePosts.parent_mailer_class
|
3
|
+
include EffectiveMailer
|
6
4
|
|
7
|
-
|
8
|
-
@post = (post_param.kind_of?(Effective::Post) ? post_param : Effective::Post.find(post_param))
|
9
|
-
|
10
|
-
mail(
|
11
|
-
to: EffectivePosts.mailer[:admin_email],
|
12
|
-
from: EffectivePosts.mailer[:default_from],
|
13
|
-
subject: subject_for_post_submitted_to_admin(@post)
|
14
|
-
)
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
5
|
+
helper EffectivePostsHelper
|
18
6
|
|
19
|
-
def
|
20
|
-
|
7
|
+
def post_submitted_to_admin(resource, opts = {})
|
8
|
+
@post = resource
|
9
|
+
raise('expected a post') unless resource.kind_of?(Effective::Post)
|
21
10
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
11
|
+
subject = subject_for(__method__, 'Post Submitted', resource, opts)
|
12
|
+
headers = headers_for(resource, opts)
|
25
13
|
|
26
|
-
|
14
|
+
mail(to: mailer_admin, subject: subject, **headers)
|
27
15
|
end
|
28
16
|
|
29
|
-
def prefix_subject(text)
|
30
|
-
prefix = (EffectivePosts.mailer[:subject_prefix].to_s rescue '')
|
31
|
-
prefix.present? ? (prefix.chomp(' ') + ' ' + text) : text
|
32
|
-
end
|
33
17
|
end
|
34
18
|
end
|
@@ -6,7 +6,7 @@ module Effective
|
|
6
6
|
|
7
7
|
self.table_name = EffectivePosts.posts_table_name.to_s
|
8
8
|
|
9
|
-
belongs_to :user
|
9
|
+
belongs_to :user, optional: true
|
10
10
|
|
11
11
|
# Attributes
|
12
12
|
# title :string
|
@@ -35,8 +35,7 @@ module Effective
|
|
35
35
|
scope :published, -> { where(draft: false).where("#{EffectivePosts.posts_table_name}.published_at < ?", Time.zone.now) }
|
36
36
|
|
37
37
|
scope :posts, -> (user: nil, category: nil, drafts: false) {
|
38
|
-
scope = (
|
39
|
-
scope = scope.includes(:regions).order(published_at: :desc)
|
38
|
+
scope = includes(:regions).order(published_at: :desc)
|
40
39
|
|
41
40
|
if defined?(EffectiveAssets)
|
42
41
|
scope = scope.includes(attachments: :asset)
|
@@ -87,7 +86,7 @@ module Effective
|
|
87
86
|
end
|
88
87
|
|
89
88
|
def send_post_submitted_to_admin!
|
90
|
-
send_email(:post_submitted_to_admin
|
89
|
+
send_email(:post_submitted_to_admin)
|
91
90
|
end
|
92
91
|
|
93
92
|
# Returns a duplicated post object, or throws an exception
|
@@ -110,19 +109,8 @@ module Effective
|
|
110
109
|
|
111
110
|
private
|
112
111
|
|
113
|
-
def send_email(email
|
114
|
-
|
115
|
-
if EffectivePosts.mailer[:delayed_job_deliver] && EffectivePosts.mailer[:deliver_method] == :deliver_later
|
116
|
-
Effective::PostsMailer.delay.public_send(email, *mailer_args)
|
117
|
-
elsif EffectivePosts.mailer[:deliver_method].present?
|
118
|
-
Effective::PostsMailer.public_send(email, *mailer_args).public_send(EffectivePosts.mailer[:deliver_method])
|
119
|
-
else
|
120
|
-
Effective::PostsMailer.public_send(email, *mailer_args).deliver_now
|
121
|
-
end
|
122
|
-
rescue => e
|
123
|
-
raise e unless Rails.env.production?
|
124
|
-
return false
|
125
|
-
end
|
112
|
+
def send_email(email)
|
113
|
+
EffectivePosts.send_email(email, self)
|
126
114
|
end
|
127
115
|
|
128
116
|
end
|
data/config/effective_posts.rb
CHANGED
@@ -22,30 +22,6 @@ EffectivePosts.setup do |config|
|
|
22
22
|
# The author is the user that created the Effective::Post object
|
23
23
|
config.post_meta_author = true
|
24
24
|
|
25
|
-
# Authorization Method
|
26
|
-
#
|
27
|
-
# This method is called by all controller actions with the appropriate action and resource
|
28
|
-
# If the method returns false, an Effective::AccessDenied Error will be raised (see README.md for complete info)
|
29
|
-
#
|
30
|
-
# Use via Proc (and with CanCan):
|
31
|
-
# config.authorization_method = Proc.new { |controller, action, resource| can?(action, resource) }
|
32
|
-
#
|
33
|
-
# Use via custom method:
|
34
|
-
# config.authorization_method = :my_authorization_method
|
35
|
-
#
|
36
|
-
# And then in your application_controller.rb:
|
37
|
-
#
|
38
|
-
# def my_authorization_method(action, resource)
|
39
|
-
# current_user.is?(:admin)
|
40
|
-
# end
|
41
|
-
#
|
42
|
-
# Or disable the check completely:
|
43
|
-
# config.authorization_method = false
|
44
|
-
config.authorization_method = Proc.new do |controller, action, resource|
|
45
|
-
authorize!(action, resource)
|
46
|
-
resource.respond_to?(:roles_permit?) ? resource.roles_permit?(current_user) : true
|
47
|
-
end
|
48
|
-
|
49
25
|
# Layout Settings
|
50
26
|
# Configure the Layout per controller, or all at once
|
51
27
|
config.layout = {
|
@@ -91,29 +67,18 @@ EffectivePosts.setup do |config|
|
|
91
67
|
config.submissions_note = "News & Event submitted! A confirmation email has been sent to the website owner. When approved, your submission will appear on the website."
|
92
68
|
|
93
69
|
# Mailer Settings
|
94
|
-
#
|
95
|
-
# For all the emails, the same :subject_prefix will be prefixed. Leave as nil / empty string if you don't want any prefix
|
70
|
+
# Please see config/initializers/effective_resources.rb for default effective_* gem mailer settings
|
96
71
|
#
|
97
|
-
#
|
98
|
-
#
|
99
|
-
#
|
100
|
-
#
|
101
|
-
#
|
102
|
-
|
103
|
-
#
|
104
|
-
#
|
105
|
-
|
106
|
-
config.
|
107
|
-
|
108
|
-
subject_for_post_submitted_to_admin: '',
|
109
|
-
|
110
|
-
layout: 'effective_posts_mailer_layout',
|
111
|
-
|
112
|
-
default_from: 'info@example.com',
|
113
|
-
admin_email: 'admin@example.com',
|
114
|
-
|
115
|
-
deliver_method: nil, # :deliver (rails < 4.2), :deliver_now (rails >= 4.2) or :deliver_later
|
116
|
-
delayed_job_deliver: false
|
117
|
-
}
|
72
|
+
# Configure the class responsible to send e-mails.
|
73
|
+
# config.mailer = 'Effective::PostsMailer'
|
74
|
+
#
|
75
|
+
# Override effective_resource mailer defaults
|
76
|
+
#
|
77
|
+
# config.parent_mailer = nil # The parent class responsible for sending emails
|
78
|
+
# config.deliver_method = nil # The deliver method, deliver_later or deliver_now
|
79
|
+
# config.mailer_layout = nil # Default mailer layout
|
80
|
+
# config.mailer_sender = nil # Default From value
|
81
|
+
# config.mailer_admin = nil # Default To value for Admin correspondence
|
82
|
+
# config.mailer_subject = nil # Proc.new method used to customize Subject
|
118
83
|
|
119
84
|
end
|
@@ -4,8 +4,10 @@ module EffectivePosts
|
|
4
4
|
|
5
5
|
# Include Helpers to base application
|
6
6
|
initializer 'effective_posts.action_controller' do |app|
|
7
|
-
|
8
|
-
|
7
|
+
app.config.to_prepare do
|
8
|
+
ActiveSupport.on_load :action_controller_base do
|
9
|
+
helper EffectivePostsHelper
|
10
|
+
end
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
@@ -14,5 +16,6 @@ module EffectivePosts
|
|
14
16
|
# Set up our defaults, as per our initializer template
|
15
17
|
eval File.read("#{config.root}/config/effective_posts.rb")
|
16
18
|
end
|
19
|
+
|
17
20
|
end
|
18
21
|
end
|
data/lib/effective_posts.rb
CHANGED
@@ -1,46 +1,30 @@
|
|
1
1
|
require 'kaminari'
|
2
2
|
require 'nokogiri'
|
3
|
+
require 'effective_resources'
|
3
4
|
require 'effective_datatables'
|
4
5
|
require 'effective_regions'
|
5
6
|
require 'effective_posts/engine'
|
6
7
|
require 'effective_posts/version'
|
7
8
|
|
8
9
|
module EffectivePosts
|
9
|
-
mattr_accessor :posts_table_name
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
def self.config_keys
|
12
|
+
[
|
13
|
+
:posts_table_name, :permitted_params,
|
14
|
+
:mailer, :parent_mailer, :deliver_method, :mailer_layout, :mailer_sender, :mailer_admin, :mailer_subject,
|
15
|
+
:layout, :simple_form_options, :admin_simple_form_options,
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
mattr_accessor :admin_simple_form_options
|
17
|
+
:categories, :use_category_routes, :use_effective_roles, :use_fullscreen_editor,
|
18
|
+
:per_page, :post_meta_author,
|
17
19
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
mattr_accessor :use_effective_roles
|
22
|
-
mattr_accessor :use_fullscreen_editor
|
23
|
-
|
24
|
-
mattr_accessor :per_page
|
25
|
-
mattr_accessor :post_meta_author
|
26
|
-
|
27
|
-
mattr_accessor :submissions_enabled
|
28
|
-
mattr_accessor :submissions_require_current_user
|
29
|
-
mattr_accessor :submissions_require_approval
|
30
|
-
mattr_accessor :submissions_note
|
31
|
-
|
32
|
-
# These are hashes of configs
|
33
|
-
mattr_accessor :mailer
|
34
|
-
|
35
|
-
def self.setup
|
36
|
-
yield self
|
20
|
+
:submissions_enabled, :submissions_require_current_user, :submissions_require_approval, :submissions_note,
|
21
|
+
]
|
37
22
|
end
|
38
23
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
true
|
24
|
+
include EffectiveGem
|
25
|
+
|
26
|
+
def self.mailer_class
|
27
|
+
mailer&.constantize || Effective::PostsMailer
|
44
28
|
end
|
45
29
|
|
46
30
|
def self.permitted_params
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_posts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: sassc
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -86,42 +86,42 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: effective_datatables
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "<"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: '4'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "<"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: '4'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: effective_regions
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: '0'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: '0'
|
125
125
|
description: A blog implementation with WYSIWYG content editing, post scheduling,
|
126
126
|
pagination and optional top level routes for each post category.
|
127
127
|
email:
|
@@ -133,9 +133,9 @@ files:
|
|
133
133
|
- MIT-LICENSE
|
134
134
|
- README.md
|
135
135
|
- Rakefile
|
136
|
-
- app/assets/
|
137
|
-
- app/assets/javascripts/effective_pages/additional_fields.js.coffee
|
136
|
+
- app/assets/config/effective_posts_manifest.js
|
138
137
|
- app/assets/javascripts/effective_posts.js
|
138
|
+
- app/assets/javascripts/effective_posts/additional_fields.js.coffee
|
139
139
|
- app/assets/stylesheets/effective_posts.scss
|
140
140
|
- app/controllers/admin/posts_controller.rb
|
141
141
|
- app/controllers/effective/posts_controller.rb
|
@@ -144,10 +144,7 @@ files:
|
|
144
144
|
- app/helpers/effective_posts_helper.rb
|
145
145
|
- app/helpers/effective_truncate_html_helper.rb
|
146
146
|
- app/mailers/effective/posts_mailer.rb
|
147
|
-
- app/models/effective/access_denied.rb
|
148
|
-
- app/models/effective/datatables/posts.rb
|
149
147
|
- app/models/effective/post.rb
|
150
|
-
- app/models/effective/snippets/read_more_divider.rb
|
151
148
|
- app/views/admin/posts/_actions.html.haml
|
152
149
|
- app/views/admin/posts/_form.html.haml
|
153
150
|
- app/views/admin/posts/edit.html.haml
|
@@ -203,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
200
|
- !ruby/object:Gem::Version
|
204
201
|
version: '0'
|
205
202
|
requirements: []
|
206
|
-
rubygems_version: 3.
|
203
|
+
rubygems_version: 3.3.7
|
207
204
|
signing_key:
|
208
205
|
specification_version: 4
|
209
206
|
summary: A blog implementation with WYSIWYG content editing, post scheduling, pagination
|
@@ -1,22 +0,0 @@
|
|
1
|
-
CKEDITOR.dialog.add 'read_more_divider', (editor) -> # Must match the class name of the snippet
|
2
|
-
title: 'Read more divider',
|
3
|
-
minWidth: 200,
|
4
|
-
minHeight: 100,
|
5
|
-
contents: [
|
6
|
-
{
|
7
|
-
id: 'read_more_info', # Just an html id, doesn't really matter what is here
|
8
|
-
elements: [
|
9
|
-
{
|
10
|
-
id: 'throwaway'
|
11
|
-
type: 'html',
|
12
|
-
html: 'Insert a read more divider to separate excerpt content from the full content.',
|
13
|
-
setup: (widget) -> this.setValue(widget.data.throwaway)
|
14
|
-
commit: (widget) -> widget.setData('throwaway', 'throwaway')
|
15
|
-
},
|
16
|
-
{
|
17
|
-
type: 'html',
|
18
|
-
html: 'Anything above the read more divider will be treated as excerpt content<br>and everything below the divider will also be included in the full content.'
|
19
|
-
}
|
20
|
-
]
|
21
|
-
}
|
22
|
-
]
|
@@ -1,17 +0,0 @@
|
|
1
|
-
unless defined?(Effective::AccessDenied)
|
2
|
-
module Effective
|
3
|
-
class AccessDenied < StandardError
|
4
|
-
attr_reader :action, :subject
|
5
|
-
|
6
|
-
def initialize(message = nil, action = nil, subject = nil)
|
7
|
-
@message = message
|
8
|
-
@action = action
|
9
|
-
@subject = subject
|
10
|
-
end
|
11
|
-
|
12
|
-
def to_s
|
13
|
-
@message || I18n.t(:'unauthorized.default', :default => 'Access Denied')
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
if Gem::Version.new(EffectiveDatatables::VERSION) < Gem::Version.new('3.0')
|
2
|
-
module Effective
|
3
|
-
module Datatables
|
4
|
-
class Posts < Effective::Datatable
|
5
|
-
datatable do
|
6
|
-
default_order :published_at, :desc
|
7
|
-
|
8
|
-
table_column :published_at
|
9
|
-
table_column :id, visible: false
|
10
|
-
|
11
|
-
table_column :title
|
12
|
-
table_column :category, filter: { type: :select, values: EffectivePosts.categories }
|
13
|
-
|
14
|
-
if EffectivePosts.submissions_enabled
|
15
|
-
table_column :approved, column: 'NOT(draft)', as: :boolean do |post|
|
16
|
-
post.draft ? 'No' : 'Yes'
|
17
|
-
end
|
18
|
-
|
19
|
-
table_column :draft, visible: false
|
20
|
-
else
|
21
|
-
table_column :draft
|
22
|
-
end
|
23
|
-
|
24
|
-
table_column :start_at
|
25
|
-
table_column :end_at, visible: false
|
26
|
-
table_column :location, visible: false
|
27
|
-
|
28
|
-
table_column :created_at, label: 'Submitted at', visible: false
|
29
|
-
|
30
|
-
table_column :actions, sortable: false, filter: false, partial: '/admin/posts/actions'
|
31
|
-
end
|
32
|
-
|
33
|
-
def collection
|
34
|
-
Effective::Post.all
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
/data/app/assets/javascripts/{effective_pages → effective_posts}/additional_fields.js.coffee
RENAMED
File without changes
|