imagine_cms 3.0.3 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -37,36 +37,30 @@ module CmsApplicationHelper
37
37
  end
38
38
 
39
39
  @user = User.find(session[:user_id]) rescue nil
40
- session[:user_is_superuser] = @user.is_superuser rescue nil
40
+ session[:user_is_superuser] = @user.is_superuser? rescue nil
41
41
 
42
42
  @user
43
43
  end
44
44
 
45
45
  # Takes a symbol/string or array of symbols/strings and returns true if user has all
46
46
  # of the named permissions.
47
- #
48
- # Result is stored in the session to speed up future checks.
49
47
  def user_has_permissions?(*permission_set)
50
48
  return false if !(@user ||= authenticate_user)
51
49
 
52
- if !permission_set.is_a? Array
53
- permission_set = [ permission_set ]
54
- end
50
+ permission_set = [ permission_set ] unless permission_set.is_a?(Array)
55
51
 
56
52
  if session[:user_is_superuser]
57
- for perm in permission_set
58
- perm = perm.to_s
59
- session[('user_can_' + perm).to_sym] ||= true
60
- end
53
+ permission_set.each { |perm| session["user_can_#{perm}".to_sym] = true }
61
54
  return true
62
55
  end
63
56
 
64
- for perm in permission_set
65
- perm = perm.to_s
66
- session[('user_can_' + perm).to_sym] = @user.send('can_' + perm)
67
- # logger.debug "user_can_#{perm} = #{@user.send('can_' + perm)}"
68
- return session[('user_can_' + perm).to_sym]
57
+ has_permissions = true
58
+ permission_set.each do |perm|
59
+ session["user_can_#{perm}".to_sym] = (@user.send("can_#{perm}").to_i == 1)
60
+ has_permissions = has_permissions && session["user_can_#{perm}".to_sym]
69
61
  end
62
+
63
+ has_permissions
70
64
  end
71
65
  alias :user_has_permission? :user_has_permissions?
72
66
 
@@ -1,3 +1,3 @@
1
1
  module ImagineCms
2
- VERSION = "3.0.3"
2
+ VERSION = "3.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagine_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.0.4
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-01-11 00:00:00.000000000 Z
12
+ date: 2013-01-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails