summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CGI.pl4
-rw-r--r--template/en/default/bug/votes/list-for-user.html.tmpl10
-rwxr-xr-xvotes.cgi16
3 files changed, 19 insertions, 11 deletions
diff --git a/CGI.pl b/CGI.pl
index 19ae5da49..ecfa670a4 100644
--- a/CGI.pl
+++ b/CGI.pl
@@ -250,6 +250,7 @@ sub CheckIfVotedConfirmed {
"FROM bugs, products " .
"WHERE bugs.bug_id = $id AND products.id = bugs.product_id");
my ($votes, $status, $votestoconfirm, $everconfirmed) = (FetchSQLData());
+ my $ret = 0;
if ($votes >= $votestoconfirm && $status eq $::unconfirmedstate) {
SendSQL("UPDATE bugs SET bug_status = 'NEW', everconfirmed = 1 " .
"WHERE bug_id = $id");
@@ -273,9 +274,10 @@ sub CheckIfVotedConfirmed {
$template->process("bug/process/results.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
+ $ret = 1;
}
PopGlobalSQLState();
-
+ return $ret;
}
sub LogActivityEntry {
my ($i,$col,$removed,$added,$whoid,$timestamp) = @_;
diff --git a/template/en/default/bug/votes/list-for-user.html.tmpl b/template/en/default/bug/votes/list-for-user.html.tmpl
index 27551f19d..9bb3a1dd6 100644
--- a/template/en/default/bug/votes/list-for-user.html.tmpl
+++ b/template/en/default/bug/votes/list-for-user.html.tmpl
@@ -21,10 +21,12 @@
[% PROCESS global/variables.none.tmpl %]
-[% h2 = voting_user.login FILTER html %]
-[% PROCESS global/header.html.tmpl
- title = "Show Votes"
- %]
+[% IF !header_done %]
+ [% h2 = voting_user.login FILTER html %]
+ [% PROCESS global/header.html.tmpl title = "Show Votes" %]
+[% ELSE %]
+ <hr>
+[% END %]
[% canedit = 1 IF voting_user.login == user.login %]
diff --git a/votes.cgi b/votes.cgi
index 4c8210690..a8815756e 100755
--- a/votes.cgi
+++ b/votes.cgi
@@ -312,8 +312,12 @@ sub record_votes {
# for products that only allow one vote per bug). In that case, we still
# need to clear the user's votes from the database.
my %affected;
- SendSQL("LOCK TABLES bugs write, votes write, products read, cc read,
- fielddefs read, user_group_map read, bug_group_map read");
+ SendSQL("LOCK TABLES bugs WRITE, bugs_activity WRITE, votes WRITE,
+ longdescs WRITE, profiles READ, products READ, components READ,
+ cc READ, dependencies READ, groups READ, fielddefs READ,
+ namedqueries READ, whine_queries READ, watch READ,
+ profiles AS watchers READ, profiles AS watched READ,
+ user_group_map READ, bug_group_map READ");
# Take note of, and delete the user's old votes from the database.
SendSQL("SELECT bug_id FROM votes WHERE who = $who");
@@ -330,18 +334,18 @@ sub record_votes {
SendSQL("INSERT INTO votes (who, bug_id, vote_count)
VALUES ($who, $id, ".$votes{$id}.")");
}
-
$affected{$id} = 1;
}
# Update the cached values in the bugs table
+ print $cgi->header();
foreach my $id (keys %affected) {
SendSQL("SELECT sum(vote_count) FROM votes WHERE bug_id = $id");
- my $v = FetchOneColumn();
- $v ||= 0;
+ my $v = FetchOneColumn() || 0;
SendSQL("UPDATE bugs SET votes = $v, delta_ts=delta_ts
WHERE bug_id = $id");
- CheckIfVotedConfirmed($id, $who);
+ my $confirmed = CheckIfVotedConfirmed($id, $who);
+ $vars->{'header_done'} = 1 if $confirmed;
}
SendSQL("UNLOCK TABLES");