Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
03ad2ba8
Commit
03ad2ba8
authored
Apr 04, 2002
by
gerv%gerv.net
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 124937 - templatise show_activity.cgi. Patch by me, r=myk, bbaetz.
parent
8218d4fe
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
210 additions
and
56 deletions
+210
-56
CGI.pl
CGI.pl
+47
-39
process_bug.cgi
process_bug.cgi
+11
-4
show_activity.cgi
show_activity.cgi
+13
-10
activity.html.tmpl
template/default/show/activity.html.tmpl
+91
-0
bug-activity.html.tmpl
template/default/show/bug-activity.html.tmpl
+42
-0
comments.tmpl
template/default/show/comments.tmpl
+1
-1
multiple.tmpl
template/default/show/multiple.tmpl
+2
-1
show_bug.html.tmpl
template/default/show/show_bug.html.tmpl
+3
-1
No files found.
CGI.pl
View file @
03ad2ba8
...
...
@@ -1254,8 +1254,7 @@ sub CheckIfVotedConfirmed {
}
sub
DumpBugActivity
{
sub
GetBugActivity
{
my
(
$id
,
$starttime
)
=
(
@_
);
my
$datepart
=
""
;
...
...
@@ -1264,6 +1263,7 @@ sub DumpBugActivity {
if
(
defined
$starttime
)
{
$datepart
=
"and bugs_activity.bug_when > "
.
SqlQuote
(
$starttime
);
}
my
$query
=
"
SELECT IFNULL(fielddefs.description, bugs_activity.fieldid),
bugs_activity.attach_id,
...
...
@@ -1279,46 +1279,54 @@ sub DumpBugActivity {
SendSQL
(
$query
);
# Instead of outright printing this, we are going to store it in a $html
# variable and print it and the end. This is so we can explain ? (if nesc.)
# at the top of the activity table rather than the botom.
my
$html
=
""
;
$html
.=
"<table border cellpadding=4>\n"
;
$html
.=
"<tr>\n"
;
$html
.=
" <th>Who</th><th>What</th><th>Removed</th><th>Added</th><th>When</th>\n"
;
$html
.=
"</tr>\n"
;
my
@row
;
my
@operations
;
my
$operation
=
{};
my
$changes
=
[]
;
my
$incomplete_data
=
0
;
while
(
@row
=
FetchSQLData
())
{
my
(
$field
,
$attachid
,
$when
,
$removed
,
$added
,
$who
)
=
(
@row
);
$field
=~
s/^Attachment/<a href="attachment.cgi?id=$attachid&action=view">Attachment #$attachid<\/a>/
if
$attachid
;
$removed
=
html_quote
(
$removed
);
$added
=
html_quote
(
$added
);
$removed
=
" "
if
$removed
eq
""
;
$added
=
" "
if
$added
eq
""
;
if
(
$added
=~
/^\?/
||
$removed
=~
/^\?/
)
{
$incomplete_data
=
1
;
}
$html
.=
"<tr>\n"
;
$html
.=
"<td>$who</td>\n"
;
$html
.=
"<td>$field</td>\n"
;
$html
.=
"<td>$removed</td>\n"
;
$html
.=
"<td>$added</td>\n"
;
$html
.=
"<td>$when</td>\n"
;
$html
.=
"</tr>\n"
;
while
(
my
(
$field
,
$attachid
,
$when
,
$removed
,
$added
,
$who
)
=
FetchSQLData
())
{
my
%
change
;
# This gets replaced with a hyperlink in the template.
$field
=~
s/^Attachment//
if
$attachid
;
# Check for the results of an old Bugzilla data corruption bug
$incomplete_data
=
1
if
(
$added
=~
/^\?/
||
$removed
=~
/^\?/
);
# An operation, done by 'who' at time 'when', has a number of
# 'changes' associated with it.
# If this is the start of a new operation, store the data from the
# previous one, and set up the new one.
if
(
$operation
->
{
'who'
}
&&
(
$who
ne
$operation
->
{
'who'
}
||
$when
ne
$operation
->
{
'when'
}))
{
$operation
->
{
'changes'
}
=
$changes
;
push
(
@operations
,
$operation
);
# Create new empty anonymous data structures.
$operation
=
{};
$changes
=
[]
;
}
$operation
->
{
'who'
}
=
$who
;
$operation
->
{
'when'
}
=
$when
;
$change
{
'field'
}
=
$field
;
$change
{
'attachid'
}
=
$attachid
;
$change
{
'removed'
}
=
$removed
;
$change
{
'added'
}
=
$added
;
push
(
@$changes
,
\%
change
);
}
$html
.=
"</table>\n"
;
if
(
$incomplete_data
)
{
print
"There was a bug in older versions of Bugzilla which caused activity data \n"
;
print
"to be lost if there was a large number of cc's or dependencies. That \n"
;
print
"has been fixed, however, there was some data already lost on this bug \n"
;
print
"that could not be regenerated. The changes that the script could not \n"
;
print
"reliably determine are prefixed by '?'\n"
;
print
"<p>\n"
;
if
(
$operation
->
{
'who'
})
{
$operation
->
{
'changes'
}
=
$changes
;
push
(
@operations
,
$operation
);
}
print
$html
;
return
(
\
@operations
,
$incomplete_data
);
}
...
...
process_bug.cgi
View file @
03ad2ba8
...
...
@@ -961,14 +961,21 @@ Someone else has made changes to this bug at the same time you were trying to.
The changes made were:
<p>
"
;
DumpBugActivity
(
$id
,
$::FORM
{
'delta_ts'
});
use
vars
qw($template $vars)
;
(
$vars
->
{
'operations'
},
$vars
->
{
'incomplete_data'
})
=
GetBugActivity
(
$::FORM
{
'id'
},
$::FORM
{
'delta_ts'
});
$template
->
process
(
"show/activity.html.tmpl"
,
$vars
)
||
DisplayError
(
"Template process failed: "
.
$template
->
error
())
&&
exit
;
my
$comments
=
GetComments
(
$id
);
my
$longchanged
=
0
;
if
(
scalar
(
@$comments
)
>
$::FORM
{
'longdesclength'
})
{
$longchanged
=
1
;
print
"<P>Added text to the long description:<blockquote>"
;
use
vars
qw($template $vars)
;
print
"<P>Added comments:<blockquote>"
;
$vars
->
{
'start_at'
}
=
$::FORM
{
'longdesclength'
};
$vars
->
{
'comments'
}
=
$comments
;
$vars
->
{
'quoteUrls'
}
=
\&
quoteUrls
;
...
...
@@ -995,7 +1002,7 @@ The changes made were:
print
qq{<input type=submit value="Submit my changes anyway">\n}
;
print
" This will cause all of the above changes to be overwritten"
;
if
(
$longchanged
)
{
print
", except for the
changes to the description
"
;
print
", except for the
added comments
"
;
}
print
qq{.</form>\n<li><a href="show_bug.cgi?id=$id">Throw away my changes, and go revisit bug $id</a></ul>\n}
;
PutFooter
();
...
...
show_activity.cgi
View file @
03ad2ba8
...
...
@@ -20,19 +20,21 @@
#
# Contributor(s): Terry Weissman <terry@mozilla.org>
# Myk Melez <myk@mozilla.org>
# Gervase Markham <gerv@gerv.net>
use
diagnostics
;
use
strict
;
use
lib
qw(.)
;
use
vars
qw ($template
$vars
);
require
"CGI.pl"
;
ConnectToDatabase
();
######################################################################
######################################################################
#########
# Begin Data/Security Validation
######################################################################
######################################################################
#########
# Check whether or not the user is currently logged in. This function
# sets the value of $::usergroupset, the binary number that records
...
...
@@ -44,17 +46,18 @@ quietly_check_login();
# bug that the user is authorized to access.
ValidateBugID
(
$::FORM
{
'id'
});
######################################################################
######################################################################
#########
# End Data/Security Validation
######################################################################
######################################################################
#########
print
"Content-type: text/html\n\n"
;
(
$vars
->
{
'operations'
},
$vars
->
{
'incomplete_data'
})
=
GetBugActivity
(
$::FORM
{
'id'
});
PutHeader
(
"Changes made to bug $::FORM{'id'}"
,
"Activity log"
,
"Bug $::FORM{'id'}"
);
$vars
->
{
'bug_id'
}
=
$::FORM
{
'id'
};
DumpBugActivity
(
$::FORM
{
'id'
})
;
print
"Content-type: text/html\n\n"
;
print
qq|<hr><a href="show_bug.cgi?id=$::FORM{'id'}">Back to bug $::FORM{'id'}</a>\n|
;
$template
->
process
(
"show/bug-activity.html.tmpl"
,
$vars
)
||
DisplayError
(
"Template process failed: "
.
$template
->
error
())
&&
exit
;
PutFooter
();
template/default/show/activity.html.tmpl
0 → 100644
View file @
03ad2ba8
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
#%]
[%# INTERFACE:
# operations: array of hashes. May be empty. Each has has three members:
# who: string. who performed the operation
# when: string. when they performed it
# changes: hash. Details of what they changed. This hash has three
# compulsory and one optional member:
# field: string. The name of the field
# removed: string. What was removed from the field
# added: string. What was added to the field
# attach_id: integer. If the change was adding an attachment, its id.
# incomplete_data: boolean. True if some of the data is incomplete (because
# it was affected by an old Bugzilla bug.)
#%]
[% IF incomplete_data %]
<p>
There used to be a bug Bugzilla which caused activity data
to be lost if there was a large number of cc's or dependencies. That
has been fixed, however, there was some data already lost on this bug
that could not be regenerated. The changes that the script could not
reliably determine are prefixed by '?'.
</p>
[% END %]
[% IF operations.size > 0 %]
<table border cellpadding="4">
<tr>
<th>Who</th>
<th>When</th>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
[% FOREACH operation = operations %]
<tr>
<td rowspan="[% operation.changes.size %]" valign="top">
[% operation.who %]
</td>
<td rowspan="[% operation.changes.size %]" valign="top">
[% operation.when %]
</td>
[% FOREACH change = operation.changes %]
[% "<tr>" IF loop.index > 0 %]
<td>
[% IF change.attachid %]
<a href="attachment.cgi?id=[% change.attachid %]&action=view">
Attachment #[% change.attachid %]</a>
[% END %]
[% change.field %]
</td>
<td>
[% IF change.removed %]
[% change.removed FILTER html %]
[% ELSE %]
[% END %]
</td>
<td>
[% IF change.added %]
[% change.added FILTER html %]
[% ELSE %]
[% END %]
</td>
[% "</tr>" IF loop.index > 0 %]
[% END %]
</tr>
[% END %]
</table>
[% END %]
template/default/show/bug-activity.html.tmpl
0 → 100644
View file @
03ad2ba8
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
#%]
[%# INTERFACE:
# bug_id: integer. The bug ID.
#
# This template also needs to be called with the interface to the
# activity.html.tmpl template fulfilled.
#%]
[% INCLUDE global/header
title = "Changes made to bug $bug_id"
h1 = "Activity log"
h2 = "Bug <a href='show_bug.cgi?id=$bug_id'>$bug_id</a>"
%]
<br>
[% INCLUDE show/activity.html.tmpl %]
<p>
<a href="show_bug.cgi?id=[% bug_id %]">Back to bug [% bug_id %]</a>
</p>
[% INCLUDE global/footer %]
template/default/show/comments.tmpl
View file @
03ad2ba8
...
...
@@ -20,7 +20,7 @@
[% DEFAULT start_at = 0 %]
[% count = 0 %]
[% FOREACH comment =
bug.
comments %]
[% FOREACH comment = comments %]
[% IF count >= start_at %]
[% PROCESS a_comment %]
[% END %]
...
...
template/default/show/multiple.tmpl
View file @
03ad2ba8
...
...
@@ -136,7 +136,8 @@
</tr>
</table>
[% PROCESS show/comments.tmpl %]
[% PROCESS show/comments.tmpl
comments = bug.comments %]
<hr>
[% END %]
...
...
template/default/show/show_bug.html.tmpl
View file @
03ad2ba8
...
...
@@ -488,7 +488,9 @@
</table>
<hr>
[% PROCESS show/comments.tmpl %]
[% PROCESS show/comments.tmpl
comments = bug.comments
%]
<hr>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment