[Cpan-forum-commit] rev 291 - in trunk: . lib/CPAN/Forum/DB lib/CPAN/Forum/RM
svn at pti.co.il
svn at pti.co.il
Sat Jul 21 18:22:21 EEST 2007
Author: gabor
Date: 2007-07-21 18:22:21 +0300 (Sat, 21 Jul 2007)
New Revision: 291
Modified:
trunk/
trunk/lib/CPAN/Forum/DB/UserInGroup.pm
trunk/lib/CPAN/Forum/DB/Usergroups.pm
trunk/lib/CPAN/Forum/RM/Login.pm
Log:
checking if user is in the admin group is now done using plain SQL
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4283
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
+ 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4284
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
Modified: trunk/lib/CPAN/Forum/DB/UserInGroup.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/UserInGroup.pm 2007-07-21 15:21:51 UTC (rev 290)
+++ trunk/lib/CPAN/Forum/DB/UserInGroup.pm 2007-07-21 15:22:21 UTC (rev 291)
@@ -6,9 +6,6 @@
__PACKAGE__->table('user_in_group');
__PACKAGE__->columns(All => qw/uid gid/);
-#__PACKAGE__->has_many(users => "CPAN::Forum::DB::Users");
-#__PACKAGE__->has_many(groups => "CPAN::Forum::DB::Usergroups");
-
1;
Modified: trunk/lib/CPAN/Forum/DB/Usergroups.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Usergroups.pm 2007-07-21 15:21:51 UTC (rev 290)
+++ trunk/lib/CPAN/Forum/DB/Usergroups.pm 2007-07-21 15:22:21 UTC (rev 291)
@@ -1,16 +1,21 @@
package CPAN::Forum::DB::Usergroups;
use strict;
use warnings;
-use Carp;
use base 'CPAN::Forum::DBI';
-__PACKAGE__->table('usergroups');
-__PACKAGE__->columns(All => qw/id name/);
+#__PACKAGE__->table('usergroups');
+#__PACKAGE__->columns(All => qw/id name/);
-__PACKAGE__->set_sql(ugs => "SELECT __ESSENTIAL__ FROM __TABLE__, user_in_group
- WHERE
- user_in_group.uid = ? AND
- user_in_group.gid=usergroups.id
- ");
+sub is_admin {
+ my ($self, $id) = @_;
+ my $sql = "SELECT id FROM usergroups, user_in_group
+ WHERE
+ usergroups.name='admin' AND
+ user_in_group.uid = ? AND
+ user_in_group.gid=usergroups.id
+ ";
+ $self->_fetch_single_value($sql, $id);
+}
+
1;
Modified: trunk/lib/CPAN/Forum/RM/Login.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Login.pm 2007-07-21 15:21:51 UTC (rev 290)
+++ trunk/lib/CPAN/Forum/RM/Login.pm 2007-07-21 15:22:21 UTC (rev 291)
@@ -58,11 +58,8 @@
$session->param(fname => $user->{fname});
$session->param(lname => $user->{lname});
$session->param(email => $user->{email});
- foreach my $g (CPAN::Forum::DB::Usergroups->search_ugs($user->{id})) {
- $self->log->debug("UserGroups: " . $g->name);
- if ($g->name eq "admin") {
- $session->param(admin => 1);
- }
+ if (CPAN::Forum::DB::Usergroups->is_admin($user->{id})) { # SQL
+ $session->param(admin => 1);
}
my $request = $session->param("request") || "home";
More information about the Cpan-forum-commit
mailing list