From: lpsolit%gmail.com <> Date: Mon, 14 Nov 2005 02:16:24 +0000 (+0000) Subject: Bug 314547: [PostgreSQL] cannot check/uncheck the "Private" checkbox for comments... X-Git-Tag: bugzilla-2.22rc1~149 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c0a44b743db440fee8a63a71f1742fd8c92df03;p=thirdparty%2Fbugzilla.git Bug 314547: [PostgreSQL] cannot check/uncheck the "Private" checkbox for comments in show_bug.cgi - Patch by Frédéric Buclin r=mkanat a=justdave --- diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index d094b8eae5..6a6c87d378 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -786,11 +786,9 @@ sub GetComments { my @comments; my $sth = $dbh->prepare( "SELECT profiles.realname AS name, profiles.login_name AS email, - " . $dbh->sql_date_format('longdescs.bug_when', '%Y.%m.%d %H:%i') . " + " . $dbh->sql_date_format('longdescs.bug_when', '%Y.%m.%d %H:%i:%s') . " AS time, longdescs.thetext AS body, longdescs.work_time, - isprivate, already_wrapped, - " . $dbh->sql_date_format('longdescs.bug_when', '%Y%m%d%H%i%s') . " - AS bug_when + isprivate, already_wrapped FROM longdescs, profiles WHERE profiles.userid = longdescs.who AND longdescs.bug_id = ? @@ -800,10 +798,6 @@ sub GetComments { while (my $comment_ref = $sth->fetchrow_hashref()) { my %comment = %$comment_ref; - # Can't use "when" as a field name in MySQL - $comment{'when'} = $comment{'bug_when'}; - delete($comment{'bug_when'}); - $comment{'email'} .= Param('emailsuffix'); $comment{'name'} = $comment{'name'} || $comment{'email'}; diff --git a/process_bug.cgi b/process_bug.cgi index fdf5a405b4..af0283d6ce 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -936,16 +936,18 @@ if (defined $cgi->param('id')) { if (defined $cgi->param('id') && (Param("insidergroup") && UserInGroup(Param("insidergroup")))) { + my $sth = $dbh->prepare('UPDATE longdescs SET isprivate = ? + WHERE bug_id = ? AND bug_when = ?'); + foreach my $field ($cgi->param()) { if ($field =~ /when-([0-9]+)/) { my $sequence = $1; my $private = $cgi->param("isprivate-$sequence") ? 1 : 0 ; if ($private != $cgi->param("oisprivate-$sequence")) { my $field_data = $cgi->param("$field"); - detaint_natural($field_data); - SendSQL("UPDATE longdescs SET isprivate = $private " . - "WHERE bug_id = " . $cgi->param('id') . - " AND bug_when = $field_data"); + # Make sure a valid date is given. + $field_data = format_time($field_data, '%Y-%m-%d %T'); + $sth->execute($private, $cgi->param('id'), $field_data); } } diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl index 79e5636fca..47c6edb61e 100644 --- a/template/en/default/bug/comments.html.tmpl +++ b/template/en/default/bug/comments.html.tmpl @@ -124,7 +124,7 @@ - + [ 'comment.isprivate', - 'comment.when', + 'comment.time', 'bug.bug_id', ],