cms-fortress 1.0.7 → 1.0.8

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.7
1
+ 1.0.8
@@ -0,0 +1,4 @@
1
+ class Cms::Fortress::Users::SessionsController < Devise::SessionsController
2
+ layout 'cms/fortress/session'
3
+
4
+ end
@@ -11,7 +11,6 @@ class Cms::Fortress::Role < ActiveRecord::Base
11
11
  if File.exist?(file = File.join(Rails.root, "config", "roles.yml"))
12
12
  load_from_file(file)
13
13
  end
14
- puts file
15
14
 
16
15
  file = File.expand_path(File.join(File.dirname(__FILE__), "../../../../", "config", "roles.yml"))
17
16
  load_from_file(file)
@@ -24,6 +24,19 @@ class Cms::PageWorkflow < ActiveRecord::Base
24
24
  ret
25
25
  end
26
26
 
27
+ def self.cached_timeout_for_select
28
+ {
29
+ "Uncached" => 0,
30
+ "15 minutes" => 15.minutes,
31
+ "30 minutes" => 30.minutes,
32
+ "1 hour" => 1.hour,
33
+ "3 hours" => 3.hours,
34
+ "24 hours" => 1.day,
35
+ "15 days" => 15.days,
36
+ "30 days" => 30.days
37
+ }.map {|k,v| [k, v.to_i] }
38
+ end
39
+
27
40
  def page_published?
28
41
  (status_id.eql?(3) || status_id.eql?(2)) && published_date <= Date.today
29
42
  end
@@ -1,3 +1,16 @@
1
+ # Create a generator for an override file for this class
2
+ # sample below:
3
+ # class Ability < CmsAbility
4
+ #
5
+ # def setup_role(role)
6
+ # if role.command.eql?('contents.blog')
7
+ # can :manage, Blog
8
+ # else
9
+ # warn "#{ role.command } is not yet handled."
10
+ # end
11
+ # end
12
+ #
13
+ # end
1
14
  class CmsAbility
2
15
  include CanCan::Ability
3
16
 
@@ -24,7 +37,7 @@ class CmsAbility
24
37
  elsif role.command.eql?("designs.snippets")
25
38
  can :manage, Cms::Snippet
26
39
  else
27
- setup_role(role)
40
+ setup_role(role) if defined?(setup_role)
28
41
  end
29
42
  end
30
43
  end
@@ -32,10 +45,4 @@ class CmsAbility
32
45
 
33
46
  end
34
47
 
35
- # override this if you have custom role assignment
36
- def setup_role(role)
37
-
38
- end
39
-
40
-
41
48
  end
@@ -34,9 +34,7 @@
34
34
  = render :partial => 'form_blocks'
35
35
 
36
36
  =# form.check_box :is_published, :label => t('.is_published')
37
- = form.fields_for :page_workflow do |wf|
38
- = wf.select :status_id, Cms::PageWorkflow.statuses_for_select(can?(:manage, 'contents.page.publish'), can?(:manage, 'contents.page.review')), {}, {class: "status-control"}
39
- = wf.text_field :published_date, class: "status-control", :data => {:utc_date => (@page.page_workflow.published_date.nil? ? Time.now : @page.page_workflow.published_date).strftime("%d %B, %Y") }
37
+ = render :partial => 'cms/fortress/shared/page_extend', :locals => {form: form}
40
38
 
41
39
  = render 'admin/cms/partials/page_form_after', :object => form
42
40
 
@@ -45,19 +43,4 @@
45
43
  = form.submit t(@page.new_record?? '.create' : '.update'), :class => 'btn btn-primary'
46
44
 
47
45
 
48
- :coffeescript
49
- dateControl = $("#page_page_workflow_attributes_published_date")
50
- wkControl = $("#page_page_workflow_attributes_status_id")
51
- parentControl = $("#page_page_workflow_attributes_published_date").parents(".control-group:first")
52
-
53
- dateControl.val(dateControl.data("utcDate")).datepicker(dateFormat: "d MM, yy")
54
-
55
- if wkControl.val() in ["0","1"]
56
- parentControl.hide()
57
-
58
- wkControl.change ->
59
- if $(this).val() in ["0","1"]
60
- parentControl.hide()
61
- else
62
- parentControl.show()
63
-
46
+ = render :partial => 'cms/fortress/shared/page_extend_js'
@@ -0,0 +1,5 @@
1
+ = form.fields_for :page_workflow do |wf|
2
+ = wf.select :status_id, Cms::PageWorkflow.statuses_for_select(can?(:manage, 'contents.page.publish'), can?(:manage, 'contents.page.review')), {}, {class: "status-control"}
3
+ = wf.text_field :published_date, label: 'Published', class: "status-control", :data => {:utc_date => (@page.page_workflow.published_date.nil? ? Time.now : @page.page_workflow.published_date).strftime("%d %B, %Y") }
4
+
5
+ = form.select :cached_timeout, Cms::PageWorkflow.cached_timeout_for_select, {label: 'Cached Timeout'}, {class: 'status-control'}
@@ -0,0 +1,16 @@
1
+ :coffeescript
2
+ dateControl = $("#page_page_workflow_attributes_published_date")
3
+ wkControl = $("#page_page_workflow_attributes_status_id")
4
+ parentControl = $("#page_page_workflow_attributes_published_date").parents(".control-group:first")
5
+
6
+ dateControl.val(dateControl.data("utcDate")).datepicker(dateFormat: "d MM, yy")
7
+
8
+ if wkControl.val() in ["0","1"]
9
+ parentControl.hide()
10
+
11
+ wkControl.change ->
12
+ if $(this).val() in ["0","1"]
13
+ parentControl.hide()
14
+ else
15
+ parentControl.show()
16
+
data/cms-fortress.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cms-fortress"
8
- s.version = "1.0.7"
8
+ s.version = "1.0.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Melvin Sembrano"]
12
- s.date = "2013-12-15"
12
+ s.date = "2013-12-18"
13
13
  s.description = "Comfortable Mexican Sofa (CMS) - User and role management extension"
14
14
  s.email = "melvinsembrano@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -35,6 +35,7 @@ Gem::Specification.new do |s|
35
35
  "app/assets/stylesheets/cms/fortress/session.css",
36
36
  "app/controllers/cms/fortress/admin_controller.rb",
37
37
  "app/controllers/cms/fortress/roles_controller.rb",
38
+ "app/controllers/cms/fortress/users/sessions_controller.rb",
38
39
  "app/controllers/cms/fortress/users_controller.rb",
39
40
  "app/helpers/cms/fortress/application_helper.rb",
40
41
  "app/helpers/cms/fortress/roles_helper.rb",
@@ -44,7 +45,6 @@ Gem::Specification.new do |s|
44
45
  "app/models/cms/fortress/user.rb",
45
46
  "app/models/cms/page_workflow.rb",
46
47
  "app/models/cms_ability.rb",
47
- "app/views/.DS_Store",
48
48
  "app/views/admin/cms/pages/_form.html.haml",
49
49
  "app/views/admin/cms/partials/_body_before.html.haml",
50
50
  "app/views/cms/fortress/admin/_leftnav.html.haml",
@@ -62,6 +62,8 @@ Gem::Specification.new do |s|
62
62
  "app/views/cms/fortress/roles/show.html.haml",
63
63
  "app/views/cms/fortress/shared/_admin_topnav.html.haml",
64
64
  "app/views/cms/fortress/shared/_navbar.html.haml",
65
+ "app/views/cms/fortress/shared/_page_extend.html.haml",
66
+ "app/views/cms/fortress/shared/_page_extend_js.html.haml",
65
67
  "app/views/cms/fortress/users/_form.html.haml",
66
68
  "app/views/cms/fortress/users/edit.html.haml",
67
69
  "app/views/cms/fortress/users/index.html.haml",
@@ -80,6 +82,7 @@ Gem::Specification.new do |s|
80
82
  "db/migrate/02_create_cms_fortress_role_details.rb",
81
83
  "db/migrate/03_create_cms_fortress_roles.rb",
82
84
  "db/migrate/04_create_cms_page_workflows.rb",
85
+ "db/migrate/05_add_caching_info_to_pages.rb",
83
86
  "lib/cms-fortress.rb",
84
87
  "lib/cms/fortress/application_controller_methods.rb",
85
88
  "lib/cms/fortress/auth.rb",
@@ -0,0 +1,5 @@
1
+ class AddCachingInfoToPages < ActiveRecord::Migration
2
+ def change
3
+ add_column :cms_pages, :cached_timeout, :integer, :default => 0
4
+ end
5
+ end
@@ -11,8 +11,16 @@ module Cms
11
11
  admin_cms_path
12
12
  end
13
13
 
14
+ def ability_class
15
+ if defined?(Ability) #File.exist?(File.join(Rails.root, "app", "models", "ability.rb"))
16
+ Ability
17
+ else
18
+ CmsAbility
19
+ end
20
+ end
21
+
14
22
  def current_ability
15
- @current_ability ||= CmsAbility.new(current_cms_fortress_user)
23
+ @current_ability ||= ability_class.new(current_cms_fortress_user)
16
24
  end
17
25
 
18
26
  def self.included(base)
@@ -7,14 +7,11 @@ module Cms
7
7
  base.class_eval do
8
8
 
9
9
  def render_html(status = 200)
10
-
11
10
  fresh_when etag: @cms_page, last_modified: @cms_page.updated_at.utc, public: true
11
+ response.cache_control[:max_age] = @cms_page.cached_timeout.seconds
12
12
 
13
13
  if @cms_layout = @cms_page.layout
14
14
 
15
- #TODO: put the caching config in the page
16
- response.cache_control[:max_age] = 5.minutes
17
-
18
15
  app_layout = (@cms_layout.app_layout.blank? || request.xhr?) ? false : @cms_layout.app_layout
19
16
  render(:inline => @cms_page.content, :layout => app_layout, :status => status, :content_type => 'text/html') unless performed?
20
17
  else
@@ -4,7 +4,7 @@ module Cms
4
4
 
5
5
  initializer 'cms-fortress.setup' do |app|
6
6
  app.config.to_prepare do
7
- Devise::SessionsController.layout "cms/fortress/session"
7
+ # Devise::SessionsController.layout "cms/fortress/session"
8
8
  ApplicationController.helper(Cms::Fortress::ApplicationHelper)
9
9
 
10
10
  Cms::ContentController.send(:include, Cms::Fortress::ContentRenderer)
@@ -12,27 +12,27 @@ module Cms
12
12
 
13
13
  # Insert Roles
14
14
  Admin::Cms::SitesController.class_eval do
15
- before_filter do
15
+ before_action do
16
16
  authorize! :manage, Cms::Site
17
17
  end
18
18
  end
19
19
  Admin::Cms::LayoutsController.class_eval do
20
- before_filter do
20
+ before_action do
21
21
  authorize! :manage, Cms::Layout
22
22
  end
23
23
  end
24
24
  Admin::Cms::SnippetsController.class_eval do
25
- before_filter do
25
+ before_action do
26
26
  authorize! :manage, Cms::Snippet
27
27
  end
28
28
  end
29
29
  Admin::Cms::PagesController.class_eval do
30
- before_filter do
30
+ before_action do
31
31
  authorize! :manage, Cms::Page
32
32
  end
33
33
  end
34
34
  Admin::Cms::FilesController.class_eval do
35
- before_filter do
35
+ before_action do
36
36
  authorize! :manage, Cms::File
37
37
  end
38
38
  end
@@ -3,9 +3,14 @@ class ActionDispatch::Routing::Mapper
3
3
  def cms_fortress_routes(options = {})
4
4
  path = options[:path] || "cms-admin"
5
5
 
6
- devise_for "cms/fortress/users", :path => path, :path_names => {
7
- :sign_in => 'login', :sign_out => 'logout'
8
- }
6
+ devise_for "cms/fortress/users",
7
+ :path => path,
8
+ :path_names => {
9
+ :sign_in => 'login', :sign_out => 'logout'
10
+ },
11
+ :controllers => {
12
+ :sessions => 'cms/fortress/users/sessions'
13
+ }
9
14
 
10
15
  scope path, module: 'cms/fortress' do
11
16
  resources :roles, :as => 'cms_fortress_roles' do
@@ -14,7 +14,7 @@ class Cms::FortressGenerator < Rails::Generators::Base
14
14
  def generate_migrations
15
15
  rake("cms_fortress_engine:install:migrations")
16
16
  end
17
-
17
+ =begin
18
18
  def generate_assets
19
19
  directory 'app/assets/javascripts/cms/fortress',
20
20
  'app/assets/javascripts/cms/fortress'
@@ -22,7 +22,7 @@ class Cms::FortressGenerator < Rails::Generators::Base
22
22
  directory 'app/assets/stylesheets/cms/fortress',
23
23
  'app/assets/stylesheets/cms/fortress'
24
24
  end
25
-
25
+ =end
26
26
  def show_readme
27
27
  readme 'lib/generators/cms/fortress/templates/README'
28
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cms-fortress
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-15 00:00:00.000000000 Z
12
+ date: 2013-12-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -181,6 +181,7 @@ files:
181
181
  - app/assets/stylesheets/cms/fortress/session.css
182
182
  - app/controllers/cms/fortress/admin_controller.rb
183
183
  - app/controllers/cms/fortress/roles_controller.rb
184
+ - app/controllers/cms/fortress/users/sessions_controller.rb
184
185
  - app/controllers/cms/fortress/users_controller.rb
185
186
  - app/helpers/cms/fortress/application_helper.rb
186
187
  - app/helpers/cms/fortress/roles_helper.rb
@@ -190,7 +191,6 @@ files:
190
191
  - app/models/cms/fortress/user.rb
191
192
  - app/models/cms/page_workflow.rb
192
193
  - app/models/cms_ability.rb
193
- - app/views/.DS_Store
194
194
  - app/views/admin/cms/pages/_form.html.haml
195
195
  - app/views/admin/cms/partials/_body_before.html.haml
196
196
  - app/views/cms/fortress/admin/_leftnav.html.haml
@@ -208,6 +208,8 @@ files:
208
208
  - app/views/cms/fortress/roles/show.html.haml
209
209
  - app/views/cms/fortress/shared/_admin_topnav.html.haml
210
210
  - app/views/cms/fortress/shared/_navbar.html.haml
211
+ - app/views/cms/fortress/shared/_page_extend.html.haml
212
+ - app/views/cms/fortress/shared/_page_extend_js.html.haml
211
213
  - app/views/cms/fortress/users/_form.html.haml
212
214
  - app/views/cms/fortress/users/edit.html.haml
213
215
  - app/views/cms/fortress/users/index.html.haml
@@ -226,6 +228,7 @@ files:
226
228
  - db/migrate/02_create_cms_fortress_role_details.rb
227
229
  - db/migrate/03_create_cms_fortress_roles.rb
228
230
  - db/migrate/04_create_cms_page_workflows.rb
231
+ - db/migrate/05_add_caching_info_to_pages.rb
229
232
  - lib/cms-fortress.rb
230
233
  - lib/cms/fortress/application_controller_methods.rb
231
234
  - lib/cms/fortress/auth.rb
@@ -267,7 +270,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
267
270
  version: '0'
268
271
  segments:
269
272
  - 0
270
- hash: -2031890954127426435
273
+ hash: 1036308534323409436
271
274
  required_rubygems_version: !ruby/object:Gem::Requirement
272
275
  none: false
273
276
  requirements:
data/app/views/.DS_Store DELETED
Binary file