Commit 16101ff8 authored by travis%sedsystems.ca's avatar travis%sedsystems.ca

Bug 276473: Show_activity merges incorrectly sometimes changesets into one changeset

Patch by vladd@bugzilla.org r=bugzilla@glob.com.au a=justdave
parent 4f5cad99
...@@ -149,7 +149,7 @@ sub trim { ...@@ -149,7 +149,7 @@ sub trim {
sub format_time { sub format_time {
my ($time) = @_; my ($time) = @_;
my ($year, $month, $day, $hour, $min); my ($year, $month, $day, $hour, $min, $sec);
if ($time =~ m/^\d{14}$/) { if ($time =~ m/^\d{14}$/) {
# We appear to have a timestamp direct from MySQL # We appear to have a timestamp direct from MySQL
$year = substr($time,0,4); $year = substr($time,0,4);
...@@ -158,12 +158,13 @@ sub format_time { ...@@ -158,12 +158,13 @@ sub format_time {
$hour = substr($time,8,2); $hour = substr($time,8,2);
$min = substr($time,10,2); $min = substr($time,10,2);
} }
elsif ($time =~ m/^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:\d{2})?$/) { elsif ($time =~ m/^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/) {
$year = $1; $year = $1;
$month = $2; $month = $2;
$day = $3; $day = $3;
$hour = $4; $hour = $4;
$min = $5; $min = $5;
$sec = $7;
} }
else { else {
warn "Date/Time format ($time) unrecogonzied"; warn "Date/Time format ($time) unrecogonzied";
...@@ -171,6 +172,9 @@ sub format_time { ...@@ -171,6 +172,9 @@ sub format_time {
if (defined $year) { if (defined $year) {
$time = "$year-$month-$day $hour:$min"; $time = "$year-$month-$day $hour:$min";
if (defined $sec) {
$time .= ":$sec";
}
$time .= " " . &::Param('timezone') if &::Param('timezone'); $time .= " " . &::Param('timezone') if &::Param('timezone');
} }
return $time; return $time;
......
...@@ -281,7 +281,8 @@ sub CheckIfVotedConfirmed { ...@@ -281,7 +281,8 @@ sub CheckIfVotedConfirmed {
} }
sub LogActivityEntry { sub LogActivityEntry {
my ($i,$col,$removed,$added,$whoid,$timestamp) = @_; my ($i,$col,$removed,$added,$whoid,$timestamp) = @_;
# in the case of CCs, deps, and keywords, there's a possibility that someone # might try to add or remove a lot of them at once, which might take more # in the case of CCs, deps, and keywords, there's a possibility that someone
# might try to add or remove a lot of them at once, which might take more
# space than the activity table allows. We'll solve this by splitting it # space than the activity table allows. We'll solve this by splitting it
# into multiple entries if it's too long. # into multiple entries if it's too long.
while ($removed || $added) { while ($removed || $added) {
...@@ -331,7 +332,7 @@ sub GetBugActivity { ...@@ -331,7 +332,7 @@ sub GetBugActivity {
SELECT COALESCE(fielddefs.description, bugs_activity.fieldid), SELECT COALESCE(fielddefs.description, bugs_activity.fieldid),
fielddefs.name, fielddefs.name,
bugs_activity.attach_id, bugs_activity.attach_id,
DATE_FORMAT(bugs_activity.bug_when,'%Y.%m.%d %H:%i'), DATE_FORMAT(bugs_activity.bug_when,'%Y.%m.%d %H:%i:%s'),
bugs_activity.removed, bugs_activity.added, bugs_activity.removed, bugs_activity.added,
profiles.login_name profiles.login_name
FROM bugs_activity $suppjoins LEFT JOIN fielddefs ON FROM bugs_activity $suppjoins LEFT JOIN fielddefs ON
......
...@@ -28,7 +28,7 @@ use lib 't'; ...@@ -28,7 +28,7 @@ use lib 't';
use Support::Files; use Support::Files;
BEGIN { BEGIN {
use Test::More tests => 12; use Test::More tests => 13;
use_ok(Bugzilla::Util); use_ok(Bugzilla::Util);
} }
...@@ -69,6 +69,7 @@ is(trim(" fg<*\$%>+=~~ "),'fg<*$%>+=~~','trim()'); ...@@ -69,6 +69,7 @@ is(trim(" fg<*\$%>+=~~ "),'fg<*$%>+=~~','trim()');
#format_time(); #format_time();
is(format_time("20021123140436"),'2002-11-23 14:04 TEST','format_time("20021123140436")'); is(format_time("20021123140436"),'2002-11-23 14:04 TEST','format_time("20021123140436")');
is(format_time("2002.11.24 00:05:56"),'2002-11-24 00:05 TEST','format_time("2002.11.24 00:05:56")'); is(format_time("2002.11.24 00:05"),'2002-11-24 00:05 TEST','format_time("2002.11.24 00:05")');
is(format_time("2002.11.24 00:05:56"),'2002-11-24 00:05:56 TEST','format_time("2002.11.24 00:05:56")');
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment