[Cpan-forum-commit] rev 296 - in trunk: . lib/CPAN/Forum/DB lib/CPAN/Forum/RM templates
svn at pti.co.il
svn at pti.co.il
Sun Jul 22 07:03:13 EEST 2007
Author: gabor
Date: 2007-07-22 07:03:13 +0300 (Sun, 22 Jul 2007)
New Revision: 296
Modified:
trunk/
trunk/lib/CPAN/Forum/DB/Users.pm
trunk/lib/CPAN/Forum/RM/Admin.pm
trunk/templates/notes.tmpl
Log:
update user e-mail by admin is now using plain SQL
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4303
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
+ 7bc34947-122d-0410-bc5a-f898d2bb5f81:/local/cpan-forum:4304
8c4c90e1-83eb-0310-96eb-e7cb62807872:/local/cpan-forum:12752
Modified: trunk/lib/CPAN/Forum/DB/Users.pm
===================================================================
--- trunk/lib/CPAN/Forum/DB/Users.pm 2007-07-22 04:02:53 UTC (rev 295)
+++ trunk/lib/CPAN/Forum/DB/Users.pm 2007-07-22 04:03:13 UTC (rev 296)
@@ -63,14 +63,18 @@
sub update {
my ($self, $id, %args) = @_;
- my @valid_fields = qw(fname lname password);
+ my @valid_fields = qw(fname lname password email);
my @fields;
my @values;
foreach my $f (@valid_fields) {
if (exists $args{$f}) {
push @fields, "$f=?";
- push @values, $args{$f};
+ if ($f eq 'email') {
+ push @values, lc $args{$f};
+ } else {
+ push @values, $args{$f};
+ }
}
}
Modified: trunk/lib/CPAN/Forum/RM/Admin.pm
===================================================================
--- trunk/lib/CPAN/Forum/RM/Admin.pm 2007-07-22 04:02:53 UTC (rev 295)
+++ trunk/lib/CPAN/Forum/RM/Admin.pm 2007-07-22 04:03:13 UTC (rev 296)
@@ -12,14 +12,18 @@
my $uid = $q->param('uid'); # TODO error checking here !
$self->log->debug("admin_edit_user_process uid: '$uid'");
- my ($person) = CPAN::Forum::DB::Users->retrieve($uid);
+ my $person = CPAN::Forum::DB::Users->info_by(id => $uid); # SQL
if (not $person) {
return $self->internal_error("", "no_such_user");
}
- $person->email($email);
- $person->update;
+ eval {
+ my $person = CPAN::Forum::DB::Users->update($uid, email => lc $email); #SQL
+ };
+ if ($@ =~ /column email is not unique/) {
+ return $self->notes("duplicate_email");
+ }
- $self->admin_edit_user($person->username, ['done']);
+ $self->admin_edit_user($person->{username}, ['done']);
}
sub admin_edit_user {
Modified: trunk/templates/notes.tmpl
===================================================================
--- trunk/templates/notes.tmpl 2007-07-22 04:02:53 UTC (rev 295)
+++ trunk/templates/notes.tmpl 2007-07-22 04:03:13 UTC (rev 296)
@@ -50,5 +50,10 @@
<TMPL_INCLUDE NAME="search_form.tmpl">
</TMPL_IF>
+<TMPL_IF duplicate_email>
+This e-mail already exists in our database. If this is really your e-mail address
+you can retrieve your password using the <a href="/">password reminder</a>
+</TMPL_IF>
+
<TMPL_INCLUDE NAME="footer.tmpl">
More information about the Cpan-forum-commit
mailing list