]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 521398 - make XML version of bug supply more data (flags, comment IDs etc.) Patch...
authorgerv%gerv.net <>
Mon, 26 Oct 2009 16:16:21 +0000 (16:16 +0000)
committergerv%gerv.net <>
Mon, 26 Oct 2009 16:16:21 +0000 (16:16 +0000)
bugzilla.dtd
template/en/default/bug/show.xml.tmpl

index c0f9ff4a321dc5895bb66251c27726be8082396c..64f575b62cf1f0e8f3471cfbda28c9ea3731b501 100644 (file)
@@ -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)>
           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
index 858ee1b2c7261ac6c40fe4415d2a5d6b63c39b0a..1db320c4ff4d88d6d20acd020af375ac82897d94 100644 (file)
       [% 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) %]
               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>
               <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 %]
       [%- 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