summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2015-09-29 00:51:49 (GMT)
committerChristian Pointner <equinox@spreadspace.org>2015-09-29 00:51:49 (GMT)
commit59bd1cedd11b6337259578cc15319da5d52e6d22 (patch)
tree92eab84af02de3085c4c19ce1b66097cd321b3e3
parent97c41e8f8472e02c379a495065a4432abd941971 (diff)
added list_groups
-rwxr-xr-xlib/RHRD/rddb.pm22
-rwxr-xr-xtest/get-dropboxes3
-rwxr-xr-xtest/get-lists57
-rwxr-xr-xtest/get-range1
-rwxr-xr-xutils/update-rd-tokens2
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;