summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgerv%gerv.net <>2009-10-26 17:16:21 +0100
committergerv%gerv.net <>2009-10-26 17:16:21 +0100
commit048d4e352b405345da258eed9a043e9d33d5f703 (patch)
treecbfacc80be65d9836b0cd581e2bdfa0911e72b0e
parentbd06859267aae5ec7bdcd1ae65fe145ef63adc54 (diff)
downloadbugzilla-048d4e352b405345da258eed9a043e9d33d5f703.tar.gz
bugzilla-048d4e352b405345da258eed9a043e9d33d5f703.tar.xz
Bug 521398 - make XML version of bug supply more data (flags, comment IDs etc.) Patch by gerv; r,a=LpSolit.
-rw-r--r--bugzilla.dtd8
-rw-r--r--template/en/default/bug/show.xml.tmpl47
2 files changed, 30 insertions, 25 deletions
diff --git a/bugzilla.dtd b/bugzilla.dtd
index c0f9ff4a3..64f575b62 100644
--- a/bugzilla.dtd
+++ b/bugzilla.dtd
@@ -43,6 +43,9 @@
<!ELEMENT everconfirmed (#PCDATA)>
<!ELEMENT cc (#PCDATA)>
<!ELEMENT group (#PCDATA)>
+<!ATTLIST group
+ id CDATA #REQUIRED
+ >
<!ELEMENT estimated_time (#PCDATA)>
<!ELEMENT remaining_time (#PCDATA)>
<!ELEMENT actual_time (#PCDATA)>
@@ -52,6 +55,7 @@
encoding (base64) #IMPLIED
isprivate (0|1) #IMPLIED
>
+<!ELEMENT commentid (#PCDATA)>
<!ELEMENT who (#PCDATA)>
<!ELEMENT bug_when (#PCDATA)>
<!ELEMENT work_time (#PCDATA)>
@@ -61,9 +65,11 @@
isobsolete (0|1) #IMPLIED
ispatch (0|1) #IMPLIED
isprivate (0|1) #IMPLIED
+ isurl (0|1) #IMPLIED
>
<!ELEMENT attachid (#PCDATA)>
<!ELEMENT date (#PCDATA)>
+<!ELEMENT delta_ts (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT filename (#PCDATA)>
<!ELEMENT type (#PCDATA)>
@@ -75,6 +81,8 @@
<!ELEMENT flag EMPTY>
<!ATTLIST flag
name CDATA #REQUIRED
+ id CDATA #REQUIRED
+ type_id CDATA
status CDATA #REQUIRED
setter CDATA #IMPLIED
requestee CDATA #IMPLIED
diff --git a/template/en/default/bug/show.xml.tmpl b/template/en/default/bug/show.xml.tmpl
index 858ee1b2c..1db320c4f 100644
--- a/template/en/default/bug/show.xml.tmpl
+++ b/template/en/default/bug/show.xml.tmpl
@@ -62,25 +62,13 @@
[% END %]
[%# Bug Flags %]
- [% IF displayfields.flag %]
- [% FOREACH type = bug.flag_types %]
- [% FOREACH flag = type.flags %]
- <flag name="[% type.name FILTER xml %]"
- id="[% flag.id FILTER xml %]"
- status="[% flag.status FILTER xml %]"
- setter="[% flag.setter.login FILTER email FILTER xml %]"
- [% IF flag.requestee %]
- requestee="[% flag.requestee.login FILTER email FILTER xml %]"
- [% END %]
- />
- [% END %]
- [% END %]
- [% END %]
+ [% PROCESS section_flags obj => bug %]
[% IF displayfields.long_desc %]
[% FOREACH c = bug.longdescs %]
[% NEXT IF c.isprivate && !user.in_group(Param("insidergroup")) %]
<long_desc isprivate="[% c.isprivate FILTER xml %]">
+ <commentid>[% c.id FILTER xml %]</commentid>
<who name="[% c.author.name FILTER xml %]">[% c.author.email FILTER email FILTER xml %]</who>
<bug_when>[% c.time FILTER time("%Y-%m-%d %T %z") FILTER xml %]</bug_when>
[% IF user.in_group(Param('timetrackinggroup')) && (c.work_time - 0 != 0) %]
@@ -98,9 +86,11 @@
isobsolete="[% a.isobsolete FILTER xml %]"
ispatch="[% a.ispatch FILTER xml %]"
isprivate="[% a.isprivate FILTER xml %]"
+ isurl="[% a.isurl FILTER xml %]"
>
<attachid>[% a.id %]</attachid>
- <date>[% a.attached FILTER time("%Y-%m-%d %R %z") FILTER xml %]</date>
+ <date>[% a.attached FILTER time("%Y-%m-%d %T %z") FILTER xml %]</date>
+ <delta_ts>[% a.modification_time FILTER time("%Y-%m-%d %T %z") FILTER xml %]</delta_ts>
<desc>[% a.description FILTER xml %]</desc>
<filename>[% a.filename FILTER xml %]</filename>
<type>[% a.contenttype FILTER xml %]</type>
@@ -114,16 +104,7 @@
<data encoding="base64">[% a.data FILTER base64 %]</data>
[% END %]
- [% FOREACH flag = a.flags %]
- <flag name="[% flag.type.name FILTER xml %]"
- id="[% flag.id FILTER xml %]"
- status="[% flag.status FILTER xml %]"
- setter="[% flag.setter.email FILTER email FILTER xml %]"
- [% IF flag.status == "?" && flag.requestee %]
- requestee="[% flag.requestee.email FILTER email FILTER xml %]"
- [% END %]
- />
- [% END %]
+ [% PROCESS section_flags obj => a %]
</attachment>
[% END %]
[% END %]
@@ -155,3 +136,19 @@
[%- val FILTER xml %]</[% field %]>
[% END %]
[% END %]
+
+[% BLOCK section_flags %]
+ [% RETURN UNLESS displayfields.flag %]
+
+ [% FOREACH flag = obj.flags %]
+ <flag name="[% flag.type.name FILTER xml %]"
+ id="[% flag.id FILTER xml %]"
+ type_id="[% flag.type_id FILTER xml %]"
+ status="[% flag.status FILTER xml %]"
+ setter="[% flag.setter.email FILTER email FILTER xml %]"
+ [% IF flag.status == "?" && flag.requestee %]
+ requestee="[% flag.requestee.email FILTER email FILTER xml %]"
+ [% END %]
+ />
+ [% END %]
+[% END %] \ No newline at end of file