show.xml.tmpl 3.05 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
[%# 1.0@bugzilla.org #%]
[%# 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): Bradley Baetz <bbaetz@student.usyd.edu.au>
  #
  #%]
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE bugzilla SYSTEM "[% Param('urlbase') %]bugzilla.dtd">

<bugzilla version="[% VERSION %]"
          urlbase="[% Param('urlbase') %]"
          maintainer="[% Param('maintainer') FILTER xml %]"
28
[% IF user.id %]
29 30 31 32 33 34 35 36 37 38 39 40
          exporter="[% user.login FILTER xml %]"
[% END %]
>

[% FOREACH bug = bugs %]
  [% IF bug.error %]
    <bug error="[% bug.error FILTER xml %]">
      <bug_id>[% bug.bug_id FILTER xml %]</bug_id>
    </bug>
  [% ELSE %]
    <bug>
      [% FOREACH field = bug.fields %]
41 42 43
        [% IF displayfields.$field %]
          [%+ PROCESS bug_field %]
        [% END %]
44 45 46
      [% END %]

      [%# Now handle 'special' fields #%]
47 48 49 50 51
      [% IF displayfields.group %]
        [% FOREACH g = bug.groups %]
          [% NEXT UNLESS g.ison %]
          <group>[% g.name FILTER xml %]</group>
        [% END %]
52 53
      [% END %]

54 55
      [% IF displayfields.long_desc %]
        [% FOREACH c = bug.longdescs %]
56
          [% NEXT IF c.isprivate && !UserInGroup(Param("insidergroup")) %]
57 58 59 60 61 62
          <long_desc>
            <who>[% c.email FILTER xml %]</who>
            <bug_when>[% c.time FILTER time FILTER xml %]</bug_when>
            <thetext>[% c.body FILTER xml %]</thetext>
          </long_desc>
        [% END %]
63
      [% END %]
64 65 66
      
      [% IF displayfields.attachment %]
        [% FOREACH a = bug.attachments %]
67
          [% NEXT IF a.isprivate && !UserInGroup(Param("insidergroup")) %]
68 69 70 71 72 73
          <attachment>
            <attachid>[% a.attachid %]</attachid>
            <date>[% a.date FILTER time FILTER xml %]</date>
            <desc>[% a.description FILTER xml %]</desc>
          </attachment>
        [% END %]
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
      [% END %]
    </bug>
  [% END %]
[% END %]

</bugzilla>

[% BLOCK bug_field %]
  [% FOREACH val = bug.$field %]
    [%# We need to handle some fields differently. This should become
      # nicer once we have custfields, and a type attribute for the fields
      #%]
    [% IF field == 'reporter' OR field == 'assigned_to' OR
          field == 'qa_contact' %]
      [% val = val.email %]
    [% ELSIF field == 'creation_ts' OR field == 'delta_ts' %]
      [% val = val FILTER time %]
    [% END %]
    <[% field %]>[% val FILTER xml %]</[% field %]>
  [% END %]
[% END %]