imagine_cms 4.2.4 → 5.2.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 +5 -5
- data/.gitignore +4 -0
- data/.ruby-version +1 -1
- data/Dockerfile +61 -0
- data/README.md +50 -0
- data/app/assets/javascripts/imagine_cms/core.js +4 -2
- data/app/assets/javascripts/imagine_cms/legacy/misc.js +29 -31
- data/app/controllers/cms/content_controller.rb +29 -25
- data/app/controllers/manage/application_controller.rb +4 -0
- data/app/controllers/manage/cms_controller.rb +13 -0
- data/app/controllers/{management/cms_controller.rb → manage/cms_pages_controller.rb} +625 -711
- data/app/controllers/manage/cms_snippets_controller.rb +67 -0
- data/app/controllers/manage/cms_templates_controller.rb +71 -0
- data/app/controllers/management/application_controller.rb +1 -1
- data/app/controllers/management/user_controller.rb +7 -6
- data/app/controllers/management/users_controller.rb +56 -56
- data/app/controllers/util_controller.rb +0 -1
- data/app/helpers/cms_application_helper.rb +17 -19
- data/app/mailers/imagine_cms_mailer.rb +16 -0
- data/app/models/cms_page.rb +8 -23
- data/app/models/user.rb +1 -1
- data/app/sweepers/cms_content_sweeper.rb +3 -3
- data/app/views/cms/content/_photo_gallery.html.erb +4 -4
- data/app/views/cms/content/_search_result.html.erb +1 -1
- data/app/views/imagine_cms/_header.html.erb +1 -1
- data/app/views/imagine_cms/_toolbar.html.erb +12 -12
- data/app/views/imagine_cms_mailer/request_review.text.erb +10 -0
- data/app/views/layouts/management.html.erb +29 -5
- data/app/views/manage/cms/index.html.erb +7 -0
- data/app/views/{management/cms → manage/cms_pages}/_complete_gallery.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_create_file_link.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_crop_feature_image.html.erb +20 -5
- data/app/views/{management/cms → manage/cms_pages}/_crop_image.html.erb +20 -5
- data/app/views/{management/cms → manage/cms_pages}/_crop_results.html.erb +0 -0
- data/app/views/manage/cms_pages/_crop_results_feature_image.html.erb +1 -0
- data/app/views/manage/cms_pages/_crop_results_thumb.html.erb +1 -0
- data/app/views/{management/cms → manage/cms_pages}/_crop_thumb.html.erb +20 -5
- data/app/views/{management/cms → manage/cms_pages}/_edit_page.html.erb +37 -49
- data/app/views/{management/cms → manage/cms_pages}/_gallery_index.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_gallery_setup.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_image.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_image_details.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_image_draggable.html.erb +0 -0
- data/app/views/manage/cms_pages/_list_page.html.erb +8 -0
- data/app/views/{management/cms → manage/cms_pages}/_list_page_select.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_list_pages.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_list_pages_select.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_page_attribute.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_page_list.html.erb +2 -2
- data/app/views/{management/cms → manage/cms_pages}/_page_list_source_folder.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_page_list_source_tag.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_select_gallery.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_sort_images.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_template_options.html.erb +3 -3
- data/app/views/{management/cms → manage/cms_pages}/_upload_feature_image.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_upload_file.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_upload_image.html.erb +1 -1
- data/app/views/{management/cms → manage/cms_pages}/_upload_thumb.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/edit_page_content.html.erb +7 -0
- data/app/views/{management/cms → manage/cms_pages}/gallery_management.html.erb +1 -1
- data/app/views/{management/cms/pages.html.erb → manage/cms_pages/index.html.erb} +1 -1
- data/app/views/{management/cms/page_tags_for_lookup.html.erb → manage/cms_pages/page_tags_for_lookup.js.erb} +0 -0
- data/app/views/{management/cms → manage/cms_pages}/select_page.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/toolbar_edit.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/toolbar_preview.html.erb +6 -6
- data/app/views/manage/cms_snippets/_cms_snippet.html.erb +3 -0
- data/app/views/manage/cms_snippets/edit.html.erb +25 -0
- data/app/views/{management/cms/snippets.html.erb → manage/cms_snippets/index.html.erb} +2 -2
- data/app/views/manage/cms_templates/_cms_template.html.erb +3 -0
- data/app/views/{management/cms → manage/cms_templates}/_template_reference.html.erb +2 -2
- data/app/views/manage/cms_templates/edit.html.erb +26 -0
- data/app/views/{management/cms/templates.html.erb → manage/cms_templates/index.html.erb} +2 -2
- data/app/views/management/default/index.html.erb +3 -1
- data/app/views/management/users/edit.html.erb +2 -2
- data/app/views/management/users/index.html.erb +2 -2
- data/app/views/management/users/new.html.erb +1 -1
- data/config/initializers/constants.rb +3 -0
- data/config/routes.rb +57 -10
- data/db/migrate/20121108004747_add_settings_table.rb +8 -12
- data/db/migrate/20121108005110_add_tasks_table.rb +7 -11
- data/db/migrate/20121115083748_add_logs_table.rb +13 -18
- data/db/migrate/20121115083811_add_users_tables.rb +26 -26
- data/db/migrate/20121115084028_add_cms_tables.rb +91 -90
- data/db/migrate/20140423085357_add_redirect_fields_to_cms_pages.rb +2 -2
- data/db/migrate/20140423085358_add_redirect_fields_to_cms_page_versions.rb +2 -2
- data/docker-compose.override.yml.example +43 -0
- data/docker-compose.yml +21 -0
- data/docker/conf/.my.cnf +3 -0
- data/docker/conf/my.local.cnf +14 -0
- data/docker/conf/my.prod.cnf +9 -0
- data/docker/conf/nginx-vhost.conf +14 -0
- data/docker/services/memcached.sh +3 -0
- data/docker/services/sidekiq.sh +3 -0
- data/docker/services/webpack.sh +3 -0
- data/docker/startup/101_mkdir.sh +15 -0
- data/docker/startup/201_bundler.sh +4 -0
- data/docker/startup/211_yarn.sh +4 -0
- data/imagine_cms.gemspec +12 -11
- data/lib/extensions/action_controller_extensions.rb +4 -2
- data/lib/imagine_cms/engine.rb +6 -7
- data/lib/imagine_cms/version.rb +1 -1
- data/lib/upload_progress/lib/upload_progress.rb +3 -3
- data/test/dummy/app/assets/javascripts/application.js +0 -1
- metadata +94 -74
- data/.ruby-gemset +0 -1
- data/README.rdoc +0 -98
- data/app/views/management/cms/_crop_results_feature_image.html.erb +0 -1
- data/app/views/management/cms/_crop_results_thumb.html.erb +0 -1
- data/app/views/management/cms/_list_page.html.erb +0 -8
- data/app/views/management/cms/_snippet.html.erb +0 -3
- data/app/views/management/cms/_temp.html.erb +0 -3
- data/app/views/management/cms/edit_master.html.erb +0 -48
- data/app/views/management/cms/edit_snippet.html.erb +0 -25
- data/app/views/management/cms/edit_template.html.erb +0 -25
- data/app/views/management/cms/index.html.erb +0 -7
- data/app/views/management/cms/permission_denied.html.erb +0 -1
- data/lib/hash_object.rb +0 -39
- data/lib/hash_wrapper.rb +0 -17
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
class Manage::CmsSnippetsController < Manage::ApplicationController
|
|
2
|
+
before_action :check_permissions
|
|
3
|
+
before_action :block_basic_users
|
|
4
|
+
|
|
5
|
+
cache_sweeper :cms_content_sweeper
|
|
6
|
+
|
|
7
|
+
def index
|
|
8
|
+
@cms_snippets = CmsSnippet.order(:name)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def new
|
|
12
|
+
@cms_snippet = CmsSnippet.new
|
|
13
|
+
render action: 'edit'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def create
|
|
17
|
+
@cms_snippet = CmsSnippet.new
|
|
18
|
+
update
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def edit
|
|
22
|
+
@cms_snippet = CmsSnippet.find_by_id(params[:id])
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def update
|
|
26
|
+
@cms_snippet ||= CmsSnippet.find(params[:id])
|
|
27
|
+
@cms_snippet.assign_attributes(cms_snippet_params)
|
|
28
|
+
|
|
29
|
+
begin
|
|
30
|
+
puts Cms::ContentController.renderer.new('action_dispatch.request.path_parameters' => {
|
|
31
|
+
controller: '/cms/content', action: 'show', id: CmsPage.new }).render inline: @cms_snippet.content
|
|
32
|
+
rescue ScriptError, StandardError => e
|
|
33
|
+
flash.now[:error] = "<pre title=\"#{ERB::Util.html_escape(e.backtrace.join("\n"))}\">#{ERB::Util.html_escape(e.message)}</pre>".html_safe
|
|
34
|
+
render action: 'edit' and return
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if !@cms_snippet.save
|
|
38
|
+
flash.now[:error] = @cms_snippet.errors.full_messages.join('<br>').html_safe
|
|
39
|
+
render action: 'edit'
|
|
40
|
+
else
|
|
41
|
+
flash[:notice] = 'Snippet saved.'
|
|
42
|
+
redirect_to action: 'edit', id: @cms_snippet
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
protected
|
|
47
|
+
|
|
48
|
+
def check_permissions
|
|
49
|
+
if !user_has_permission?(:manage_cms)
|
|
50
|
+
render '/imagine_cms/errors/permission_denied', layout: false
|
|
51
|
+
return false
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def block_basic_users
|
|
56
|
+
return true unless UseCmsAccessLevels
|
|
57
|
+
unless user_has_permission?(:manage_cms_full_access)
|
|
58
|
+
render '/imagine_cms/errors/permission_denied'
|
|
59
|
+
return false
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def cms_snippet_params
|
|
64
|
+
params.require(:cms_snippet).permit(:name, :content)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
class Manage::CmsTemplatesController < Manage::ApplicationController
|
|
2
|
+
before_action :check_permissions
|
|
3
|
+
before_action :block_basic_users
|
|
4
|
+
|
|
5
|
+
cache_sweeper :cms_content_sweeper
|
|
6
|
+
|
|
7
|
+
def index
|
|
8
|
+
@cms_templates = CmsTemplate.order(:name)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def new
|
|
12
|
+
@cms_template = CmsTemplate.new
|
|
13
|
+
render action: 'edit'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def create
|
|
17
|
+
@cms_template = CmsTemplate.new
|
|
18
|
+
update
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def edit
|
|
22
|
+
@cms_template = CmsTemplate.find(params[:id])
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def update
|
|
26
|
+
@cms_template ||= CmsTemplate.find(params[:id])
|
|
27
|
+
@cms_template.assign_attributes(cms_template_params)
|
|
28
|
+
|
|
29
|
+
begin
|
|
30
|
+
puts Cms::ContentController.renderer.new('action_dispatch.request.path_parameters' => {
|
|
31
|
+
controller: '/cms/content', action: 'show', id: @cms_template.pages.last || CmsPage.new }).render inline: @cms_template.content
|
|
32
|
+
rescue ScriptError, StandardError => e
|
|
33
|
+
flash.now[:error] = "<pre title=\"#{ERB::Util.html_escape(e.backtrace.join("\n"))}\">#{ERB::Util.html_escape(e.message)}</pre>".html_safe
|
|
34
|
+
render action: 'edit' and return
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# this must come after the render_to_string so that we capture template
|
|
38
|
+
# options embedded in snippets
|
|
39
|
+
@cms_template.options = @cms_template_options
|
|
40
|
+
|
|
41
|
+
if !@cms_template.save
|
|
42
|
+
flash.now[:error] = @cms_template.errors.full_messages.join('<br>').html_safe
|
|
43
|
+
render action: 'edit'
|
|
44
|
+
else
|
|
45
|
+
flash[:notice] = 'Template saved.'
|
|
46
|
+
redirect_to action: 'edit', id: @cms_template
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
protected
|
|
51
|
+
|
|
52
|
+
def check_permissions
|
|
53
|
+
if !user_has_permission?(:manage_cms)
|
|
54
|
+
render '/imagine_cms/errors/permission_denied', layout: false
|
|
55
|
+
return false
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def block_basic_users
|
|
60
|
+
return true unless UseCmsAccessLevels
|
|
61
|
+
unless user_has_permission?(:manage_cms_full_access)
|
|
62
|
+
render '/imagine_cms/errors/permission_denied'
|
|
63
|
+
return false
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def cms_template_params
|
|
68
|
+
params.require(:cms_template).permit(:name, :content)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
class Management::UserController < Management::ApplicationController
|
|
2
|
-
|
|
2
|
+
skip_before_action :authenticate_user, :only => [ :login, :logout, :create_first ]
|
|
3
3
|
|
|
4
4
|
###
|
|
5
5
|
### login
|
|
@@ -10,9 +10,9 @@ class Management::UserController < Management::ApplicationController
|
|
|
10
10
|
if request.post?
|
|
11
11
|
test = ::User.find_by_username(params[:login][:username]) rescue nil
|
|
12
12
|
if (test && test.password_hash == User.hash_password(params[:login][:password], test.password_hash[0,16]))
|
|
13
|
-
if
|
|
13
|
+
if test.active != true && test.active != 1
|
|
14
14
|
flash[:error] = 'Your account has been disabled by an administrator.'
|
|
15
|
-
redirect_to :
|
|
15
|
+
redirect_to action: 'login' and return false
|
|
16
16
|
end
|
|
17
17
|
session[:user_authenticated] = true
|
|
18
18
|
|
|
@@ -30,7 +30,7 @@ class Management::UserController < Management::ApplicationController
|
|
|
30
30
|
end
|
|
31
31
|
else
|
|
32
32
|
flash[:error] = 'Invalid username or password, please try again.'
|
|
33
|
-
redirect_to params[:redirect_on_failure] || { :
|
|
33
|
+
redirect_to params[:redirect_on_failure] || { action: 'login' }
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
end
|
|
@@ -96,7 +96,8 @@ class Management::UserController < Management::ApplicationController
|
|
|
96
96
|
###
|
|
97
97
|
|
|
98
98
|
def create_first
|
|
99
|
-
redirect_to :
|
|
99
|
+
redirect_to action: 'login' and return unless User.list.size == 0
|
|
100
|
+
|
|
100
101
|
@user = User.new(params[:user])
|
|
101
102
|
|
|
102
103
|
if request.post?
|
|
@@ -105,7 +106,7 @@ class Management::UserController < Management::ApplicationController
|
|
|
105
106
|
|
|
106
107
|
if @user.save
|
|
107
108
|
flash[:notice] = 'User created successfully. Please log in now.'
|
|
108
|
-
redirect_to :
|
|
109
|
+
redirect_to action: 'login'
|
|
109
110
|
else
|
|
110
111
|
@errors = 'The following errors occurred:'
|
|
111
112
|
@errors = @user.errors.full_messages
|
|
@@ -1,106 +1,106 @@
|
|
|
1
1
|
class Management::UsersController < Management::ApplicationController
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def check_permissions
|
|
5
|
-
render :action => 'permission_denied' if !user_has_permission?(:manage_users)
|
|
6
|
-
end
|
|
2
|
+
before_action :check_permissions, except: [ :edit, :update ]
|
|
7
3
|
|
|
8
4
|
###
|
|
9
5
|
### user list
|
|
10
6
|
###
|
|
11
7
|
|
|
12
8
|
def index
|
|
13
|
-
@
|
|
9
|
+
@usrs = User.order('active desc, username').all
|
|
14
10
|
end
|
|
15
11
|
|
|
16
12
|
def new
|
|
17
|
-
@
|
|
13
|
+
@usr = User.new
|
|
18
14
|
end
|
|
19
15
|
|
|
20
16
|
def create
|
|
21
|
-
@
|
|
22
|
-
@
|
|
23
|
-
@
|
|
24
|
-
@
|
|
25
|
-
@
|
|
26
|
-
@
|
|
27
|
-
@
|
|
28
|
-
@
|
|
17
|
+
@usr = User.new
|
|
18
|
+
@usr.username = params[:user][:username]
|
|
19
|
+
@usr.first_name = params[:user][:first_name]
|
|
20
|
+
@usr.last_name = params[:user][:last_name]
|
|
21
|
+
@usr.email_address = params[:user][:email_address]
|
|
22
|
+
@usr.password = params[:user][:password]
|
|
23
|
+
@usr.password_confirmation = params[:user][:password_confirmation]
|
|
24
|
+
@usr.active = true
|
|
29
25
|
|
|
30
26
|
if request.post?
|
|
31
|
-
if @
|
|
27
|
+
if @usr.save
|
|
32
28
|
flash[:notice] = "User created successfully. Please check the boxes below to set this user's permissions, then click Save when you are done."
|
|
33
|
-
redirect_to :
|
|
29
|
+
redirect_to action: 'edit', id: @usr.id
|
|
34
30
|
else
|
|
35
|
-
flash.now[:error] = @
|
|
31
|
+
flash.now[:error] = @usr.errors.full_messages.join('; ')
|
|
36
32
|
render :action => 'new'
|
|
37
33
|
end
|
|
38
34
|
end
|
|
39
35
|
end
|
|
40
36
|
|
|
41
37
|
def edit
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
user = authenticate_user
|
|
45
|
-
unless user.is_superuser || user.can_manage_users || user.id.to_s == params[:id]
|
|
46
|
-
render :layout => true, :text => "Sorry, you don't have permission to access this section." and return false
|
|
38
|
+
unless user_has_permission?(:manage_users) || @user.id == params[:id].to_i
|
|
39
|
+
render plain: "Sorry, you don't have permission to access this section.", layout: true and return false
|
|
47
40
|
end
|
|
48
41
|
|
|
49
|
-
@
|
|
42
|
+
@usr = User.find(params[:id])
|
|
50
43
|
end
|
|
51
44
|
|
|
52
45
|
def update
|
|
53
|
-
|
|
54
|
-
unless user.is_superuser || user.can_manage_users || user.id.to_s == params[:id]
|
|
55
|
-
render :layout => true, :text => "Sorry, you don't have permission to access this section." and return false
|
|
56
|
-
end
|
|
46
|
+
@usr = User.find(params[:id])
|
|
57
47
|
|
|
58
|
-
@user
|
|
48
|
+
unless user_has_permission?(:manage_users) || @user.id == @usr.id
|
|
49
|
+
render plain: "Sorry, you don't have permission to access this section.", layout: true and return false
|
|
50
|
+
end
|
|
59
51
|
|
|
60
|
-
if
|
|
61
|
-
params[:user].each { |k,v| @
|
|
62
|
-
elsif user.id
|
|
63
|
-
@
|
|
64
|
-
@
|
|
65
|
-
@
|
|
66
|
-
@
|
|
67
|
-
@
|
|
52
|
+
if user_has_permission?(:manage_users)
|
|
53
|
+
params[:user].each { |k,v| @usr.send("#{k}=", v) }
|
|
54
|
+
elsif @user.id == @usr.id
|
|
55
|
+
@usr.first_name = params[:user][:first_name]
|
|
56
|
+
@usr.last_name = params[:user][:last_name]
|
|
57
|
+
@usr.email_address = params[:user][:email_address]
|
|
58
|
+
@usr.password = params[:user][:password]
|
|
59
|
+
@usr.password_confirmation = params[:user][:password_confirmation]
|
|
68
60
|
end
|
|
69
61
|
|
|
70
|
-
if @
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
redirect_to :action => 'index'
|
|
62
|
+
if @usr.save
|
|
63
|
+
if user_has_permission?(:manage_users)
|
|
64
|
+
flash[:notice] = 'User updated successfully. Please note that the user must log out and log back in for permission changes to take effect.'
|
|
65
|
+
redirect_to action: 'index'
|
|
75
66
|
else
|
|
76
|
-
|
|
67
|
+
flash[:notice] = 'Account updated successfully.'
|
|
68
|
+
redirect_to controller: '/management/default', action: 'index'
|
|
77
69
|
end
|
|
78
70
|
else
|
|
79
|
-
flash.now[:error] = @
|
|
80
|
-
render :
|
|
71
|
+
flash.now[:error] = @usr.errors.full_messages.join('; ')
|
|
72
|
+
render action: 'edit'
|
|
81
73
|
end
|
|
82
74
|
end
|
|
83
75
|
|
|
84
76
|
def disable
|
|
85
|
-
@
|
|
86
|
-
@
|
|
87
|
-
@
|
|
88
|
-
flash[:notice] = 'Login privileges have been suspended for ' + @
|
|
77
|
+
@usr = User.find(params[:id])
|
|
78
|
+
@usr.active = false
|
|
79
|
+
@usr.save
|
|
80
|
+
flash[:notice] = 'Login privileges have been suspended for ' + @usr.username + '.'
|
|
89
81
|
redirect_to :action => 'index'
|
|
90
82
|
end
|
|
91
83
|
|
|
92
84
|
def enable
|
|
93
|
-
@
|
|
94
|
-
@
|
|
95
|
-
@
|
|
96
|
-
flash[:notice] = 'Login privileges for ' + @
|
|
85
|
+
@usr = User.find(params[:id])
|
|
86
|
+
@usr.active = true
|
|
87
|
+
@usr.save
|
|
88
|
+
flash[:notice] = 'Login privileges for ' + @usr.username + ' have been restored.'
|
|
97
89
|
redirect_to :action => 'index'
|
|
98
90
|
end
|
|
99
91
|
|
|
100
92
|
def destroy
|
|
101
|
-
@
|
|
102
|
-
flash[:notice] = @
|
|
103
|
-
@
|
|
93
|
+
@usr = User.find(params[:id])
|
|
94
|
+
flash[:notice] = @usr.username + ' has been removed from the system.'
|
|
95
|
+
@usr.destroy
|
|
104
96
|
redirect_to :action => 'index'
|
|
105
97
|
end
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
protected
|
|
101
|
+
|
|
102
|
+
def check_permissions
|
|
103
|
+
render :action => 'permission_denied' if !user_has_permission?(:manage_users)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
106
|
end
|
|
@@ -11,9 +11,8 @@ module CmsApplicationHelper
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
# Returns true if the user is editing the current page.
|
|
14
|
-
# (This just means that we are rendering :controller => 'management/cms', :action => 'edit_page_content'.)
|
|
15
14
|
def is_editing_page?
|
|
16
|
-
params[:controller] == '
|
|
15
|
+
params[:controller] == 'manage/cms_pages' && params[:action] == 'edit_page_content'
|
|
17
16
|
end
|
|
18
17
|
|
|
19
18
|
# Determines whether the input string is a valid email address per RFC specification
|
|
@@ -30,7 +29,7 @@ module CmsApplicationHelper
|
|
|
30
29
|
# require 'net/dns'
|
|
31
30
|
res = Net::DNS::Resolver.new
|
|
32
31
|
valid = valid && res.mx(host).size > 0
|
|
33
|
-
rescue
|
|
32
|
+
rescue StandardError => e
|
|
34
33
|
logger.error(e)
|
|
35
34
|
end
|
|
36
35
|
end
|
|
@@ -38,21 +37,11 @@ module CmsApplicationHelper
|
|
|
38
37
|
valid
|
|
39
38
|
end
|
|
40
39
|
|
|
41
|
-
### COMPAT: convert_content_path
|
|
42
40
|
def convert_content_path
|
|
43
|
-
# logger.debug "DEPRECATION WARNING (Imagine CMS) WARNING: convert_content_path called"
|
|
44
41
|
params[:content_path] = params[:content_path].to_s.split('/') rescue []
|
|
45
42
|
end
|
|
46
43
|
|
|
47
|
-
### COMPAT -
|
|
48
|
-
def template_exists?(template, extension = nil)
|
|
49
|
-
# ignore extension
|
|
50
|
-
# logger.debug("DEPRECATION WARNING (Imagine CMS) WARNING: template_exists? called")
|
|
51
|
-
partial = File.join(File.dirname(template), '_' + File.basename(template))
|
|
52
|
-
lookup_context.find_all(template).any? || lookup_context.find_all(partial).any?
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
### COMPAT - template_exists?
|
|
44
|
+
### COMPAT - url_for_current
|
|
56
45
|
def url_for_current
|
|
57
46
|
# logger.debug("DEPRECATION WARNING (Imagine CMS) WARNING: url_for_current called")
|
|
58
47
|
request.fullpath
|
|
@@ -219,7 +208,7 @@ module CmsApplicationHelper
|
|
|
219
208
|
@pg.revert_to(@pg.published_version)
|
|
220
209
|
end
|
|
221
210
|
|
|
222
|
-
@page_objects =
|
|
211
|
+
@page_objects = OpenStruct.new
|
|
223
212
|
query = @pg.objects.where(:cms_page_version => @pg.version)
|
|
224
213
|
query = query.where(:obj_type => obj_type) if obj_type
|
|
225
214
|
query = query.where(:name => name) if name
|
|
@@ -296,7 +285,7 @@ module CmsApplicationHelper
|
|
|
296
285
|
# pull all folder content
|
|
297
286
|
folders = []
|
|
298
287
|
for i in 0...@page_objects["#{key}-sources-folder-count"].to_i
|
|
299
|
-
folders <<
|
|
288
|
+
folders << OpenStruct.new(src: @page_objects["#{key}-sources-folder#{i}"].strip,
|
|
300
289
|
expand_folders: @page_objects["#{key}-sources-folder#{i}-expand-folders"])
|
|
301
290
|
end
|
|
302
291
|
folders = folders.reject { |f| f.src.blank? }
|
|
@@ -305,7 +294,7 @@ module CmsApplicationHelper
|
|
|
305
294
|
folders = substitute_placeholders(options[:folders] || '', pg).split(',').map do |f|
|
|
306
295
|
bits = f.strip.split(':')
|
|
307
296
|
|
|
308
|
-
obj =
|
|
297
|
+
obj = OpenStruct.new
|
|
309
298
|
obj.src = bits[0]
|
|
310
299
|
obj.expand_folders = 'true'
|
|
311
300
|
|
|
@@ -320,6 +309,15 @@ module CmsApplicationHelper
|
|
|
320
309
|
|
|
321
310
|
obj
|
|
322
311
|
end
|
|
312
|
+
folders += substitute_placeholders(options[:pages] || '', pg).split(',').map do |f|
|
|
313
|
+
bits = f.strip.split(':')
|
|
314
|
+
|
|
315
|
+
obj = OpenStruct.new
|
|
316
|
+
obj.src = bits[0]
|
|
317
|
+
obj.expand_folders = 'false'
|
|
318
|
+
|
|
319
|
+
obj
|
|
320
|
+
end
|
|
323
321
|
folders = folders.reject { |f| f.src.blank? }
|
|
324
322
|
|
|
325
323
|
@page_objects["#{key}-sources-folder-count"] = folders.size
|
|
@@ -364,7 +362,7 @@ module CmsApplicationHelper
|
|
|
364
362
|
single_pages << parent_page # user specified a single page, not a folder
|
|
365
363
|
end
|
|
366
364
|
end
|
|
367
|
-
rescue
|
|
365
|
+
rescue StandardError => e
|
|
368
366
|
logger.debug e
|
|
369
367
|
end
|
|
370
368
|
end
|
|
@@ -567,7 +565,7 @@ module CmsApplicationHelper
|
|
|
567
565
|
def template_option(name, type = :string)
|
|
568
566
|
return nil unless @pg
|
|
569
567
|
|
|
570
|
-
@template_options ||=
|
|
568
|
+
@template_options ||= OpenStruct.new
|
|
571
569
|
@template_options[name] = type
|
|
572
570
|
|
|
573
571
|
key = name.gsub(/[^\w\d]/, '_')
|