Module: Ramaze::Helper::Users
- Defined in:
- lib/zen/package/users/lib/users/helper/users.rb
Overview
Helper for the users package. Note that this helper is called "Users" rather than "User" as otherwise Ramaze could get confused and load the incorrect helper (as it already comes with a helper named "User").
Instance Method Summary (collapse)
-
- (Object) update_permissions(column, id, new_perms = [], old_perms = [])
Updates the permissions for a user or a user group.
-
- (Users::Model::User) validate_user(user_id)
Validates a user and returns the object if it's a valid user.
-
- (Users::Model::UserGroup) validate_user_group(user_group_id)
Checks if a user group is valid and returns it if this is the case.
Instance Method Details
- (Object) update_permissions(column, id, new_perms = [], old_perms = [])
Updates the permissions for a user or a user group.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/zen/package/users/lib/users/helper/users.rb', line 60 def (column, id, new_perms = [], old_perms = []) add_perms = [] rm_perms = [] # Insert all the new permissions new_perms.each do |perm| if !old_perms.include?(perm) add_perms << {column => id, :permission => perm} end end # Remove permissions if they weren't checked old_perms.each do |perm| if !new_perms.include?(perm) rm_perms << {column => id, :permission => perm} end end ::Users::Model::Permission.insert_multiple(add_perms) ::Users::Model::Permission.filter( column => rm_perms.map { |p| p[column] }, :permission => rm_perms.map { |p| p[:permission] } ).delete session[:super_group] = nil session[:permissions] = nil end |
- (Users::Model::User) validate_user(user_id)
Validates a user and returns the object if it's a valid user.
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/zen/package/users/lib/users/helper/users.rb', line 36 def validate_user(user_id) user = ::Users::Model::User[user_id] if user.nil? (:error, lang('users.errors.invalid_user')) redirect(::Users::Controller::Users.r(:index)) else return user end end |
- (Users::Model::UserGroup) validate_user_group(user_group_id)
Checks if a user group is valid and returns it if this is the case.
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/zen/package/users/lib/users/helper/users.rb', line 18 def validate_user_group(user_group_id) group = ::Users::Model::UserGroup[user_group_id] if group.nil? (:error, lang('user_groups.errors.invalid_group')) redirect(::Users::Controller::UserGroups.r(:index)) else return group end end |