urgent multi-draft fixes from amalfi
[stet:stet.git] / rtNoAuth / xmlresults-devel.html
1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2 %# 
3 %# Copyright (C) 2006   Software Freedom Law Center, Inc.
4 %# Author: Orion Montoya <orion@mdcclv.com>
5 %#
6 %# This software gives you freedom; it is licensed to you under version
7 %# 3 of the GNU Affero General Public License, along with the
8 %# additional permission in the following paragraph.
9 %#
10 %# This notice constitutes a grant of such permission as is necessary
11 %# to combine or link this software, or a modified version of it, with
12 %# Request Tracker (RT), published by Jesse Vincent and Best Practical
13 %# Solutions, LLC, or a derivative work of RT, and to copy, modify, and
14 %# distribute the resulting work.  RT is licensed under version 2 of
15 %# the GNU General Public License.
16 %# 
17 %# This software is distributed WITHOUT ANY WARRANTY, without even the
18 %# implied warranties of MERCHANTABILITY and FITNESS FOR A PARTICULAR
19 %# PURPOSE.  See the GNU Affero General Public License for further
20 %# details.
21 %#  
22 %# You should have received a copy of the GNU Affero General Public
23 %# License, version 3, and the GNU General Public License, version 2,
24 %# along with this software.  If not, see <http://www.gnu.org/licenses/>.
25 %
26 <response>
27 % if ($Tickets) {
28 <d><% $drafter %></d>
29 <cs>Showing comments: <% humanQuery($ARGS{'Query'}) |n %> <a class="rsslink" href="<% $rsslink %>">[rss]</a> <a href="<% $listlink %>">[list]</a> <a href="http://gplv3.fsf.org/comments/gplv3-draft-1?Query=%20Creator%20=%20'ratiodoc'%20%20AND%20'CF.NoteUrl'%20LIKE%20'gplv3-draft-1'%20&amp;Order=DESC&amp;OrderBy=id&amp;StartAt=1&amp;Rows=80">[rationale]</a> <br/> 
30 ( found <% $Tickets->CountAll()%>, showing <% $StartAt %>-<% (($StartAt + $Rows) > $Tickets->CountAll()) ? $Tickets->CountAll() : ($StartAt + $Rows - 1) %>:
31 %   if ($Tickets->CountAll() > $Rows) {
32 %       if ($StartAt > 1 ) {
33              <a href="/comments/<% stripCrap($Tickets->First->FirstCustomFieldValue('NoteUrl')) %>?Query=<% $ARGS{'Query'} |n %>&amp;Rows=<%$Rows%>&amp;StartAt=<% (($StartAt - $Rows) < 0) ? 1 : ($StartAt - $Rows) |n%>">prev</a>
34 %       }
35 %   if (($Tickets->CountAll() > $Rows) && ($Tickets->CountAll() < $StartAt + $Rows)) {
36 |
37 % }
38 %       if ($Tickets->CountAll() > $StartAt + $Rows) {
39              <a href="/comments/<% stripCrap($Tickets->First->FirstCustomFieldValue('NoteUrl')) %>?Query=<% $ARGS{'Query'} |n %>&amp;Rows=<%$Rows%>&amp;StartAt=<% $StartAt + $Rows %>">next</a>
40 %       }
41 %   }
42 ) <a href="/comments/rt/changeshown.html?came_from=gplv3-draft-1">search</a> 
43 </cs>
44
45 <%perl> 
46     $Tickets->GotoFirstItem;
47     if ($StartAt > 1) {
48         for (my $i = 0; $i < $StartAt; $i++) {
49             $Tickets->Next;
50         }
51     }
52 </%perl>
53 % } elsif ($Ticket) {
54 <cs>Showing comment <a href="/comments/rt/readsay.html?id=<% $ARGS{'id'} %>"><% $ARGS{'id'} %></a> <a href="<% $listlink %>">[see thread]</a> <a href="/comments/rt/changeshown.html?came_from=gplv3-draft-1">search</a> </cs>
55 % }
56 % if ($Ticket || $Tickets) {
57 % my $i = 0;
58 % while (my $item = $Tickets ? $Tickets->Next : $Ticket) {
59 <annotation>
60 <n><% $item->Transactions->First->Content %></n>
61 <e><% $item->FirstCustomFieldValue('NoteEndNodeId') %></e>
62 <s><% cleanNoteSel(\$item) %></s>
63 <i><% $item->FirstCustomFieldValue('NoteStartNodeId') %></i>
64 <u><% $item->CreatorObj->Name %><% shortOrg($item->CreatorObj) %></u>
65 % my ($agree,$agr_count) = showAgree(\$item,$name);
66 <ua><% $agree |n %></ua>
67 <at><% $agr_count %></at>
68 <id><% $item->id %></id>
69 <qn><% $item->QueueObj->Name %></qn>
70 </annotation>
71 % $Ticket = '';
72 % $i++;
73 % if ($i == (($StartAt + $Rows) - 1)) {
74 %    $Tickets = '';
75 % }
76 % }
77 % }
78 % else {
79 <cs>No comments found. <a href="/comments/rt/changeshown.html?came_from=gplv3-draft-1">search again</a> </cs>
80 % }
81 </response>
82 %
83 %
84 %
85 <%INIT>
86
87 use CGI qw/standard/;
88 use MIME::Base64;
89 use Frontier::Client;
90 use Data::Dumper;
91
92 use HTML::Scrubber;
93 my $scrubber = HTML::Scrubber->new( allow => [ qw[ a b i u br ] ] );
94
95 require "/var/www/stet/stetsubs.pl";
96
97 my ($name, $resp, $pass, $agr_vals, $CurrentUser, $org);
98 # our $session;
99 # print STDERR Dumper(%ARGS);
100
101 my $rsslink = "/comments/rt/rssresults.rdf?" . (($ARGS{'Query'}) ? ("Query=".$ARGS{'Query'}) : ("id=".$ARGS{'id'}));
102 my $listlink = "/comments/rt/readsay.html?" . (($ARGS{'Query'}) ? ("Query=".$ARGS{'Query'}) : ("id=".$ARGS{'id'})) . "&Order=DESC";
103 #  my $printargs = param('Query')." (".$Tickets->CountAll()." found)";
104
105
106 ($CurrentUser, $resp, $name) = getUser("foo");
107 print STDERR "Currentuser $CurrentUser, $resp, committee $org\n";
108 #my $Tickets = RT::Tickets->new($session{'CurrentUser'});
109
110 my ($Tickets, $Ticket);
111
112 my $drafter = '';
113 my $DrafterQueue = RT::Queue->new($CurrentUser);
114 $DrafterQueue->Load('Drafter');
115 if ($DrafterQueue->CurrentUserHasRight('SeeQueue')) {
116   $drafter = "drafter";
117 }
118
119 if ($ARGS{'Query'}) {
120 my $Qargs = '';
121 unless ($ARGS{'Query'} =~ /Queue/) {
122  $Qargs = " AND 'Queue.Name' != 'Drafter'";
123 if ($drafter) {
124  $Qargs = '';
125 }
126 }
127
128     $Tickets = RT::Tickets->new($CurrentUser);
129 # exclude, from this view, comments whose selection got messed up:
130     $Tickets->FromSQL($ARGS{'Query'}." AND 'CF.NoteStartNodeId' NOT LIKE 'login' $Qargs");
131     $Tickets->OrderBy( FIELD => 'id', ORDER => $ARGS{'Order'});
132 }
133 elsif ($ARGS{'id'}) {
134     $Ticket = RT::Ticket->new($CurrentUser);
135     $Ticket = LoadTicket($ARGS{'id'});
136 }
137
138
139
140 $r->content_type('text/xml');
141
142
143 </%INIT>
144 <%ARGS>
145 $Rows => 30
146 $StartAt => 1
147 $Order => 'DESC'
148 $Query => "'CF.NoteUrl'%20LIKE%20'gplv3-draft-1'";
149 </%ARGS>