diff options
-rwxr-xr-x | lib/RHRD/rddb.pm | 22 | ||||
-rwxr-xr-x | test/get-dropboxes | 3 | ||||
-rwxr-xr-x | test/get-lists | 57 | ||||
-rwxr-xr-x | test/get-range | 1 | ||||
-rwxr-xr-x | utils/update-rd-tokens | 2 |
5 files changed, 80 insertions, 5 deletions
diff --git a/lib/RHRD/rddb.pm b/lib/RHRD/rddb.pm index f8832d1..8fc2b3c 100755 --- a/lib/RHRD/rddb.pm +++ b/lib/RHRD/rddb.pm @@ -321,7 +321,7 @@ sub get_fullname return ($fullname, 'OK', 'success'); } -sub get_users +sub list_users { my ($dbh) = @_; @@ -606,6 +606,26 @@ sub remove_group_member return ($cnt, 'OK', "success"); } +sub list_groups +{ + my ($dbh) = @_; + + my $sql = qq{select NAME from GROUPS order by DEFAULT_LOW_CART;}; + my $sth = $dbh->prepare($sql) + or return (undef, 'ERROR', "Database Error: " . $dbh->errstr); + + $sth->execute() + or return (undef, 'ERROR', "Database Error: " . $sth->errstr); + + my @groups; + while(my ($group) = $sth->fetchrow_array()) { + push @groups, $group; + } + $sth->finish(); + + return @groups; +} + ########################### SHOW handling ########################### sub get_showtitle_and_log diff --git a/test/get-dropboxes b/test/get-dropboxes index 6282a92..abff8d9 100755 --- a/test/get-dropboxes +++ b/test/get-dropboxes @@ -21,9 +21,8 @@ # use strict; -use lib "../lib/"; - use POSIX; +use lib "../lib/"; use RHRD::rddb; diff --git a/test/get-lists b/test/get-lists new file mode 100755 index 0000000..47d6dfd --- /dev/null +++ b/test/get-lists @@ -0,0 +1,57 @@ +#!/usr/bin/perl -w +# +# rhrdlibs +# +# Copyright (C) 2015 Christian Pointner <equinox@helsinki.at> +# +# This file is part of rhrdlibs. +# +# rhrdlibs is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# any later version. +# +# rhrdlibs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with rhrdlibs. If not, see <http://www.gnu.org/licenses/>. +# + +use strict; +use lib "../lib/"; +use RHRD::rddb; + +my ($dbh, undef, $errorstring) = RHRD::rddb::opendb(); +if(defined $dbh) { + print "Users:\n"; + my @users = RHRD::rddb::list_users($dbh); + if(!defined $users[0] && defined $users[1]) { + print STDERR "$users[1]: $users[2]"; + RHRD::rddb::closedb($dbh); + exit 1; + } + for my $user (@users) { + print " " . $user . "\n"; + } + + print "\nGroups:\n"; + my @groups = RHRD::rddb::list_groups($dbh); + if(!defined $groups[0] && defined $groups[1]) { + print STDERR "$groups[1]: $groups[2]"; + RHRD::rddb::closedb($dbh); + exit 1; + } + for my $group (@groups) { + print " " . $group . "\n"; + } + + RHRD::rddb::closedb($dbh); +} else { + print "$errorstring\n"; + exit 1; +} + +exit 0 diff --git a/test/get-range b/test/get-range index 630d5d6..1027653 100755 --- a/test/get-range +++ b/test/get-range @@ -22,7 +22,6 @@ use strict; use lib "../lib/"; - use RHRD::rddb; my ($dbh, undef, $errorstring) = RHRD::rddb::opendb(); diff --git a/utils/update-rd-tokens b/utils/update-rd-tokens index ba22110..63b4750 100755 --- a/utils/update-rd-tokens +++ b/utils/update-rd-tokens @@ -40,7 +40,7 @@ $EXCLUDED_USERS{'admin'} = 1; my ($dbh, undef, $errorstring) = RHRD::rddb::opendb(); if(defined $dbh) { - my @users = RHRD::rddb::get_users($dbh); + my @users = RHRD::rddb::list_users($dbh); if(!defined $users[0] && defined $users[2]) { print STDERR "$users[2]\n"; exit 1; |