[Bio] / WebApplication / scripts / application_add_login_right_to_all.pl Repository:
ViewVC logotype

View of /WebApplication/scripts/application_add_login_right_to_all.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Fri Jul 17 14:24:54 2009 UTC (10 years, 6 months ago) by paczian
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, mgrast_dev_03052011, mobedac_release_05302012, mgrast_dev_05262011, mgrast_dev_04082011, rast_rel_2010_0928, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, rast_rel_2010_0827, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_02222011, mgrast_dev_10262011, HEAD
this will add the login right for an application to all users in the database that have at least one granted login right

#!/usr/bin/env perl

use strict;
use warnings;

use WebApplicationDBHandle;

use Getopt::Long;


sub usage {
  print "application_add_login_right_to_all.pl >>> add login right to an application to all users that have at least one granted login right\n";
  print "application_add_login_right_to_all.pl -application <appl_name>\n";
}

# get command line parameters
my %options = ();
GetOptions (\%options, 
	    "application=s",
	   ); 


unless ($options{application}) {
  &usage();
  exit 0;
}

# initialize db-master
my ($dbmaster, $error) = WebApplicationDBHandle->new();

# check if we got a dbmaster
if ($error) {
  print $error."\n";
  exit 0;
}

my $app = $dbmaster->Backend->init({ name => $options{application} });
unless ($app) {
  print "Unable to find a backend for application ".$options{application}.", aborting.\n";
  exit 0;
}

# get all users
my $users = $dbmaster->User->get_objects();

# get the users that have at least one granted login right
foreach my $user (@$users) {
  my $login_rights = $dbmaster->Rights->get_objects( { name => 'login',
						       granted => 1,
						       scope => $user->get_user_scope } );
  if (scalar(@$login_rights)) {

    # add and grant login right
    $user->add_login_right($app);
    $user->grant_login_right($app);
    
    print "Login right to ".$options{application}." granted to ".$user->firstname." ".$user->lastname."\n";
  }
}


print "Done.\n";

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3