lucy_cms 0.0.5 → 0.0.6

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
- 0.0.5
1
+ 0.0.6
@@ -3,11 +3,8 @@ class CmsAdmin::BaseController < ActionController::Base
3
3
  protect_from_forgery
4
4
 
5
5
  before_filter :fetch_cms_logged_in_user,
6
- :load_admin_cms_site
7
-
8
- unless CmsSite.count == 0 || CmsUser.find(:all, :conditions => {:admin => true, :disabled => false}).count == 0
9
- before_filter :cms_login_required
10
- end
6
+ :load_admin_cms_site,
7
+ :cms_login_required
11
8
  layout 'cms_admin'
12
9
 
13
10
  protected
@@ -16,13 +13,13 @@ protected
16
13
  if CmsSite.count == 0
17
14
  flash[:error] = 'To start you must setup your site'
18
15
  redirect_to new_cms_admin_site_path
19
- else
16
+ else
20
17
  @cms_site = CmsSite.first
21
18
  if @cms_site.version < LucyCms.config.version
22
19
  @cms_site.version = LucyCms.config.version
23
20
  @cms_site.save
24
21
  end
25
- end
22
+ end
26
23
  end
27
24
 
28
25
  def fetch_cms_logged_in_user
@@ -38,6 +35,7 @@ protected
38
35
 
39
36
  def cms_login_required
40
37
  return true if cms_logged_in?
38
+ return true if CmsSite.count == 0 || CmsUser.find(:all, :conditions => {:admin => true, :disabled => false}).count == 0
41
39
  redirect_to new_cms_admin_session_path and return false
42
40
  end
43
41
  end
@@ -7,7 +7,7 @@ class CmsAdmin::SessionsController < CmsAdmin::BaseController
7
7
  end
8
8
 
9
9
  def create
10
- @cms_current_user = CmsUser.authenticate(params[:login], params[:password])
10
+ @cms_current_user = CmsUser.authenticate(params[:login], params[:password], @cms_site.authentication, @cms_site.ldap_hostname, @cms_site.ldap_base_DN, @cms_site.ldap_uid)
11
11
  if @cms_current_user
12
12
  session[:cms_user_id] = @cms_current_user.id
13
13
  redirect_to cms_admin_pages_path
@@ -37,6 +37,7 @@ class CmsAdmin::SitesController < CmsAdmin::BaseController
37
37
  if @cms_site.authentication != 'LDAP'
38
38
  @cms_site.ldap_hostname = ''
39
39
  @cms_site.ldap_base_DN = ''
40
+ @cms_site.ldap_uid = ''
40
41
  end
41
42
  if @cms_site.save
42
43
  flash[:notice] = 'Site updated'
@@ -35,23 +35,28 @@ class CmsAdmin::UploadDirsController < CmsAdmin::BaseController
35
35
  end
36
36
 
37
37
  def uploads
38
+ tempfile = params[:file].tempfile.path
38
39
  @cms_upload_dir = @cms_site.cms_upload_dirs.find(params[:id])
39
40
  @cms_upload_check = @cms_upload_dir.cms_uploads.find_by_cms_upload_dir_id_and_file_file_name( params[:id], params[:file].original_filename)
40
41
  unless @cms_upload_check.nil?
41
42
  @cms_upload_check.destroy
42
43
  end
43
44
  @cms_upload = @cms_upload_dir.cms_uploads.create!(:file => params[:file], :cms_upload_dir_label => @cms_upload_dir.label, :cms_user_id => @cms_current_user.id)
45
+ if File::exists?(tempfile)
46
+ File::delete(tempfile)
47
+ end
44
48
  render :partial => 'file', :object => @cms_upload
45
49
  rescue ActiveRecord::RecordInvalid
46
50
  render :nothing => true, :status => :bad_request
47
51
  end
48
52
 
49
53
  def uploads_destroy
50
- @cms_upload = CmsUpload.find( params[:id])
54
+ @cms_upload = CmsUpload.find(params[:id])
55
+ @cms_upload_dir = @cms_upload.cms_upload_dir
51
56
  @cms_upload.destroy
57
+ redirect_to :action => :show, :id => @cms_upload_dir.id
52
58
  end
53
59
 
54
-
55
60
  def destroy
56
61
  @cms_upload_dir = @cms_site.cms_upload_dirs.find(params[:id])
57
62
  @cms_upload_dir.destroy
@@ -25,6 +25,12 @@ class CmsAdmin::UsersController < CmsAdmin::BaseController
25
25
  render :action => 'new'
26
26
  return
27
27
  end
28
+ else
29
+ if @cms_user.password.nil? || @cms_user.password.empty?
30
+ flash[:error] = 'Password can not be blank'
31
+ render :action => 'new'
32
+ return
33
+ end
28
34
  end
29
35
  if CmsUser.find_by_admin_and_disabled(true,false).nil?
30
36
  if @cms_user.admin == false || @cms_user.disabled == true
@@ -69,6 +75,12 @@ class CmsAdmin::UsersController < CmsAdmin::BaseController
69
75
  render :action => 'edit'
70
76
  return
71
77
  end
78
+ else
79
+ if @cms_user.password.nil? || @cms_user.password.empty?
80
+ flash[:error] = 'Password can not be blank'
81
+ render :action => 'new'
82
+ return
83
+ end
72
84
  end
73
85
  if @cms_user.disabled == true && CmsUser.find(:all, :conditions => {:admin => true, :disabled => false}).count == 1 && CmsUser.find(:all, :conditions => {:admin => true, :disabled => false}).first.id == @cms_user.id
74
86
  flash[:error] = "You can not disable the only Admin"
@@ -1,3 +1,4 @@
1
+ require 'net/ldap'
1
2
  class CmsUser < ActiveRecord::Base
2
3
 
3
4
  validates :login,
@@ -10,17 +11,9 @@ class CmsUser < ActiveRecord::Base
10
11
  validates :last_name,
11
12
  :presence => true
12
13
 
13
- @cms_site = CmsSite.first
14
-
15
- unless @cms_site.nil?
16
- if @cms_site.authentication != 'LDAP'
17
14
  attr_accessor :password_confirmation
18
15
  validates_confirmation_of :password
19
16
 
20
- validates :password,
21
- :presence => true,
22
- :on => :create
23
-
24
17
  # 'password' is a virtual attribute
25
18
  def password
26
19
  @password
@@ -32,24 +25,22 @@ class CmsUser < ActiveRecord::Base
32
25
  create_new_salt
33
26
  self.hashed_password = CmsUser.encrypted_password(self.password, self.salt)
34
27
  end
35
- end
36
- end
37
28
 
38
29
  def full_name
39
30
  [first_name, last_name].join(' ')
40
31
  end
41
32
 
42
- def self.authenticate(login, password)
33
+ def self.authenticate(login, password, authentication, ldap_hostname, ldap_base_DN, ldap_uid)
43
34
 
44
- if @cms_site.authentication == 'LDAP'
35
+ if authentication == 'LDAP'
45
36
  username = login
46
37
 
47
38
  if (password.empty?) then
48
39
  return nil
49
40
  end
50
41
 
51
- ldap = Net::LDAP.new(:host => @cms_site.ldap_hostname, :base => @cms_site.ldap_base_DN)
52
- filter = Net::LDAP::Filter.eq(@cms_site.ldap_uid, login)
42
+ ldap = Net::LDAP.new(:host => ldap_hostname, :base => ldap_base_DN)
43
+ filter = Net::LDAP::Filter.eq(ldap_uid, login)
53
44
  ldap.search(:filter => filter) {|entry| login = entry.dn}
54
45
  ldap.auth(login, password)
55
46
 
@@ -76,7 +67,6 @@ class CmsUser < ActiveRecord::Base
76
67
  user
77
68
  end
78
69
 
79
- rescue Net::LDAP::LdapError
80
70
  end
81
71
 
82
72
  private
@@ -2,7 +2,7 @@
2
2
  <div class='item'>
3
3
  <div class='icon'></div>
4
4
  <div class='action_links'>
5
- <%= link_to 'Delete', uploads_destroy_cms_admin_upload_dir_path(file), :method => :delete, :remote => true, :confirm => 'Are you sure?' %>
5
+ <%= link_to 'Delete', uploads_destroy_cms_admin_upload_dir_path(file), :method => :post, :confirm => 'Are you sure?' %>
6
6
  </div>
7
7
  <div class='label'>
8
8
  <%= link_to file.file_file_name, file.file.url, :target => '_blank', :class => 'filename' %>
@@ -11,7 +11,7 @@
11
11
  <div class='item'>
12
12
  <div class='icon'></div>
13
13
  <div class='action_links'>
14
- <%= link_to 'Delete', uploads_destroy_cms_admin_upload_dir_path(cms_upload), :method => :delete, :remote => true, :confirm => 'Are you sure?' %>
14
+ <%= link_to 'Delete', uploads_destroy_cms_admin_upload_dir_path(cms_upload), :method => :post, :confirm => 'Are you sure?' %>
15
15
  </div>
16
16
  <div class='label'>
17
17
  <%= link_to cms_upload.file_file_name, cms_upload.file.url, :target => '_blank', :class => 'filename' %>
data/config/routes.rb CHANGED
@@ -31,7 +31,7 @@ Rails.application.routes.draw do
31
31
  end
32
32
  member do
33
33
  post :uploads
34
- delete :uploads_destroy
34
+ post :uploads_destroy
35
35
  end
36
36
  end
37
37
  end
@@ -68,7 +68,7 @@ module CmsTag
68
68
  # as a default.
69
69
  def render
70
70
  # cleaning content from possible irb stuff. Partial and Helper tags are OK.
71
- if ComfortableMexicanSofa.config.disable_irb && ![CmsTag::Partial, CmsTag::Helper].member?(self.class)
71
+ if LucyCms.config.disable_irb && ![CmsTag::Partial, CmsTag::Helper].member?(self.class)
72
72
  content.to_s.gsub('<%', '&lt;%').gsub('%>', '%&gt;')
73
73
  else
74
74
  content.to_s
@@ -116,4 +116,4 @@ private
116
116
  def self.tag_classes
117
117
  @@tag_classes ||= []
118
118
  end
119
- end
119
+ end
@@ -24,7 +24,7 @@ class LucyCms::Configuration
24
24
 
25
25
  # Configuration defaults
26
26
  def initialize
27
- @version = '0.0.5'
27
+ @version = '0.0.6'
28
28
  @admin_route_prefix = 'cms-admin'
29
29
  @admin_route_redirect = "/#{@admin_route_prefix}/pages"
30
30
  @seed_data_path = nil
@@ -16,7 +16,7 @@ module LucyCms::ViewHooks
16
16
 
17
17
  # Will declare a partial that will be rendered for this hook
18
18
  # Example:
19
- # ComfortableMexicanSofa::ViewHooks.add(:navigation, 'shared/navigation')
19
+ # LucyCMS::ViewHooks.add(:navigation, 'shared/navigation')
20
20
  def self.add(name, partial_path)
21
21
  self.hooks[name.to_sym] ||= []
22
22
  self.hooks[name.to_sym] << partial_path
data/lib/lucy_cms.rb CHANGED
@@ -28,14 +28,14 @@ module LucyCms
28
28
 
29
29
  # Modify CMS configuration
30
30
  # Example:
31
- # ComfortableMexicanSofa.configure do |config|
32
- # config.cms_title = 'Comfortable Mexican Sofa'
31
+ # LucyCMS.configure do |config|
32
+ # config.config.cms_upload_directory = 'shared'
33
33
  # end
34
34
  def configure
35
35
  yield configuration
36
36
  end
37
37
 
38
- # Accessor for ComfortableMexicanSofa::Configuration
38
+ # Accessor for LucyCMS::Configuration
39
39
  def configuration
40
40
  @configuration ||= Configuration.new
41
41
  end
data/lucy_cms.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{lucy_cms}
8
- s.version = "0.0.4"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Lucy"]
12
- s.date = %q{2011-03-09}
12
+ s.date = %q{2011-03-11}
13
13
  s.description = %q{}
14
14
  s.email = %q{lucy@lucysoft.com}
15
15
  s.extra_rdoc_files = [
@@ -69,7 +69,6 @@ Gem::Specification.new do |s|
69
69
  "app/views/cms_admin/upload_dirs/index.html.erb",
70
70
  "app/views/cms_admin/upload_dirs/new.html.erb",
71
71
  "app/views/cms_admin/upload_dirs/show.html.erb",
72
- "app/views/cms_admin/upload_dirs/uploads_destroy.js.erb",
73
72
  "app/views/cms_admin/users/_form.html.erb",
74
73
  "app/views/cms_admin/users/_index_branch.html.erb",
75
74
  "app/views/cms_admin/users/change_password.html.erb",
@@ -2,7 +2,7 @@ require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class ViewMethodsTest < ActiveSupport::TestCase
4
4
 
5
- include LucyCMS::ViewMethods
5
+ include LucyCms::ViewMethods
6
6
 
7
7
  def test_cms_snippet_content
8
8
  assert_equal 'default_snippet_content', cms_snippet_content('default')
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: lucy_cms
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.5
5
+ version: 0.0.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Lucy
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-10 00:00:00 -06:00
13
+ date: 2011-03-11 00:00:00 -06:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -141,7 +141,6 @@ files:
141
141
  - app/views/cms_admin/upload_dirs/index.html.erb
142
142
  - app/views/cms_admin/upload_dirs/new.html.erb
143
143
  - app/views/cms_admin/upload_dirs/show.html.erb
144
- - app/views/cms_admin/upload_dirs/uploads_destroy.js.erb
145
144
  - app/views/cms_admin/users/_form.html.erb
146
145
  - app/views/cms_admin/users/_index_branch.html.erb
147
146
  - app/views/cms_admin/users/change_password.html.erb
@@ -347,7 +346,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
347
346
  requirements:
348
347
  - - ">="
349
348
  - !ruby/object:Gem::Version
350
- hash: -2604923462945760949
349
+ hash: 4497317104056704982
351
350
  segments:
352
351
  - 0
353
352
  version: "0"
@@ -1,3 +0,0 @@
1
- $("#<%= dom_id(@cms_upload) %>").fadeOut('slow', function(){
2
- $(this).remove()
3
- })