imagine_cms 3.0.3 → 3.0.4

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.
@@ -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