Hi,
This is just a rework of ./script/grant_admin_privileges to be an rake task.
Usage:
rake grant:admin_privileges[<user>] RAILS_ENV='production' rake grant:admin_privileges[<user>]
Michal
--- src/lib/tasks/grant_admin_privileges.rake | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) create mode 100644 src/lib/tasks/grant_admin_privileges.rake
diff --git a/src/lib/tasks/grant_admin_privileges.rake b/src/lib/tasks/grant_admin_privileges.rake new file mode 100644 index 0000000..2004c35 --- /dev/null +++ b/src/lib/tasks/grant_admin_privileges.rake @@ -0,0 +1,27 @@ +namespace :grant do + task :admin_privileges, [:login] => :environment do |t, args| + + unless args.login + puts "Usage: rake grant:admin_privileges[<user>]" + exit(1) + end + + user = User.find_by_login(args.login) + + unless user + puts "Unknown user: #{args.login}" + exit(1) + end + + unless user.permissions.select { |p| p.role.name.eql?('Administrator') }.empty? + puts "Permission already granted for user #{args.login}" + exit(1) + end + + user.permissions << Permission.new(:role => Role.find_by_name('Administrator'), + :permission_object => BasePortalObject.general_permission_scope + ) + + puts "Granting administrator privileges for #{args.login}..." + end +end
On Tue, Mar 9, 2010 at 8:48 AM, mfojtik@redhat.com wrote:
src/lib/tasks/grant_admin_privileges.rake | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) create mode 100644 src/lib/tasks/grant_admin_privileges.rake
diff --git a/src/lib/tasks/grant_admin_privileges.rake b/src/lib/tasks/grant_admin_privileges.rake new file mode 100644 index 0000000..2004c35 --- /dev/null +++ b/src/lib/tasks/grant_admin_privileges.rake @@ -0,0 +1,27 @@ +namespace :grant do
+ task :admin_privileges, [:login] => :environment do |t, args|
- unless args.login
puts "Usage: rake grant:admin_privileges[<user>]"
exit(1)
- end
- user = User.find_by_login(args.login)
- unless user
puts "Unknown user: #{args.login}"
exit(1)
- end
- unless user.permissions.select { |p| p.role.name.eql?('Administrator')
}.empty?
puts "Permission already granted for user #{args.login}"
exit(1)
- end
- user.permissions << Permission.new(:role =>
Role.find_by_name('Administrator'),
:permission_object =>
BasePortalObject.general_permission_scope
)
- puts "Granting administrator privileges for #{args.login}..."
- end
+end
1.6.6.2
Overall looks great. Couple things: 1. Please amend your description from the previous email into this patch so it has a useful description when pushed 2. There are 2 whitespace errors you might want to enable some of the git hooks and/or turn on global denywhitespace setting. Errors are: warning: 2 lines add whitespace errors. 4f691f03bf0690bc461e4693d9cba9235aad2d90 src/lib/tasks/grant_admin_privileges.rake:3: trailing whitespace. + src/lib/tasks/grant_admin_privileges.rake:20: trailing whitespace. +
3. please add a description here so it will show up in rake -T
Also, we don't need to scripts/grant_admin_user anymore, as this replaces it, so please remove that file as part of this patch too.
deltacloud-devel@lists.fedorahosted.org